文 超,傅亭婷
(1.廣東力源工程技術(shù)有限公司,廣東 東莞 523077;2.東莞市眾誠節(jié)能技術(shù)服務(wù)中心,廣東 東莞 523077)
在工業(yè)物聯(lián)網(wǎng)(IIoT)高速發(fā)展的今天,設(shè)備的數(shù)據(jù)采集離不開數(shù)據(jù)采集協(xié)議。PLC(Programmable Logic Controller,PLC)控制系統(tǒng)中數(shù)據(jù)需被服務(wù)器采集,需PLC控制器的通信協(xié)議,比如西門子的MPI(Multi Point Interface,MPI)和莫迪康的Modbus等,這些標(biāo)準(zhǔn)的通信協(xié)議通常采用RS 485通訊總線實(shí)現(xiàn)一主一從或一主多從的組網(wǎng)方式。在RS 485通訊總線方式中,大多采用主機(jī)先發(fā)送請(qǐng)求命令給從機(jī),從機(jī)再應(yīng)答返回?cái)?shù)據(jù)的方式。但現(xiàn)實(shí)中某些廠家生產(chǎn)的儀表采用的通信協(xié)議卻是從機(jī)定時(shí)主動(dòng)上報(bào)數(shù)據(jù)的通訊方式,為了不影響其他設(shè)備采集數(shù)據(jù),在系統(tǒng)通訊組網(wǎng)時(shí),需為該類儀表單獨(dú)設(shè)計(jì)一條通訊鏈路。為了將該儀表接入一主多從的通訊鏈路,筆者采用觸摸屏及MCGS(Monitor and Control Generated System,MCGS)組態(tài)技術(shù),對(duì)從機(jī)定時(shí)主動(dòng)上報(bào)的數(shù)據(jù)解析、存儲(chǔ),再轉(zhuǎn)成標(biāo)準(zhǔn)的Modbus通訊協(xié)議后,即可將其接入到一主多從的RS 485網(wǎng)絡(luò)中。
某公司生產(chǎn)的靶式流量計(jì)就是一種主動(dòng)上報(bào)數(shù)據(jù)的從機(jī),流量計(jì)每隔0.5 s上報(bào)一次數(shù)據(jù),主動(dòng)上報(bào)幀內(nèi)容見表1所列。
對(duì)于數(shù)據(jù)主動(dòng)上報(bào)的從機(jī),筆者通過使用MCGSE(Monitor and Control Generated System for Embedded,MCGSE)嵌入式組態(tài)軟件、MCGS腳本驅(qū)動(dòng)開發(fā)工具和TPC7062Hi觸摸屏實(shí)現(xiàn)主動(dòng)上報(bào)數(shù)據(jù)幀的解析及顯示,再把觸摸屏采集到的數(shù)據(jù)通過標(biāo)準(zhǔn)Modbus協(xié)議轉(zhuǎn)出,然后接入RS 485總線中供其他主機(jī)讀取。
首先用MCGS腳本驅(qū)動(dòng)開發(fā)工具建立一個(gè)自定義驅(qū)動(dòng)程序,命名為“主動(dòng)上報(bào)數(shù)據(jù)設(shè)備”,在驅(qū)動(dòng)程序中定義兩個(gè)字節(jié)數(shù)組,分別為RecByteArr(接收數(shù)據(jù)數(shù)組)和DataByteArr(解析數(shù)據(jù)臨時(shí)數(shù)組)。其中,RecByteArr用以存放接收串口命令數(shù)據(jù),DataByteArr用以存放解析數(shù)據(jù)時(shí)臨時(shí)存放的數(shù)據(jù)。驅(qū)動(dòng)程序數(shù)據(jù)采集流程如圖1所示。
圖1 數(shù)據(jù)采集流程圖
在表1的數(shù)據(jù)域中,有2位BCD碼、4位BCD碼、6位BCD碼和8位BCD碼的數(shù)據(jù),為方便解析數(shù)據(jù),本文采用4位BCD碼進(jìn)行解析,共解析七個(gè)4位BCD碼,再通過運(yùn)算得到流量計(jì)實(shí)際上報(bào)數(shù)據(jù)。解析數(shù)據(jù)示意如圖2所示。
圖2 數(shù)據(jù)解析示意圖
按上述方法把流量計(jì)主動(dòng)上報(bào)數(shù)據(jù)的驅(qū)動(dòng)編譯并保存,然后放入MCGSE嵌入式組態(tài)軟件安裝目錄的自定義驅(qū)動(dòng)文件夾中,方便調(diào)用。
1.3.1 新建工程
啟動(dòng)MCGSE嵌入式組態(tài)軟件,進(jìn)入MCGS組態(tài)環(huán)境,新建一個(gè)工程,命名為“主動(dòng)上報(bào)數(shù)據(jù)采集”,選擇TPC7062Hi型觸摸屏,其他為默認(rèn)設(shè)置。
1.3.2 增加實(shí)時(shí)數(shù)據(jù)庫數(shù)據(jù)
在系統(tǒng)工作臺(tái)界面中的實(shí)時(shí)數(shù)據(jù)庫窗口,新增與流量計(jì)通訊需要采集的數(shù)據(jù)變量,流量計(jì)中的數(shù)據(jù)均為數(shù)值型變量,因此本工程需建立累積流量、瞬時(shí)流量、溫度等共計(jì)6個(gè)數(shù)值型變量,新建變量見表2所列。
表2 新建變量
1.3.3 設(shè)備組態(tài)
進(jìn)入系統(tǒng)工作臺(tái)界面中的設(shè)備組態(tài)窗口,增加通用串口父設(shè)備0,并對(duì)通用串口父設(shè)備0進(jìn)行基本屬性設(shè)置,選擇COM2作為串口端口號(hào),波特率設(shè)置為9 600 bps,數(shù)據(jù)位數(shù)為8,停止位數(shù)為1,數(shù)據(jù)校驗(yàn)方式設(shè)置為無校驗(yàn)。再增加通用串口父設(shè)備1,選擇COM4作為串口端口號(hào),其他設(shè)置同通用串口父設(shè)備0。然后在通用串口父設(shè)備0下添加主動(dòng)上報(bào)數(shù)據(jù)設(shè)備,在通用串口父設(shè)備1下添加Modbus串口數(shù)據(jù)轉(zhuǎn)發(fā)設(shè)備。設(shè)備組態(tài)窗口如圖3所示。最后在主動(dòng)上報(bào)數(shù)據(jù)設(shè)備和Modbus串口數(shù)據(jù)轉(zhuǎn)發(fā)設(shè)備的屬性設(shè)置中,參照表2增加設(shè)備通道與通道連接。
1.3.4 觸摸屏界面組態(tài)
在系統(tǒng)工作臺(tái)界面中的用戶窗口新建流量計(jì)數(shù)據(jù)顯示的用戶窗口,然后在窗口中動(dòng)畫連接組態(tài)流量計(jì)所有實(shí)時(shí)數(shù)據(jù)。最后把組態(tài)好的人機(jī)交互數(shù)據(jù)下載到TPC7062Hi觸摸屏中,讓觸摸屏與流量計(jì)連機(jī)運(yùn)行。在人機(jī)界面中看到流量計(jì)的實(shí)時(shí)數(shù)據(jù)與現(xiàn)場(chǎng)流量計(jì)表顯示數(shù)據(jù)一致,實(shí)現(xiàn)了本次設(shè)計(jì)的目的。觸摸屏顯示流量計(jì)的實(shí)時(shí)數(shù)據(jù)界面如圖4所示。
圖3 設(shè)備組態(tài)窗口
圖4 流量計(jì)實(shí)時(shí)數(shù)據(jù)顯示
MCGS腳本驅(qū)動(dòng)開發(fā)工具為主動(dòng)上報(bào)數(shù)據(jù)的流量計(jì)開發(fā)對(duì)應(yīng)驅(qū)動(dòng),通過MCGSE嵌入式組態(tài)軟件進(jìn)行組態(tài),最后把組態(tài)好的工程下載到TPC7062Hi觸摸屏中,從而將流量計(jì)主動(dòng)上報(bào)的數(shù)據(jù)轉(zhuǎn)換成標(biāo)準(zhǔn)的Modbus協(xié)議,接入一主多從的RS 485網(wǎng)絡(luò),供主站設(shè)備讀取。通過測(cè)試運(yùn)行,本次實(shí)驗(yàn)采集的數(shù)據(jù)準(zhǔn)確,系統(tǒng)運(yùn)行可靠,類似主動(dòng)上報(bào)數(shù)據(jù)的儀表接入一主多從網(wǎng)絡(luò)鏈路時(shí),可參考該設(shè)計(jì)方案。
[1]王傳艷, 陳婧.MCGS觸摸屏組態(tài)控制技術(shù)[M].北京:北京師范大學(xué)出版社,2015.
[2]詹俊鋼, 譚娜.MCGS觸摸屏與西門子變頻器的USS協(xié)議通訊設(shè)計(jì)與實(shí)踐[J].自動(dòng)化技術(shù)與應(yīng)用, 2017, 36(2):79-81.
[3]郭東平,趙媛.基于MCGS組態(tài)技術(shù)的溫室環(huán)境監(jiān)控系統(tǒng)設(shè)計(jì)[J].電氣自動(dòng)化,2016,38(4):97-99,105.
[4]張少明, 張禧博, 黃梓康,等.Modbus在工控PLC的應(yīng)用[J].機(jī)電工程技術(shù), 2016, 45(4):43-45.
[5]劉建昌.S7-300/400PLC工業(yè)網(wǎng)絡(luò)通信技術(shù)指南[M].北京:機(jī)械工業(yè)出版社, 2009.
[6]李濤,王雙友.智能化配電系統(tǒng)中Modbus協(xié)議轉(zhuǎn)換的實(shí)現(xiàn)[J].自動(dòng)化與儀表,2016,31(1):30-33.
[7]范留偉,高惠芳,王建軍,等.PLC和MCGS組態(tài)軟件在豬舍環(huán)境自動(dòng)控制系統(tǒng)中的應(yīng)用[J].物聯(lián)網(wǎng)技術(shù),2015,5(2):66-68.
[8]申健,張李偉.PLC與MCGS在電機(jī)監(jiān)控中的應(yīng)用研究[J].工業(yè)儀表與自動(dòng)化裝置,2016(6):50-52.