1、 在利用Modbus通讯的过程中,遇到这样一个问题,即浮点数的传输问题。因为一般浮点数都是32位,而Modbus总线中只能传输最多16位的数据。
解决方法:可以利用两个整形数传送一个浮点数(即将一个32位的二进制数分割成两个16位的二进制数),传送完以后,再将两个整形数整合为一个浮点数。
2、 在调试过程中,当数据传输至PLC中后,最初发现数据并不是原来的数值,而是一些莫名其妙的数据,要么大的离谱,要么是负的多位数。
经过反复的尝试,终于发现问题所在,原来,在Modbus总线中,数据传输时是低位字节先传送,传送过来后如果不进行交换,二进制的数值排列是反向的,即原来的低字节在高位,高字节在低位,所以得到的数据和原数据相差甚远。只要将数据的高低位字节进行交换(swap位置1),就可解决此问题。
3、 在调试过程中,总是调不通怎么办?
在数据通讯的调试过程中,如果数据总是不通,我们一般按照这样的顺序进行检查:
1) 各种设备是否正常,
2) 接线是否正确、完好;
3) 各种设备组态是否正确。
一般来说,这些因素极少出现问题,但仔细检查是必要的,这些得到确认后,还要注意以下几点:
1) 用一种测试软件进行测试,这样可以将问题的范围缩小,在我们的调试过程中,我们用了一种叫做“MBUS2”的小测试软件对流量计算机的接线和组态进行测试,一般当利用此软件测试成功后,再整体调试,问题可迎刃而解。象我们用的“MBNUS2“,还有“MODBUS VIEW”等,这种测试软件在网上可以得到。它们简单易用,但却极其有效。
2) 检查没有任何问题但却仍旧不通时,可尝试将所有设备关掉重新启动。这样一个简单的方法,在调试时经常很有用。
结束语:
利用Modbus协议来实现不同设备之间的通讯,操作简便,适用性强,通讯速度快。因此,在各种工控系统中,Modbus是极为常见的一种通讯协议。同时,Modbus也是一种实力较强的现场总线,在工业控制实现真正的网络化过程中,Modbus将发挥更大的作用。
解决方法:可以利用两个整形数传送一个浮点数(即将一个32位的二进制数分割成两个16位的二进制数),传送完以后,再将两个整形数整合为一个浮点数。
2、 在调试过程中,当数据传输至PLC中后,最初发现数据并不是原来的数值,而是一些莫名其妙的数据,要么大的离谱,要么是负的多位数。
经过反复的尝试,终于发现问题所在,原来,在Modbus总线中,数据传输时是低位字节先传送,传送过来后如果不进行交换,二进制的数值排列是反向的,即原来的低字节在高位,高字节在低位,所以得到的数据和原数据相差甚远。只要将数据的高低位字节进行交换(swap位置1),就可解决此问题。
3、 在调试过程中,总是调不通怎么办?
在数据通讯的调试过程中,如果数据总是不通,我们一般按照这样的顺序进行检查:
1) 各种设备是否正常,
2) 接线是否正确、完好;
3) 各种设备组态是否正确。
一般来说,这些因素极少出现问题,但仔细检查是必要的,这些得到确认后,还要注意以下几点:
1) 用一种测试软件进行测试,这样可以将问题的范围缩小,在我们的调试过程中,我们用了一种叫做“MBUS2”的小测试软件对流量计算机的接线和组态进行测试,一般当利用此软件测试成功后,再整体调试,问题可迎刃而解。象我们用的“MBNUS2“,还有“MODBUS VIEW”等,这种测试软件在网上可以得到。它们简单易用,但却极其有效。
2) 检查没有任何问题但却仍旧不通时,可尝试将所有设备关掉重新启动。这样一个简单的方法,在调试时经常很有用。
结束语:
利用Modbus协议来实现不同设备之间的通讯,操作简便,适用性强,通讯速度快。因此,在各种工控系统中,Modbus是极为常见的一种通讯协议。同时,Modbus也是一种实力较强的现场总线,在工业控制实现真正的网络化过程中,Modbus将发挥更大的作用。