一、前言
在plc 與變頻器的綜合應(yīng)用中,比較傳統(tǒng)的應(yīng)用一般是使用plc的硬接點(diǎn)輸出控制變頻器的運(yùn)行及停止,使用多段速度或d/a輸出控制變頻器的轉(zhuǎn)速變化,在這種應(yīng)用方式中,plc與變頻器通過外部接線完成連接,不能進(jìn)行內(nèi)部數(shù)據(jù)的傳遞;而使用rs-485通訊控制,僅通過一條通訊電纜連接,無須其他外部接線,不但能完成傳統(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可編程控制器和三菱變頻器為例說明。
二、計(jì)算機(jī)(plc可編程控制器)與變頻器的編程協(xié)議
1.通訊協(xié)議
計(jì)算機(jī)(plc可編程控制器)與變頻器之間的數(shù)據(jù)通訊執(zhí)行過程如.
數(shù)據(jù)通訊協(xié)議執(zhí)行過程分五個(gè)步驟進(jìn)行,具體過程分析如下:
1)從計(jì)算機(jī)(plc可編程控制器)發(fā)送數(shù)據(jù)到變頻器;數(shù)據(jù)寫入時(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ù)有無錯(cuò)誤,如果通訊沒有錯(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ù)有無錯(cuò)誤,并通知變頻器,沒有發(fā)現(xiàn)錯(cuò)誤使用格式g,發(fā)現(xiàn)錯(cuò)誤使用格式h。
2.?dāng)?shù)據(jù)格式類型
使用十六進(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(回車符)或lf(換行符)代碼;
當(dāng)數(shù)據(jù)從計(jì)算機(jī)(plc可編程控制器)傳輸?shù)阶冾l器時(shí),在有些計(jì)算機(jī)中代碼cr(回車符)和lf(換行符)自動(dòng)設(shè)置到數(shù)據(jù)組的結(jié)尾,因此變頻器的設(shè)置也必須根據(jù)計(jì)算機(jī)來確認(rèn),并且可通過變頻器的pr.124選擇有無cr和lf代碼。
4.*5 pr.123 [響應(yīng)時(shí)間設(shè)定] 不設(shè)定為9999的場(chǎng)合下,數(shù)據(jù)格式的響應(yīng)時(shí)間字節(jié)沒有,請(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ù)有無錯(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)示);因此,通過響應(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可編程控制器)來的數(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é)沒有,請(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ù)的格式可以通過特殊數(shù)據(jù)寄存器d8120設(shè)定,并要與變頻器的數(shù)據(jù)格式類型*對(duì)應(yīng);通過plc傳送指令把通訊數(shù)據(jù)裝到d200開始的連續(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ù)通過d8120來設(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ù)通訊的開始都是由計(jì)算機(jī)發(fā)出請(qǐng)求,沒有計(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ā)來的數(shù)據(jù)有錯(cuò)誤時(shí),變頻器將不接受此數(shù)據(jù);如果變頻器在接收數(shù)據(jù)時(shí)發(fā)現(xiàn)任何錯(cuò)誤,它的定義和nak代碼一起被送回到計(jì)算機(jī)。
三、變頻器的通訊相關(guān)參數(shù)(通過變頻器pu口和plc通訊)
plc可編程控制器和變頻器之間進(jìn)行通訊,通訊規(guī)格必須在變頻器的初始化中設(shè)定,如果沒有進(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ù)后,變頻器沒有復(fù)位,通訊將不能進(jìn)行。
四、fx2n-485-bd與三菱fr-a540變頻器的通訊接線
rj45水晶頭插入變頻器的pu接口(也可通過變頻器通訊板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)?mov h05 d200 ;
第二、第三字節(jié)為變頻器00號(hào)站,對(duì)應(yīng)程序?yàn)?mov h30 d201 mov h30 d202 ;
第四、第五字節(jié)為指令代碼hfa,對(duì)應(yīng)程序?yàn)?mov h46 d203 mov h41 d204 ;
第六、第七字節(jié)為指令代碼為:正轉(zhuǎn)運(yùn)行h02,對(duì)應(yīng)程序?yàn)?mov h30 d205 mov h32 d206 ;
第八、第九字節(jié)為總和校驗(yàn)代碼,對(duì)應(yīng)程序?yàn)?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)停止(圖九);
說明: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-h(huán)31-h(huán)45-h(huán)31-h(huán)31-h(huán)30-h(huán)37-h(huán)41-h(huán)44分別用傳送指令傳到d300開始的連續(xù)10個(gè)plc的內(nèi)存單元中,其總和校驗(yàn)碼可用ccd指令自動(dòng)計(jì)算出來,通過plc程序再將總和校驗(yàn)碼轉(zhuǎn)換成2個(gè)ascii碼,并送到plc的對(duì)應(yīng)內(nèi)存單元d310,d311中,計(jì)算總和校驗(yàn)碼plc程序如
本例的變頻器等待時(shí)間由變頻器設(shè)定,故上述格式中的等待時(shí)間字節(jié)無。
3)變頻器運(yùn)行頻率的改變實(shí)例
在本例中,數(shù)據(jù)處理為8位即m8161=1,pr。123=9999,即等待時(shí)間用plc程序設(shè)定;通過觸摸屏將變頻器的運(yùn)行頻率直接寫到plc內(nèi)存d1000中(或使用傳送指令將頻率數(shù)據(jù)自動(dòng)寫入),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)用,將一些廠家原本提供的資料以比較通俗易懂的語言來描述,并結(jié)合自己多年來的工作實(shí)踐,提供了用于通訊控制的plc的程序及變頻器的調(diào)試參數(shù)。
參考文獻(xiàn)
1.三菱微型可編程控制器fx1s,fx1n,fx2n,fx2nc系列編程手冊(cè) 2001年4月
2.三菱變頻調(diào)速器fr-a500使用手冊(cè) 1998年2月