久久ER99热精品一区二区-久久精品99国产精品日本-久久精品免费一区二区三区-久久综合九色综合欧美狠狠

新聞中心

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

PLC在變頻器網絡控制中的通信程序設計

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

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


評論


技術專區

關閉