精品视频一区二区观看,欧美一区二区视频三区,日韩一区二区三区不卡,欧美中文综合在线视频,欧美综合网亚洲综合网

      ? ? ? ?

      咨詢電話

      ENGLISH0755-88840386
      新聞中心

      咨詢電話

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

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

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

      0引言
      隨著科學技術(shù)的進步及生產(chǎn)力水平的提高,工業(yè)生產(chǎn)朝著集成自動化方向發(fā)展[1],在許多工業(yè)現(xiàn)場中都會用到稱重設備,而現(xiàn)在使用的稱重儀表顯示字體較小,對操作者來說,遠距離讀數(shù)很不方便,特別是在工作量大、工作繁忙的時候,儀表顯示界面信息不夠清晰直觀將直接加重操作者的工作負擔,故采用具有一定技術(shù)集成的觸摸屏與儀表進行連接、通信,使之與儀表同步并大字號實時顯示測量數(shù)值,從而減輕操作者的負擔,間接達到提高工作效率的目的。
      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)部處理器對傳來的數(shù)據(jù)進行截取、校驗、二次校驗,再轉(zhuǎn)換成有效信息,最后在觸摸屏上顯示出來,實現(xiàn)與稱重儀表的同步顯示,方便工作人員對工業(yè)現(xiàn)場稱重狀態(tài)的實時監(jiān)視。
      1.2硬件系統(tǒng)功能
      觸摸屏:由24V直流電源供電,通過RS232串口通信數(shù)據(jù)線接收稱重儀表傳來的實時數(shù)據(jù),然后
      對接收的數(shù)據(jù)進行截取、存儲、校驗、轉(zhuǎn)換,沒有錯誤后實時顯示出來,最后在觸摸屏上以大字號實時顯示稱重儀表上的數(shù)據(jù)值。
      稱重儀表:由220V交流電源供電,通過信號線對稱重傳感器傳來的模擬量數(shù)據(jù)進行A/D轉(zhuǎn)換[3],存儲到稱重儀表中并顯示稱重值,并把轉(zhuǎn)換的數(shù)字量數(shù)據(jù)發(fā)送給觸摸屏。
      稱重傳感器:用于稱重重量,獲得具體的重量測量信息,并通過RS232串口通信數(shù)據(jù)線將獲得的重量數(shù)據(jù)以模擬量的形式傳輸給稱重儀表。
      2上位機程序設計
      2.1程序設計流程
      軟件設計流程如圖2所示,

      儀表軟件設計流程圖

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

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

      儀表標準連續(xù)輸出格式表

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

      設備屬性窗口和通信端口設置圖

      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)絡讀取數(shù)據(jù)至HMI,這些資料保存在read_data[start]~read_data[start+read_count-1]一維數(shù)組中,device必須選擇為“FreeProtocol”PLC類型,read_count是設定需要讀取的命令位組長度,可以是常數(shù)或者變量,若此函數(shù)能夠成功的從PLC或者控制器中讀取數(shù)據(jù),則return_value值為1,否者為0,觸摸屏每個周期從儀表獲得數(shù)據(jù)后,根據(jù)開始標志與結(jié)束標志從中提取出所需信息,存入數(shù)組中等待進行下一步解讀,程序語句如下:
      INPORT(response1[0],"toledp",40,return_value)
      ∥數(shù)據(jù)讀至HMI取40位至數(shù)組,返回值為1
      i=StringLength(response1[0])
      ∥變量i為取數(shù)組response1[0]字符串長度
      2.2.3數(shù)據(jù)截取與校驗程序
      為保證數(shù)據(jù)同步顯示,需要對儀表發(fā)來的數(shù)據(jù)實時處理,通過INPORT內(nèi)建函數(shù)對稱重儀表發(fā)來的數(shù)據(jù)進行截取、校驗、轉(zhuǎn)換處理,才能保證截取的數(shù)據(jù)達到同步顯示的效果,是保證稱重儀表同步正常顯示的關(guān)鍵一步,程序如下:
      Ifi>=40then∥對于response1[0]長度大于40位的則清空緩存區(qū)
      PURGE(1)∥i為短整型變量,如果大于40則清空COM1的緩沖區(qū)

      jj=0∥給短整型變量jj賦初始值
      forii=0to39∥ii的值從0~39,共40個
      ifresponse1[ii]==0x02then∥對數(shù)組中的數(shù)據(jù)進行判斷,哪個為0x02
      jj=ii∥jj為短整型變量,代表第幾位是0x02,并跳出循環(huán)體
      breakendif
      next
      forj=0to16∥把截取數(shù)據(jù)進行賦值,i為短整型變量
      ji1=ji+j
      response[j]=response1[ji1]∥把截?。保肺粯藴蔬B續(xù)輸出存到response[0]一維數(shù)組中
      next
      endif
      為保證稱重數(shù)據(jù)在觸摸屏上顯示正確無誤,又增加了二次校驗功能,使得顯示更加穩(wěn)定,經(jīng)過實驗,在半年多的實際應用中,沒出現(xiàn)任何錯誤,保證了用戶在實際應用中的體驗,程序段如下:
      ifresponse[0]==0x02andresponse[16]==0x0Dthen//檢驗數(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
      當完成二次校驗時,則需要對截取的數(shù)據(jù)分段進行譯碼處理,把帶有負數(shù)的單位以及稱重儀表中的單位對應起來的數(shù)據(jù)進行轉(zhuǎn)換處理,當完成這些必要的步驟后,需要在觸摸屏上對應位置正確顯示。

      出稱重數(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)為浮點數(shù),再從數(shù)組中分別取出3個狀態(tài)位對應的數(shù)據(jù),即數(shù)組中的第2~第4個數(shù)據(jù),根據(jù)表提供的參數(shù)設置手冊,對IND236的狀態(tài)字節(jié)位的定義分別確定小數(shù)點位置、數(shù)值的正負和單位,對數(shù)值進行相應的處理并傳送到相應的地址,程序如下:ASCII2FLOAT(response[4],read_data,6)
      ifB1==1then∥狀態(tài)字節(jié)B位符號定義,B1為1則為負號,為0則是正號
      read_data=read_data∗(-1)∥顯示數(shù)據(jù)數(shù)值的正負號轉(zhuǎn)換
      endif
      ifA2==0andA1==1andA0==0then∥010代表小數(shù)點后沒有數(shù)值
      result=readdata
      _
      endif
      ifA2==0andA1==1andA0==1then∥011代表小數(shù)點后有一位數(shù)值
      result=readdata/10
      _
      endif
      ifA2==1andA1==0andA0==0then∥100代表小數(shù)點后有兩位數(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∥對應的數(shù)位為001時,重量單位為克(g)
      weightunit[0]=′′weightunit[1]=′g′endif

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

      觸摸屏與稱重儀表大字號實時顯示實物圖

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

       

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

      分享到