一、前言
在PLC 與變頻器的綜合應(yīng)用中,比較傳統(tǒng)的應(yīng)用一般是使用PLC的硬接點輸出控制變頻器的運行及停止,使用多段速度或D/A輸出控制變頻器的轉(zhuǎn)速變化,在這種應(yīng)用方式中,PLC與變頻器通過外部接線完成連接,不能進行內(nèi)部數(shù)據(jù)的傳遞;而使用RS-485通訊控制,僅通過一條通訊電纜連接,無須其他外部接線,不但能完成傳統(tǒng)應(yīng)用的所有功能,還能進行內(nèi)部的數(shù)據(jù)通訊,可方便地從變頻器中獲取所驅(qū)動的電動機各種電參數(shù)如:運行頻率、電流、電壓、功率等等,配以人機界面的話,可將上述電參數(shù)直接顯示在人機界面上。以下的所有協(xié)議及程序均以三菱FX2N系列PLC可編程控制器和三菱變頻器為例說明。
二、計算機(PLC可編程控制器)與變頻器的編程協(xié)議
1.通訊協(xié)議
計算機(PLC可編程控制器)與變頻器之間的數(shù)據(jù)通訊執(zhí)行過程如.
數(shù)據(jù)通訊協(xié)議執(zhí)行過程分五個步驟進行,具體過程分析如下:
1)從計算機(PLC可編程控制器)發(fā)送數(shù)據(jù)到變頻器;數(shù)據(jù)寫入時根據(jù)需要,選擇使用格式A、A1,數(shù)據(jù)讀出時,使用格式B進行;
2)變頻器數(shù)據(jù)處理時間,即變頻器的等待時間;根據(jù)變頻器參數(shù)Pr。123選擇, Pr。123=9999,由通訊數(shù)據(jù)設(shè)定其等待時間;Pr。123=0~150ms由變頻器參數(shù)設(shè)定其等待時間;
3)從變頻器返回數(shù)據(jù)到計算機(PLC可編程控制器);變頻器檢查步驟1)發(fā)送的數(shù)據(jù)有無錯誤,如果通訊沒有錯誤、接受請求時,將從變頻器返回數(shù)據(jù)格式為C、E、E1;如果通訊有錯誤、拒絕請求時,則從變頻器返回數(shù)據(jù)格式為D、F;
4)計算機(PLC可編程控制器)處理延時時間;
5)計算機(PLC可編程控制器)根據(jù)返回數(shù)據(jù)應(yīng)答變頻器;當(dāng)使用格式B后,計算機可檢查從變頻器返回的應(yīng)答數(shù)據(jù)有無錯誤,并通知變頻器,沒有發(fā)現(xiàn)錯誤使用格式G,發(fā)現(xiàn)錯誤使用格式H。
2.?dāng)?shù)據(jù)格式類型
使用十六進制,數(shù)據(jù)在計算機(PLC可編程控制器)與變頻器之間的自動使用ASCII碼傳輸。
1)從計算機(PLC可編程控制器)到變頻器的通訊請求數(shù)據(jù) 注:1.變頻器站號可用十六進制在H00~H1F(站號00~31)之間設(shè)定;
2.*3 表示控制代碼;
3.*4表示CR(回車符)或LF(換行符)代碼;
當(dāng)數(shù)據(jù)從計算機(PLC可編程控制器)傳輸?shù)阶冾l器時,在有些計算機中代碼CR(回車符)和LF(換行符)自動設(shè)置到數(shù)據(jù)組的結(jié)尾,因此變頻器的設(shè)置也必須根據(jù)計算機來確認(rèn),并且可通過變頻器的Pr.124選擇有無CR和LF代碼。
4.*5 Pr.123 [響應(yīng)時間設(shè)定] 不設(shè)定為9999的場合下,數(shù)據(jù)格式的"響應(yīng)時間"字節(jié)沒有,請作成通訊請求數(shù)據(jù)。(字符數(shù)減少一個)
2)使用格式A和格式A1后從變頻器返回的應(yīng)答數(shù)據(jù)
3)使用格式B后,從變頻器返回的應(yīng)答數(shù)據(jù)
4)使用格式B后檢查從變頻器返回的應(yīng)答數(shù)據(jù)有無錯誤,并通知變頻器
3.?dāng)?shù)據(jù)定義
1) 控制代碼(表1)
2) 變頻器站號
規(guī)定與計算機(PLC可編程控制器)通訊的站號,在H00~H1F(00~31)之間設(shè)定;
3) 指令代碼
由計算機(PLC可編程控制器)發(fā)給變頻器,指明程序要求(例如:運行、監(jiān)示);因此,通過響應(yīng)的指令代碼,變頻器可進行各種方式的運行和監(jiān)示。
4)數(shù)據(jù)
表示與變頻器傳輸?shù)臄?shù)據(jù),例如頻率和參數(shù);依照指令代碼確認(rèn)數(shù)據(jù)的定義和設(shè)定范圍。
5)等待時間
規(guī)定變頻器收到從計算機(PLC可編程控制器)來的數(shù)據(jù)和傳輸應(yīng)答數(shù)據(jù)之間的等待時間;根據(jù)計算機的響應(yīng)時間在0~150毫秒之間設(shè)定等待時間,zui小設(shè)定單位位10毫秒,(例如:1=10毫秒,2=20毫秒)
注:Pr.123 [響應(yīng)時間設(shè)定] 不設(shè)定為9999的場合下,數(shù)據(jù)格式的"響應(yīng)時間"字節(jié)沒有,請作成通訊請求數(shù)據(jù)。(字符數(shù)減少一個)
6)總和校驗
總和校驗代碼是由被校驗的ASCII碼數(shù)據(jù)的總和(二進制)的zui低一個字節(jié)(8位)表示的2個ASCII碼數(shù)字(十六進制)。
4.PLC串行數(shù)據(jù)通訊指令簡介
1)該RS指令為使用RS-232C及RS-485功能擴展板及特殊適配器,進行發(fā)送接收串行數(shù)據(jù)的指令,數(shù)據(jù)的格式可以通過特殊數(shù)據(jù)寄存器D8120設(shè)定,并要與變頻器的數(shù)據(jù)格式類型*對應(yīng);通過PLC傳送指令把通訊數(shù)據(jù)裝到D200開始的連續(xù)單元中;
2)D200:發(fā)送數(shù)據(jù)的首地址(指針);
3)D0:發(fā)送數(shù)據(jù)的字節(jié)數(shù)(點數(shù)),根據(jù)協(xié)議可以用常數(shù)直接字節(jié)數(shù),在不進行發(fā)送的系統(tǒng)中,將數(shù)據(jù)發(fā)送點數(shù)設(shè)定為K0;
4)D500:接收數(shù)據(jù)的首地址(指針);
5)D1:數(shù)據(jù)接收的字節(jié)數(shù)(點數(shù)),根據(jù)協(xié)議可以用常數(shù)直接字節(jié)數(shù),在不進行接收的系統(tǒng)中,將數(shù)據(jù)接收點數(shù)設(shè)定為K0;
6)發(fā)送通訊數(shù)據(jù)時請使用脈沖執(zhí)行方式,SET M8122 即可。
5.PLC可編程控制器的通訊格式D8120
為了使用串行數(shù)據(jù)的發(fā)送和接收,在變頻器和PLC可編程控制器的通訊格式必須一致,PLC可編程控制器的通訊參數(shù)通過D8120來設(shè)定。
PLC可編程控制器的通信格式D8120=H009F設(shè)定例(表2)
6.程序設(shè)計的建議
1)當(dāng)從計算機(PLC可編程控制器)發(fā)送的數(shù)據(jù)中有錯誤時,變頻器將不接受這個數(shù)據(jù);因此,用戶的程序中始終應(yīng)插入一個錯誤再試程序。
2)任何數(shù)據(jù)通訊的開始都是由計算機發(fā)出請求,沒有計算機的請求,變頻器將不能返回任何數(shù)據(jù),例如:操作指令或數(shù)據(jù)監(jiān)示等等;因此,對于監(jiān)示等,在設(shè)計程序時,讓計算機提出讀數(shù)請求時必要的。
7.與變頻器通訊的錯誤代碼
當(dāng)從計算機發(fā)來的數(shù)據(jù)有錯誤時,變頻器將不接受此數(shù)據(jù);如果變頻器在接收數(shù)據(jù)時發(fā)現(xiàn)任何錯誤,它的定義和NAK代碼一起被送回到計算機。
三、變頻器的通訊相關(guān)參數(shù)(通過變頻器PU口和PLC通訊)
PLC可編程控制器和變頻器之間進行通訊,通訊規(guī)格必須在變頻器的初始化中設(shè)定,如果沒有進行初始設(shè)定或有一個錯誤的設(shè)定,數(shù)據(jù)將不能進行傳輸。
設(shè)置三菱變頻器的通訊參數(shù)才能進行通訊運行,變頻器與通信有關(guān)的參數(shù)設(shè)定如表3:
注:每次參數(shù)初始化設(shè)定后,需要復(fù)位變頻器(可以采用斷電再上電復(fù)位的方式進行),如果改變與通訊相關(guān)的參數(shù)后,變頻器沒有復(fù)位,通訊將不能進行。
四、FX2N-485-BD與三菱FR-A540變頻器的通訊接線
RJ45水晶頭插入變頻器的PU接口(也可通過變頻器通訊板FR-A5NR接線),另一端的對應(yīng)信號線接在FX2N-485-BD上。
五、PLC與變頻器通訊的編程及調(diào)試?yán)?br>1)運行控制命令的發(fā)送
變頻器的操作指令代碼及數(shù)據(jù)內(nèi)容如表4:
在PLC程序中,變頻器等待時間使用變頻器參數(shù)設(shè)定為20ms,故格式A1中等待時間字節(jié)減少一個,由于本程序不使用 CR和LF,zui后一個字節(jié)也不用,故本PLC程序例中發(fā)送數(shù)據(jù)為9個字節(jié)。
格式A1中各字節(jié)含義如下:
*字節(jié)為通訊請求信號ENQ,對應(yīng)程序為 MOV H05 D200 ;
第二、第三字節(jié)為變頻器00號站,對應(yīng)程序為 MOV H30 D201 MOV H30 D202 ;
第四、第五字節(jié)為指令代碼HFA,對應(yīng)程序為 MOV H46 D203 MOV H41 D204 ;
第六、第七字節(jié)為指令代碼為:正轉(zhuǎn)運行H02,對應(yīng)程序為 MOV H30 D205 MOV H32 D206 ;
第八、第九字節(jié)為總和校驗代碼,對應(yīng)程序為 MOV H34 D207 MOV H39 D208 ;
當(dāng)按下X0時,通訊數(shù)據(jù)被發(fā)送到變頻器,變頻器將正轉(zhuǎn)運行;
如要進行變頻器停止及反轉(zhuǎn)運行程序編程,可在上面的范例程序中修改指令代碼中數(shù)據(jù)內(nèi)容即可實現(xiàn),例如:范例中的程序修改為 MOV H30 D205 MOV H34 D206 可實現(xiàn)反轉(zhuǎn)運行;修改為 MOV H30 D205 MOV H30 D206 實現(xiàn)停止(圖九);
說明:M8161=1,8位處理模式,X0為變頻器正轉(zhuǎn)運行控制,使用變頻器通訊協(xié)議的格式A1如圖十:
2)總和校驗碼的自動計算實例
在本例中,數(shù)據(jù)處理為8位即M8161=1,Pr。123=9999,即等待時間用PLC程序設(shè)定;將H05-H30-H31-H45-H31-H31-H30-H37-H41-H44分別用傳送指令傳到D300開始的連續(xù)10個PLC的內(nèi)存單元中,其總和校驗碼可用CCD指令自動計算出來,通過PLC程序再將總和校驗碼轉(zhuǎn)換成2個ASCII碼,并送到PLC的對應(yīng)內(nèi)存單元D310,D311中,計算總和校驗碼PLC程序如
本例的變頻器等待時間由變頻器設(shè)定,故上述格式中的等待時間字節(jié)無。
3)變頻器運行頻率的改變實例
在本例中,數(shù)據(jù)處理為8位即M8161=1,Pr。123=9999,即等待時間用PLC程序設(shè)定;通過觸摸屏將變頻器的運行頻率直接寫到PLC內(nèi)存D1000中(或使用傳送指令將頻率數(shù)據(jù)自動寫入),ASCI指令將變頻器的運行頻率轉(zhuǎn)換成4位ASCII碼,依次存放到PLC的內(nèi)存單元D305~D308中,總和校驗碼存放在D309、D310;總和校驗計算請參照上一例的自動計算方式進行。
六、結(jié)論
本文討論了PLC可編程控制器與變頻器的RS-485通訊功能的編程及應(yīng)用,將一些廠家原本提供的資料以比較通俗易懂的語言來描述,并結(jié)合自己多年來的工作實踐,提供了用于通訊控制的PLC的程序及變頻器的調(diào)試參數(shù)。
參考文獻
1.三菱微型可編程控制器FX1S,FX1N,FX2N,FX2NC系列編程手冊 2001年4月
2.三菱變頻調(diào)速器FR-A500使用手冊 1998年2月