李 田,魯寨軍
(中南大學 軌道交通安全教育部重點實驗室,長沙 410075)
LabVIEW環境下基于PPI協議的軌道車輛均衡試驗測控系統研制
李 田,魯寨軍
(中南大學 軌道交通安全教育部重點實驗室,長沙 410075)
軌道車輛均衡試驗要求單獨控制8臺液壓油缸升降帶動工裝抬升軌道車輛,抬升過程中采集和存儲抬升高度及輪重數據并計算輪重減載率,抬升到指定高度時自動停止。根據試驗需要研制了軌道車輛均衡試驗測控系統,系統的上位機采用PC,下位機采用S7-200系列PLC,在LabVIEW環境下編寫程序,調用VISA接口函數通過PPI協議建立PC與PLC通信,采集、處理位移和稱重傳感器數據,控制液壓油缸動作,最終實現了軌道車輛均衡試驗測控系統的測控功能。
PPI協議;PLC;LabVIEW;測控系統
軌道車輛均衡試驗測控系統的研制重點是利用PLC進行傳感器數據的采集及液壓系統的控制,難點在于建立上位機(PC)與下位機(PLC)的通信。已有的通信方式有PPI、MPI、自由口、PROFIBUS現場總線、以太網、Modbus等[1],其中,PPI協議內部固化于S7-200PLC,PLC不用編程[2],相對于其他通信方式簡單方便,能夠滿足本系統使用要求。目前,PPI協議的全部內容并未公開,但是國內外已有很多學者通過串口監視等方式找出了PPI協議的關鍵幀格式[3~9]。本文對其進行分析得到軌道車輛均衡試驗測控系統需要的PPI協議指令,利用LabVIEW平臺,調用VISA接口函數建立PC與PLC之間通信,設計集成了測控系統硬件模塊,開發程序最終實現了軌道車輛均衡試驗測控系統的測控功能。
軌道車輛均衡試驗測控系統由8臺抬升工裝及2臺液壓站組成,1臺液壓站通過電磁閥單獨控制4臺液壓油缸升降帶動抬升工裝動作;每臺抬升工裝分布于單節軌道車輛車輪下方,每臺工裝上安裝有一個位移傳感器和一個稱重傳感器。試驗需要單獨控制8個液壓油缸動作抬升車輪(或同側4個液壓油缸同時動作抬升單側車輪),位移和稱重傳感器同步采集抬升高度及輪重數據并計算輪重減載率,根據試驗需要抬升到指定高度時自動停止。分析試驗系統測控要求,建立如圖1所示測控系統結構圖。

圖1 測控系統結構圖
8臺液壓油缸分別由2個液壓站控制,每個液壓站由一個控制箱控制,控制箱內集成PLC(CPU224+ EM231模擬量擴展模塊)、傳感器數據采集、控制電路模塊,2個控制箱由一根通信電纜與上位機PC相連,上位機在LabVIEW環境下編寫程序,通過PPI協議建立PC與PLC通信,實現軌道車輛均衡試驗測控系統的測控功能。
軌道車輛均衡試驗測控系統包括16個傳感器數據采集、18個電磁閥開關控制(1臺液壓站由1個電磁閥控制總油壓,8個電磁閥分別控制4臺油缸加壓、泄壓)、2臺液壓站油泵電機電源開關控制,每臺液壓站各配備一個控制箱。控制箱接外部三相電源供電,由三級斷路器、繼電器、接觸器給液壓站油泵電機供電,由二級斷路器從外部三相電中引220 V交流電給CPU224供電,CPU224通過輸出開關量給繼電器控制液壓站電磁閥開關、液壓站油泵電機電源開關,位移傳感器和稱重傳感器數據通過EM231模擬量輸入模塊上傳給CPU224,2臺CPU224由一根通信電纜連接與上位機PC通信,上位機處理傳感器數據并發送開關量控制指令給下位機。
由上文分析可知,傳感器數據通過EM231模塊傳送到CPU224,再通過PPI協議建立上位機PC與下位機CPU的通信,將傳感器數據傳送給上位機。因此,首先需要將EM231采集到的傳感器模擬量數據傳送到CPU的變量存儲器V中,在PLC中編寫如圖2所示程序塊,將AIW0中字節傳送到VW100中存儲。

圖2 將AIW0中字節傳送到VW100中存儲的程序塊
將單節車輛一位側的4臺抬升工裝與CPU地址為2的控制箱相連,相應的4個位移傳感器和4個稱重傳感器分別為1、3、5、7號傳感器,二位側的4臺抬升工裝與CPU地址為3的控制箱相連,相應的4個位移傳感器和4個稱重傳感器分別為2、4、6、8號傳感器。一位側位移傳感器和稱重傳感器采集到的數據對應存儲位置如表1所示,二位側存儲在地址為3的CPU中,存儲位置相同。

