永久免费国产网站_中文欧美乱码视频_欧美三级特黄片在线免费观看_亚洲综合日韩中文字幕v在线_日韩亚洲一区av_少妇高潮呻吟在线观看_日本少妇强奸中文字幕高清_欧美不卡一级黄片_国产av.无码久久_性行为视频免费国产

? ? ? ?

咨詢電話

ENGLISH0755-88840386
新聞中心

咨詢電話

0755-88840386
您的位置:首頁 > 新聞中心>詳情頁

用觸摸屏大字號(hào)實(shí)時(shí)顯示稱重儀表的數(shù)據(jù)

發(fā)布時(shí)間:2020-10-21 13:45:56 |來源:網(wǎng)絡(luò)轉(zhuǎn)載

0引言
隨著科學(xué)技術(shù)的進(jìn)步及生產(chǎn)力水平的提高,工業(yè)生產(chǎn)朝著集成自動(dòng)化方向發(fā)展[1],在許多工業(yè)現(xiàn)場中都會(huì)用到稱重設(shè)備,而現(xiàn)在使用的稱重儀表顯示字體較小,對(duì)操作者來說,遠(yuǎn)距離讀數(shù)很不方便,特別是在工作量大、工作繁忙的時(shí)候,儀表顯示界面信息不夠清晰直觀將直接加重操作者的工作負(fù)擔(dān),故采用具有一定技術(shù)集成的觸摸屏與儀表進(jìn)行連接、通信,使之與儀表同步并大字號(hào)實(shí)時(shí)顯示測量數(shù)值,從而減輕操作者的負(fù)擔(dān),間接達(dá)到提高工作效率的目的。
1硬件系統(tǒng)組成與功能
1.1硬件系統(tǒng)組成
該文硬件系統(tǒng)由觸摸屏、稱重儀表[2]、稱重傳感器、220V交流電源和24V直流電源構(gòu)成,硬件結(jié)構(gòu)如圖1所示

儀表系統(tǒng)硬件結(jié)構(gòu)圖

系統(tǒng)工作原理:稱重傳感器讀取稱重重量并在托利多稱重儀表顯示出來,供產(chǎn)品檢測人員記錄查看,托利多稱重儀表通過RS232串口數(shù)據(jù)線把重量數(shù)據(jù)傳到觸摸屏內(nèi)部的數(shù)據(jù)內(nèi)存區(qū)中,內(nèi)部處理器對(duì)傳來的數(shù)據(jù)進(jìn)行截取、校驗(yàn)、二次校驗(yàn),再轉(zhuǎn)換成有效信息,最后在觸摸屏上顯示出來,實(shí)現(xiàn)與稱重儀表的同步顯示,方便工作人員對(duì)工業(yè)現(xiàn)場稱重狀態(tài)的實(shí)時(shí)監(jiān)視。
1.2硬件系統(tǒng)功能
觸摸屏:由24V直流電源供電,通過RS232串口通信數(shù)據(jù)線接收稱重儀表傳來的實(shí)時(shí)數(shù)據(jù),然后
對(duì)接收的數(shù)據(jù)進(jìn)行截取、存儲(chǔ)、校驗(yàn)、轉(zhuǎn)換,沒有錯(cuò)誤后實(shí)時(shí)顯示出來,最后在觸摸屏上以大字號(hào)實(shí)時(shí)顯示稱重儀表上的數(shù)據(jù)值。
稱重儀表:由220V交流電源供電,通過信號(hào)線對(duì)稱重傳感器傳來的模擬量數(shù)據(jù)進(jìn)行A/D轉(zhuǎn)換[3],存儲(chǔ)到稱重儀表中并顯示稱重值,并把轉(zhuǎn)換的數(shù)字量數(shù)據(jù)發(fā)送給觸摸屏。
稱重傳感器:用于稱重重量,獲得具體的重量測量信息,并通過RS232串口通信數(shù)據(jù)線將獲得的重量數(shù)據(jù)以模擬量的形式傳輸給稱重儀表。
2上位機(jī)程序設(shè)計(jì)
2.1程序設(shè)計(jì)流程
軟件設(shè)計(jì)流程如圖2所示,

儀表軟件設(shè)計(jì)流程圖

