EMERSON EV1000/EV2000變頻器與MITSUBISH FX2 PLC
基于Modbus協議通訊的DEMO程序
一、硬件連接
二、通訊方式
Modbus協議,ASCII格式,LRC校驗;
主從方式:PLC為主機,變頻器為從機;
波特率:19200bps(默認),可選;
數據格式:7-N-2(默認)、無校驗,可選。
三、程序模塊
1. MAIN:主程序。
根據PLC輸入端子的命令執行通訊命令。
2. P0:初始化子程序。
初始化通訊接口;添加數據幀頭、幀尾;初始化從機地址。
3. P1:變頻器正轉命令賦值,調用LRC校驗子程序,將待發送的ASCII碼字符串置入發送緩沖器。
4. P2:變頻器反轉命令賦值,調用LRC校驗子程序,將待發送的ASCII碼字符串置入發送緩沖器。
5. P3:變頻器停機命令賦值,調用LRC校驗子程序,將待發送的ASCII碼字符串置入發送緩沖器。
6. P4:寫變頻器參數命令賦值,調用LRC校驗子程序,將待發送的ASCII碼字符串置入發送緩沖器。
7. P5:讀變頻器參數命令賦值,調用LRC校驗子程序,將待發送的ASCII碼字符串置入發送緩沖器。
8. P6:LRC校驗子程序。
計算待發送字符串的LRC校驗值,并將十六進制字符串轉化為ASCII碼。
9. P7:接收字符串校驗子程序。根據接收字符串的特性,將接收到的ACSII碼轉化為十六進制,并進行LRC校驗;比較計算所得的校驗值與接受到的校驗值。
10. P8:根據命令,選擇接收和發送字符串的長度。
四、程序功能
X000=1:正轉運行(寫0x0187到控制寄命令字存器0x3200),點亮Y000;
X001=1:反轉運行(寫0x018F到控制命令字寄存器0x3200),點亮X001;
X002=1:停機(寫0x0186到控制命令字寄存器0x3200),指示燈熄滅;
X003=1:改寫單個參數(如設定頻率,功能碼地址可選),掉電后不保存;
X004=1:讀參數(如設定頻率、狀態字等,功能碼的地址和個數可選)。
若校驗有誤,則Y007亮,校驗正確后該燈熄滅。
五、注意事項
1. 本DEMO程序僅作為用戶參考程序,請根據實際應用加以修改;
2. 通訊波特率和數據格式可改,請參考FX PLC相關手冊,在“P0”中進行修改(DEMO程序中默認為“19200bps,7位數據位,2位停止位,無校驗,無幀頭和幀尾,控制線正常模式1,不添加和校驗碼,無協議,協議格式1”格式);
3. 從機(變頻器)地址可由用戶在“P0”中進行設置(DEMO程序中默認為“05”)。
4. “正轉”、“反轉”和“停機”是通過寫控制字實現的,用戶可以根據實際情況在“P1”、“P2”、“P3”中進行修改(DEMO程序中這三種情況對應的控制字的內容分別為“0x0187”、“0x018F”和“0x0186”);
5.“改寫單個參數”時,待寫的變頻器功能碼的地址及其內容由用戶決定,請根據需要在“P5”中進行修改(DEMO程序中通過“寫”命令設置運行頻率,F0.02=50.00Hz);
6. “讀參數”時,待讀的變頻器功能碼的地址和字節數由用戶決定,請根據需要在“P6”中進行修改(DEMO程序讀以F0.02開始的4個單元的內容,即F0.02~F0.05)。
附:
錯誤幀處理方式:PLC發送命令后,接收返回的命令并進行LRC校驗,將校驗所得的LRC校驗碼與接收到的校驗碼進行比較。若兩者相等,則表明此次通訊正常;若不等,則表明通訊有誤,0.3s后重新發送上次的請求命令,直到接收到的字符串的校驗碼正確為止。這樣做是為了保證PLC端發送的命令(如正/反轉、停機等)能夠正常送到變頻器。
-
plc
+關注
關注
5016文章
13387瀏覽量
465381
發布評論請先 登錄
相關推薦
評論