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