表1 一位側位移傳感器和稱重傳感器數據存儲位置
PLC通過輸出開關量給繼電器控制液壓站電磁閥開關和液壓站油泵電機電源開關,可直接利用PPI協議中的寫指令,從上位機PC直接寫入指令給下位機。兩個控制箱分別控制一位側、二位側, CPU開關量輸出端口Q0.0~Q1.1分別控制1、3、5、7(2、4、6、8)號工裝加壓、泄壓以及液壓站油壓、電機電源。
3.1 軌道車輛均衡試驗測控系統PPI協議指令
通過PPI協議建立上位機PC與下位機CPU224之間的通信,點對點接口(PPI)是為S7-200系統開發的通信協議。PPI是一種主從協議;主站設備發送要求到從站設備,從站設備響應;從站不主動發信息,只是等待主站的要求和對要求做出響應[10~11]。目前,PPI協議的全部內容并未公布,但是通過串口監視等方式可以找出PPI協議的關鍵幀格式,對其進行分析后即可根據軌道車輛均衡試驗測控系統需要編寫相應的指令。
3.1.1 上位機讀取PLC中數據PPI協議
上位機讀取PLC中數據時,按照表2中的數據格式發送讀取指令給PLC,PLC返回E5,上位機再按照表3中的數據格式發送確認指令給PLC,PLC返回數據,完成讀取作業(表中指令為十六進制)。

表2 PPI協議讀取指令格式
按照表2中指令格式,讀取單個不同傳感器時,只需要將CPU地址改為該傳感器所在CPU地址,將KU(核心部分)中偏移量改為傳感器數據存儲對應位置字地址乘以8的十六進制表示,比如:VW100—100×8=800的十六進制表示為00 03 20,將FCS(校驗碼)改為對應的DA到KU的和。讀取一位側所有傳感器時,只需要將CPU地址改為02,將FCS(校驗碼)改為對應的DA到KU的和。

表3 PPI協議確認指令格式
按照表3中指令格式,不同位側PLC返回確認指令時只需將CPU地址改為該傳感器所在的CPU地址,同時將將FCS(校驗碼)改為對應的DA到FC的和。
讀取單個傳感器和多個傳感器時PLC返回數據格式不同,讀取單個傳感器數據時將PLC返回的數據中第25、26 byte轉化為十進制數,即得到了該傳感器的模擬量輸出;讀取一位側所有傳感器數據時,PLC返回的數據中第25、26 byte轉化為十進制數為1號位移傳感器的模擬量輸出,第27、28 byte轉化為十進制數為2號位移傳感器的模擬量輸出,以此類推即可得到一位側所有傳感器的模擬量輸出數據。
3.1.2 上位機向PLC寫入數據PPI協議
上位機向PLC寫入數據時,按照表3中的數據格式發送確認指令給PLC,PLC返回E5,上位機再按照表4中的數據格式發送寫指令給PLC,改變CPU輸出端口開關量(表中指令為十六進制)。
按照表3中指令格式,不同位側PLC發送確認指令時只需將CPU地址改為該傳感器所在CPU地址,同時將FCS(校驗碼)改為對應的DA到FC的和。

表4 PPI協議寫入指令格式
單側有車輪要抬升時,液壓站供電、加壓—Q1.1、Q1.0置1,且抬升該車輪對應的液壓缸,加壓—輸出端口置1,停止抬升時—置0;單側有車輪要下降時,液壓站供電、泄壓—Q1.1置1,Q1.0置0,且該車輪下降對應的液壓缸,泄壓—輸出端口置1,停止下降時置0。表4中1號車輪抬升對應的一位側CPU輸出端口Q1.1、Q1.0、Q0.0置1;二位側所有車輪抬升對應的二位側CPU輸出端口Q1.1、Q1.0置1,Q0.0、Q0.2、Q0.4、Q0.6置1,Q0.1、Q0.3、Q0.5、Q0.7置0,二進制表示為01010101。
從表4中寫入指令格式可以看出,與讀取指令相比,寫入指令的長度要比讀取指令的長度多,這是因為寫1個 byte指令長度比讀一個字節指令長度多5個byte,1B+5=20;功能碼6C為讀取,7C為寫入;第17 byte 05表示寫入,04表示讀取,第16 byte 05表示寫入的是位或者byte(即用1個 byte存儲);寫入長度01表示bit,02表示byte;存儲器類型第26 byte 01表示V區,00表示其他,第27 byte 84表示V,82表示Q;數據形式03表示位,04表示其他;數據位數01表示1 bit,08表示8 bit;1 bit寫入時,寫入值為1或0,8 bit寫入時,寫入值為8 bit二進制數轉換成的十六進制數,即二位側所有車輪抬升對應的輸出端口二進制表示01010101轉換為十六進制為55。按照以上格式,需要抬升或下降某個車輪時,只需改變相應的PPI協議指令即可。
3.2 軌道車輛均衡試驗測控系統程序開發
通過上述分析,已通過PPI協議建立了上位機PC與下位機PLC之間的通信,對下位機發送不同的指令即可實現讀取傳感器數據和控制液壓站動作的功能。在此基礎上,按照圖3所示軌道車輛均衡試驗測控系統流程圖編寫程序。
利用LabVIEW平臺,如圖4所示通過調用VISA串口配置函數建立通信,調用VISA寫入函數向PLC發送指令,調用VISA讀取函數從PLC中讀取數據,并根據軌道車輛均衡試驗測控系統需要開發操作程序,實現了單個車輪、單側車輪抬升到指定高度自動停止,抬升過程中顯示及保存位移傳感器和稱重傳感器數據并計算輪重減載率,自動生成試驗報表后下降,車輪落回原位的功能。

