我想編寫一個PLC地址生成器。但是,我需要明智的補充,以找到下一個可用的地址。如何在c#中按位添加?
含義,如果我開始與ADRESS 0.0,加入2位,則下一個空閒ADRESS是0.3。直到0.7然後下一個地址是1.0到1.7然後2.0等等。
根據我增加了一個空閒ADRESS應該算出的相加什麼數據類型。
例如一個布爾是一位。 0.1 - > 0.2 - > 0.3等等 如果我添加一個字節,並且最後一個空閒地址爲0.4,則下一個空閒地址應爲2.0,則字節有8位。
一個字有16位,所以0.0 - > 2.0 - > 4.0等等。
雙字有32位,因此0.0 - > 4.0 - > 8.0等等。
我期待在C#中的實現,我可以添加不同類型的輸入,並將其添加它,並給了我相應的地址,然後保存下一個空閒地址爲內部的下一步操作。
例如:
Type Startaddress
1 Bool 0.0 (->0.1)
2 Bool 0.1 (->0.2)
3 Byte 1.0 (->1.7) as 8 bits are required
4 Bool 2.0 (->2.1)
5 Word 3.0 (->4.7) as 16 bits are required
6 Double Word 5.0 (->8.7) as 32 bits are required
任何想法,我能怎麼樣,如果別人和循環執行,除了大量的?我正在尋找一種優雅的重載操作方法。下部的前3位,在其餘位的其餘部分,並從那裏得到的地址 -
「如果我添加一個字節和最後一個空閒地址爲0.4下一個空閒的地址應爲2.0」是如何計算的那? –
@JakubDæbek:那個對我來說也沒什麼意義...... – JuanR