s7-200之间的自由口通信
郑志武
发布于2013-03-05 22:09
2
0
标签:
实现两个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指令,不然只能接收一次了