基于威綸通EasyBuilderPro開發(fā)環(huán)境,一方面對(duì)組態(tài)界面開發(fā)環(huán)境的顯示進(jìn)行合理地組態(tài)布局,另一方面對(duì)通信方式進(jìn)行編程,借助內(nèi)部函數(shù)對(duì)儀表實(shí)時(shí)發(fā)過來的數(shù)據(jù)進(jìn)行加工處理,進(jìn)行數(shù)據(jù)截取、校驗(yàn)、轉(zhuǎn)換、顯示等步驟。
2.2通信數(shù)據(jù)傳送與處理
為使硬件系統(tǒng)與軟件系統(tǒng)很好地結(jié)合,兩者通信方式的參數(shù)設(shè)置需要一致,上電后對(duì)與通信數(shù)據(jù)有關(guān)的稱重儀表進(jìn)行參數(shù)設(shè)置,而軟件編程的算法是保證系統(tǒng)準(zhǔn)確實(shí)時(shí)顯示的核心部分。

2.2.1對(duì)IND236稱重儀表通信設(shè)置
IND236稱重儀表通過RS232接口進(jìn)行數(shù)據(jù)傳輸[4],選擇相應(yīng)型號(hào)的觸摸屏MT8121iE/MT8150iE(1024×768)進(jìn)行開發(fā),IND236稱重儀表支持兩種串行端口,分別為主板上的標(biāo)準(zhǔn)串口COM1和可選串口COM2,該文選用COM1為通信端口,并將其設(shè)為連續(xù)輸出的模式,IND236稱重儀表具有連續(xù)輸出模式的特點(diǎn),在傳輸中可以連續(xù)發(fā)送重量數(shù)據(jù)和稱重狀態(tài)信息,通過數(shù)據(jù)線把數(shù)據(jù)提供給觸摸屏,該數(shù)據(jù)含有17或18個(gè)字節(jié),按標(biāo)準(zhǔn)連續(xù)輸出的格式輸出[5],如表1所示,信息的起始標(biāo)志為STX,可查ASCII碼表得到,即0x02作為文本的開始,CR為結(jié)束標(biāo)志,即
為0x0D。

儀表標(biāo)準(zhǔn)連續(xù)輸出格式表

連續(xù)輸出格式說明:
1)ASCII文本開始字符(0x02),始終發(fā)送。
2)顯示的重量,可以是毛重或是凈重,6位,沒有小數(shù)點(diǎn)或符號(hào),不足6位前補(bǔ)空格。
3)皮重,具有6位皮重?cái)?shù)據(jù),在此顯示的字段中沒有小數(shù)點(diǎn)。
4)ASCII回車<CR>字符(0x0D)。
5)啟用和校驗(yàn)時(shí)需要校檢位的發(fā)送,校驗(yàn)和用于檢測數(shù)據(jù)發(fā)送中的錯(cuò)誤[6]。
由于觸摸屏MT8150iE使用COM1口與托利多儀表進(jìn)行通信,故將接口類型設(shè)置為“RS232”,然后對(duì)COM1口進(jìn)行通信參數(shù)設(shè)置,點(diǎn)擊COM1口對(duì)應(yīng)的“設(shè)置”,根據(jù)IND236對(duì)參數(shù)配置的要求,選用其默認(rèn)參數(shù)配置,將波特率設(shè)定為“9600”,數(shù)據(jù)位設(shè)定為“8Bits”,校驗(yàn)位設(shè)定為“None”,停止位設(shè)為“1Bits”,超時(shí)設(shè)為“1.0”,設(shè)備屬性窗口和通信端口設(shè)置如圖3所示。

設(shè)備屬性窗口和通信端口設(shè)置圖

