想用串口助手给200 发送一个数字,然后让200把数据发回来
下面是我写的 程序,200发回来会出现乱码是怎么回事? 能帮我看看程序中的错误吗? SMW90 空闲时间不是很了解 还有SM86
问题补充:
WWCWWC 那我这个程序对吗? 为什么发回的数据会出现乱码
图片说明:
最佳答案
西门子200自由口通讯是一种灵活应用的modbus通讯的一种。
对应prot0口的SMW90或prot1口对应的SMW190空隙线时间(单位毫秒)(数据字符之间的时间)如通讯频率9.6K,字符间一般用4倍的时间系数,大概需要4毫秒。
对于SMB86(SMB186)是控制字节,是用户根据具体的通讯格式,按位值定义给SMB86中。
注意!SMW94是必须填写的标志字。
补充问题回复:
既然你采用2种通讯方式(起始符、结束符、空闲线时间),你应该做出相应的定义,其中字符(起始符SMB88;结束符SMB89)和空闲线时间设置SMW90。另外可能是图片的原因,没有看到你调用中断的程序段。
程序中初始化程序比较明显的错误是空闲线设置你写了SMB90,正确的应该是字,即SMW90
提问者对于答案的评价:
谢谢
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc180007.html