韓迎輝(常州輕工職業技術學院,江蘇 常州 213164)
交流調速在工業中的發展十分迅速,變頻器調速控制系統已廣泛應用于機械、冶金、化工、包裝等各個行業,在電氣傳動控制中已普遍應用。
隨著工業自動化水平提高,對變頻器的數據通訊要求已經成為控制系統的必然趨勢,與傳統的I/O方式硬接點、D/A輸出控制方式相比較,通訊控制具有硬件連接簡單、給定精度高、能進行復雜數據交換等優點。變頻器采用通訊控制可以實現車間級的電氣傳動現場總線網絡控制。
本文結合涂布生產線放卷裝置的變頻器通訊程序設計,為確保變頻器通訊控制的可靠性,必須要綜合考慮到硬件和軟件方面。在硬件系統上可以考慮采用濾波、屏蔽、隔離、接地、增設終端匹配電阻等措施,此處不再贅述,本文主要闡述PLC通訊程序軟件方面的可靠性設計。
放卷設備是涂布機的關鍵設備,其基本結構由A、B雙工位放卷軸和壓緊輥組成。圖1為系統組成框圖:
圖1 通訊控制系統框圖
放卷裝置在卷軸切換時PLC需將初始卷徑傳給變頻器,變頻器運行過程中也要將實時卷徑、線速度等參數反饋給PLC,PLC與變頻器必須采用RS485通訊控制,否則難以實現放卷控制所需的數據傳遞。
放卷裝置的通訊系統硬件配置為:匯川MD330變頻器加RS485通訊卡、可編程控制器采用三菱FX3U PLC外接FX3U-485-BD通訊模塊。
PLC與MD330變頻器通訊硬件接線簡單,將通訊模塊上的RDA與SDA端子短接,RDB和SDB端子短接,RDA接變頻器485+,RDB接變頻器485-,屏蔽雙絞線接地,根據需要接駁終端匹配電阻。
本系統兩臺變頻器接入RS485總線,采用以PLC為主站,兩個變頻器為從站的“單主多從”主從方式控制網。這樣上位機便能通過RS485通信線和各變頻器信息交換進行控制操作。
PLC初始化時將通訊格式參數D8120設置為H0C99時:即數據長度為8位,停止位1位,無標題符和終結符,無奇偶校驗N,波特率19200bps 。通訊設置無校驗,可以減少硬件上的數據通訊攔截,提高通訊響應。由于PLC與變頻器距離不遠,較高的波特率可以減少通訊時間。
設置的通信超時時間D8129=K1,在D8129中默認單位是10ms,所以超時設置為10ms。PLC與變頻器的通訊參數應當一致,其中通訊地址不能重復。PLC初始化程序如圖2所示:
圖2 初始化梯形圖
由于工業現場不可避免的存在各種干擾,通訊過程中也可能受到強烈干擾而導致數據錯誤,所以必須對RS485發送和接收的通訊過程進行嚴格的校驗,以保證數據傳輸的可靠性。為提高通訊的可靠,需要設計合理的通訊系統結構。程序結構框圖如圖3所示。
本文涉及的PLC與MD330變頻器總共有6個通訊數據:A/B軸初始卷徑、A/B軸實際卷徑、A/B軸線速度。如何合理安排好這些數據的通訊收發,是關鍵要素,否則會影響通訊的可靠性。
(1)通訊數據優先級和次序
圖3 通訊程序結構框圖
A/B軸實際卷徑、A/B軸線速度這4個數據要不斷的定時輪詢,而A/B軸初始卷徑這2個數據是不定期的隨機通訊,但這2個數據的通訊優先級比輪詢數據要高。
PLC采用定時輪詢的方法輪流讀取4個數據:可以設定一個時間周期,每隔0.1秒進行一個數據的讀取,通訊波特率是19200bps,經過示波器測量通訊波形分析在此波特率下,PLC發一幀8個字節數據所需小于5ms,考慮到變頻器接收、處理、回送數據及通訊延時,每次這樣的完整收發過程應不大于20ms左右,間隔時間正常情況下是完全足夠的。要注意下位機一般不會立即響應,理論上19.2K的波特率下收發周期10ms,實際很難實現。
輪詢的定時間隔不宜過小,只要滿足生產設備的數據更新要求即可,不需要過分追求數據更新速度。這樣的定時輪詢在抗干擾方面是有明顯效果的,因為在0.1秒的間隔時間內,只有約20ms時間在雙向數據通訊,其他約80ms時間是通訊休眠沉默期,這樣通訊受到干擾的幾率大大降低,有效的提高了通訊的安全可靠性。
(2)定時輪詢梯形圖
數據輪詢的次序也不能忽視,經實際通訊測試,同一地址的不同數據訪問不宜連續,可以交替訪問:先讀取A軸卷徑,然后讀B軸卷徑,再讀A軸線速度,最后讀B軸線速度。這種方法比連續讀取A軸2個數據,再連讀B軸2個數據,通訊更可靠。因為,連續讀取A軸數據時,前后通訊數據幀中的地址碼不變,反而容易產生通訊錯誤。圖4為定時輪詢梯形圖。
(3)輪詢之外的隨機通訊
在PLC正常輪詢A/B放卷軸的過程中,會隨機性的要求設定A/B軸的初始卷徑,必須要合理安排這2個隨機通訊數據的要求。既不能等太久時間,否則影響控制的實時性要求,但也不能在當前輪詢通訊數據未完成的情況下立即響應,導致通訊效率降低。
圖4 定時輪詢梯形圖
當要求傳送隨機的初始卷徑時,如果當前輪詢的數據通訊未完成,必須等當前輪詢的數據通訊結束后,打斷下一個輪詢通訊立即發送初始卷徑,只有等初始卷徑發送給變頻器完成后才能繼續開始輪詢。本文提出了一種通訊插隊方法,梯形圖如圖5所示:
圖5 隨機通訊梯形圖
程序中增加了寫A、B軸初始卷徑命令輔助繼電器M150、M160,一旦M150或M160有效,會立即終止正常的定時輪詢通訊,但不能打斷當前尚未完成正在進行的某個定時輪詢通訊,必須要等當前的輪詢通訊完成后,才能立即進行插隊的通訊任務。M150、M160與輪詢的M92、M95、M300、M320是互斥的。當然,要插隊的2個通訊任務彼此間也是互斥的。
(4)通訊時序圖
圖6是PLC在19200bps發送一幀數據的通訊時序圖,在編程時務必注意通訊時長和間隔,否則無法正常和下位機變頻器進行RS485通訊。
通過PLC編程自測發送一幀數據大致需要5ms左右,與示波器測量相似。
通訊雙方遵照相同的總線協議。每幀數據格式為:地址碼、命令碼、數據長度、所需數據、CRC效驗碼等。利用三菱PLC的RS指令無協議通訊編程可實現MODBUS RTU協議的通訊。
RS指令能實現RS485串行口發送和接收數據,其指令格式為[RS S m D n],數據格式在D8120中設定。RS指令的編程標志位M8122為發送請求標志、M8123是接收處理完標志。其中M8122發送啟動僅需置位一次,但RS指令需要驅動直至發送和接收都完成。發送完成后M8122會自動清零,接收完成或超時溢出則M8123會置位。處理完接收數據后,軟件需對M8123及時清零。
圖6 一幀數據通訊時序圖
在一次完整的通訊過程中,RS指令必須保持一直有效,直至發送和接收數據完成。在接收數據的過程中,如在D8129指定的時間內數據接收,則超時標志M8129變為ON,表明接收異常結束,則M8123置位。
根據MD330變頻器的MODBUS通訊協議要求,設計針對該協議的通訊程序流程。合理的軟件算法保證了PLC和MD330變頻器準確無誤的傳遞數據。每個數據的PLC通訊程序流程圖7所示:
圖7 PLC通訊程序流程圖
PLC發送一幀通訊數據的梯形圖如圖8所示:
圖8 發送通訊數據梯形圖
通訊程序中M98輔助繼電器的作用是將通訊指令RS執行時間延后一個掃描周期,使前后2幀數據通訊過程有短暫間隔時間,防止前后數據幀在線路上的重疊碰撞,保證通訊的可靠性。M93為發送限制,防止M8122一直為ON,導致通訊出錯。
程序增加了通訊限時定時器T70,延時時間是0.2秒,其作用是防止當前通訊任務失敗后,PLC能自動退出該訪問數據部分的通訊,及時訪問其他設備,不至于產生通訊卡阻死鎖現象。通過示波器實際測量,在變頻器無應答的情況下,PLC每隔200ms輪流發送一幀數據,不會停頓在某一處,進一步提高了通訊的容錯能力。圖9為實測通訊無響應波形:
圖9 通訊輪詢實測波形
注意PLC每次都要在發送數據前明確的給所有的被發送的數據賦值,盡量不要利用初始化脈沖對有的數據僅一次性賦值,以后每次通訊不再賦值,這樣會給通訊帶來隱患,在強干擾環境下,PLC的內存數據寄存器可能會受到干擾,導致初始化賦值更改,致使通訊出錯。
某些應用場合,甚至要求PLC對通訊接收到的數據立即轉存,同時將直接收到的數據清空。可以說,這種方式的接收數據,也可以提高通訊的質量。
由于工業現場存在各種干擾,PLC和變頻器數據通訊完成后,為保證通訊的可靠有效,除了設計合理的通訊流程結構和程序外,還必須對接收的數據進行嚴格的通訊檢驗、故障自檢以及其他附加措施。
(1)通訊數據校驗
本文提出的校驗方法如下:對通訊的地址碼和校驗碼均進行驗證,通過雙重校驗合格的數據才會接收下來被采信,參與后續的數據處理。否則,未通過校驗的數據被丟棄。
圖10 通訊數據校驗梯形圖
通過塊比較指令BKCMP,先對接收到的地址碼D110、D111這2個寄存器和先前RS指令發送出去的目標地址碼D100、D101進行比對,如果相同表明通訊接收到的地址正確無誤,如果地址碼不對,說明通訊出錯,本次接收到的數據無效。地址碼核對無誤后,PLC再對接收到的前6個數據計算CRC校驗碼,PLC計算出的CRC效驗碼和通訊線路實際收到的CRC效驗碼進行比較,如果一致,說明本次收到的數據是完全正確的。
只有通過地址和CRC碼比對后的數據才進行后續處理,這樣有效的保證了PLC與變頻器在工業現場通訊的可靠性,極大的降低了通訊數據錯誤。
(2)通訊故障檢測
在PLC程序設計中,增加了通訊故障報警信號。思路是:如果每個通訊任務都能正常通訊,在1秒時間內,均能執行幾次,設置一個通訊指示繼電器,每次正常通訊后,對其進行取反,這樣通訊指示繼電器應該是一個交替信號,對該繼電器進行判斷,如果不是交替信號,說明通訊故障,可發出通訊故障報警信號。
另外,還可以利用PLC自身提供的通訊輔助標志位M8128、M8129進行通訊診斷編程。
(3) 自動多次握手
如果有個別通訊數據非常重要,可以設計一次通訊失敗后自動再次發起主動握手通訊,達到一定時間或次數仍然無法通訊就發出報警信號。自動握手次數也可根據需要設定,但不宜過多,否則影響其它數據的通訊。
由于通訊程序的設計采用了多種可靠性措施,使PLC與變頻器在復雜的涂布機工業環境下,能夠正常傳遞各種數據,保證了通訊數據的可靠和正確,提高了控制系統的品質。
通過在現場的實際使用情況,采用以上方法的變頻器通訊系統能有效的抵抗絕大多數的干擾,剔除受到干擾的非正常數據,高效地保證了通訊過程的正常可靠,下位機出現故障也能診斷出并能忽略該故障,不會影響其它數據通訊。
該通訊軟件程序經受了實踐的檢驗,得到了涂布機設備制造商和運行企業的認可。本文闡述的技術方法在變頻器通訊應用的工業領域具有很好的技術推廣價值。
[1]李江全, 王建平. 三菱FX系列PLC數據通信及測控應用 [M]. 北京: 電子工業出版社, 2011.
[2]唐志文. PLC與變頻器的RS485通訊 [J]. 變頻器世界, 2005, 1.
[3]羅宏權. 基于RS485通訊的軟件結構設計 [J]. 紡織機械, 2006, (3).
[4]張祖光. RS485通訊在拉絲機變頻控制中的應用 [J]. 玻璃纖維, 2008, (3).
[5]瞿選益. 談三菱FX系列PLC與D系列變頻器的RS_485通訊[J]. 科技資訊,2013, 24.
[6]夏雨. 基于三菱可編程控制器無協議通訊的應用 [J]. 可編程控制器與工廠自動化, 2006 (02).
[7]張智明. 基于RS-485的變頻器與PLC的通訊技術的研究 [J]. 現代制造工程. 2005 (12).