楼主是指西门子PLC字与双字 字节是怎么转换吧?
举例:让数值68赋给双字、字、字节,其双字、字、字节的存储结果都是68。
1、你赋值 68=VB120。结果 字节 VB120=68
2、你赋值 68=VB120,如果没有用VB119,则 字 VW119=68(高位字节0=VB119,低位字节68=VB120)。结果字VW119=68
3、你赋值 68=VB120,你没有用到VB119,VB118,VB117,则 双字 VD117=68 (最高位字节VB117=0,次高位字节VB118=0,次次高位字节VB119=0,最低位字节VB120=68)。结果双字VD117=68。
引申:
这例子说明西门子PLC字与双字 字节的低位数据放在高位字节单元;高位数数据放在低位字节单元。
结论:
所以,西门子PLC不需要转 字节、字 与双字的 模块功能(也没有),就是你如何存储和如何读取问题。注意一旦用到读取方式转换,在实现其使用功能前,该读取方式转换用到的存储区间单元不可被其它程序段再写入数据,否则转换数据就乱了。所以西门子PLC给出了几千至几万字节的存储单元,一般是足够你随意转换和其它使用了。其它类不同厂家PLC也是如此,少数高低位放置不同,原理相同。
双字是最大的存储,一个双字(例如vd0)包含了两个字(如VW0,VW2)VW0是高字节,VW2是低字节,VW0同时又包含了VB0,VB1 。 而VB0是 高字节中的高字,VB1是高字节中的低字, VW2包含了VB2,VB3,VB2是低字节中的高字,VB3是低字节中的低字,如向VD0传送255,存储就会保存在VB3里面,传送-32768到+32767或者+65535就保存在VB2与VB3里面,以此类推,如VB3又包含了V3.7,V3.6到V3.0共计8个位,如VB2又包含了V2.7,V2.6到V2.0注意这里是反的排序,如果你向VD0传送1,这个1就保存在V3.0里面。希望对你有帮助。
DW就是双字,W就是单字,B就是字节
例如VD0 VW0 VB0