陳 亮,蔡 盈,閔建東
(1.中國石化集團(tuán)石油工程機(jī)械有限公司沙市鋼管廠,湖北 荊州434001;2.昆明云內(nèi)動(dòng)力股份有限公司,昆明650224)
成型機(jī)數(shù)控MX-4與PLC400及上位機(jī)數(shù)據(jù)通訊的實(shí)現(xiàn)
陳 亮1,蔡 盈2,閔建東1
(1.中國石化集團(tuán)石油工程機(jī)械有限公司沙市鋼管廠,湖北 荊州434001;2.昆明云內(nèi)動(dòng)力股份有限公司,昆明650224)
為了能及時(shí)處理MEER公司生產(chǎn)的成型機(jī)數(shù)控MX-4的故障,提高生產(chǎn)效率,并為將來成型機(jī)上位機(jī)的技術(shù)改造升級(jí)做好技術(shù)儲(chǔ)備,對(duì)數(shù)控MX-4與PLC400及上位機(jī)之間硬件通訊接口,MX-4與PLC400數(shù)據(jù)交換通道的具體實(shí)現(xiàn)方法、MX-4與上位機(jī)MODEM通訊測(cè)試流程、MX-4與對(duì)上位機(jī)的數(shù)據(jù)解析刷新方法等進(jìn)行了分析研究。研究結(jié)果對(duì)同類故障的判定和處理提供了較好的思路。
成型機(jī);MX-4;PLC400;上位機(jī);通訊
中國石化集團(tuán)石油工程機(jī)械有限公司沙市鋼管廠(以下簡(jiǎn)稱沙市鋼管廠)的成型機(jī)控制系統(tǒng)是MEER公司十多年前的產(chǎn)品,上位機(jī)負(fù)責(zé)調(diào)型時(shí)將各類參數(shù)通過RS232端口以串口通訊協(xié)議傳輸給MX-4,上位機(jī)上有硬件密碼狗。目前上位機(jī)使用年限已久,市場(chǎng)無備件可買,曾出現(xiàn)死機(jī)現(xiàn)象,造成停機(jī)時(shí)間過長,嚴(yán)重影響生產(chǎn)。由于以前對(duì)相關(guān)技術(shù)儲(chǔ)備不足,影響了生產(chǎn)進(jìn)度,造成了一定的經(jīng)濟(jì)損失,因此有必要對(duì)成型機(jī)多軸數(shù)控MX-4與PLC400及上位機(jī)通訊數(shù)據(jù)交換的具體實(shí)現(xiàn)過程進(jìn)行深入研究,找到較好的解決和維護(hù)方案,以備將來不時(shí)之需。
MX-4與PLC400及上位機(jī)之間的硬件通訊接口如圖1所示。由圖1可見,MX-4 PM2U主軸X11A接口與PLC400之間PROFIBUS DP接口用DP電纜連接,二者采用PROFIBUS DP協(xié)議通訊。
圖1 MX-4與PLC400及上位機(jī)之間硬件通訊接口
MX-4 PM2U主軸X11C接口通過力士樂公司提供的型號(hào)為MX4/PC/RS422/ADAPTER/50M專用電纜與力士樂協(xié)議轉(zhuǎn)換器RS422接口連接,力士樂協(xié)議轉(zhuǎn)換器RS232端口再與西門子上位機(jī)PC F145的RS232端口連接。在MX-4端發(fā)送/接收數(shù)據(jù)采用串口RS422協(xié)議,PC端發(fā)送接收數(shù)據(jù)采用串口RS232協(xié)議。
MX-4與上位機(jī)之間加入力士樂協(xié)議轉(zhuǎn)換器是因?yàn)閮烧咧g的距離超過了15m。國際標(biāo)準(zhǔn)要求RS232通訊最大距離25m,可靠距離15m,vmax=20 kb/s;而RS422通訊最大距離1 200m,vmax=10 Mb/s。生產(chǎn)現(xiàn)場(chǎng)使用的是19.2 kb/s。
要實(shí)現(xiàn)MX-4與PLC400通訊數(shù)據(jù)的交換,首先要在MX-4端SP-PROFIBUS并行程序中開辟數(shù)據(jù)接收和發(fā)送通道數(shù)組,在PLC400端硬件組態(tài)界面開辟與前者數(shù)組存儲(chǔ)位數(shù)相同的讀入通道(PIW)和寫入通道(PQW),MX-4使用ECL程序指令(ECL program command)對(duì) PLC400傳遞過來的數(shù)據(jù)進(jìn)行讀寫操作和處理。
PLC400對(duì)數(shù)控MX-4讀寫通道的組態(tài)映射如圖2所示。讀入通道(PIW300-PIW363)和寫入通道(PQW400-PQW463),分別為 64×8=512 bit。并且讀入通道和寫入通道的總位數(shù)要分別與SPPROFIBUS并行程序中的輸出數(shù)組a Bus[out]及a Bus[in]的總位數(shù)512位一致,否則會(huì)發(fā)生通訊溢出錯(cuò)誤。
圖2 PLC400對(duì)數(shù)控MX-4讀寫通道的組態(tài)映射
需要指出的是,在PLC400組態(tài)MX-4讀寫通道的時(shí)候,一定要先組態(tài)讀取通道(PIW300-PIW363),之后插入寫入通道(PQW400-PQW463),二者順序不能顛倒,否則MX-4無法與PLC400實(shí)現(xiàn)DP通訊。
MX-4端開辟的接收/寫入PLC400數(shù)據(jù)通道是通過SP-PROFIBUS程序中的C語言來實(shí)現(xiàn),具體程序如圖3所示。
圖3 MX-4端接收/寫入程序
圖3 中a Busin[**]是向量數(shù)組,因?yàn)樵贛X-4 A_VAR.ECL文件匯中已經(jīng)將a Busin[**]等同于向量數(shù)組A00[**],向量數(shù)組的一維即為32 bit,所以MX-4定義的接收PLC數(shù)據(jù)的存儲(chǔ)總長度為32*16=512 bit,正好與上述PLC組態(tài)中開辟寫入通道(PQW400-PQW463)的總存儲(chǔ)位數(shù)512 bit一樣。
a Bus out[**]等同于向量數(shù)組A01[**],與 PLC400 中(PIW300-PIW363)相對(duì)應(yīng)。
分析PLC400程序發(fā)現(xiàn),由于PLC端以PIB及PQB分別對(duì)MX-4數(shù)據(jù)進(jìn)行讀取和寫入,故a Busin[**]一維相當(dāng)于4個(gè)連續(xù)的PQB**,a Bus out[**]一維相當(dāng)于4個(gè)連續(xù)的PIB。例如: a Busin[0]與 PQB400、 PQB401、 PQB402 和PQB403對(duì)應(yīng),a Bus out[0]與PIB300、PIB301、PIB302和PIB303對(duì)應(yīng)。
PLC400端通過組態(tài)PQW400-PQW463通道對(duì)MX-4端寫入數(shù)據(jù),并采用LAD的MOVE指令或STL的L/T指令實(shí)現(xiàn)傳送。PLC400通過功能塊FC49將PQW400寫入MX-4,解析程序如圖4所示。
圖4 FC49寫入MX-4的解析程序
MB400由M400.0~M400.7組成,依次代表急停/復(fù)位/泵1啟/泵2啟/泵3啟/泵4啟/泵5啟/時(shí)鐘模式,這PLC端的8個(gè)信息點(diǎn)通過PLC400傳送給MX4在PLC里面的映射區(qū)PQB400(8位),由于MX4與PLC通過2.1章節(jié)中組態(tài)的互相映射關(guān)系,能自動(dòng)讀取PQB400里面的信息。程序中PQB400、PQB401、PQB402及PQB403為對(duì)應(yīng)MX-4的a Busin[0]。
PLC400端通過組態(tài)PIW300-PIW363通道對(duì)MX-4端讀取數(shù)據(jù),并采用LAD的MOVE指令或STL的L/T指令實(shí)現(xiàn)傳送。PLC讀取MX-4a Bus[0]至a Bus[7]程序?qū)嵗鐖D5所示。
圖5 PLC讀取MX-4的程序
MX-4端對(duì)PLC400數(shù)據(jù)進(jìn)行接收解析和寫入時(shí),首先要定義MX-4系統(tǒng)軸32軸及PLC400通訊相關(guān)的參數(shù),流程圖及其程序解釋如圖6所示。
完成MX-4系統(tǒng)軸32軸通訊參數(shù)給定和開啟通訊口后,MX-4便可通過SP-PROFIBUS并行程序接收和寫入PLC數(shù)據(jù)。
接收指令如圖7所示。
圖6 MX-4系統(tǒng)軸參數(shù)S32及PLC400通訊參數(shù)的定義流程及其解釋
圖7 MX-4接收PLC的數(shù)據(jù)指令
接收數(shù)據(jù)解析:通過連續(xù)兩條指令VS5_tem=a Busin[**]>>24&0x000000FF;VS5_A03=a Busin[**]>>8&0x0000FF00|VS5_tem獲取a Busin[**]高字節(jié),通過VS5_tem=a Busin[**]>>8&0x000000FF和VS5_A04=a Busin[**]<<8|VS5_tem&0x0000FFFF指令獲取a Busin[**]低字節(jié)。
MX-4給PLC400發(fā)送數(shù)據(jù)指令如圖8所示。
圖8 MX-4給PLC的發(fā)送指令
上位機(jī)與MX-4通訊是通過OPC技術(shù)的串口通訊,硬件上二者間借助了MODEM(調(diào)制解調(diào)器)。要成功實(shí)現(xiàn)MX-4與上位機(jī)調(diào)型參數(shù)通訊數(shù)據(jù)的交換,首先要在MX-4編程調(diào)試軟件ECL中的OPC窗口加載MX-4程序中定義的通訊數(shù)據(jù)項(xiàng)。之后上位機(jī)每次調(diào)型更改參數(shù)后,MX-4的SP_PROCON并行程序檢測(cè)到上位機(jī)鍵盤有功能鍵按下時(shí),啟動(dòng)數(shù)據(jù)交換功能。主要交換的數(shù)據(jù)為第1面/2面推板小車每步編碼器數(shù)據(jù)設(shè)置,1面/2面傾斜臺(tái)架角度設(shè)置,1面/2面模柄位置設(shè)置,設(shè)置插入某一步的數(shù)據(jù),設(shè)置刪除某一步的數(shù)據(jù)。
MX-4與上位機(jī)OPC通訊初始化部分的程序如圖9所示。
MX-4與上位機(jī)需要交換的OPC數(shù)據(jù)項(xiàng)共有506個(gè),定義格式分為兩種,一種是整數(shù)型的(integer),另一種是位型的(boolen)。
例1:推管時(shí)模柄上升終點(diǎn)位置A100[13](整數(shù)型)定義為
A100[13]“MdSwTransPos”;;3;3(其中 MdSwTrans Pos為A100[13]在MX-4程序中宏定義)。
例2:上梁升到允許推管的最小位置觸發(fā)點(diǎn)V202.17(位型)定義為
V202.17“vILmsPuMin”;;3;11(其中MvILms PuMin為V202.17在MX-4程序中宏定義)。
例3:上位機(jī)鍵盤功能鍵按下V231.24(位型)定義為
V231.24“vFFucKeyPres”;;3;11。
MX-4對(duì)上位機(jī)通訊數(shù)據(jù)解析處理是通過并行程序SP-PROCON來完成的。
由于在ECL的OPC加載窗口已經(jīng)對(duì)串口的各參數(shù)進(jìn)行了設(shè)置,在SP-PROCON并行程序中就不需要對(duì)串口波特率等進(jìn)行設(shè)置。但每次上位機(jī)斷電重啟后,若MX-4與PC通訊異常,就需要對(duì)PC與MX-4之間串口調(diào)制解調(diào)器的初始化進(jìn)行檢測(cè)。調(diào)制解調(diào)器的初始化通過MX-4端的SP-MODEM子程序完成,其核心部分流程如圖10所示。
圖9 MX-4與上位機(jī)OPC通訊初始化程序
MX-4與PC之間串口MODEM通訊正常后,MX-4通過SP-PROCON并行程序?qū)崿F(xiàn)對(duì)上位機(jī)傳遞數(shù)據(jù)的讀取。MX-4中SP-PROCON的并行程序主要是對(duì)1 side/2 side的模柄位置、進(jìn)口/出口推板小車每步位置、進(jìn)口/出口臺(tái)架每步角度等上位機(jī)成型設(shè)置參數(shù)的刷新讀取,以及插入/刪除某一步數(shù)據(jù)的刷新。各參數(shù)與對(duì)應(yīng)的SPPROCON中向量變量見表1。
圖10 MX-4與PC通訊異常MODEM測(cè)試流程
表1 成型參數(shù)與對(duì)應(yīng)變量對(duì)照表
SP-PROCON并不是實(shí)時(shí)讀取上位機(jī)設(shè)置的各類成型參數(shù),而是通過程序中的相關(guān)標(biāo)志位來判斷上位機(jī)是否有界面打開且有功能鍵按下,如果有就會(huì)啟動(dòng)執(zhí)行并刷新接收數(shù)據(jù)。SPPROCON并行程序中對(duì)某向量變量進(jìn)行插入刷新和刪除刷新,采取的方法是類似于C語言鏈?zhǔn)疥?duì)列插入操作和刪除操作的方法。SPPROCON中插入某一步刷新數(shù)據(jù)時(shí),為防止溢出,通常采取少用一個(gè)存儲(chǔ)單元來避免。
介紹了數(shù)控MX-4與PLC 400及上位機(jī)之間硬件通訊接口、MX-4與PLC400數(shù)據(jù)交換通道的互相映射的實(shí)現(xiàn)、MX-4與PLC互相讀取/寫入數(shù)據(jù)的實(shí)現(xiàn)方法及注意事項(xiàng)、MX-4與上位機(jī)MODEM通訊測(cè)試流程以及MX-4與對(duì)上位機(jī)的數(shù)據(jù)解析刷新方法等。希望能對(duì)使用MEER成型機(jī)的鋼管廠家及時(shí)處理設(shè)備故障和技術(shù)改造升級(jí)有一定的借鑒和參考作用。
[1]周秀峰,羅紅福,蔡小青.MX-4多軸數(shù)控系統(tǒng)在直縫焊管成型機(jī)上的應(yīng)用[J].焊管,2004,27(6):76-80.
[2]羅紅福.PROFIBUS-DP在銑邊機(jī)控制系統(tǒng)中的應(yīng)用[J].焊管,2005,28(3):40-42.
[3]劉華波,王雪,何文雪.組態(tài)軟件WINCC及其應(yīng)用[M].北京:機(jī)械工業(yè)出版社,2010.
[4]王曉穎,周淑軍,聞康,等.PLC埋弧焊管渣清理收集裝置控制系統(tǒng)中的應(yīng)用[J].鋼管,2006,35(6):36-38.
[5]徐馳,馬占昌,樊萍.鋼管加工中心自動(dòng)找正電氣系統(tǒng)的研制與應(yīng)用[J].鋼管,2009,38(6):64-68.
[6]陶海燕.PLC在鋼管冷拔機(jī)電氣控制系統(tǒng)中的應(yīng)用[J].鋼管,2010,39(6):57-59.
[7]宗波,李淑彬,王國順.基于PROFIBUS現(xiàn)場(chǎng)總線的水壓試驗(yàn)機(jī)控制系統(tǒng)[J].鋼管,2011,40(3):55-58.
[8]陳昶.S7-300型PLC在立式錐形輥穿孔機(jī)頂桿小車上的應(yīng)用[J].鋼管,2012,41(2):67-72.
[9]張衛(wèi)國.S7-300在冷彎設(shè)備中的應(yīng)用[J].電氣技術(shù),2007(3):87-91.
[10]朱明清,鄧廣龍,李喜東.西門子S7-300PLC在氣體分段計(jì)量中的應(yīng)用[J].自動(dòng)化技術(shù)與應(yīng)用,2011,30(1):65-67.
Research on Data Communication among Forming Machine Numerical Control MX-4,PLC400 and Upper-machine
CHEN Liang1,CAI Ying2,MIN Jiandong1
(1.Shashi Steel Pipe Works,SINOPEC Petroleum Engineering Machinery Co.,Ltd.,Jingzhou 434001,Hubei,China;2.Kunming Yunnei Power Co.,Ltd.,Kunming 650224,China)
In order to timely dispose the faults of forming machine numerical control MX-4 produced by MEER Company,improve production efficiency,and prepare technical reserves for the technology upgrade of forming machine PCin future,it conducted hardware communication interface among numerical control MX-4,PLC400 and upper machine.It analyzed and studied the concrete realization method of data exchange channels between MX-4 and PLC400,the communication testing process between MX-4 and upper computer MODEM,MX-4 and the upper machine data resolution refresh methods.The research results provided a good idea for the similar fault judgment and processing.
forming machine;MX-4;PLC400;upper computer;communication
TG335.75
B
10.19291/j.cnki.1001-3938.2016.12.011
陳 亮(1986—),男,工程師,主要從事焊管行業(yè)電氣控制方面的設(shè)計(jì)工作。
2016-09-28
謝淑霞