關(guān)欣 裴銳
【摘要】 應(yīng)用InduSoft組態(tài)軟件的MODBU驅(qū)動組件,實(shí)現(xiàn)串口與下位機(jī)硬件的連接。通過Modbus Slave仿真下位機(jī)硬件設(shè)備與InduSoft上位機(jī)組態(tài)進(jìn)行通信測試,驗(yàn)證了0X、1X、3X、4X、FP及DW命令寄存器讀寫操作的可行性。
【關(guān)鍵詞】 MODBU;RTU;InduSoft;組態(tài);串口
【DOI編碼】 10.3969/j.issn.1674-4977.2019.01.010
Abstract: The connection between serial port and lower computer hardware is realized by using the MODBU drive component of InduSoft configuration software. The feasibility of read-write operation of 0X,1X,3X,4X,F(xiàn)P and DW command register was verified through the communication test between the lower computer hardware device of Modbus Slave simulation and the upper unit state of InduSoft.
Key words: MODBU;RTU;InduSoft;configuration software;serial port
InduSoft Web Studio V7.1軟件是一套功能強(qiáng)大的自動化整合開發(fā)工具,包含所有開發(fā)一個全方位的SCADA(Supervisory Control and Data Acquisition)、HMI(Human-Machine Interface)、嵌入式控制系統(tǒng)所需的基本組件。InduSoft組態(tài)軟件的驅(qū)動程序(Dll文件形式),通過多種通信協(xié)議與下位機(jī)設(shè)備連接,例如PLC、回路測試、變送器等。工業(yè)現(xiàn)場應(yīng)用中使用最為廣泛的就是MODBUS(RTU和ASCII)協(xié)議。在InduSoft軟件中調(diào)用MODBU和MOTCP驅(qū)動文件以實(shí)現(xiàn)串口和網(wǎng)口的設(shè)備連接。
1 驅(qū)動安裝
1.1 設(shè)備設(shè)置
串行通訊是按電力接口標(biāo)準(zhǔn)及通訊協(xié)議來做區(qū)分的,而通訊接口包括RS-232-C、RS-422、RS-485、USB等。而其中RS-485串行通訊因?yàn)橥ㄓ嵸|(zhì)量較為穩(wěn)定且通訊距離較長,所以被廣泛的應(yīng)用于工業(yè)控制系統(tǒng)上的通訊,泓格科技提供各種RS-485的解決方案。下位機(jī)設(shè)備有多種配置以實(shí)現(xiàn)串口通信,但是為了便于上位機(jī)的調(diào)試和應(yīng)用,推薦采用默認(rèn)配置如下:
Protocol:RTU
Baud Rate:9600
Data Bits:8
Stop Bits:1
Parity:None
RS-485串行通訊,僅對接口的電力特性做出規(guī)范,其中不會涉及到通訊協(xié)議,例如Modbus RTU/ASCII、DCON等通訊協(xié)議是通過RS-485來進(jìn)行通訊。需要注意的是當(dāng)模塊通訊距離過長,在高波特率傳輸情況下,數(shù)據(jù)可能會受到外界的干擾程度而隨之變高,長距離傳輸時傳輸能力也不夠,這種情況可以采用泓格的RS-485 Repeater加強(qiáng)信號。通常工業(yè)環(huán)境存在著許多的干擾源(EMI/RFI),泓格還具有RS-485接口轉(zhuǎn)光纖接口的解決方案,由于光纖對上述干擾具有免疫力,可以大大提高信號的穩(wěn)定性和傳輸距離,對系統(tǒng)開發(fā)者來說可以更加便捷可靠。
1.2 InduSoft設(shè)置
在InduSoft軟件Communication頁的Drivers目錄樹下,右鍵點(diǎn)擊添加驅(qū)動。在列表中選擇MODBU驅(qū)動添加至Selected drivers,右鍵Settings中配置9600-8-n-1與設(shè)備側(cè)串口配置參數(shù)保持一致,如圖1、圖2所示。
2 驅(qū)動表單
MODBU驅(qū)動包含一個Main Driver Sheet和一個或多個Standard Driver Worksheet。Main Driver Sheet驅(qū)動表單在工程運(yùn)行階段一直運(yùn)行采集下位機(jī)數(shù)據(jù),而Standard Driver Worksheet表單可以根據(jù)自定義變量的觸發(fā)變化來采集下位機(jī)的數(shù)據(jù)[1]。
2.1 主驅(qū)動表單(Main Driver Sheet)
主驅(qū)動表單Disable項(xiàng)表達(dá)式為空或者等于0時,Main Driver Sheet表單執(zhí)行采集操作,否則表單中的配置不起作用;Read Completed項(xiàng)中的變量在表單讀取操作結(jié)束以后進(jìn)行Toggle;Write Completed項(xiàng)中的變量在表單讀取操作結(jié)束以后進(jìn)行Toggle; Read Status項(xiàng)讀取操作返回值賦給變量;Write Status項(xiàng)讀取操作返回值賦給變量;Action項(xiàng)填寫read(連續(xù)不斷的一直讀取更新變量)、write(當(dāng)變量值變化時將其寫入下位機(jī)設(shè)備)、read&write(兼顧讀寫功能);Scan項(xiàng)填寫Always(不斷讀取用于監(jiān)控告警記錄等變量)、Screen(界面顯示用到的變量)、Auto(自動判斷Always或者Screen),Station項(xiàng)是設(shè)備地址,而IO Address項(xiàng)是命令類型及地址值,如圖3所示。
2.2 標(biāo)準(zhǔn)驅(qū)動表單(Standard Driver Worksheet)
標(biāo)準(zhǔn)驅(qū)動表單Increase Priority項(xiàng)當(dāng)表格動作被觸發(fā)時,讀和寫操作放在隊(duì)列的最前面。但是需要注意的是一旦勾選,表單就會不斷的觸發(fā)東西,會造成其他表單操作不執(zhí)行。Read Tagger項(xiàng)變量發(fā)生變化時,觸發(fā)表格的讀取操作;Enable Read When idle項(xiàng)變量值大于0時觸發(fā)表格的讀取操作。Write Trigger項(xiàng)變量發(fā)生變化時觸發(fā)表格的寫入操作;Enable Write On Tag Trigger項(xiàng)的變量值大于0時,Write Trigger項(xiàng)功能才有效,Station項(xiàng)是設(shè)備地址,而Type:Address Reference項(xiàng)是命令類型及地址值,如下圖4所示[2]。
3 Modbus slave測試
為了驗(yàn)證InduSoft組態(tài)軟件調(diào)用MODBU驅(qū)動配置及應(yīng)用的正確性,選用Modbus slave軟件模擬0X、1X、3X、4X、FP及DW的從機(jī)數(shù)據(jù)類型,如同下位機(jī)設(shè)備的串口默認(rèn)配置,同樣將串口配置成9600-8-n-1,如圖5所示[3]。
以0X為例,仿真00001至00010的下位機(jī)設(shè)備開關(guān)量IO狀態(tài),測試InduSoft界面是否可以正確的讀寫寄存器參數(shù),如圖6、圖7所示,Enable Main Driver Sheet勾選后觸發(fā)主驅(qū)動表單;Enable Read When Idle觸發(fā)標(biāo)準(zhǔn)驅(qū)動表單;Enable Write On Tag Change使寫入操作有效[4-5]。
4 結(jié)論
應(yīng)用InduSoft組態(tài)軟件的MODBU驅(qū)動開發(fā)上位機(jī)組態(tài)界面,Modbus Slave仿真下位機(jī)硬件,通過0X、1X、3X、4X、FP及DW命令的讀寫操作驗(yàn)證了MODBU驅(qū)動應(yīng)用的可行性,驅(qū)動寄存器測試如表1所示。經(jīng)過測試,組態(tài)軟件讀寫穩(wěn)定可靠,易于操作,達(dá)到了預(yù)期的效果。
【參考文獻(xiàn)】
[1] 朱桂鳳,田鶯,田宇.基于MSComm的串口通訊及PLC系統(tǒng)監(jiān)控軟件開發(fā)[J].計算機(jī)工程與設(shè)計,2006(6):1101-1104.
[2] 翟希述,王寶興,范淼.基于Visual C#的串口通信程序設(shè)計[J].電子科技,2011(2):24-26.
[3] 詹根基,郭厚焜.基于Visual Basic的數(shù)據(jù)采集卡控制技術(shù)[J].華東交通大學(xué)學(xué)報,2005(4):81-83.
[4] 呂小師,毋琦,呂小慈,等.基于Visual Basic語言的隧道爆破設(shè)計系統(tǒng)[J].價值工程,2012(24):225-226..
[5] 潘偉.Visual Basic編寫布氏硬度檢測系統(tǒng)的設(shè)計[J].電子技術(shù)與軟件工程.2014(13):123-124.