s7-200之間的自由口通信
鄭志武
發(fā)布于2013-03-05 22:09
2
0
標簽:
實現(xiàn)兩個200之間的自由口通信。a站只發(fā)送,b站只接收。但是我發(fā)現(xiàn)自由口只有接收控制字,沒有發(fā)送控制字呢。比如想只發(fā)送8個字節(jié)的數據,怎么控制呢。smb94=8,就可以了嗎?
當然兩個站的收發(fā)控制要一致。
佳答案
發(fā)送端比較簡單,
如你所說,想a端只發(fā),那么你只要把控制字節(jié)smb30設置成自由口模式,波特率,奇偶校驗設置和b站一致,
然后譬如你想將vb101到vb108這八個字節(jié)的數據發(fā)送出去,
那么你需要用mov指令,將8傳送到vb100中,vb101-vb108填寫你需要發(fā)送的數據,然后使用
xmt指令,port口選擇0,tbl填寫vb100就可以了,然后只要xmt使能為en為1,就會不斷的發(fā)送數據出去
b站作為始終接收,當然smb30也要設置的和a站的一致,
然后設置判斷開始和結束接收信息的條件,
是用特殊的起始字符和停止字符,還是用時間空閑線來檢測,
不管用哪種方法檢測,smb94都必須要設置成不小于8的數,然后要建立接收完成中斷程序,注意在接收完成中斷程序中,一定需要重新將smb87,.7這一位設置為1,然后執(zhí)行一次rcv指令,不然只能接收一次了