国产精品导航一区二区,国产色视频网免费,99热国产这里只有精品9,人摸人人人澡人人超碰

歡迎光臨廈門宇電自動化科技有限公司網(wǎng)站!----谷瀑環(huán)保設備網(wǎng)
手機網(wǎng)站 | 聯(lián)系我們:0592-2632329 | 加入收藏
  • 技術文章

    宇電智能溫度儀表在NET上位機組態(tài)軟件開發(fā)中的解決方案

    2021-03-12 09:04:53  來源:天津星閣教育科技有限公司

    宇電智能溫度儀表在C#/.NET上位機開發(fā)中的應用

     

    付加勁 天津星閣教育科技有限公司 天津 300450

     

    摘要:組態(tài)軟件作為一種通用軟件,體系結構較為龐大、功能軟件包多、價格也比較昂貴,而且對于一些復雜的業(yè)務邏輯或自定義的協(xié)議,實現(xiàn)起來比較麻煩。近幾年,C#/.NET上位機開發(fā)應用越來越廣泛,相對于傳統(tǒng)的組態(tài)軟件的方式,C#開發(fā)上位機具有靈活、易學、擴展性強的特點。本文使用VS2019作為開發(fā)軟件,SQLite作為數(shù)據(jù)存儲軟件,硬件使用廈門宇電溫度控制器,開發(fā)一套通用的上位機監(jiān)控系統(tǒng)。

     

    關鍵字:組態(tài)軟件;上位機;宇電溫度控制器;VS2019

     

    Abstract:As a general-purpose software, configuration software has a relatively large system structure, many functional software packages, and a relatively expensive price. It is also troublesome to implement some complex business logic or custom protocols. In recent years, the development and application of C#/.NET host computer has become more and more extensive. Compared with the traditional configuration software, C# development host computer has the characteristics of flexibility, easy learning, and strong scalability. This article uses VS2019 as the development software, SQLite as the data storage software, and the hardware uses the Xiamen Yudian temperature controller to develop a universal host computer monitoring system.

     

    1 引言

       在工業(yè)自動化領域,上位機軟件一直在扮演著一個至關重要的角色。一般情況下,我們通常會采用組態(tài)軟件來開發(fā)上位機,然而,組態(tài)軟件作為一種通用軟件,體系結構較為龐大、功能軟件包多、價格也比較昂貴,而且對于一些復雜的業(yè)務邏輯或自定義的協(xié)議,實現(xiàn)起來比較麻煩。

       近幾年來,高級語言開發(fā)上位機應用越來越廣泛,相對于傳統(tǒng)的組態(tài)軟件,采用高級語言開發(fā)上位機具有更靈活、擴展性更強、更便宜的特點。在眾多的高級語言當中,微軟.NET平臺下的C#顯得尤為突出。C#/.NET開發(fā)上位機相對于其他的語言而言,更加方便快捷,而且可以獲取到的資料也相對比較多。

     

    2 AIBUS簡介

       AIBUS協(xié)議是宇電為AI系列儀表開發(fā)的一個協(xié)議,其指令比Modbus更簡單、更可靠,而且通信速率比Modbus更高,同時也具備組網(wǎng)功能,可以在一個RS485總線上連接多達80臺儀表。

     

    2.1 AIBUS報文結構

       AI儀表采用16進制數(shù)據(jù)格式來表示各種指令代碼及數(shù)據(jù)。AI儀表軟件通訊指令經(jīng)過優(yōu)化設計,標準的通訊指令只有兩條,一條為讀指令,一條為寫指令,兩條指令使得上位機軟件編寫容易,但能100%完整地對儀表進行操作;標準讀和寫指令分別如下:

    讀。旱刂反 + 52H(82)+ 要讀的參數(shù)代號 + 00 + 00 + 校驗碼

    寫入:地址代號 + 43H(67)+ 要寫的參數(shù)代號 + 寫入低字節(jié) + 寫入高字節(jié) + 校驗碼

     

    2.2 AIBUS報文說明

    地址代號:AI儀表有效地址為0-80,協(xié)議規(guī)定地址代號為兩個相同的字節(jié),數(shù)值為(儀表地址+80H),如地址為5,那么地址代碼將對應85H 85H。

    參數(shù)代號:參數(shù)代號表示各個參數(shù)對應的值,這個需要參考協(xié)議說明書,下面列舉部分常用參數(shù):

    表1:AI儀表常用參數(shù)

    校驗碼:校驗碼采用 16 位求和校驗方式。

    讀指令校驗碼計算方法為:

    要讀的參數(shù)的代號×256+82+ADDR

    寫指令校驗碼計算方法為:

    要寫的參數(shù)代號×256+67+要寫的參數(shù)值+ADDR

    公式中 ADDR為儀表地址,范圍是 0~80(注意不要加上 80H)。校驗碼為2 個字節(jié),其低字節(jié)在前,高字節(jié)在后。

    返回報文:無論是讀還是寫,儀表都返回以下10個字節(jié)數(shù)據(jù):

    返回:測量值 PV + 給定值SV + 輸出值MV及報警狀態(tài) + 所讀/寫參數(shù)值 + 校驗碼

    PV、SV 及所讀參數(shù)值各占 2 個字節(jié),低位字節(jié)在前,高位字節(jié)在后,整數(shù)無法表示小數(shù)點,要求用戶在上位機處理;MV 占一個字節(jié),數(shù)值范圍-110~+110,狀態(tài)位占一個字節(jié),校驗碼占 2個字節(jié),共 10個字節(jié)。

     

    3 儀表接線設置

       在實現(xiàn)上位機通信前,需要搭建儀表通信環(huán)境,這里主要針對儀表的接線及相關參數(shù)設置進行說明。

    3.1 儀表接線說明

       針對AI-500系列儀表,通信接口為485接口,因此需要通過將485總線轉換成USB接口,然后再接入上位機,根儀表測試的接線圖,還需要接入220V電源、Pt100鉑熱電阻,具體接線方式如下表所示:

    表2:AI儀表接線圖

    3.2 儀表設置說明

       完成上述接線之后,需要設置一下儀表的相關參數(shù),根據(jù)儀表的說明書,主要設置輸入規(guī)格、通信地址、波特率這三個參數(shù),如下表所示:

    表3: AI儀表參數(shù)設置

    參數(shù)設置完畢,可以看到儀表上已經(jīng)可以顯示室內(nèi)溫度。

    為了便于組成網(wǎng)絡,這里選擇3個儀表,將另外2個儀表的輸入規(guī)格和波特率設置成一樣,但是通信地址分別設置成3和4,在接線方面,直接將485接口的A和B并接在一起即可,網(wǎng)絡接線圖如下所示:

    圖1:網(wǎng)絡結構圖

     

    4 AIBUS通信協(xié)議開發(fā)

    4.1 串口通信

       在創(chuàng)建好Windows窗體應用后,創(chuàng)建一個類,取名為AIBUS,AIBUS協(xié)議基于串口通信,因此先要實現(xiàn)基本的串口連接與斷開,通過調(diào)用SerialPort組件實現(xiàn),代碼如下圖所示:

    圖2:串口連接

    4.2 讀取參數(shù)

       每次通信返回結果可能包含很多參數(shù),這里主要獲取5個重要的參數(shù),分別是實際值、設定值、參數(shù)值、高限報警、低限報警,并將這5個參數(shù)封裝成一個類,如下圖所示:

    圖3:通信對象

       參考協(xié)議中的讀取報文,讀取參數(shù)將地址代號與參數(shù)代號作為參數(shù),然后將返回值解析成一個AIBUSParam對象,如下圖所示:

    圖4:讀取參數(shù)

       讀取報文中涉及到校驗,對于讀取校驗,按照協(xié)議進行校驗和累加,zui終結果轉換2個字節(jié)返回,如下圖所示:

    圖5:讀取校驗

    4.3 解析報文

       解析報文先是判斷返回報文校驗是否正確,然后按照協(xié)議進行解析,返回AIBUSParam對象,驗證報文主要是做校驗判斷,對前面N-2個字節(jié)做校驗,然后與zui后2個字節(jié)對比,這樣就可以知道報文校驗是否正確,如下圖所示:

    圖6:驗證報文

       驗證報文通過后,需要根據(jù)協(xié)議來對返回的報文進行解析,zui終返回成一個AIBUSParam對象,如下圖所示:

    圖7:解析報文

    4.4 寫入?yún)?shù)

       參考協(xié)議中的寫入報文,寫入?yún)?shù)將地址代號、參數(shù)代號與參數(shù)值作為參數(shù),返回值仍然解析成一個AIBUSParam對象,如下圖所示:

    圖8:寫入?yún)?shù)

       寫入報文中涉及到校驗,對于寫入校驗,按照協(xié)議進行校驗和累加,zui終結果轉換2個字節(jié)返回,如下圖所示:

    圖9:寫入校驗

    5 溫度監(jiān)控系統(tǒng)上位機開發(fā)

       通信庫編程完成后,就可以進行上位機開發(fā),本上位機主要是實時采集三個不同地點的溫度,通過實時曲線進行顯示并存儲到數(shù)據(jù)庫,便于后續(xù)分析。

    5.1 UI界面設計

       監(jiān)控系統(tǒng)UI界面主要包括三部分,分別為實時曲線、系統(tǒng)日志及參數(shù)顯示,設計布局如下圖所示:

    圖10:上位機UI界面設計

    5.2 配置信息管理

       配置信息主要包括通信端口號、波特率、儀表1地址代號、儀表2地址代號、儀表3地址代號等,這里采用ini的方式進行存儲,通過調(diào)用底層API的方式讀取配置信息,封裝成對象。ini文件存儲形式如下所示:

    圖11:配置信息

    5.3 實時日志顯示

       系統(tǒng)運行過程中的各種狀態(tài)都將通過日志的形式進行展示,這里采用ListView+委托的方式來實現(xiàn),代碼如下所示:

    圖12:實時日志

    5.4實時讀取及斷線重連

       實時讀取采用的是多線程的方式,直接輪詢讀取各個儀表的參數(shù),讀取完成后進行二次解析并顯示。對于斷線重連,每次如果讀取失敗,則將錯誤次數(shù)加1,當讀取錯誤次數(shù)超過max錯誤次數(shù)時,說明讀取異常,當出現(xiàn)讀取異常時,需要判斷COM口是否存在,如果仍然存在,則不需要重新連接,直接繼續(xù)讀取即可,如果COM口不存在,則需要重新連接,從而實現(xiàn)自動斷線重連。

    5.5實時數(shù)據(jù)存儲

       實時數(shù)據(jù)存儲采用SQLite數(shù)據(jù)庫,通過開啟一個線程定時器,按照1秒的頻率

    留言
    林經(jīng)理
    谷瀑服務條款》《隱私政策
版權所有 © 廈門宇電自動化科技有限公司
聯(lián)系人:林經(jīng)理  聯(lián)系電話:0592-2632329  傳真:0592-5651630
聯(lián)系地址:廈門市火炬高新區(qū)火炬北路17號宇電科技大廈

技術支持:谷瀑     免責申明     閩ICP備05022279號