S7-200之间的自由口通信

我想实现两个200之间的自由口通信。A站只发送,B站只接收。但是我发现自由口只有接收控制字,没有发送控制字呢。比如我想只发送8个字节的数据,怎么控制呢。SMB94=8,就可以了吗?
当然两个站的收发控制要一致。

最佳答案

发送端比较简单,
如你所说,想A端只发,那么你只要把控制字节SMB30设置成自由口模式,波特率,奇偶校验设置和B站一致,
然后譬如你想将vb101到VB108这八个字节的数据发送出去,
那么你需要用MOV指令,将8传送到VB100中,VB101-VB108填写你需要发送的数据,然后使用
XMT指令,PORT口选择0,TBL填写VB100就可以了,然后只要XMT使能为EN为1,就会不断的发送数据出去
B站作为始终接收,当然SMB30也要设置的和A站的一致,
然后设置判断开始和结束接收信息的条件,
是用特殊的起始字符和停止字符,还是用时间空闲线来检测,
不管用哪种方法检测,SMB94都必须要设置成不小于8的数,然后要建立接收完成中断程序,注意在接收完成中断程序中,一定需要重新将SMB87,.7这一位设置为1,然后执行一次RCV指令,不然只能接收一次了

提问者对于答案的评价:
感谢你详细的回答。

原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc301120.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2020年10月31日 下午2:45
下一篇 2020年10月31日 下午2:45

相关推荐