恭喜,你发布的帖子
发布于 2021-11-08 08:57:08
13楼
本胖做过单片机(飞利浦LPC2119,好像是这个型号,飞利浦的单片机部门现在已经被别人收购了)的底层Modbus-RTU的程序,当时好像就是针对跟西门子的200通讯座的,所以当时仔细的分析了MODBUS-RTU的协议文本。
程序的开头就是判断总线空闲时间,超过3.5字符(的时间),就启动地址识别,收到的第一个字节就是从站地址,然后判断是不是自己,如果不是自己,就直接退出了。
假设所有的MODBUS-RTU都是差不多的思路,那么USS通信协议的第一个字节固定是02,就是说只要同一总线上的MODBUS-RTU节点没用2号地址就是可以的;反过来,USS节点,因为收到的第一个字节不是02,也会退出。
基于以上分析,本胖觉得只要都是二进制通信协议(依靠总线空闲时间超过多少,下一个字节是数据包的包头),通过仔细分析协议文本,是有可能在一条总线上实现不同协议的。
请填写推广理由:
分享
只看
楼主