圖3 軌道車輛均衡試驗程序流程圖

圖4 VISA串口配置函數
本文通過分析軌道車輛均衡試驗系統測控需求,從方案設計、硬件集成、軟件開發3個方面介紹了測控系統研制過程,通過對PPI協議的分析,利用LabVIEW平臺,調用VISA接口函數建立了上位機PC與下位機PLC的通信,給出了程序中讀取傳感器數據和控制液壓站動作的PPI協議指令格式,完成了整套測控系統的開發。該系統已配合軌道車輛均衡試驗工裝在現場進行測試,測試結果表明,系統性能穩定,功能完整,運行效果良好。
參考文獻:
[1]向曉漢,劉搖搖.西門子S7-200PLC完全精通教程[M].北京:化學工業出版社,2014.
[2]黃大偉.LabVIEW與S7-200PLC PPI協議通訊的設計與實現[J].自動化與儀器儀表,2014(4):94-95.
[3]盧志俊.PPI協議的監控研究[D].重慶:西南大學,2008.
[4]龍永輝, 孫中生.Siemens PPI協議分析[J].工業控制計算機,2005,18(7):11-12.
[5]潘必勝.西門子PLC的PPI通信協議研究[J].單片機與嵌入式系統應用,2009(12):35-37.
[6]許廣彬,王清靈.西門子PPI協議混合類型多單元報文協議剖析[J].機械工程與自動化,2009,4(2):40-42.
[7]許其義,武玉強,初學導.西門子S7-200 PPI協議獲取及其通信控件研究[J].自動化儀表,2008,29(1):33-36.
[8]蔡錦達,倪建輝,郭 銳,等.PPI協議與西門子S7-200PLC的通訊[J].工業控制計算機,2006,19(4):13-14.
[9]彭魏臻,麻紅昭,張 華,等.PPI協議分析[J].化工自動化及儀表,2006,33(4):47-49.
[10]西門子(中國)有限公司自動化與驅動集團.深入淺出西門子S7-200 PLC[M].北京:北京航空航天大學出版社,2003.
[11]李江全,劉 榮,李 華,等.西門子S7-200 PLC數據通信及測控應用[M].北京:電子工業出版社,2011.
責任編輯 徐侃春
Measurement and Control System of equalizing test for rolling stock based on PPI protocol in LabVIEW environment
LI Tian,LU Zhaijun
( Key Laboratory of Traffc Safety on Track of Ministry of Education,Central South University,Changsha 410075,China)
Equalizing test for rolling stock requires 8 sets of hydraulic oil cylinder which are controlled independently to drive the lift structure,needs to collect and store lifting height and wheel load data,calculate reduction rate of wheel load,and automatically stop when the rolling stock is elevated to a certain height.In this paper ,according to the test need,a set of Measurement and Control System was developed,the upper computer was PC,the lower machine was S7-200 PLC,in the LabVIEW programming environment,the VISA interface function was called to establish the communication with the PC and PLC by PPI protocol,the data of displacement sensor and weighing sensor were collected and processed to control the hydraulic oil cylinder.The implemented Measurement and Control System of equalizing test for rolling stock could meet the needs of measurement and control.
PPI protocol;PLC;LabVIEW;Measurement and Control System
U270.14∶TP39
A
1005-8451(2016)11-0022-05
2016-04-21
中車青島四方機車車輛股份有限公司科研課題(SF/JG-2014-45)。
李 田,在讀碩士研究生;魯寨軍,副教授。