modbus中变量表示分析
点击数:7212 次 录入时间:03-04 11:57:07 整理:http://www.55dianzi.com PLC入门
226CN用MODBUS和上位机通信,请问226中位变量V1009.0或V1009.5在MODBUS中如何表示?我是把M变量如M0.0转换成V区变量进行位操作,和I,Q变量无关,因为MODBUS无法将M0.0表示出来,但MODBUS中V区只能表示字或双字,V1009.1这种位如何表示?
答:主要取决于楼主通讯时采用的功能代码,即是读取连续寄存器数据还是连续线圈数据。如果是寄存器数据,地址为4*开始,只要取位即可。一般是低位地址对应寄存器的低位,即V1009.0对应寄存器的0或者8位(究竟是0还是8取决于楼主的起始地址)。如果是线圈数据,地址为0*开始,低位地址对应线圈的低地址。即V1009.0对应最低的0*地址,也取决于起始地址。
V区域有那么多地址供你挑选,你可以吧M0.0换成V1.0,也就是说VW0=1的时候V1.0=1,VW=0的时候V1.0=0。V1009.0=1则VW1008=1,VW1008=0则V1009.0=0。
每一个中间变量你就花一个VW地址也就是Modbus中一个4开头的地址来表示,毫无压力。
如果你想要集中起来也可以
VW0:76543210_76543210,前面八位是VB0,后面八位是VB1.也就是说把VW0的数值转化为二进制的数字,比如VW=255,换成二进制即VW=0000000011111111即VB0的所有位都为0,VB1的所有位都为1.
本文关键字:暂无联系方式PLC入门,plc技术 - PLC入门