史騰虎,于麗婭,李少波,周 鵬,宋 輝
(1.貴州大學(xué)機(jī)械工程學(xué)院,貴州貴陽(yáng) 550025;2.貴州大學(xué)計(jì)算機(jī)學(xué)院,貴州貴陽(yáng) 550025)
PLC作為工業(yè)自動(dòng)化控制的核心組成部分,其通信功能的提高與實(shí)現(xiàn),對(duì)于工業(yè)發(fā)展有著重要的現(xiàn)實(shí)意義。傳統(tǒng)模擬量調(diào)速變頻器的方式,多是直接將模擬量輸入到變頻器的VS/IS端,但由于頻率值和模擬量比例之間總有上下2 Hz的浮動(dòng),所以調(diào)速不夠精準(zhǔn)。同時(shí)若利用PLC的3位Q點(diǎn)輸出,也只可實(shí)現(xiàn)變頻器的8段精準(zhǔn)調(diào)速,但這對(duì)于復(fù)雜工程而言是不夠用的。所以本文提出將模擬量輸入到PLC,并根據(jù)相應(yīng)控制要求,經(jīng)精準(zhǔn)公式計(jì)算之后,再通過(guò)Modbus通信的方式直接將計(jì)算結(jié)果導(dǎo)入變頻器,這樣不僅解決了精準(zhǔn)調(diào)速的問(wèn)題,也會(huì)使變頻控制要求更加多樣化。
雖然Modbus協(xié)議在TCP通信中存在著一些安全問(wèn)題[1-3],但這是將Modbus作為互聯(lián)網(wǎng)通信使用而言的,若將其作為工業(yè)局域網(wǎng)通信使用,則不存在這些問(wèn)題。并且Modbus通信只需要1根雙絞線就可以實(shí)現(xiàn)高達(dá)38.4 kbps的通信速率,因此無(wú)論從硬件成本還是通信速率看,都完全可以滿足工業(yè)通信的成本及實(shí)時(shí)性要求。因此本文通過(guò)改變Modbus通信的方式,實(shí)現(xiàn)了一臺(tái)PLC和多臺(tái)變頻器之間的實(shí)時(shí)通信,并通過(guò)組態(tài)MCGS觸摸屏和地址指針運(yùn)算的方式實(shí)現(xiàn)了多重?cái)?shù)據(jù)集到PLC內(nèi)部的輸入和具體工作流程的展示[4]。以上這些功能的實(shí)現(xiàn)和應(yīng)用對(duì)于工業(yè)生產(chǎn)而言,具有重要的參考價(jià)值。
本文將通過(guò)一個(gè)具體的聚氨酯設(shè)備生產(chǎn)案例,來(lái)進(jìn)行論述;它共有一條環(huán)形流水線,在環(huán)形流水線上放著水加溫的生產(chǎn)模具,PLC會(huì)根據(jù)水箱的溫度,通過(guò)與變頻器Modbus通信的方式控制水泵的流速。而主機(jī)則將兩種不同的原料,通過(guò)減速電機(jī)驅(qū)動(dòng)齒輪泵的形式,抽到機(jī)頭攪拌倉(cāng)經(jīng)充分?jǐn)嚢韬?,注入模具之中,然后?jīng)過(guò)模具的密封加溫、原料發(fā)酵的方式形成產(chǎn)品。
而抽取原料的過(guò)程中,需要PLC和2臺(tái)變頻器進(jìn)行實(shí)時(shí)通信,按照預(yù)置的轉(zhuǎn)速、時(shí)間、參數(shù)等數(shù)據(jù)集要求,控制兩臺(tái)減速電機(jī)形成不同的轉(zhuǎn)速配比和機(jī)頭注料時(shí)間,進(jìn)而形成不同的原料配方,以達(dá)到生產(chǎn)不同類型產(chǎn)品的目的。而這些數(shù)據(jù)集到PLC內(nèi)部的輸入和運(yùn)行流程的展示則需要通過(guò)人機(jī)界面MCGS觸摸屏來(lái)進(jìn)行[5]。
主機(jī)的整個(gè)工作流程共分為6步:機(jī)頭開(kāi)始攪拌、注料等待、注料、吹氣等待、吹氣、攪拌停止,而流水線會(huì)根據(jù)注料流程進(jìn)行停止或轉(zhuǎn)動(dòng),以配合主機(jī)將混合攪拌后的原料精準(zhǔn)注入到模具內(nèi)。其工程的具體工作流程如圖1所示,工程的整體控制框架搭建如圖2所示。
圖1 工程的具體工作流程
圖2 工程的整體控制搭建
如圖3所示,水加溫模具放在環(huán)形流水線上,而水箱中的水通過(guò)加熱棒進(jìn)行加熱,然后經(jīng)水泵打入下層環(huán)形水管之中,再流經(jīng)水加溫模具返回上層環(huán)形水管,最后重新流回水箱,進(jìn)而完成一個(gè)加溫循環(huán)。
圖3 水加溫環(huán)形流水線
本工程中使用的是0~10 V感溫頭,對(duì)應(yīng)水溫0~100 ℃,如圖2所示,將感溫頭的標(biāo)準(zhǔn)信號(hào)0~10 V輸入到溫度表和PLC模擬量端子中[6-7],因?yàn)镃PU224XP PLC自帶了2個(gè)0~10 V模擬量輸入端和一個(gè)電壓/電流輸出端,因此無(wú)需另外添加相應(yīng)的模擬量擴(kuò)展模塊。PLC內(nèi)部的A/D轉(zhuǎn)換器會(huì)自動(dòng)將0~10 V劃分為32 000份,再經(jīng)過(guò)相應(yīng)公式的精準(zhǔn)計(jì)算后,可以按要求精準(zhǔn)控制頻率輸出。在本文中做如下處理,規(guī)定當(dāng)水溫低于20 ℃時(shí),水泵全速運(yùn)轉(zhuǎn);高于70 ℃時(shí),水泵以10 Hz頻率運(yùn)轉(zhuǎn);而處于20~70 ℃之間則按嚴(yán)格的比例頻率進(jìn)行調(diào)速。則其精準(zhǔn)計(jì)算公式如下:
(1)
式中:T為該攝氏度對(duì)應(yīng)的頻率值,Hz;50為交流電頻率;N為當(dāng)前測(cè)得的溫度,℃;320為每一攝氏度在PLC內(nèi)部對(duì)應(yīng)的數(shù)值;6 400為20 ℃對(duì)應(yīng)的頻率;22 400為70 ℃對(duì)應(yīng)的頻率;40為50 Hz和10 Hz之差。
因?yàn)樵谧冾l器內(nèi)部50 Hz實(shí)際對(duì)應(yīng)的數(shù)值為5 000,所以PLC通過(guò)Modbus通信傳送給變頻器的實(shí)際數(shù)值應(yīng)為T×100。則其精準(zhǔn)計(jì)算公式程序如圖4所示,溫度變頻器和PLC之間的Modbus通信程序如圖5所示。
圖4 計(jì)算公式程序
圖5 通信程序
其中SM0.0為ON指令,SM0.6為掃描時(shí)鐘脈沖指令[8]。MBUS_CTRL為初始化主站通信指令;MBUS_MSG為主站指令[9];EN為使能端;Mode為通信模式選擇(1為Modbus通信,0為PPI通信);Parity為奇偶校驗(yàn)位(0無(wú)校驗(yàn)/1奇校驗(yàn)/2偶校驗(yàn));Timeout為從站應(yīng)答超時(shí)時(shí)間,ms;Done為完成標(biāo)志位;Error為錯(cuò)誤代碼;First為請(qǐng)求開(kāi)始;Slave為從站地址;RW為讀寫參數(shù)(0為讀/1為寫);Addr為PLC的保持寄存器起始地址和變頻器地址之和;Count為讀寫字的個(gè)數(shù);DataPtr為PLC的寄存器地址指針。
設(shè)計(jì)者為智能小桶實(shí)現(xiàn)了app遠(yuǎn)程控制、肢體控制以及自動(dòng)接物的功能,投入到日常生活中既可以節(jié)約人們的時(shí)間,又可以為人們提供娛樂(lè),使得人們可以專心工作以及更好地享受生活。
根據(jù)圖1工程的具體工作流程和圖2工程的整體控制框架搭建,從而定義工程在PLC內(nèi)部的軟元件資源分配:注料行程開(kāi)關(guān)用I0.0,機(jī)頭攪拌電機(jī)用Q0.0,A1罐電磁閥用Q0.1,A2罐電磁閥用Q0.2,B1罐電磁閥用Q0.3,B2罐電磁閥用Q0.4,吹氣電磁閥用Q0.5;注料等待時(shí)間繼電器用T33,注料時(shí)間繼電器用T34,吹氣等待時(shí)間繼電器用T35,吹氣時(shí)間繼電器用T36(因?yàn)槟>叩淖⒘蠒r(shí)間需要精準(zhǔn)到0.01秒,因此本文選用T33~T36(0.01 s精度)的時(shí)間繼電器)。
本工程中共有A1、A2、B1、B2,4個(gè)原料罐,并規(guī)定如下:A1/B1料罐配比注第一種模具,A1/B2料罐配比注第二種模具,A2/B1料罐配比注第三種模具,A2/B2料罐配比注第四種模具,則每一種模具的個(gè)數(shù)、配比轉(zhuǎn)速數(shù)據(jù)、注料時(shí)間數(shù)據(jù)如表1所示。
表1 每種模具的相應(yīng)參數(shù)
根據(jù)工程的軟元件資源分配和表1的每種模具的運(yùn)行相應(yīng)參數(shù),可以得出如圖6所示的工程運(yùn)行順序功能圖。
圖6 工程運(yùn)行的順序功能圖
觀察圖6功能圖可知,運(yùn)行到第幾個(gè)模具的定位為C1。T34為注料時(shí)間,在本注料環(huán)節(jié)內(nèi)需要PLC通過(guò)Modbus通信的方式控制抽取原料的齒輪泵電機(jī)以預(yù)置的轉(zhuǎn)速數(shù)據(jù)運(yùn)行,進(jìn)而完成不同類型產(chǎn)品的生產(chǎn)。
預(yù)置的轉(zhuǎn)速輸出,實(shí)際是經(jīng)過(guò)計(jì)算的預(yù)置頻率值輸出。因驅(qū)動(dòng)齒輪泵的減速電機(jī)滿轉(zhuǎn)速為1 500 r/min(即在50 Hz下運(yùn)行),再經(jīng)過(guò)3∶1的減速裝置之后,實(shí)際驅(qū)動(dòng)齒輪泵的滿轉(zhuǎn)速為500 r/min(即在50 Hz下運(yùn)行),而變頻器內(nèi)部將50 Hz,精度擴(kuò)大了100倍,保存為5 000數(shù)值,與齒輪泵轉(zhuǎn)速成1∶10關(guān)系,因此實(shí)際輸入到變頻器內(nèi)部的數(shù)值,應(yīng)為所輸轉(zhuǎn)速值的10倍。
而預(yù)置的注料時(shí)間數(shù)據(jù)和轉(zhuǎn)速數(shù)據(jù)輸入到PLC內(nèi)部,則需要通過(guò)人機(jī)界面來(lái)進(jìn)行,因此本文選用MCGS觸摸屏(型號(hào)為TPC7062Ti),來(lái)組態(tài)數(shù)據(jù)輸入界面和運(yùn)行流程展示界面。
同時(shí)數(shù)據(jù)輸入到PLC內(nèi)部的保持寄存器地址,需要通過(guò)指針運(yùn)算的方式來(lái)尋址定位;因此定義注料時(shí)間數(shù)據(jù)從VW100開(kāi)始存起,其指針為VD50;A料轉(zhuǎn)速數(shù)據(jù)從VW200開(kāi)始存起,其指針為VD54;B料轉(zhuǎn)速數(shù)據(jù)從VW300開(kāi)始存起,其指針為VD58。并進(jìn)一步規(guī)定注料時(shí)間數(shù)據(jù)/A料轉(zhuǎn)速數(shù)據(jù)/B料轉(zhuǎn)速數(shù)據(jù)在MCGS輸入界面中的輸入窗口分別為VW62/VW64/VW66,模具種類定位為VD70,注料時(shí)間地址/A料變頻器地址/B料變頻器地址分別為&VB90/&VB92/&VB94,由此可以得出數(shù)據(jù)輸入到PLC內(nèi)部的程序如圖7所示。
圖7 數(shù)據(jù)輸入到PLC內(nèi)部的程序
而由于DataPtr的數(shù)據(jù)地址和T34時(shí)間繼電器的數(shù)據(jù)地址都是固定的,所以所輸出的數(shù)據(jù)都應(yīng)通過(guò)指針地址運(yùn)算的方式傳入一個(gè)固定的地址位,通過(guò)這個(gè)固定的地址位來(lái)變換不同數(shù)據(jù)的輸出,從而完成不同功能的控制。具體如圖8所示。
圖8 數(shù)據(jù)輸出到變頻器的程序
因?yàn)榭刂频暮诵腜LC既需要連接MCGS觸摸屏,又需要連接變頻器,所以至少應(yīng)需2個(gè)通信口,而CPU224XP的PLC正好滿足條件,但其以下CPU的PLC卻只有1個(gè)通信口(PORT-0口)。因此為防止誤將本程序下載至其以下PLC中,應(yīng)將Modbus通信口定義為PORT-1口,這樣即使下載錯(cuò)誤,也不影響單口PLC和計(jì)算機(jī)之間的PPI通信,而不用另外單獨(dú)購(gòu)買PROFIBUS-DP擴(kuò)展模塊EM277。同時(shí)因?yàn)镻LC底層系統(tǒng)每次只能啟動(dòng)一條MBUS_MSG主站指令,否則就會(huì)因調(diào)用指令沖突,而導(dǎo)致通信失敗。為解決以上問(wèn)題,本文提出利用上一條MBUS_MSG主站指令的完成標(biāo)志位,來(lái)啟動(dòng)下一條MBUS_MSG主站指令的構(gòu)思,這樣不僅解決了指令沖突的問(wèn)題,還使通信延遲時(shí)間由1個(gè)PLC運(yùn)行周期變?yōu)?條相鄰指令之間的調(diào)用間隔,達(dá)到了延遲時(shí)間最短,通信效率最高的效果。
通過(guò)以上參數(shù)的設(shè)置和通信方式的構(gòu)思,并結(jié)合圖8輸出程序的搭建和原有模擬量的輸入控制,可以得到如圖9所示的1臺(tái)PLC和3臺(tái)變頻器之間的通信程序。
其中,Slave從站地址為1的是模擬量輸入控制的溫度變頻器,為2的是A料調(diào)速變頻器,為3的是B料調(diào)速變頻器。
為了簡(jiǎn)化控制流程,本文預(yù)置注料等待時(shí)間為2 s,吹氣等待時(shí)間為1 s,吹氣時(shí)間為2.5 s。不再單獨(dú)組態(tài)這三者數(shù)據(jù)的輸入界面,只組態(tài)注料環(huán)節(jié)的參數(shù)數(shù)據(jù)輸入界面和運(yùn)行流程展示界面,具體如圖10~圖11所示。
因?yàn)閷?shí)驗(yàn)變頻器為三相交流變頻器(型號(hào)為SINEE-EM100-1R5-1B),所以為了滿足220 V供電電源要求,本文利用變壓器將220 V轉(zhuǎn)為380 V以給變頻器供電進(jìn)行啟動(dòng)調(diào)參。而變頻器的參數(shù)設(shè)置如下:將所有變頻器的F00.03參數(shù)(調(diào)頻方式)改為0,A料變頻器的F10.00參數(shù)(本機(jī)地址)改為2,B料變頻器的F10.00參數(shù)(本機(jī)地址)改為3,溫度變頻器不做修改。同時(shí)因?yàn)楸疚牟捎玫氖蔷w管型PLC,其與MCGS觸摸屏都需要24 V直流供電,所以本文另外添加了開(kāi)關(guān)電源以將220 V交流轉(zhuǎn)為24 V直流提供電源。其具體的實(shí)物搭建及實(shí)驗(yàn)結(jié)果如圖12所示。
(a)溫度變頻器編程
(b)料罐變頻器編程圖9 集成的Modbus通信程序
圖10 參數(shù)輸入界面
圖11 運(yùn)行流程界面
圖12 實(shí)物實(shí)驗(yàn)結(jié)果
由圖10~圖12可知,參數(shù)輸入界面、運(yùn)行流程界面、變頻器顯示頻率均為第3個(gè)模具的實(shí)驗(yàn)參數(shù),其實(shí)驗(yàn)結(jié)果證明了本文所提出框架和構(gòu)思的可行性和實(shí)時(shí)性。
本研究通過(guò)將模擬量輸入到PLC內(nèi)部,再利用PLC的Modbus通信功能直接和變頻器進(jìn)行通信,不僅實(shí)現(xiàn)了精準(zhǔn)調(diào)速功能,還使模擬量控制的要求更加復(fù)雜多樣,可以滿足客戶個(gè)性化的需求。另外通過(guò)組態(tài)MCGS觸摸屏和指針地址運(yùn)算的方式,不僅實(shí)現(xiàn)了數(shù)據(jù)集到PLC內(nèi)部的便捷輸入,還實(shí)現(xiàn)了工程運(yùn)行流程的實(shí)時(shí)展示,有助于工業(yè)人員時(shí)刻把控進(jìn)展。最后通過(guò)改變Modbus通信的方式,實(shí)現(xiàn)了一臺(tái)PLC多臺(tái)變頻器之間的實(shí)時(shí)通信。