1 引言
作為工控行業的主流產品,PLC與變頻器在各種機械設置上的應用可謂無處不在。常見的用法是使用模擬信號(一般是電壓)來完成對變頻器的控制。這種方法的缺點是成本高,易受干擾(電壓方式),控制精度也很難作得很高,而采用通信方式就可以很好地避免這個缺點。本文介紹了V80系列PLC與變頻器的通信及其實現方法。
2 V80系列PLC在通信方面的特點
V80系列PLC是深圳市德天奧科技有限公司生產的一款通用型高性價比的小型可編程控制器(PLC),采用32位高性能CPU芯片和高速邏輯解析ASIC芯片,相對于普通的小型PLC,在通信應用方面具有以下特點
1、 本機具有雙串口:其中一個是RS-232編程口,工作于MODBUS從模式,一般只用于編程和連接人機設備。另一個為RS-485接口,除了具有MODBUS從模式的功能外,還能工作于MODBUS主模式、自由通信模式,具有強大的通信功能。
2、 具有48K的程序空間,9000個中間接點,9999個內部寄存器,加上極其強大的應用指令,能夠方便地編寫很復雜的程序,較適合復雜的通信協議。
3、 V80 PLC的默認通信協議是MODBUS從協議(RTU),內部變量的編址方式也是按照協議進行的,所以在MODBUS通信的應用性上具有無可比擬的優勢。
3 與兼容標準MODBUS RTU協議的變頻通信:
對于采用MODBUS RTU從協議的設備,可以把V80系列PLC的串口2設置成MODBUS主模式與其進行直接互連。下面以東元7200MA變頻器為例,說明V80系列PLC與與變頻器的通信及其實現方法:
東元7200MA變頻器采用了MODBUS RTU從協議,通信數據格式描述如下:
在MODBUS RTU 模式的通訊協議中,一個信息(Message)由4 個部份組成:Slave 地址、功能碼、數據及CRC-16數據校驗,并依序送出。每一個信息的開始與結束,皆以3.5個字符(Character)的間隔時間來做識別。
僅使用三種命令:讀取、回路測試及寫入。
東元7200MA變頻器采用了部分MODBUS從協議,支持03、10H兩種命令,對于V80系列PLC而言,也就是讀寫寄存器4XXXX命令,是可以與V80直接連接的,而V80_PLC的M_BUS指令已經封裝了這些數據過程。因此,只需關心如下參數即可:
1、 讀寫類型及設備地址。
2、 目標設備的寄存器(線圈)號,本地存放數據的寄存器(線圈)號,信息長度。
3、 通信間隔,也就是完成兩次通信所需的時間。
4、 通信參數,如波特率、奇偶校驗位、通信超時時間等
編寫以下程序即可實現與東元7200MA變頻器的通信。
假設東元變頻器上的設備地址為1,上圖的程序完成了這樣功能:把PLC內部41100~41115變量的內容,寫到東元變頻器寄存器區域偏移為00~015的寄存器,中間繼電器01000每次從0變為1,雙方通信一次。注意,在之前要對PLC進行參數設置,可參見V80系列PLC的軟件手冊。
4 與其它協議的變頻器通信:
對于不兼容標準MODBUS RTU協議的變頻器,可以采用自由通信功能塊實現。相對于M_BUS指令,自由通信要靈活得多,類似于跟一些高級語言(如C語言)的編程模式。用戶最好具有一定的通信編程經驗,并準備好如232->485轉換器、串口監控軟件等調試工具。
下面以正弦SINE003系列變頻器為例,說明V80PLC的自由通信協議編程方法。正弦SINE003系列變頻器的通信格式如下:
數據包格式
異或校驗
數據含義:數據幀從機地址至數據信息的異或結果。既第 2字節與第3字節異或的結果,再與第4字節異或,以此類推至第13字節。
數據類型: 16進制,單字節。
發送方式:將校驗和字節的高 4位和低4位拆分并轉換為ASCII碼,先高后低發送。
結果處理:當校驗結果小于等于 1FH,則校驗結果加20H。
該通訊協議采用ASCII碼表示傳輸內容,用STX(02H)、ETX(03H)作為開始和結束標志。首先,把數據轉換成ASCII碼,V80系列PLC提供了ASCBIN及BINASC指令,來完成 “0~H”這十六個ASCII數字與十六進制碼的互換。
當發送脈沖產生時,各數據被換成ASC碼并存放在發送緩沖區中,每個二進制碼轉換后占二個字。
SINE003采用異或校驗,只針對ASC碼部分,程序如下:
然后,對異或結果進行判斷,小于1FH則加20H,之后用字組拆分指令“PACK”把它拆成兩個字節,按先高后低填到發送區。下面是發送和接收程序。
發送程序只需填一個發送長度即可,在發送的同時打開接收,接收程序使能開始字符和結束字符,并填好開始字符和結束字符,可參見V80系列PLC的軟件手冊,這樣當接收到“02H”就認為是一幀的開始,接收到“03H”就認為是一幀的結束。也可以結合其它條件判斷,如字符超時等,各種狀態都可以在狀態位里體現。
接收到完整的一幀后,狀態位會有狀態指示,然后把接收回來的數據進行校驗,并重新轉換成十六進制,既可進行相應處理。
5. 結束語
本文分別以東元7200MA變頻器和正弦SINE003系列變頻器為例,說明V80系列PLC的MODBUS RTU協議和自由通信協議的編程方法,并詳細介紹了V80系列PLC與變頻器的通信及其實現方法。采用這種方案,可以大大地節省成本,并具備高可靠性。