我想编写一个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