2.2.2利用內(nèi)建函數(shù)接收數(shù)據(jù)
首先用到通信相關(guān)的函數(shù)即INPORT為內(nèi)建函數(shù),使得觸摸屏可以接收儀表數(shù)據(jù),具體格式為:IN ̄PORT(read_data[start],"device_name",read_count,return_value),從串行端口或者以太網(wǎng)絡(luò)讀取數(shù)據(jù)至HMI,這些資料保存在read_data[start]~read_data[start+read_count-1]一維數(shù)組中,device必須選擇為“FreeProtocol”PLC類型,read_count是設(shè)定需要讀取的命令位組長度,可以是常數(shù)或者變量,若此函數(shù)能夠成功的從PLC或者控制器中讀取數(shù)據(jù),則return_value值為1,否者為0,觸摸屏每個(gè)周期從儀表獲得數(shù)據(jù)后,根據(jù)開始標(biāo)志與結(jié)束標(biāo)志從中提取出所需信息,存入數(shù)組中等待進(jìn)行下一步解讀,程序語句如下:
INPORT(response1[0],"toledp",40,return_value)
∥數(shù)據(jù)讀至HMI?。矗拔恢翑?shù)組,返回值為1
i=StringLength(response1[0])
∥變量i為取數(shù)組response1[0]字符串長度
2.2.3數(shù)據(jù)截取與校驗(yàn)程序
為保證數(shù)據(jù)同步顯示,需要對(duì)儀表發(fā)來的數(shù)據(jù)實(shí)時(shí)處理,通過INPORT內(nèi)建函數(shù)對(duì)稱重儀表發(fā)來的數(shù)據(jù)進(jìn)行截取、校驗(yàn)、轉(zhuǎn)換處理,才能保證截取的數(shù)據(jù)達(dá)到同步顯示的效果,是保證稱重儀表同步正常顯示的關(guān)鍵一步,程序如下:
Ifi>=40then∥對(duì)于response1[0]長度大于40位的則清空緩存區(qū)
PURGE(1)∥i為短整型變量,如果大于40則清空COM1的緩沖區(qū)

jj=0∥給短整型變量jj賦初始值
forii=0to39∥ii的值從0~39,共40個(gè)
ifresponse1[ii]==0x02then∥對(duì)數(shù)組中的數(shù)據(jù)進(jìn)行判斷,哪個(gè)為0x02
jj=ii∥jj為短整型變量,代表第幾位是0x02,并跳出循環(huán)體
breakendif
next
forj=0to16∥把截取數(shù)據(jù)進(jìn)行賦值,i為短整型變量
ji1=ji+j
response[j]=response1[ji1]∥把截?。保肺粯?biāo)準(zhǔn)連續(xù)輸出存到response[0]一維數(shù)組中
next
endif
為保證稱重?cái)?shù)據(jù)在觸摸屏上顯示正確無誤,又增加了二次校驗(yàn)功能,使得顯示更加穩(wěn)定,經(jīng)過實(shí)驗(yàn),在半年多的實(shí)際應(yīng)用中,沒出現(xiàn)任何錯(cuò)誤,保證了用戶在實(shí)際應(yīng)用中的體驗(yàn),程序段如下:
ifresponse[0]==0x02andresponse[16]==0x0Dthen//檢驗(yàn)數(shù)組第1位、第17位是否滿足條件
GETBIT(response[1],A0,0)∥位狀態(tài)轉(zhuǎn)換,解析出A位數(shù)位0的數(shù)值
GETBIT(response[1],A1,1)∥位狀態(tài)轉(zhuǎn)換,解析出A位數(shù)位1的數(shù)值
GETBIT(response[1],A2,2)∥位狀態(tài)轉(zhuǎn)換,解析出A位數(shù)位2的數(shù)值
GETBIT(response[2],B1,1)∥位狀態(tài)轉(zhuǎn)換,解析出狀態(tài)字節(jié)B位數(shù)位1的值
GETBIT(response[2],B4,4)∥位狀態(tài)轉(zhuǎn)換,解析出狀態(tài)字節(jié)B位數(shù)位4的值
GETBIT(response[3],C0,0)∥位狀態(tài)轉(zhuǎn)換,解析出狀態(tài)字節(jié)C位數(shù)位4的值
GETBIT(response[3],C1,1)∥位狀態(tài)轉(zhuǎn)換,解析出狀態(tài)字節(jié)C位數(shù)位4的值
GETBIT(response[3],C2,2)∥位狀態(tài)轉(zhuǎn)換,解析出狀態(tài)字節(jié)C位數(shù)位4的值
ASCII2FLOAT(response[4],read_data,6)
endif
當(dāng)完成二次校驗(yàn)時(shí),則需要對(duì)截取的數(shù)據(jù)分段進(jìn)行譯碼處理,把帶有負(fù)數(shù)的單位以及稱重儀表中的單位對(duì)應(yīng)起來的數(shù)據(jù)進(jìn)行轉(zhuǎn)換處理,當(dāng)完成這些必要的步驟后,需要在觸摸屏上對(duì)應(yīng)位置正確顯示。

