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