1 引言
plc和變頻器是自動化設(shè)備上最常見的部件。其最初的控制型式大多是用plc的i/o點和模擬量模塊直接控制變頻器的啟停和實現(xiàn)調(diào)速,但這種控制方式有兩大弊端,最大的弊端是占用plc的i/o點和需要增加昂貴的模擬量模塊,造成控制成本的增加。當被控制的變頻器數(shù)量較多時,此弊端更是明顯。第二個弊端是模擬量控制容易受干擾,傳輸距離也容易受限制。
近幾年來自動化產(chǎn)品不斷更新?lián)Q代,性能不斷提升,功能日益強大。在小型plc方面這個變化更加明顯,現(xiàn)在的小型plc不僅執(zhí)行速度大大提高,指令功能日益豐富,更重要的是大都支持多種通訊協(xié)議,并提供了更多的通訊接口。同時大多的變頻器也具有了rs485接口,也能支持多種通訊協(xié)議,最常見的就是modbus協(xié)議。這種技術(shù)的進步為plc和變頻器通訊的實現(xiàn),提供了軟件上的協(xié)議和硬件上的物理接口,從而為低成本高性能的通訊控制的實現(xiàn)打下了良好的基礎(chǔ)。
2 通訊相關(guān)的基礎(chǔ)知識
2.1 通訊協(xié)議communications protocol
通信協(xié)議是指通信雙方的一種約定。這個約定包括對數(shù)據(jù)格式、同步方式、傳送速度、傳送步驟、檢糾錯方式以及控制字符定義等問題做出統(tǒng)一規(guī)定,通信雙方必須共同遵守。因此,也叫做通信控制規(guī)程,或稱傳輸控制規(guī)程。
modbus協(xié)議是工業(yè)控制器中使用較普遍的一種網(wǎng)絡(luò)協(xié)議。通過此協(xié)議,各種控制器之間(比如plc、變頻器、伺服驅(qū)動器、各種智能儀表)、控制器通過其它網(wǎng)絡(luò)(比如以太網(wǎng))和其它設(shè)備之間都可以通信交換信息。該協(xié)議定義了一個控制器可以識別的信息架構(gòu),從而使不同廠商生產(chǎn)的支持此協(xié)議的各種工控產(chǎn)品可以連接到一個網(wǎng)絡(luò)上進行集中控制和信息交換。
2.2 rs485接口的特點
rs485接口是在大家熟知的rs232接口的基礎(chǔ)上推出的性能更優(yōu)的一種串口。由于rs485接口具有良好的抗噪聲干擾性,長的傳輸距離和多站功能等優(yōu)點,它成為應(yīng)用越來越廣泛的串行接口。 此外,rs485接口組成的半雙工網(wǎng)絡(luò)一般只需二根屏蔽雙絞電線,這為長距離的通訊線路節(jié)省了很多配線,降低了系統(tǒng)的成本。
3 臺達plc和變頻器通訊功能的特點
臺達的dvp系列plc都具有兩個通訊口,com1是rs232,com2是rs485,支持modbus ascii/rtu通訊格式,通訊速率最高可達115200bps,兩通訊口可以同時使用。所以無需用任何擴展模塊就可以實現(xiàn)既可連接用于參數(shù)設(shè)置的人機界面又可用通訊的方式控制變頻器等其它設(shè)備。并且dvp系列plc提供了針對modbus ascii/rtu模式的專用通訊指令,這樣在編寫通訊程序時就可以大大簡化,無需像用串行數(shù)據(jù)傳送指令rs那樣要進行復(fù)雜的校驗碼計算和遵循復(fù)雜的指令格式。
臺達的vfd系列變頻器內(nèi)建有單獨的rs485串聯(lián)通訊界面,并且也遵循modbus ascii/rtu通訊格式(vfd-a系列除外)。基與以上特點,臺達的plc和變頻器之間可以有三種方式的通訊控制。一是用串行通訊rs指令,但這種通訊方式要遵守特定的指令格式和進行復(fù)雜的校驗計算,比較繁雜,本文不作說明。二是利用dvp系列plc提供的modbus專用通訊指令實現(xiàn),這個功能適用于全系列的dvp系列plc。三是利用dvp系列plc的easy plc link功能來實現(xiàn),這個功能適用除es/ex/ss外的其它系列plc。本文就講述以后兩種方式的通訊功能的實現(xiàn)。
4 實現(xiàn)plc和變頻器通訊時的準備工作
4.1 plc相關(guān)通訊口通訊格式的設(shè)置方法
臺達dvp系列plc的每一個通訊口都對應(yīng)有相關(guān)的特殊寄存器d和特殊繼電器m,以進行通訊相關(guān)的參數(shù)設(shè)置和信息的傳送。本文中要使用的com2對應(yīng)的主要特d特m及其意義見表1。
表1 特殊寄存器和特殊繼電器的意義
表1中的d1120是16位的寄存器,通過程序設(shè)置此寄存器的數(shù)值,以便使plc的通訊協(xié)議與待通訊的從機協(xié)議一致。d1120中各數(shù)據(jù)位代表的意義如表2所示,使用delta的專用modbus通訊指令時d1120高8位的數(shù)據(jù)可以不設(shè)置,可以看作全為0。比如我們要用的通訊格式為:7位數(shù)據(jù)長、偶數(shù)、1位停止位(亦即常說的協(xié)議為:7e1),通訊速率為9600,則通過此圖表我們可以知道d1120中的數(shù)據(jù)為:0000 0000 1000 0110,即d1120=h86。這樣在編通訊程序時把h86寫入d1120,然后set m1120,就設(shè)定好了plc com2口的通訊協(xié)議。
表2 d1120中各數(shù)據(jù)位代表
4.2 進行通訊時變頻器需要設(shè)定的相關(guān)參數(shù)及需要使用的通迅地址
變頻器需要設(shè)定的參數(shù)及說明見圖表3。如果進行變頻器的通訊控制時必需設(shè)定這些參數(shù),并且設(shè)定值要和plc的d1120值設(shè)置一致。
表3 變頻器需設(shè)置參數(shù)表
當plc對變頻器通訊進行數(shù)據(jù)的寫入和讀出時,就需要知道變頻器所定義的相關(guān)功能的地址。然后依據(jù)這些地址進行數(shù)據(jù)寫入和讀出,才能實現(xiàn)對變頻器的控制和得到變頻器的當前信息。vfd-m系列變頻器定義的本通訊實例中需用到的字址及其意義如表4所示。根據(jù)此表可以知道,當需要變頻器以20hz正向運轉(zhuǎn)時,就只需在變頻器通訊相關(guān)的參數(shù)字址2000h寫入:0000 0000 0001 0010,即十六進制的h12或十進制的k18;在2001h中寫入k2000。
表4 變頻器的通訊參數(shù)字址定義
4.3 plc和變頻器間的通信線的連接
變頻器通訊接口各腳分布及定義如圖1所示。當與plc進行rs485通訊時,僅需使用編號為3和4的腳,其中3腳和plc的rs485接口的-相連,4腳與rs485口的+相連即可。變頻器接口為rj-11接口,和常用的電話機的接口是相同的,而plc端是普通接線端子埠,因此通訊線的制作非常簡單,無需用專用接口焊接通訊線。筆者曾用從電話機上拆下的一段電話線實現(xiàn)了plc與變頻器間的通訊。
圖1 變頻器rs-485接口各腳定義
5 用modrw指令實現(xiàn)plc對變頻器的通訊控制
modrw指令是dvp系列plc提供的modbus數(shù)據(jù)讀寫指令,此指令適于dvp全系列plc。因此可以利用低端的es主機完成與變頻器的通訊控制,實現(xiàn)控制系統(tǒng)的最佳性價比配合。本通訊實例就以es系列plc控制vfd-m變頻器,以實現(xiàn)多段速的調(diào)速操作。
modrw指令格式為:modrw s1 s2 s3 s n。s1為聯(lián)機裝置的地址,與變頻器通訊時即為參數(shù)p88的設(shè)置值。s2為通訊功能碼,此指令支持三個功能碼,即h03(讀取多筆命令)、h06(單筆數(shù)據(jù)寫入命令)、h10(多筆數(shù)據(jù)寫入命令)。s3為欲讀寫的通訊從機的地址。s為欲讀寫的數(shù)據(jù)的存儲地址。n是欲讀寫的數(shù)據(jù)長度,es系列plc當為ascii 模式時此值設(shè)定范圍是k1-k8,當為rtu模式時為k1-k16。
本通訊實例是利用plc對變頻器進行多段速調(diào)速控制,以實現(xiàn)一個單軸定位操作。其實現(xiàn)過程是這樣的,自動動作開始時,plc以通訊的方式讓變頻器帶動電機高速運轉(zhuǎn),用plc的高速計數(shù)器接收機械運轉(zhuǎn)的位置信息,然后通過對位置信息的判斷,實現(xiàn)在接近設(shè)定位置時變頻器帶動電機減速運動,直到最后位置到達時停止,以實現(xiàn)定位功能。實現(xiàn)此功能的plc程序主要分三個部分,其一是高速計數(shù)程序及比較輸出,其二是根據(jù)高速計數(shù)器的比較輸出準備待通訊的數(shù)據(jù),其三就是通訊程序。第一部分不是本文討論范圍,第二部分和第三部分的例子程序見圖2、圖3。
圖2 待通訊數(shù)據(jù)寫入程序
圖3 通訊程序
6 用easy plc link功能實現(xiàn)plc與變頻器的通訊
臺達的plc link功能是以modbus通訊協(xié)議為基礎(chǔ)來進行數(shù)據(jù)讀寫,其特點是進行數(shù)據(jù)讀寫時不需要特殊應(yīng)用指令,只需用mov指令進行數(shù)據(jù)交換。eh/eh2/sv plc作主站時支持m1353=on,可啟動32臺link功能及超過16筆讀寫功能;sa/sx/sc主機僅支持16臺link功能及16筆讀寫功能。但能控制16臺主機的能力就足以應(yīng)付大多簡單控制系統(tǒng)。用plc實現(xiàn) link功能時同樣需要讓主從設(shè)備的通訊口的通訊格式設(shè)置一致,所設(shè)置的方法同前文所述。
進行plc link讀寫從站數(shù)據(jù)時,作為主站的plc其它需要設(shè)置的項目如表5所示。
表5 plc link時需設(shè)置的寄存器
知道上述這些需要設(shè)置的數(shù)據(jù),就可以編寫plc與從機間實現(xiàn)link功能的程序了。本例以sa plc作主機控制vfd-m變頻器實現(xiàn)上例所述之多段速控制功能。例子程序如圖4、圖5所示,變頻器的設(shè)置及通訊線的連接和上例相同。圖4為待通訊數(shù)據(jù)的寫入,與上例一樣,通過對高速計數(shù)器接收的位置信息的比較結(jié)果,寫入相應(yīng)數(shù)據(jù),以調(diào)節(jié)變頻器的輸出頻率和動作。圖5為link 相關(guān)程序,其中m1351 on是啟動link為自動模式,m1350 on為link功能開始。
圖4 link時待寫入數(shù)據(jù)準備程序
圖5 link通訊程序
7 結(jié)束語
從兩個通訊實例可以看出,臺達的plc和變頻器間實現(xiàn)高性能的通訊控制非常簡單容易,且性價比極高,值得推廣應(yīng)用。但需要注意的是由于rs485口是半雙工工作模式,因此當程序中有多條通訊程序段時,一定不能出現(xiàn)兩個或以上的通訊程序同時被執(zhí)行的情況。
聯(lián)系客服