新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 一種S7-300與S7-200自由口無線通信實現方法

        一種S7-300與S7-200自由口無線通信實現方法

        作者: 時間:2016-12-16 來源:網絡 收藏

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

        上一頁 1 2 3 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 永和县| 岱山县| 昔阳县| 南靖县| 图们市| 元谋县| 桐城市| 安多县| 隆林| 绥芬河市| 买车| 大兴区| 娱乐| 盐池县| 麦盖提县| 香格里拉县| 克拉玛依市| 尤溪县| 新巴尔虎右旗| 将乐县| 临安市| 如皋市| 定襄县| 云龙县| 襄城县| 邢台市| 大足县| 和林格尔县| 白河县| 平潭县| 区。| 云和县| 呈贡县| 辽宁省| 临清市| 隆昌县| 思南县| 阿勒泰市| 北辰区| 永清县| 丽水市|