<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > PLC在變頻器網(wǎng)絡控制中的通信程序設計

          PLC在變頻器網(wǎng)絡控制中的通信程序設計

          作者: 時間:2016-12-16 來源:網(wǎng)絡 收藏

          五、程序清單:( 子程序和主程序 )
            本程序主要介紹1臺EC20PLC(作為主站)按照MODBUS協(xié)議網(wǎng)絡對3臺變頻器(從站號分別是2,3,4)進行通信控制的簡單范例,本例中:
            連續(xù)命令序列 包括對2,3,4號變頻器的運行頻率的讀??;
            隨機命令序列 包括對2,3,4號變頻器進行啟動,停止,更改頻率的命令操作;
            1) “變頻器正轉(zhuǎn)”子程序清單如下:
            //主程序中用M1993作為各發(fā)送輔助使能,主要用于 MODBUS指令的上升沿觸發(fā)無其他用
            LD LM0 //位輸入?yún)?shù)型—發(fā)送輔助使能
            RSTSM135 //復位成功標志
            RST SM136 //復位失敗標志
            LD SM0 //運行標志
            MOV Z0 V9 //保存Z0值到V9
            LD SM0 //運行標志
            MOV V0 V10 //從機地址
            MOV 16#6 V11 //功能碼
            MOV 16#32 V12 //寄存器地址高字節(jié)
            MOV 16#0 V13 //寄存器地址低字節(jié)
            MOV 1 V14 //寫入數(shù)據(jù)高字節(jié)
            MOV 16#C7 V15 //寫入數(shù)據(jù)低字節(jié)
            //以下把發(fā)送數(shù)據(jù)轉(zhuǎn)移到D7940-D7945里
            LD SM0
            MOV 0 Z0
            LD SM0
            FOR 6
            LD SM0
            MOV V10Z0 D7940Z0
            LD SM0
            INC Z0
            NEXT
            //發(fā)送接收數(shù)據(jù),數(shù)據(jù)放在D7970開始區(qū)域
            LD LM0
            MODBUS 1 D7940 D7970
            RST LM0 //馬上復位發(fā)送輔助使能
            //無論成功失敗都還原Z0值
            //當然這里省略了錯誤報告的處理
            LD SM135
            OR SM136
            EU //上升沿
            MOV V9 Z0
          2) “停機”子程序(省略)
            3) “設定頻率”子程序(省略)
            4) “讀取運行頻率”子程序(省略)
            5) 主程序清單:
            //******以下為通信邏輯處理部分******
            LD SM1 //運行第一周期脈沖
            //***這里省略了檢查從機準備好否的環(huán)節(jié)***
            //***程序里設計了3個連續(xù)命令序列***
            RST M6 //復位連續(xù)命令序列1使能標志
            RST M7 //復位連續(xù)命令序列2使能標志
            RST M8 //復位連續(xù)命令序列3使能標志
            ED //下降沿
            //置位連續(xù)命令序列1使能標志,以開始第1條連續(xù)命令執(zhí)行
            SET M6
            //***程序里設計了共9個隨機命令序列***
            //只要有至少1個隨機命令, // M1000=ON,表示有隨機命令等待,這樣在連續(xù)命令切換時優(yōu)先執(zhí)行隨機命令系列。
            LD M0 //隨機命令序列1使能標志
            OR M1 //隨機命令序列2使能標志
            OR M2 //隨機命令序列3使能標志
            OR M3 //隨機命令序列4使能標志
            OR M4 //隨機命令序列5使能標志
            OR M5 //隨機命令序列6使能標志
            OR M9 //隨機命令序列7使能標志
            OR M10 //隨機命令序列8使能標志
            OR M11 //隨機命令序列9使能標志
            SET M1000
            //所有隨機命令都處理完成后, M1000=OFF,表示隨機命令完成,則連續(xù)命令可以正常切換。
            LDI M0
            ANIM1
            ANI M2
            ANI M3
            ANI M4
            ANI M5
            ANI M9
            ANI M10
            ANI M11
            RST M1000
            //任何1個連續(xù)命令未完成時,M1001=ON,標志連續(xù)命令在進行,如果有隨機命令必須等待。
            LD M6
            OR M7
            OR M8
            SET M1001
            //連續(xù)命令處于切換狀態(tài)時,M1001=OFF,標志連續(xù)命令完成,如果有隨機命令可以進行。
            LDI M6
            ANI M7
            ANI M8
            RST M1001
            //每1個連續(xù)命令完成且無隨機命令等待時,啟動延時T0 100MS,以便切換下1個連續(xù)命令執(zhí)行
            LD M100 //連續(xù)命令1完成標志
            OR M101 //連續(xù)命令2完成標志
            OR M102 //連續(xù)命令3完成標志
            ANI M1000
            TON T0 1 //啟動延時T0 100MS
            //******************************************
            //**********以下為3個連續(xù)命令序列**********
            //調(diào)用“讀取運行頻率”子程序-2#站,頻率存在D1000里;
            //通信成功或失敗都復位連續(xù)命令序列1使能標志M6,同時置位完成標志M100,以便進行切換。當然這里省略了失敗的處理子程序;
            //延時T0時間后,執(zhí)行連續(xù)命令2序列,置位連續(xù)命令2序列使能標志M7;
            LD M6 //連續(xù)命令序列1使能
            MPS
            EU
            SET M1993 //發(fā)送前置位發(fā)送輔助標志
            MRD
            CALL 讀取運行頻率 2 M1993 D1000
            //參數(shù)注釋:站地址,發(fā)送輔助位,頻率存放地址
            MPP
            LD SM135
            OR SM136
            ANB
            RST M6
            SET M100
            LD T0
            AND M100
            EU
            RST M100 //復位連續(xù)命令1完成標志
            SET M7
            //調(diào)用“讀取運行頻率”子程序-3#站,頻率存在D1001里;
            //通信成功或失敗都復位連續(xù)命令序列2使能標志M7,同時置位完成標志M101,以便進行切換。當然這里省略了失敗的處理子程序;
            //延時T0時間后,執(zhí)行連續(xù)命令3序列,置位連續(xù)命令3序列使能標志M8;
            LD M7 //連續(xù)命令2序列使能
            MPS
            EU
            SET M1993 //發(fā)送前置位發(fā)送輔助標志
            MRD
            CALL 讀取運行頻率 3 M1993 D1001
            //參數(shù)注釋:站地址,發(fā)送輔助位,頻率存放地址
            MPP
            LD SM135
            OR SM136
            ANB
            RST M7 //復位使能標志
            SET M101 //置位完成標志
            LD T0
            AND M101
            EU
            RST M101 //復位連續(xù)命令2完成標志
            SET M8 //置位連續(xù)命令3使能標志
            //調(diào)用“讀取運行頻率”子程序-4#站,頻率存在D1002里
            //通信成功或失敗都復位連續(xù)命令序列3使能標志M8,同時置位完成標志M102,以便進行切換。當然這里省略了失敗的處理子程序;
            //延時T0時間后,重新執(zhí)行連續(xù)命令1序列,置位連續(xù)命令1序列使能標志M6;
            LD M8 //連續(xù)命令3序列使能
            MPS
            EU
            SET M1993
            MRD
            CALL 讀取運行頻率 4 M1993 D1002
            //參數(shù)注釋:站地址,發(fā)送輔助位,頻率存放地址
            MPP
            LD SM135
            OR SM136
            ANB
            RST M8
            SET M102
            LD T0
            AND M102
            EU
            RST M102
            SET M6


          評論


          技術專區(qū)

          關閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();