出稱重?cái)?shù)值以及單位,根據(jù)IND236的連續(xù)輸出格式,數(shù)組中第5~第10為重量的數(shù)值信息,故從數(shù)組中取出第5~第10的數(shù)據(jù),因組態(tài)軟件提供了眾多十分方便的轉(zhuǎn)換函數(shù),故在此可直接調(diào)用組態(tài)軟件攜帶的函數(shù)ASCII2FLOAT,將數(shù)據(jù)由ASCII碼轉(zhuǎn)為浮點(diǎn)數(shù),再從數(shù)組中分別取出3個(gè)狀態(tài)位對(duì)應(yīng)的數(shù)據(jù),即數(shù)組中的第2~第4個(gè)數(shù)據(jù),根據(jù)表提供的參數(shù)設(shè)置手冊,對(duì)IND236的狀態(tài)字節(jié)位的定義分別確定小數(shù)點(diǎn)位置、數(shù)值的正負(fù)和單位,對(duì)數(shù)值進(jìn)行相應(yīng)的處理并傳送到相應(yīng)的地址,程序如下:ASCII2FLOAT(response[4],read_data,6)
ifB1==1then∥狀態(tài)字節(jié)B位符號(hào)定義,B1為1則為負(fù)號(hào),為0則是正號(hào)
read_data=read_data∗(-1)∥顯示數(shù)據(jù)數(shù)值的正負(fù)號(hào)轉(zhuǎn)換
endif
ifA2==0andA1==1andA0==0then∥010代表小數(shù)點(diǎn)后沒有數(shù)值
result=readdata
_
endif
ifA2==0andA1==1andA0==1then∥011代表小數(shù)點(diǎn)后有一位數(shù)值
result=readdata/10
_
endif
ifA2==1andA1==0andA0==0then∥100代表小數(shù)點(diǎn)后有兩位數(shù)值
result=readdata/100
_
endif
SetData(result,"LocalHMI",LW,20,1)
ifB4==0then∥B4字符型變量,狀態(tài)字節(jié)B
位數(shù)位4,lb=0weightunit[0]=′l′weightunit[1]=′b′endif
ifB4==1then∥B4字符型變量,狀態(tài)字節(jié)B
位數(shù)位4,kg=1weightunit[0]=′K′weightunit[1]=′g′endif
ifC2==0andC1==0andC0==1then∥對(duì)應(yīng)的數(shù)位為001時(shí),重量單位為克(g)
weightunit[0]=′′weightunit[1]=′g′endif

ifC2==0andC1==1andC0==1then∥對(duì)應(yīng)的數(shù)位為011時(shí),重量單位為盎司(oz)
weightunit[0]=′o′weightunit[1]=′z′endif
2.3觸摸屏與稱重儀表大字號(hào)實(shí)時(shí)顯示
把需要的數(shù)據(jù)都解析出來后,調(diào)用內(nèi)建函數(shù),使傳過來的數(shù)據(jù)以與稱重儀表上的稱重值和所對(duì)應(yīng)的單位在觸摸屏中顯示出來[7],實(shí)物圖如圖4所示,不需要再連接任何型號(hào)的PLC等設(shè)備,既減少了設(shè)備成本又能準(zhǔn)確、實(shí)時(shí)傳輸并大字號(hào)顯示,滿足了客戶在多變化的工廠環(huán)境下的使用需求。

觸摸屏與稱重儀表大字號(hào)實(shí)時(shí)顯示實(shí)物圖

3結(jié)語
該文依托威綸通觸摸屏,使用梅特勒-托利多的工業(yè)電子秤為硬件基礎(chǔ),借助威綸通觸摸屏自帶的開發(fā)工具,使得系統(tǒng)上下位機(jī)更穩(wěn)定地配合,使用RS232串口通信接口來傳輸數(shù)據(jù),實(shí)現(xiàn)對(duì)稱重儀表數(shù)據(jù)大字號(hào)同步顯示,該系統(tǒng)經(jīng)調(diào)試運(yùn)行后現(xiàn)已投入使用,經(jīng)過半年多的現(xiàn)場運(yùn)行,表明該文數(shù)據(jù)傳輸可靠,效果理想,滿足了生產(chǎn)需求,程序代碼可移植性好,具有較大的市場推廣價(jià)值,系統(tǒng)設(shè)計(jì)方案簡單,經(jīng)濟(jì)、有效,同步性穩(wěn)定可靠,也提高了設(shè)備的可維護(hù)性,成本低,使用方便。

 

文章來源于網(wǎng)絡(luò)轉(zhuǎn)載,侵刪

分享到