鄭先波
摘要
為詳細(xì)闡述CX2030嵌入式控制器與多臺SIMOTION D伺服控制器的PROFINET實時通信方案,對方案的架構(gòu)、配置、編程進(jìn)行了詳細(xì)的說明,并對通信的實時性及準(zhǔn)確性進(jìn)行了監(jiān)控。該方案彌補了傳統(tǒng)的PROFIBUS通信字節(jié)數(shù)量太少的局限性為高速卷煙機的實時控制提供了更好的通信平臺。
【關(guān)鍵詞】嵌入式控制器 PROFINET通信 伺服控制器 實時控制
1 引言
隨著科學(xué)技術(shù)的發(fā)展,各卷煙廠家不但要求卷煙機速度高,同時要求設(shè)備運行穩(wěn)定、噪音小。因此國內(nèi)外卷煙設(shè)備制造廠家開始大規(guī)模運用伺服系統(tǒng),減少機械傳動,從而減小了整個設(shè)備的噪音。隨著卷煙機速度的提高,需采用處理速度更快的嵌入式控制器來進(jìn)行控制。目前高速卷接機組采用的主流控制器是倍福公司的嵌入式控制器(本文以CX2030為例)與西門子公司的SIMOTION D伺服控制器。二者之間采用Profibus總線進(jìn)行通信。但是Profibus總線通信數(shù)據(jù)量最多只能到244字節(jié),數(shù)據(jù)傳輸?shù)膸捵畲鬄?2Mbps。對于一臺擁有70多臺伺服電機的高速卷煙設(shè)備來說,其局限性顯而易見。為此,倍福公司于2014年新推出了基于工業(yè)以太網(wǎng)的PROFINET耦合器模塊EL6631。其總線通信數(shù)據(jù)量可達(dá)1024字節(jié),數(shù)據(jù)傳輸?shù)膸挒?00Mbps??梢愿玫貪M足高速卷煙機通信的要求。
2 系統(tǒng)網(wǎng)絡(luò)結(jié)構(gòu)
2.1 系統(tǒng)組成
嵌入式控制器CX2030,系統(tǒng)wes7,tc3版本V3.1.4012;EL6631-0000 PROFINET主站模塊1個;SIMOTION D控制器3個,帶PN接口。
2.2 網(wǎng)絡(luò)結(jié)構(gòu)
3個SIMOTION D同時配置成I-Device,CX2030掛在PROFINET通信網(wǎng)絡(luò)的首端,作為I-Controller,發(fā)起與3個SIMOTION D的實時通信。其網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示。
3 配置步驟
3.1 GSD文件生成
在siemens編程軟件Scout里生成對應(yīng)三個SIMOTION D的GSD文件,并將生成的GSD文件放在筆記本電腦C:\TwinCAT\3.1\Config\Io\Profinet目錄下。每個SIMOTIOND控制器對應(yīng)不同的GSD文件。因為一個PROFINET耦合器模塊EL6631下所有SiMotion的I、Q區(qū)數(shù)據(jù)量總和分別小于1kB。因此在生成GSD文件時,確保三個SIMOTION D控制器通信字節(jié)數(shù)量不超過1KB。
3.2 設(shè)置IP地址
因耦合器EL6631默認(rèn)IP地址為192.168.1.1,必須將SIA40TION D側(cè)通信網(wǎng)口IP地址設(shè)為192.168.1.XX,確保與主站設(shè)備IP地址在同一網(wǎng)段。
3.3 硬件組態(tài)
在Twincat 3編程軟件里進(jìn)行硬件掃描,分別選擇對應(yīng)的GSD文件手動添加。否則有可能會出現(xiàn)實際SIMOTION D設(shè)備與GSD文件不一致的情況。
3.4 修改IP地址
設(shè)置IODevices設(shè)備IP地址與SIMOTION D硬件實際物理側(cè)IP地址一致。添加從站設(shè)備后,不論實際SIMOTION D IP地址是多少,CX2030里會強制將IP地址按照從站添加的順序,依次變?yōu)?92.168.1.5,192.168.1.6,192.168.1.7。此時必須將IP地址修改成與實際物理地址一致,然后激活配置生效。
4 程序編制
以其中一個SIMOTION D控制器為例(該SIMOTION D分配了400個Byte),CX2030在等時任務(wù)中將數(shù)組數(shù)據(jù)寫入輸出通信數(shù)據(jù)區(qū),SIMOTION D在等時任務(wù)中讀入數(shù)組數(shù)據(jù),并將其輸出反饋給CX2030。CX2030將接收到的數(shù)據(jù)與發(fā)送的數(shù)據(jù)比較,若一致,則將輸出數(shù)組的數(shù)值都加1后發(fā)送給SIMOTIOND。通過在SCOUT軟件的示波器監(jiān)測數(shù)據(jù)數(shù)值的變換周期,可以得出CX2030發(fā)出數(shù)據(jù)并收回的時間周期,進(jìn)一步計算出CX2030與SIMOTION D底層數(shù)據(jù)交換的時間。
4.1 CX2030程序
//變量定義
cbe455_2_input AT%I*:ARRA)[1..200]OF WORD;//接收數(shù)據(jù)
cbc455_2_output AT%Q*:ARRAY[1..200]OF WORD;//發(fā)送數(shù)據(jù)
LINT;H發(fā)送數(shù)據(jù)循環(huán)計數(shù)器
J:INT;//數(shù)組成員動態(tài)變化計數(shù)器
K:INT;//接收數(shù)據(jù)循環(huán)計數(shù)器
cbe455_2_tempinl:ARRA)[L.200] OFWORD;//臨時存儲接收的數(shù)據(jù);
//Send
FOR I:=1 TO 200 DOcbe455_2_output[E]:INT_TO_WOR])(I+J);
END_FOR
IF cbe455_2_output[1]=cbe455_2_tempinl[1]THENJ:=J+1:
END_IF
IF J>=100 THEN J:=0;
END_IF
//Reccive
FOR K:=1 TO 200 DO cbe455_2_tempinl[K]:=cbe455_2_input[K];
END_FOR
4.2 SIMOTION D程序
程序中不停地監(jiān)控收到數(shù)組的相鄰成員數(shù)值差,若差值不為1,報錯計數(shù)器加1,則說明數(shù)據(jù)出錯,或者通信區(qū)數(shù)組不是在一個交換周期內(nèi)刷新的。
FOR i:=1 TO 199DO
IF gsb_data_in[i+1]-gsb_data_in[i)<>1THEN
error_counter:=error_counter+1;
END_IF;
END_FOR;
//將收到的數(shù)據(jù)回傳給CX2030
FOR j:=1 TO 200DO
gsb_data_output[j]:=gsb_data_input[j]
END_FOR;
5 通信結(jié)果監(jiān)控
(1)CX2030和SIMOTION D采用2MS任務(wù)刷新映象區(qū)數(shù)據(jù)和處理數(shù)據(jù)時,結(jié)果如圖2所示(16ms)。
(2) CX2030和SIMOTION D采用4MS任務(wù)刷新映象區(qū)數(shù)據(jù)和處理數(shù)據(jù)時,結(jié)果如圖3所示(28ms)。
6 實時性分析
6.1 PROFINET實時通信原理
提高通信的實時性主要應(yīng)該從優(yōu)化通信堆棧來實現(xiàn),PROFINET是通過軟件的方法完成實時通信的功能的。采取的主要措施是:去除一些協(xié)議層,減小文本長度;提高通信雙方傳輸數(shù)據(jù)的確定性,把數(shù)據(jù)傳輸準(zhǔn)備就緒的時間減至最小;采用IEEE802.1q標(biāo)準(zhǔn),增加對數(shù)據(jù)流傳輸優(yōu)先處理環(huán)節(jié)。PROFINET把實現(xiàn)RT功能的標(biāo)志嵌入到以太網(wǎng)的幀結(jié)構(gòu)中。
RE幀中有兩個重要的協(xié)議元素,一個是以太網(wǎng)類型,PROFINET使用以太網(wǎng)類型的Ox8892表示該幀是RT幀,該類型是由IEEE指定的區(qū)別于其它協(xié)議的唯一標(biāo)準(zhǔn);另一個是幀ID碼,它用來編址兩個設(shè)備間特殊的通信通道。僅使用幀ID碼就可以快速選擇和識別RT幀而不需要任何多余的幀頭標(biāo)志。
6.2 實時通信時間計算
方案中PROFINETN通信采用了1MS的SEND_CLOCK時鐘,數(shù)據(jù)交換時間是一定的。在I-Device通信中,假設(shè)單向數(shù)據(jù)發(fā)送時間為A,CX2030和SIMOITON D在2MS等時任務(wù)讀寫通信區(qū)和數(shù)據(jù)處理時間總和為B,則4MS等時任務(wù)讀寫通信區(qū)和數(shù)據(jù)處理時間總和為2B.根據(jù)監(jiān)控得到的數(shù)據(jù),可得到下列方程式:
2A+B=16
2A+2B=28
計算得出:A=2(ms)B=12(ms)
即CX2030和SIMOITON D通信緩存區(qū)之間的數(shù)據(jù)傳送時間為2ms,在2ms等時任務(wù)時讀寫通信區(qū)和數(shù)據(jù)處理時間為12ms。因此根據(jù)需要交換數(shù)據(jù)的實時性要求,可使用不同周期任務(wù)來處理通信數(shù)據(jù),達(dá)到實時通信的目的。
7 結(jié)束語
本文以CX2030和SIMOTION D為對象,介紹了PROFINET通信的實時性,其大數(shù)據(jù)量的通信彌補了傳統(tǒng)的Profibus通信字節(jié)數(shù)量太少的局限性;充分論述了CX2030和SIMOTION D的PROFINET通信在高速卷煙機上運用的可行性及優(yōu)越性。通過該方案的運用,將大大提高高速卷煙機的可靠性。更好地滿足卷煙廠家生產(chǎn)的要求。
參考文獻(xiàn)
[1]呂其棟,王薇.深入淺出西門子運動控制器:SIMOTION實用手冊[M].北京:機械工業(yè)出版社,2013: 308-349.
[2]崔堅.西門子工業(yè)網(wǎng)絡(luò)通信指南:下冊[M].北京:機械工業(yè)出版社,2005:199-234.
[3]陽憲惠.現(xiàn)場總線技術(shù)及其應(yīng)用[M].北京:清華大學(xué)出版社,1999:16-69.
[4](德)皮金(pigan,r.).西門子PROFINET工業(yè)通信指南[M].北京:人民郵電出版社,2007:21-42.