新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 一種S7-300與S7-200自由口無(wú)線通信實(shí)現(xiàn)方法

一種S7-300與S7-200自由口無(wú)線通信實(shí)現(xiàn)方法

作者: 時(shí)間:2016-12-16 來(lái)源:網(wǎng)絡(luò) 收藏

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

上一頁(yè) 1 2 3 下一頁(yè)

評(píng)論


相關(guān)推薦

技術(shù)專(zhuān)區(qū)

關(guān)閉