新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > PLC與CHV系列變頻器通信

        PLC與CHV系列變頻器通信

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

          (3)臨時局部變量(VAR)

          lw_8:WORD; // 待發送數據字節個數計數變量

          lw_10:WORD; // 待發送數據每字節8位二進制數計數變量

          Network 1

          LD SM0.0

          MOVW 16#FFFF, LW6 //將16位CRC校驗寄存器LW6全置為1

          Network 2

          LD SM0.0

          FOR LW8, +1, LW4 //對待發送數據字節個數(LW4)計數(LW8)循環

          Network 3

          LD SM0.0

          XORB *LD0, LB7 //使待發送數據的第一個字節(*LD0)與

          //CRC校驗寄存器低位字節(LB7)進行異或運算

          Network 4

          LD SM0.0

          INCD LD0 //ld_0指向待發送數據的下一個地址

          Network 5

          LD SM0.0

          FOR LW10, +1, +8 //對每字節8位二進制數計數(LW10)循環

          Network 6

          LD SM0.0

          SRW LW6, 1 //CRC校驗寄存器LW6右移一位

          Network 7

          LD SM1.1 //若移位后的溢出值SM1.1為1

          XORW 16#A001, LW6 //則使值16#A001與LW6進行異或運算

          Network 8

          NEXT //結束每字節8位二進制數計數循環

          Network 9

          NEXT //結束每數據幀字節個數計數循環

        3. 初始化子程序(SBR1)

          該程序在PLC的第一個掃描周期運行,主要是設置CPU224自由端口的通信格式、數據接收格式及復位各寄存區(參見西門子S7-200編程手冊)。

          通信格式內容包括:波特率9.6K、每字節位數8位、偶校驗等(注意與變頻器一致)。

          數據接收格式完全參照MODBUS RTU格式設定,以不少于3.5個字節傳輸時間的通信口空閑間隔作為數據接收的開始及結束信號。根據協議,PLC在準備接收數據前會先監測通信口是否空閑,如連續空閑時間超過了3.5個字節的傳輸時間,則PLC默認數據接收開始,此后通訊口上出現的信息即被認為是一個數據幀的內容。同理,隨著一個數據幀的最后一個字節傳輸完成,又會出現一個3.5字節傳輸時間的空閑間隔,來表示一個數據幀傳輸的結束。(參見MODBUS協議標準及CHV系列矢量變頻器通訊卡使用說明書)

          對9.6K的通信波特率來說,3.5個字節傳輸時間約為5ms左右。因該程式的每個指令只準備接收一個數據幀的回饋信息,所以接收數據前的空閑檢測時間可設為0,即PLC在發出數據后立即開始接收數據,但一個數據幀的傳輸結束空閑檢測時間仍需設為5ms以上。

          Network 1

          LD SM0.0

          MOVB 16#49, SMB30 //設置自由通信口格式

          MOVW +0, SMW90 //空閑行間隔檢測時間0ms

          MOVW +5, SMW92 //字符間定時器超時檢測時間5ms

          MOVB 20, SMB94 //接收信息的最大緩沖區20字節

          MOVB 148, SMB87 //設置自由通信口的數據接收格式

          FILL +0, QW0, 1 //輸出印象寄存區復位

          FILL +0, MW0, 1 //標志寄存區復位

          FILL +0, VW100, 5 //發送緩沖區復位

          FILL +0, VW200, 5 //接收緩沖區復位

          ATCH INT_0, 23 //接收完成中斷

          ATCH INT_1, 9 //發送完成中斷

          ENI //在全局啟用中斷


        上一頁 1 2 下一頁

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 金昌市| 游戏| 酒泉市| 东源县| 图木舒克市| 额济纳旗| 和顺县| 当雄县| 峡江县| 岳阳县| 米脂县| 上虞市| 扶风县| 深水埗区| 临沂市| 赤壁市| 绿春县| 德钦县| 屏东市| 丹寨县| 华蓥市| 修文县| 岳西县| 海伦市| 贡觉县| 嘉定区| 凤翔县| 舒兰市| 金秀| 大冶市| 襄垣县| 蒙自县| 东阳市| 雷山县| 荃湾区| 曲沃县| 抚松县| 郎溪县| 新蔡县| 赫章县| 布拖县|