朱鋁芬,呂國(guó)芳
(河海大學(xué) 能源與電氣學(xué)院,江蘇 南京 211100)
新拌混凝土測(cè)試系統(tǒng)的Modbus-RTU多從站設(shè)計(jì)
朱鋁芬,呂國(guó)芳
(河海大學(xué) 能源與電氣學(xué)院,江蘇 南京 211100)
在新拌混凝土流變性測(cè)試系統(tǒng)的開(kāi)發(fā)中,為了實(shí)現(xiàn)觸摸屏Weinview MT8100i與多臺(tái)MSP430的串行穩(wěn)定通訊,采用了基于Modbus-RTU通訊協(xié)議的多從站設(shè)計(jì)。多從站接收?qǐng)?bào)文、地址對(duì)比后,由站號(hào)匹配的MSP430解包辨識(shí)、響應(yīng)請(qǐng)求、打包發(fā)送反饋報(bào)文,觸摸屏刷新界面。通過(guò)觸摸屏與多單片機(jī)的主從Modbus-RTU通訊,一個(gè)觸摸屏能對(duì)多個(gè)測(cè)試儀進(jìn)行啟??刂?、過(guò)程監(jiān)控、圖形擬合、性能評(píng)估。
Modbus-RTU;地址匹配;功能辨識(shí);響應(yīng)請(qǐng)求;反饋報(bào)文
先澆筑后做標(biāo)準(zhǔn)抗壓強(qiáng)度試驗(yàn)的混凝土質(zhì)量檢測(cè)方法是沒(méi)有預(yù)知性的[4],為了在澆筑前預(yù)知混凝土的流變性,需要在現(xiàn)場(chǎng)對(duì)大批量新拌混凝土的流動(dòng)性、粘滯性進(jìn)行實(shí)時(shí)檢測(cè)。在Modbus-RTU協(xié)議下,虛擬PLC設(shè)備MSP430與觸摸屏成功通訊,實(shí)現(xiàn)低成本化、可視化、自動(dòng)化檢測(cè)。為加快檢測(cè)效率,需要多MSP430同時(shí)檢測(cè)不同配合比的混凝土,經(jīng)比較選擇出最佳配合比。一定程度上,觸摸屏與多MSP430通訊的穩(wěn)定性決定了測(cè)試系統(tǒng)的可靠性,因此Modbus-RTU多從站的設(shè)計(jì)是非常重要的。
公式(1)是“兩點(diǎn)法”測(cè)試混凝土流變性的數(shù)學(xué)模型:
式中:D為旋轉(zhuǎn)葉片的旋轉(zhuǎn)直徑,h為旋轉(zhuǎn)葉片長(zhǎng)度,M為旋轉(zhuǎn)扭矩,n為轉(zhuǎn)速,R為料漿盒高度,r為旋轉(zhuǎn)葉片半徑,τ為剪切應(yīng)力,γ為剪切速率,τ0為屈服應(yīng)力,η為粘度系數(shù)。
MSP430控制電機(jī)帶動(dòng)旋轉(zhuǎn)葉片在新拌混凝土中轉(zhuǎn)動(dòng),由扭矩傳感器測(cè)出旋轉(zhuǎn)葉片在轉(zhuǎn)速n下的扭矩M,由M轉(zhuǎn)化得剪切應(yīng)力τ,由n轉(zhuǎn)換得剪切速率γ,通過(guò)最小二乘法擬合出不同配合比下混凝土的γ-τ曲線圖,確定流變參數(shù)τ0、η。
測(cè)試系統(tǒng)結(jié)構(gòu)框圖如圖1所示,觸摸屏對(duì)多個(gè)MSP430的啟停、轉(zhuǎn)速、轉(zhuǎn)動(dòng)時(shí)間等參數(shù)進(jìn)行設(shè)置;啟動(dòng)后,獨(dú)立的多MSP430同時(shí)對(duì)不同配合比的新拌混凝土進(jìn)行采樣、低高低轉(zhuǎn)速攪拌測(cè)扭矩;從站MSP430將各自檢測(cè)到的扭矩值、溫度及分析得到的屈服應(yīng)力、粘滯系數(shù)反饋給觸摸屏;觸摸屏刷新流變參數(shù)測(cè)定界面。
測(cè)定新拌混凝土流變參數(shù)的關(guān)鍵就在于觸摸屏與多MSP430的通訊。使用RS-485總線技術(shù),將觸摸屏設(shè)置為Modbus-Server,將多個(gè)MSP430設(shè)置為不同站號(hào)的Modbus-Client,透過(guò)Modbus-RTU協(xié)議,實(shí)現(xiàn)主從機(jī)關(guān)聯(lián)信息的同步更新。
圖1 測(cè)試系統(tǒng)結(jié)構(gòu)圖Fig.1 Structure diagram of the testing system
Modbus-RTU多從站通訊的實(shí)質(zhì)是主從模式[2],先由主機(jī)發(fā)出請(qǐng)求報(bào)文,多從站通過(guò)站號(hào)識(shí)別自己是否為目標(biāo)從站,如果站號(hào)與自己的獨(dú)立地址相匹配則響應(yīng)請(qǐng)求報(bào)文,否則不做響應(yīng),主機(jī)接收到目標(biāo)從站的反饋報(bào)文后解包提取信息域、更新信息,然后主機(jī)再發(fā)送下一個(gè)請(qǐng)求報(bào)文。
表1為Modbus-RTU報(bào)文結(jié)構(gòu),開(kāi)始、結(jié)束至少要有3.5個(gè)字符的空閑間隔,整個(gè)報(bào)文連續(xù)且傳輸?shù)膬蓚€(gè)連續(xù)字節(jié)時(shí)間間隔必須小于1.5個(gè)字符[1]。
表1 Modbus-RTU報(bào)文結(jié)構(gòu)Tab.1 Structure of Modbus-RTU message
為正常通訊,需做如下設(shè)置:在MTP程序的設(shè)備列表中增加多個(gè)Modbus-RTU類型的PLC設(shè)備,設(shè)備接口為RS-485,站號(hào)對(duì)應(yīng)為目標(biāo)MSP430的站號(hào)。觸摸屏COM口與從機(jī)MSP430的USART串行口通訊設(shè)置必須一致,設(shè)置波特率為9600、無(wú)校驗(yàn)位、8字符、2個(gè)停止位。
從站MSP430為實(shí)現(xiàn)報(bào)文接收功能,TA、串口中斷必須相互配合。串口負(fù)責(zé)接收字符,TA負(fù)責(zé)判別接收相鄰字符的時(shí)間間隔;如果時(shí)間間隔小于1.5字符空閑間隔,則接收的字符有效;如果時(shí)間間隔為1.5-3.5字符空閑間隔,則發(fā)送出錯(cuò);如果超時(shí)3.5字符空閑間隔沒(méi)有接收到字符,則一個(gè)完整報(bào)文發(fā)送結(jié)束。MSP430接收?qǐng)?bào)文的流程圖如圖2所示。
圖2 MSP430接收?qǐng)?bào)文流程圖Fig.2 Flow chart of receiving message by MSP430
Modbus-RTU 協(xié)議的設(shè)備類型為 0x、1x、3x、4x、5x、6x,這些設(shè)備類型及地址構(gòu)成了不同的功能碼、信息域、驗(yàn)證碼,產(chǎn)生不同的指令報(bào)文發(fā)送給從機(jī)。MSP430通過(guò)地址對(duì)比,判斷自己是否為目標(biāo)從機(jī),站號(hào)匹配的目標(biāo)MSP430響應(yīng)Modbus-RTU報(bào)文。
MSP430作為Modbus-RTU Slave,本身并不存在響應(yīng)Master的程序,需要根據(jù)不同的指令報(bào)文,對(duì)報(bào)文的功能碼,信息域的起始地址、數(shù)據(jù)總位數(shù)分析后,反饋相應(yīng)CPU寄存器、Flash存儲(chǔ)器的值至觸摸屏。目標(biāo)MSP430響應(yīng)報(bào)文流程如圖3所示。
觸摸屏接收目標(biāo)MSP430發(fā)送的反饋報(bào)文,對(duì)報(bào)文進(jìn)行分析,如果接收到Modbus-RTU發(fā)送出錯(cuò)、CRC校驗(yàn)出錯(cuò)等報(bào)錯(cuò)報(bào)文,則作出相應(yīng)的錯(cuò)誤處理并重新發(fā)送請(qǐng)求報(bào)文;如果接收成功響應(yīng)反饋報(bào)文,則接收來(lái)自MSP430的有效信息,發(fā)送下一請(qǐng)求報(bào)文。
圖3 MSP430響應(yīng)報(bào)文流程圖Fig.3 Flow chart of response message of MSP430
Modbus-RTU協(xié)議下的寄存器都是16-bit型的,報(bào)文信息域以字節(jié)為單位,傳輸時(shí)先發(fā)送16-bit的高字節(jié),再發(fā)送16-bit的低字節(jié)。浮點(diǎn)數(shù)占用4個(gè)字節(jié)的存儲(chǔ)空間,使用兩個(gè)連續(xù)地址的寄存器保存、顯示[5]。在傳輸浮點(diǎn)數(shù)時(shí),先將浮點(diǎn)型轉(zhuǎn)換為32-bit型,保存在臨時(shí)數(shù)組floattemp[4]中;如果地址類型是 3x、4x、6x,則按照低 16-bit的高字節(jié)、低 16-bit的低字節(jié)、高16-bit的高字節(jié)、高16-bit的低字節(jié)的順序發(fā)送;如果地址類型是5x,則按照高16-bit的高字節(jié)、高16-bit的低字節(jié)、低16-bit的高字節(jié)、低16-bit的低字節(jié)的順序發(fā)送。
為了測(cè)得不同轉(zhuǎn)速下扭矩傳感器的扭矩值,MSP430采用多次采樣求平均值的數(shù)字濾波技術(shù)。在同一轉(zhuǎn)速下,旋轉(zhuǎn)葉片在步進(jìn)電機(jī)的帶動(dòng)下6檔速按照低速—高速—低速的順序轉(zhuǎn)動(dòng),每個(gè)檔速等間隔采樣10次,完成1次全程檢測(cè),扭矩值至少占用220個(gè)字節(jié)的存儲(chǔ)空間。由于施工現(xiàn)場(chǎng)環(huán)境惡劣,一般將檢測(cè)值保存在Flash內(nèi),采集完之后再將這些扭矩值批量傳送到觸摸屏。
MSP430的Flash信息存儲(chǔ)器為每段128字節(jié),分別為信息存儲(chǔ)器A、B。在測(cè)試系統(tǒng)中,通過(guò)TB等時(shí)間間隔觸發(fā)ADC12單通道單次轉(zhuǎn)換,將相應(yīng)的ADC12MEM扭矩值的高、低字節(jié)分別保存在Flash A、B信息存儲(chǔ)器中。當(dāng)用戶查詢某種配合比混凝土不同轉(zhuǎn)速下的扭矩值時(shí),觸摸屏向?qū)?yīng)目標(biāo)從機(jī)發(fā)送查詢3x1—3x220的指令報(bào)文,目標(biāo)從機(jī)讀取Flash A、B的值,轉(zhuǎn)換得到對(duì)應(yīng)的扭矩值,然后再發(fā)送給觸摸屏,具體程序如下:
為了預(yù)見(jiàn)新拌混凝土測(cè)試儀的工作穩(wěn)定性,需要查看混凝土同一轉(zhuǎn)速下的10個(gè)扭矩檢測(cè)值的波動(dòng)性,如果10個(gè)檢測(cè)值波動(dòng)不大,則說(shuō)明檢測(cè)到的扭矩值是可靠的,否則無(wú)效。同一配合比新拌混凝土在不同轉(zhuǎn)速下的扭矩測(cè)定界面如圖4所示。
圖4 扭矩測(cè)定界面Fig.4 Interface of torque determination
測(cè)試系統(tǒng)經(jīng)長(zhǎng)時(shí)間連續(xù)運(yùn)行后 ,測(cè)試數(shù)據(jù)未見(jiàn)劇烈波動(dòng),說(shuō)明測(cè)試裝置時(shí)穩(wěn)定的。
試驗(yàn)采用2臺(tái)MSP430分別對(duì)兩種不同配合比的混凝土進(jìn)行扭矩值采樣、求解平均扭矩值,分別計(jì)算得到不同轉(zhuǎn)速下的剪切速率、剪切應(yīng)力,擬合得到各自的γ-τ曲線圖及流變參數(shù) τ0、η。
試驗(yàn)結(jié)果如圖5所示。
圖5 流變參數(shù)測(cè)定界面圖Fig.5 Interface of determination of rheological parameters
文中主要研究了Modbus-RTU通訊協(xié)議在新拌混凝土測(cè)試系統(tǒng)中的運(yùn)用,著重介紹了多從站的設(shè)計(jì),實(shí)現(xiàn)了觸摸屏在一定距離內(nèi)對(duì)多個(gè)測(cè)試儀現(xiàn)場(chǎng)實(shí)時(shí)監(jiān)控的功能。但測(cè)試實(shí)驗(yàn)發(fā)現(xiàn),隨著通訊距離、從站數(shù)目的大幅度增加,Modbus-RTU主從通訊的實(shí)時(shí)性、可靠性、穩(wěn)定性略微下降。一主多從的實(shí)時(shí)控制技術(shù)廣泛應(yīng)用于自動(dòng)化檢測(cè)中,如何進(jìn)一步提高觸摸屏與多MSP430遠(yuǎn)距離通訊的性能指標(biāo)是非常值得深入探討的。
[1]蔣劍鋒,吳曉紅.色譜儀控制系統(tǒng)的Modbus從站設(shè)計(jì)與實(shí)現(xiàn)[J].科學(xué)技術(shù)與工程,2012,12(31):8344-8348.
JIANG Jian-feng,WU Xiao-hong.Design and implementation of Modbus Slave in the chromatograph control system[J].Science Technology and Engineering,2012,12 (31):8344-8348.
[2]高旭彬.基于MSP430單片機(jī)的Modbus協(xié)議軟件設(shè)計(jì)方法[J].工礦自動(dòng)化,2013,39(4):87-90.
GAO Xu-bin.A software design method of Modbus protocol based on MSP430 single-chip microcomputer[J].Industry and Mine Automation,2013,39(4):87-90.
[3]劉鵬.基于單片機(jī)和Modbus協(xié)議的停車(chē)器控制系統(tǒng)[J].集成電路運(yùn)用,2012,14(6):34-36.
LIU Peng.The switch machine control system based on MCU and Modbus[J].Integrated Circuit Application,2012,14(6):34-36.
[4]劉俊巖,周波,曲華明.新拌混凝土質(zhì)量檢測(cè)技術(shù)的應(yīng)用[J].濟(jì)南大學(xué)學(xué)報(bào),2002,16(3):251-253.
LIU Jun-yan,ZHOU Bo,QU Hua-ming.Application on inspecting technique of fresh concrete quality[J].Journal of JiNan University,2002,16(3):251-253.
[5]徐家林,王鶴,樸仁官.支持Modbus RTU協(xié)議的步進(jìn)電機(jī)控制器設(shè)計(jì)[J].電子設(shè)計(jì)工程,2012,20(17):87-89.
XU Jia-lin,WANG He,PIAO Ren-guan.Design of stepper motorcontrollersupporting Modbus RTU protocol[J].Electronic Design Engineering,2012,20(17):87-89.
[6]金海琴,陳興,翟林鵬.基于Modbus協(xié)議的串行通信的應(yīng)用[J].電子設(shè)計(jì)工程,2013,21(8):157-160.
JIN Hai-qin,CHEN Xing,ZHAI Lin-peng.Application of serial communication based on Modbus protocol[J].Electronic Design Engineering,2013,21(8):157-160.
[7]楊世超,陶正蘇.基于Modbus RTU通訊協(xié)議的伺服電機(jī)聯(lián)動(dòng)控制系統(tǒng)[J].電子設(shè)計(jì)工程,2012,20(1):91-94.
YANG Shi-chao,TAO Zheng-su.Servo-motor control system based on Modbus RTU communication protocol[J],Electronic Design Engineering,2012,20(1):91-94.
[8]尤慧芳.用Modbus實(shí)現(xiàn)觸摸屏與單片機(jī)的通信[J].工業(yè)控制計(jì)算機(jī),2008,21(12):63-66.
YOU Hui-fang.Communication between single chip microcomputer and touch-screen by Modbus[J].Industrial Control Computer,2008,21(12):63-66.
Design of Modbus-RTU multi-slave in the fresh concrete testing system
ZHU Lv-fen,LV Guo-fang
(School of energy and electric,Hohai University,Nanjing 211100,China)
In the development of fresh concrete testing system,to realize the stable serial-communication between the touchscreen Weinview MT8100i and several MSP430,the design of multi-slave based on Modbus-RTU protocol is used.After receiving datagram,multi slaves compare their addresses with the number of target slave-station.Then,through data unpacking,function identification,request response and data packing,the matching MSP430 sends feedback message and the touch-screen refreshes the interface.By the master-slave communication between the touch-screen and multi-SCM based on Modbus-RTU protocol,one touch-screen can realize functions of starting and stopping control,process monitoring,curve fitting and performance evaluation of several testing instruments.
Modbus-RTU;address matching;function identification;request response;feedback message
TN923
A
1674-6236(2014)13-0096-04
2013-10-14 稿件編號(hào):201310078
朱鋁芬(1989—),女,江蘇泰州人,碩士研究生。研究方向:自動(dòng)化檢測(cè)系統(tǒng)。