国产精品免费视频网站丨日韩a毛片免费观看丨欧美日韩中文在线不卡丨欧亚精品乱码久久久久久丨1000部夫妻午夜免费丨国产精品久久久久久久久一级无码丨日欧片内射AV影院频道丨97色伦图片 PLC控制中通信協議宏的應用
摘 要:文章詳細介紹了PLC控制中一種新穎、高效的通信方式——通信協議宏的原理和實現方法,并將該方法成功地應用于港口門機的電氣傳動部分的改造,取得了令人滿意的效果,最后對通信協議宏實際應用中一些應注意馮問題予以總結。
一、引言
隨著微機控制技術、電力電子技術和電氣傳動技術的飛速發展,交流變頻調速技術正以其優異的控制性能日益為工業界所接受,而可編程邏輯控制器(PLC)作為一種高可靠性的控制部件,也正以前所未有的速度在工業自動化領域迅速普及。在我國傳統的鋼鐵冶金、交通運輸、機械化工等各產業中,存在著大量的以繼電器、接觸器和直流調速為主的電氣傳動系統,這些系統存在硬件線路復雜、可靠性低、能耗大、生產維修量大等許多缺點,因此如何將PLC與交流變頻調速技術相結合,對傳統產業進行改造,是企業界正著力解決的問題。本文就某港務局與浙江大學合作,對其下屬的煤運碼頭門機電氣傳動部分的改造進行了介紹。原有的門機傳動部分分為3塊,即門機抓斗的3個自由度,起升、變幅和旋轉,均采用交流繞線式電機進串電阻調速,根據以往運行情況,主要缺點在于:能耗大,運行時機械、電氣沖擊大,故障頻繁,維修任務繁重等,故決定將系統改造為PLC控制的交流變頻調速系統。
二、系統構成
根據系統特點和生產工藝要求,選用適合小型應用場合的OMRON-C200HE型PLC,變頻器采用英國CT公司的高性能通用變頻器,為了顯示系統工作情況及故障情況,系統還包括一塊OMRON-NT620S型觸摸屏。遵循以前的生產操作習慣,仍采用手柄操作,觸摸屏僅用來顯示相關信息,為系統維修提供支持。整個系統中PLC是控制核心——根據操作指令和內部邏輯向變頻器發送指令,從變頻器讀回各種信息,并將這些信息送給觸摸屏顯示等。C200HE是OMRON系列PLC中較新的型號,具有很強的通信功能,而CT系列變頻器也具有可選的通信模塊。為了充分利用PLC和變頻器的功能,最大限度地減少硬件連線,系統采用PLC與變頻器之間以串行通信方式進行控制,硬件上采用適合工業場合的RS485連接,整個系統結構如圖1所示。
由于系統生產工藝并不復雜,所以如何實現PLC與變頻器之間的通信是整個工作的重點。C200HE型PLC除了通常用于RS232通信方式的TXD,RXD指令外,還提供了一種新穎、高效的通信方式,PMCR指令——通信協議宏功能。這種通信方式不僅適用于RS232通信方式,也適用于抗干擾能力強,傳輸距離遠的RS485方式,而且其最大優點在于允許用戶定義單獨的數據傳送序列和傳送信息,用戶可以用OMRON通信協議宏支持軟件很容易地修改通信序列,從而大大簡化編程,增加編程的靈活性,本文將對此進詳細的討論。
三、PLC控制中通信協議宏的實現
1、OMRON 通信協議宏
通信協議宏功能是把同連接在RS232或RS422/485通用組件等各種通信機器之間的數據送收信息順序,通過通信協議宏支持軟件,讓用戶自由編制,以PMCR指令就能夠實現的用戶原始通信協議。
要實現通信協議宏功能,必須有相應的硬件支持,即通信單元,C200HE包括COM01 ~ COM066種可選單元,其中COM04 ~ COM06支持通信協議宏功能。對于本文的工作,需要一個RS485的通信端口去控制變頻器,所以選擇COM06單元,其A口(RS485)與CT變頻器通信。B口(RS232)與觸摸屏進行通信,在選定連接好硬件之后,就可以進行通信協議宏的工作了。首先必須對通信單元作設定,根據變頻器的設定,使用ASCII協議,數據通信連接 :1位起始位,7位數據位,1位停止位,偶校驗,RS485兩線制,波特率為9600,故對COM06要將切換開關SW1調整到“2”側,終端電阻開關SW2設定為ON。另外,PLC的數據區DM6555、DM6556要設置成支持協議宏,并且通信連接的格式要與變頻器設定一致,在設置完成之后,可以編寫協議。用通信協議支持軟件可以建立多達1000個通信序列,即000 ~ 999,每個通信序列最多由16步組成,通信序列每一步的結構及各參數的含義如表1所示。
參數 | 功能 | 參數設置 |
Repeat | 設置重復步的次數 | 常數,IR/SR,LR,HR,AR,DM和EM區域 |
Command | 設置通信命令 | 發送,接收或發送與接收 |
Retry | 設置在執行發送和接收命令發生錯誤時,重新執行次數 | 0 ~ 9 |
Send Wait | 設置在發送期間等候發送數據的時間 | 單位0.01,0.1s,1s和1min |
Send Message | 設置用于接收命令或發送和接收命令的發送數據 | 識別碼,地址,長度,數據,錯誤檢查碼和終止符 |
Receive Message | 設置用于接收命令或接收和發送命令的期望接受數據 | 識別碼,地址,長度,數據,錯誤檢查碼和終止符 |
Array | 設置用于接收命令或接收和發送命令的期望接受數據(最多15種類型),并按數據類型調整處理 | 識別碼,地址,長度,數據,錯誤檢查碼,終止符和下一步處理 |
Response | 設置是否寫接收數據 | 是/否 |
Next | 設置當前步順利結束時轉往的下一步 | END,GOTO,NEXT,ABORT |
Error | 設置當前步出現錯誤時轉往的下一步 | END,GOTO,NEXT,ABORT |
在通行序列各項參數的設置中,Send message和Receive Message是最重要的,因為它們不僅決定發送和接受信息的具體內容,而且其格式的設置要與具體的控制對象的通信協議相結合來確定,下文將對此進行詳細討論。
2、CT變頻器的通信協議
根據系統要求,給每臺Unidrive變頻器配備了CT公司提供的UD-71插入式通信模塊,該模塊內含1片32位RISC處理芯片,對外提供RS232和RS485兩個完全光隔的通信接口,可以方便地將變頻器連如RS485網絡。Unidrive變頻器與上位機之間的通信采用的命令和數據都是字符串,它具有特定的通信協議,該協議由CT公司提供,包括兩大類命令,即讀數據命令和寫數據命令,這兩類命令的格式介紹如下。
(1)寫命令
當上位機(PLC)想設定網絡上某一臺變頻器的某一個參數時,上位機就發送下列格式的命令:
控制 | 地址 | 控制 | 參數 | 數據 | 控制 | 校驗 |
EOT | GA GA UA UA | STX | M1 M 2 P1 P2 | D1……DN | ETX | BCC |
EOT——復位碼,STX——命令開始碼,ETX——命令結束碼,GA——組號,UA——單元號,M1、M2——參數號,P1、P2——參數在組內的序號,D1…DN——參數的值(D1為符號位),BCC——塊校驗和。
由于寫命令可直接改變電機的運行狀態,為防止發生意外,寫命令的格式要求很嚴格,變頻器地址、參數、數據缺一不可。如果該命令能被變頻器識別,則變頻器返回ACK(成功),否則NAK(不成功)。
例1 要將第1組的第2個變頻器的參數“1.15”寫為“1”,則傳送的信息如下。
控制 | 地址 | 控制 | 參數 | 數據 | 控制 | 校驗 |
EOT | 31 31 32 32 | STX ( 02 ) | 30 32 32 35 | + ( 2B ) 31 | ETX | BCC |
(2)讀命令
當上位機(PLC)想讀取網絡上某一臺變頻器的某一個參數時,上位機就發送下列格式的命令。
控制 | 地址 | 參數 | 控制 |
EOT | GA GA UA UA | M1 M 2 P1 P2 | ENQ |
如果該命令能被變頻器識別,則變頻器將返回如下結構的信息。
控制 | 參數 | 數據 | 控制 | 校驗 |
STX | M1 M2 P1 P2 | D1……DN | ETX | BCC |
上述格式中的符號ENQ為查詢碼,其余符號含義與寫命令相同。
例2 要讀取第1組第2個變頻器的有功電值“4.02”參數,則傳送的信息如下。
控制 | 地址 | 參數 | 控制 |
EOT ( 04 ) | 31 31 32 32 | 30 34 30 32 | ENQ ( 05 ) |
返回信息為
控制 | 參數 | 數據 | 控制 | 校驗 |
STX ( 02 ) | 30 34 30 32 | XXXXX | ETX ( 03 ) | BCC |
這里值得一提的是BCC校驗和,為保證由變頻器出入的信息在傳輸的過程中的準確無誤,數據響應以塊校驗和數BCC字符結尾。BCC實際上是該命令中從STX控制碼之后開始的所有字符的ASCII碼的異或弛,若運算結果小于32,則加上20H,最終以ASCII碼對應的字符加到讀寫指令中,上位機可以用該值來校驗前面收到的數據的準確性。因此,例1中的BCC值為3C。
3、通信協議宏在本系統控制中的實現
前文已述及,在通信協議宏的編制中,發送信息和接收信息是最重要的,而發送信息和接收信息的編制是根據PLC通信協議宏的格式要求,以CT變頻器的通信協議為基礎來進行的。對變頻器的控制,不管是寫命令,還是讀命令,都包括發送和接收兩個信息(Send Message/Receive Message)。對于寫命令,發送的信息是某個變頻器的某個參數,接收的信息僅是1個位,即通信成功與否(ACK/NAK);對于讀命令,發送的信息是某個變頻器的某個參數,接受的信息是該參數的相關內容。因此,寫命令和讀命令的通信協議序列中,都包括發送信息和接收信息,即協議中Command參數應設為Send&Receive,確定通信協議序列之后,就可以編制具體的發送信息和接收信息。
Send Message和Receive Message結構如下
*Message Name Header(h) Terminator(t) Check Code(c) Length(l) Address(a) Data(d)其中(h)、(t)、(c)表示信息可開始位、結束位、校驗位,它們是由通信控制設備的協議所決定的,當設置(t)時,(l)自動附加,(a)是指信息送往目標的標志符,(d)用于設置信息內容。這里結合PMCR指令,對Address(a)和Data(d)作進一步解釋。通信協議宏在程序中是以PMCR指令來實現的,它的格式如下。
PMCR
C
S
D
其中C為控制字,第1位用于指定端口,1:A口,2:B口,后3位表示通信序列,S表示發送數據首字,D表示接收數據首字。
下面以本系統為例來說明通信協議宏的實現過程。
要用PLC將其控制的3臺變頻器的參數讀回來,必須先將地址號和參數號發給相應的變頻器,變頻器識別后,再將返回的信息寫到PLC指定的區域內。
實現過程分兩步,第一步編寫通信協議,關鍵的問題在于Send Messang和Receive Message中Address和Data的編寫。首先需設置它們的屬性——讀(R)或寫(W),對本例而言,Send Message中發送的地址號和參數號是從PLC的DM區中讀出后發送的,所以其屬性設為R;而Receive Message中接收到的信息是要寫入DM區的,所以其屬性設為W。設置了屬性,就可以進行第2步:從指定字中讀寫地址或數據。有幾種方法可以指定該字,一種通用的方法是用包括變量N的一階方程用于地址或數據的引入,每當通信序列步中指定的重復計數器重復一步時,變量N加1,使用帶N變量的方程計算地址或數據可實現地址和數據的動態傳輸。
根據CT變頻器通信協議,讀變頻器參數信息時,每次先發送長度為8個字節的地址號和參數號,返回的信息長度不定,不妨每16個字節存放1條信息,數據長度由(t)確定后自動附加,Data中以通配符*表示。
由此編制Send message和Receive message如下。
*Message Name | Header | Terminator | CheckCode Length | Address | Data |
Send1 | EOT | ENQ | 略 | (R(8N), 4) | (h)+(a)+(R |
Recv1 | STX | EXT | 略 | (W(16N), 4) | (h)+(a)+(W(16N),*)+(t) |
以上面的通信協議(序列號設為1),假設發送信息存在DM300開始的單元,接收信息存入DM800開始的單元內,則用下面的一條PMCR指令就可連續讀取3臺變頻器的指定參數。
PMCR
#1001
DM0300
DM0800
四、總結
通信協議宏,可以用一條指令實現遵循同一個協議的多條信息傳送,大大簡化了編程,增加了編程的靈活性,這一功能被成功地應用于本系統中,不僅提高了程序的運行效果,而且在實際運行中取得了令人滿意的效果。目前該系統已在現場正常工作了兩個多月,整個系統的維修量和耗電量都大為降低。實踐證明,通信協議宏在系統中的應用是成功、有效的。
在本系統的調試中,筆者體會到在使用通信協議宏時,一些細節的問題必須予以充分的考慮,否則,就不能充分發揮通信協議宏的功能,甚至會造成通信失敗,這里列舉幾個調試中遇到的問題。
1、在程序中,有多條PMCR指令時,盡量使用@PMCR——上升沿有效指令,否則可能引起各條指令之間的沖突,從而造成通信失敗。
2、當通信失敗時,通信忙位28908(內部繼電器)始終保持ON,必須在程序中有相應的復位手段,例如當28908保持ON超過一定時間時,可置通信復位繼電器28911為ON,使通信復位。
3、通信復位時,雖然可恢復通信,但此時,往往會失去通信所需的上升沿條件,必須在復位的同時,補發一個上升沿,可采用28911的常開觸點予以解決。
總之,通信協議宏作為一種新穎的PLC通信手段,與傳統的方法相比,具有簡單、高效的優點。但實際應用中必須在理解基本原理的基礎上,充分考慮各種情況,才能真正發揮通信協議宏的優勢。