一種S7-300與S7-200自由口無(wú)線(xiàn)通信實(shí)現方法
S7-200通信程序詳細介紹(1號站)
主程序MAIN(只給出與通信有關(guān)程序)
LD SM0.1
MOVB 1, VB1
//設置站地址
LD SM0.7
EU
O SM0.1
CALL SBR_0
//首次運行或模式開(kāi)關(guān)從TERM打到ON時(shí)定義通信口為自由口
LD SM0.7
ED
CALL SBR_1
//模式開(kāi)關(guān)從ON撥到TERM時(shí)定義通信口為PPI從站
子程序SBR_0
LD SM0.0
MOVB 16#09, SMB30
ENI
ATCH INT_11, 8
//定義通信口0為自由口模式,9.6K波特率,無(wú)校驗,8位數據位,連接接收字符中斷為中斷程序INT_11
子程序SBR_1
LD SM0.0
MOVB 16#C0, SMB30
DTCH 8
DTCH 9
//恢復普通PPI通信設置
中斷程序INT_11
LD SM0.0
AB= SMB2, VB1
MOVW +5, VW200
MOVD &VB640, VD688
ATCH INT_12, 8
//若站地址正確,連接接收字符中斷到中斷程序INT_12,并使VW200=5來(lái)計數,在INT_12中連續接收五個(gè)字節;若站地址錯誤,則繼續由INT_11接收字節數據,要在S7-300中程序中將其余六個(gè)字節的高位進(jìn)行設計,避免出現為內容1或2地址信息的字節,即使傳輸過(guò)程中因外界干擾,其余六個(gè)字節出現為1或2的假地址情況,程序也會(huì )在接下來(lái)1~2個(gè)接收過(guò)程中,因INT_13中斷程序中的校驗指令作用,得到錯誤校驗值,而恢復到正常接收狀態(tài)。
中斷程序INT_12
LD SM0.0
MOVB SMB2, *VD688
INCD VD688
DECW VW200
//接收5個(gè)字節
LD SM1.0
MOVB 1, VB639
MOVW VW639, VW700
XORW VW641, VW700
ATCH INT_13, 8
//通過(guò)異或指令進(jìn)行數據校驗,連接接收字符中斷到中斷程序INT_13,即由第七個(gè)字節觸發(fā)中斷程序INT_13
中斷程序INT_13
LD SM0.0
DTCH 8
//中斷分離
LDW= VW700, VW643
MOVD VD640, VD400 //校驗正確,將控制信息數據存到VB400~VB402
MOVB 6, VB600
MOVB VB1, VB601
BMB VB100, VB602, 5
ATCH INT_14, 9
XMT VB600, 0
//校驗正確,使能發(fā)送,發(fā)送6字節數據VB601~VB606,連接發(fā)送指令結束到中斷程序INT_14
LDW《》 VW700, VW643
ATCH INT_11, 8
//校驗不正確,連接接收字符中斷到中斷程序INT_11,進(jìn)行新一次接收
中斷程序INT_14
LD SM0.0
DTCH 9
ATCH INT_11, 8
//發(fā)送結束則連接接收字符中斷到中斷程序INT_11,進(jìn)行新一次接收
4 電臺選型和故障判斷
數傳電臺選擇了深圳友訊達科技發(fā)展公司的FC-201/B,該數傳電臺以其價(jià)格合理、運行穩定在國內得到廣泛應用。通過(guò)友訊達提供的電臺軟件pfc5對電臺進(jìn)行參數設置,在S7-200兩個(gè)站處將電臺參數設置為:發(fā)射頻率453.00,接收頻率465.00,空中速率1200bps,工作模式為透明模式,串口波特率9600bps,串口校驗和設為無(wú);在S7-300站處將電臺的參數中發(fā)射頻率設為465.00,接收頻率設為453.00,與S7-200站處電臺收發(fā)頻率對應,其余參數一致。
FC-201/B數傳電臺有一個(gè)發(fā)送和接收指示燈,當發(fā)送數據時(shí)為紅燈,接收數據時(shí)為綠燈。根據此燈可以方便的判斷通訊是否正常,正常情況下,S7-300輪循方式與兩S7-200通信,即第一秒內向1號站發(fā)送數據,然后接收1號站返回的數據(S7-200在接收到S7-300發(fā)送的數據后會(huì )立刻向S7-300發(fā)送數據);第二秒內向2號站發(fā)送數據,然后接收2號站返回的數據,不停地循環(huán)通信。S7-300站處電臺通訊指示燈紅閃一下,接著(zhù)綠閃一下,處在不停的紅-綠-紅-綠循環(huán)狀態(tài)。而S7-200站在接收S7-300發(fā)送的數據時(shí),要經(jīng)過(guò)地址數據字節判斷,確認地址為本站,并且對接收數據進(jìn)行校驗,確定接收數據無(wú)誤才回傳S7-300數據,但是只要S7-300發(fā)送數據,S7-200就接收數據,即使是發(fā)送給另一個(gè)S7-200站的數據。所以在無(wú)外界干擾,數據發(fā)送沒(méi)有校驗錯誤的情況下,S7-200站處的電臺通訊燈是綠閃兩下,紅閃一下,處在不停的綠-綠-紅循環(huán)狀態(tài),即接收兩次數據,發(fā)送一次數據。如果通訊出現故障,根據通訊燈的閃爍狀態(tài),便可很容易查出通訊故障所在。
5 結束語(yǔ)
上位機WINCC通過(guò)訪(fǎng)問(wèn)S7-300的數據塊DB2和DB22,就可以實(shí)現對兩個(gè)S7-200PLC站的監控。自本系統投入運行以來(lái),運行穩定可靠,收到用戶(hù)好評。本通信方案經(jīng)濟、靈活,程序可移植性強,對于類(lèi)似項目具有很高的借鑒意義。
評論