閆秀芳,王志國(guó),高曉輝
(1.內(nèi)蒙古化工職業(yè)學(xué)院 測(cè)控與機(jī)電工程系,呼和浩特 010070;2.內(nèi)蒙古工業(yè)大學(xué) 機(jī)械學(xué)院,呼和浩特 010051;3.北京航空航天大學(xué) 自動(dòng)化科學(xué)與電氣工程學(xué)院,北京 100191)
隨著工業(yè)技術(shù)的發(fā)展,由上位機(jī)和下位機(jī)組成的控制系統(tǒng)得到日益廣泛的應(yīng)用,而下位機(jī)控制器的處理速度以及實(shí)時(shí)性是決定整個(gè)伺服控制系統(tǒng)性能的關(guān)鍵所在[1,2]。常用的下位機(jī)控制器主要包括可編程序控制器(PLC)、工控機(jī)、運(yùn)動(dòng)控制卡等[3~5]。S7300 PLC因其具有結(jié)構(gòu)緊湊、循環(huán)周期短、處理速度高、指令集功能強(qiáng)、電磁兼容性強(qiáng)、抗震動(dòng)沖擊性能好、性價(jià)比高等諸多優(yōu)點(diǎn),使其廣泛的應(yīng)用于工業(yè)控制領(lǐng)域中,成為一種既經(jīng)濟(jì)又切合實(shí)際的解決方案[6,7]。Modbus通訊協(xié)議是美國(guó)Modicon公司開發(fā)的一個(gè)開放性通信協(xié)議,具有安全、穩(wěn)定、實(shí)時(shí)性高等特點(diǎn),已經(jīng)成為一種通用的工業(yè)通訊標(biāo)準(zhǔn),在很多工業(yè)領(lǐng)域得到了廣泛的應(yīng)用[8~10]。本文在分析控制系統(tǒng)特點(diǎn)的基礎(chǔ)上提出運(yùn)用S7300 PLC作為下位機(jī)通過SSI通訊實(shí)時(shí)采集位置信息,并通過接收上位機(jī)控制指令同時(shí)實(shí)現(xiàn)多路閉環(huán)伺服控制;采用S7200 PLC通過Modbus通訊接收上位機(jī)指令并通過MPI通訊與S7300 PLC實(shí)現(xiàn)數(shù)據(jù)共享,從而組成一個(gè)數(shù)據(jù)共享網(wǎng)絡(luò)。S7200 PLC的引入不但能夠?qū)崿F(xiàn)性價(jià)比較高的Modbus通訊且可實(shí)現(xiàn)數(shù)字量控制,從而組成一個(gè)性價(jià)比較高的穩(wěn)定控制系統(tǒng)。采用本控制系統(tǒng)方案能夠?qū)崿F(xiàn)多路位移精確控制,且具有性價(jià)比高、適用性強(qiáng)等諸多優(yōu)點(diǎn),進(jìn)一步推進(jìn)了PLC在很多工業(yè)領(lǐng)域的應(yīng)用。
在很多精密位置控制系統(tǒng)中,傳感器、執(zhí)行器和控制器作為主要組成部件,對(duì)于提高系統(tǒng)的控制精度至關(guān)重要。本系統(tǒng)的位姿調(diào)整機(jī)構(gòu)的工作原理如圖1所示,通過控制器實(shí)現(xiàn)對(duì)3個(gè)液壓缸精密位移控制來實(shí)現(xiàn)平臺(tái)位姿的調(diào)整,因此,控制器的性能至關(guān)重要。位姿調(diào)整機(jī)構(gòu)的電氣控制原理如圖2所,其基本工作原理是:通過Modbus通訊協(xié)議接收上位機(jī)位移控制指令;通過基于SSI通訊的位移絕對(duì)編碼器采集位置信息;指令和采樣通過控制算法形成控制指令下發(fā)給伺服閥實(shí)現(xiàn)對(duì)液壓缸的伺服控制;限位開關(guān)用來實(shí)現(xiàn)對(duì)位姿調(diào)整機(jī)構(gòu)的安全保護(hù)。該控制系統(tǒng)需要1路Modbus通訊接口、4路DI開關(guān)量輸入、4路DO開關(guān)量輸出、3路AO輸出、3路SSI通訊接口。
圖1 位姿調(diào)整機(jī)構(gòu)
圖2 電氣控制系統(tǒng)
由于S7300 PLC的處理速度和工作性能遠(yuǎn)遠(yuǎn)的高于S7200 PLC,實(shí)時(shí)控制周期可達(dá)到10ms,在很多高精度伺服控制系統(tǒng)中得到了廣泛的應(yīng)用,而且S7200不能夠進(jìn)行SSI通訊,因此選用S7300 PLC作為下位機(jī)控制器實(shí)現(xiàn)對(duì)液壓缸位移的精確實(shí)時(shí)控制。S7300 PLC的通訊接口主要面向Profibus通訊總線,而基于Modbus通訊的模塊主要有CP340和CP341模塊且其價(jià)格比較昂貴[11,12],而S7200 PLC主要面向Modbus通訊設(shè)計(jì)含有2路Modbus通訊接口,選用S7200 PLC通過Modbus通訊協(xié)議接收上位機(jī)指令,且能夠提供IO控制接口,性價(jià)比較高。S7300 PLC和S7200 PLC通過MPI通訊進(jìn)行信息共享。因此,根據(jù)本系統(tǒng)的特點(diǎn)選用性價(jià)比較的產(chǎn)品組合如下:CPU 314(6ES73141AG140AB0)、SM338模塊(設(shè)備號(hào):6ES73384BC010AB0,含有4路 SSI 通訊接口)、SM332模塊(設(shè)備號(hào):6ES73325HD010AB0,含有4路AO)、CPU 224XP(設(shè)備號(hào):6ES72142AD230XB0,含14路DI、8路DO、2路RS485)。
由于S7300 PLC通過Modbus接口進(jìn)行通訊價(jià)格比較昂貴,因此選用S7200 PLC作為從站通過Modbus接口與上位機(jī)通訊,然后S7200 PLC通過MPI通訊接口與S7200 PLC進(jìn)行通訊。
ModBus協(xié)議是一種可靠而有效的工業(yè)控制系統(tǒng)通信協(xié)議,現(xiàn)已被眾多的硬件廠商支持并得到了廣泛應(yīng)用,通過ModBus協(xié)議可以方便地完成現(xiàn)場(chǎng)控制網(wǎng)絡(luò)的數(shù)據(jù)傳輸。Modbus是一種主/從串行通訊協(xié)議且網(wǎng)絡(luò)中只有一個(gè)主站其余全為從站,在物理層上可利用232和485接口,支持ASCII和RTU兩種傳輸模式,用戶根據(jù)系統(tǒng)組態(tài),在同一個(gè)Modbus網(wǎng)絡(luò)上配置相同的通信參數(shù)。S7-200CPU上的通信口Port0和Port1均可實(shí)現(xiàn)Modbus 通訊,從站協(xié)議指令主要有“MBUS_INT”和“MBUS_SLAVE”指令。在第一個(gè)循環(huán)周期內(nèi)執(zhí)行“MBUS_INT”指令(如圖3所示),下面分別介紹一下“MBUS_INT”指令中個(gè)參數(shù)的意義。Mode:模式選擇,1為啟動(dòng),0為停止;Addr:從站地址取值為1~247;Baud:波特率可選1200,2400,4800,9600,19 200,38400,57600,115200;Parity:奇偶校驗(yàn)為0為無校驗(yàn),1為奇校驗(yàn),2為偶校驗(yàn);Delay:延時(shí),缺省值為0;MaxIQ:最大I/Q位,參與通信的最大I/O點(diǎn)數(shù),S7-200的I/O映像區(qū)為128/128,缺省值為128;MaxAI為最大AI字?jǐn)?shù),參與通信的最大AI通道數(shù),可為16或32;MaxHold:最大保持寄存器區(qū),參與通信的V存儲(chǔ)區(qū)字;HoldStart:保持寄存器區(qū)起始地址,以&VBx指定(間接尋址方式);Done:初始化完成標(biāo)志,成功初始化后置1;Error:初始化錯(cuò)誤代碼。主站和從站的波特率和奇偶校驗(yàn)位的設(shè)置參數(shù)必須相同,當(dāng)S7200 PLC作為從站時(shí)只需要設(shè)置MBUS_INT”指令參數(shù)即可。S7-200作為從站時(shí),內(nèi)部的數(shù)據(jù)存儲(chǔ)區(qū)與Modbus的4類地址的對(duì)應(yīng)關(guān)系如表1所示,在進(jìn)行數(shù)據(jù)變量傳輸時(shí),采用4類地址傳輸,只需設(shè)置HoldStart的起始變量地址即可。
表1 S7-200的Modbus地址對(duì)應(yīng)關(guān)系
圖3 “MBUS_INT”指令
MPI(Multi Point Interface)是多點(diǎn)接口的簡(jiǎn)稱,是西門子公司開發(fā)的用于PLC之間通訊的保密的協(xié)議。MPI通訊是當(dāng)通信速率要求不高、通信數(shù)據(jù)量不大時(shí),可以采用的一種簡(jiǎn)單經(jīng)濟(jì)的通訊方式。S7300與S7200之間采用MPI通訊時(shí),S7200不需要編寫任何與通訊有關(guān)的程序,只需要將要交換的數(shù)據(jù)存儲(chǔ)到一個(gè)連續(xù)的V存儲(chǔ)區(qū)域內(nèi)與S7300中數(shù)據(jù)存儲(chǔ)區(qū)一一對(duì)應(yīng)即可。S7300需要在OB1或OB35中調(diào)用系統(tǒng)功能X_GET(SFC67)和X_PUT(SFC68)(如圖4所示),下面對(duì)指令中各個(gè)參數(shù)進(jìn)行介紹。X_GET為S7300接收S7200數(shù)據(jù)指令,X_PUT為S7300發(fā)送給S7200數(shù)據(jù)指令。REQ:“Request to activate” 當(dāng)REQ=1時(shí),調(diào)用該指令可以啟動(dòng)讀取操作;CONT:如果在第一次調(diào)用時(shí)選擇了CONT=0,那么在數(shù)據(jù)傳送完成后,連接被再次終止,如果在第一次調(diào)用時(shí)選擇了CONT=1,那么在數(shù)據(jù)傳送完成后仍保持連接;DEST_ID:尋址參數(shù)“destination ID”,包含通信伙伴的MPI地址;VAR_ADDR:指向伙伴CPU上區(qū)域的引用,數(shù)據(jù)將從該區(qū)域讀出;RET_VAL:指令執(zhí)行過程中,如果出錯(cuò),則返回值將包含有相應(yīng)的錯(cuò)誤代碼;BUSY:BUSY=1表示接收仍未完成,BUSY=0表示接收已完成,或者沒有激活的接收操作;RD:指向接收區(qū)的引用;SD:指向發(fā)送區(qū)的引用。S7300與S7200之間采用MPI通訊時(shí),S7300與S7200設(shè)置不同的MPI地址和相同的波特率方可進(jìn)行通訊。
圖4 “X_GET”和“X_PUT”指令
PLC是以微處理器為基礎(chǔ)的一種自動(dòng)控制裝置,其綜合了控制、計(jì)算機(jī)和通訊技術(shù)的功能,是一種數(shù)字運(yùn)算操作的電子系統(tǒng),尤其S7300 PLC因其循環(huán)周期短且處理速度高可應(yīng)用于實(shí)時(shí)控制系統(tǒng)中。位姿調(diào)整機(jī)構(gòu)的控制系統(tǒng)的硬件連接如圖5所示,在本控制系統(tǒng)中采用S7300 PLC作為下位機(jī)控制系統(tǒng),通過Modbus通訊和MPI通訊接收上位機(jī)控制指令,采用SM338模塊中的SSI通訊實(shí)時(shí)采集位移信息,通過PID運(yùn)算控制算法根據(jù)控制指令和位移采樣生成控制信號(hào)通過SM332模擬量輸出模塊的AO接口控制伺服閥從而實(shí)現(xiàn)對(duì)液壓缸的伺服控制。
圖5 控制系統(tǒng)硬件連接圖
SSI(Synchronous Serial Interface)是一種同步信號(hào)的全雙工串行數(shù)據(jù)協(xié)議,常用于較多高精度絕對(duì)值角度編碼器中。SM338模塊中含有4路SSI通訊接口與其電氣接線如圖6所示,將SM338與S7300 PLC的CPU直接相聯(lián)接并根據(jù)位移編碼器的具體參數(shù)對(duì)其進(jìn)行設(shè)置(如圖7所示)。
圖6 SSI通訊接線圖
圖7 S7300 PLC中SSI通訊參數(shù)設(shè)置
將本控制系統(tǒng)實(shí)現(xiàn)對(duì)位姿調(diào)整機(jī)構(gòu)中3個(gè)液壓缸的位移控制的試驗(yàn)結(jié)果如圖8所示,從圖8中可以看出,三個(gè)液壓缸的定位精度均可控制在0.1mm以內(nèi)。
本文介紹了S7200和S7300 PLC的性能特點(diǎn)并搭建了一套性價(jià)比比較高的高精度控制系統(tǒng),采用Modbus實(shí)現(xiàn)上位機(jī)與S7300 PLC之間通訊并實(shí)現(xiàn)了對(duì)液壓缸的精確位移控制,進(jìn)一步推進(jìn)了PLC的工業(yè)應(yīng)用范圍。
圖8 位移響應(yīng)曲線
[1]叢明,劉冬,杜宇,等.PLC伺服控制在太陽能電池組件搬運(yùn)機(jī)械手中的應(yīng)用[J].組合機(jī)床與自動(dòng)化加工技術(shù),2011,9:66-69.
[2]Yongguang Liu, Xiaohui Gao, Xiaowei Yang. Research of Control Strategy in the Large Electric Cylinder Position Servo System[J].Mathematical Problems in Engineering,2015.
[3]呂華芳,楊漢波,叢振濤.基于PLC控制的室內(nèi)降雨入滲自動(dòng)測(cè)定系統(tǒng)[J].農(nóng)業(yè)機(jī)械學(xué)報(bào),2014,45(9):144-149.
[4]Yongguang Liu,Xiaohui Gao, Zhongcai Pei. Research of Impact Load in Large Electrohydraulic Load Simulator. Mathematical Problems in Engineering[J].2014.
[5]項(xiàng)小東,白國(guó)振.基于運(yùn)動(dòng)控制卡的伺服控制系統(tǒng)開發(fā)研究[J].機(jī)電工程技術(shù),2017,39(11):20-22.
[6]黎鑫溢,譚建平,周俊峰.PLC數(shù)據(jù)通訊在水壓機(jī)控制系統(tǒng)中的實(shí)現(xiàn)與研究[J].微計(jì)算機(jī)信息,2006,22(4-1):78-81.
[7]李紅萍,賈秀明,李藝?guó)?基于MCGS的S7300 PLC液位監(jiān)控系統(tǒng)設(shè)計(jì)[J].自動(dòng)化與儀器儀表,2013,1:55-59.
[8]王彥齊.西門子S7-300 PLC的Modbus-RTU通訊實(shí)現(xiàn)[J].煤礦機(jī)械,2014,35(5):204-205.
[9]顧海勤,楊奕,全毅,等.基于ModBus協(xié)議的智能儀表與PC機(jī)雙向通信設(shè)計(jì)[J].儀表技術(shù)與傳感器,2013(12):33-35.
[10]陳銘.基于MODBUS協(xié)議的設(shè)備和PLC實(shí)現(xiàn)通信的研究[J].湖南科技學(xué)院學(xué)報(bào),2009,30(4):60-62.
[11]蔣天偉,趙京.Modbus RTU通信在CP340系統(tǒng)上的實(shí)現(xiàn)[J].通信技術(shù),2010,43(8):253-257.
[12]董明.基于PROFIBUS-DP總線和S7300的電機(jī)調(diào)速系統(tǒng)設(shè)計(jì)[J].制造業(yè)自動(dòng)化,2011,33(4):134-136.