国产人妖一区二区三区视频_国产美女一丝不佳毛片_国产精品大屁股AV在线播放_日韩专区一区二区在线播放_日本巨爆乳寡妇中文bd在线观看_韩国羞羞漫画免费观看_强奸视频午夜网站_日韩在线精品特黄_成年黄网站免费观看视频_久久精品国产亚洲AV无码情人

新聞分類

產(chǎn)品分類

聯(lián)系我們


手機(jī):    18012683177

手機(jī):    15995687013

熱線:    400-816-0035

地址: 江蘇省蘇州市昆山市富士康路1388號(hào)


新聞分類

工控機(jī)上位機(jī)軟件的開發(fā)歷程

發(fā)布日期:2021-10-08 00:00:00 內(nèi)容來源于:http://jgcsz.cn/news/559.html 瀏覽次數(shù):

工控機(jī),嵌入式工控機(jī),工控一體機(jī)

上位機(jī)軟件的主要功能是采集各儀器的數(shù)據(jù),然后存儲(chǔ)起來,并傳送到環(huán)保局平臺(tái)。

剛開始使用的是組態(tài)軟件(用以顯示流程圖),然后再開發(fā)了報(bào)表軟件、數(shù)據(jù)上傳軟件。因?yàn)榻M態(tài)軟件使用的是標(biāo)準(zhǔn)Modbus協(xié)議,而很多儀器使用的協(xié)議根本就是自定義的,所以還要加一個(gè)協(xié)議轉(zhuǎn)換軟件,把各種各樣的協(xié)議轉(zhuǎn)換成Modbus協(xié)議,讓組態(tài)軟件去讀。除此之外,我們還希望軟件能夠開機(jī)啟動(dòng),就增加了延遲啟動(dòng)的第三方軟件。

這樣一來,每個(gè)站點(diǎn)要安裝和部署的軟件非常多和雜亂。加上每個(gè)站點(diǎn)都有自己的特點(diǎn),軟件出現(xiàn)了大量的版本。有上位機(jī)的版本管理、升級(jí)維護(hù)時(shí),出現(xiàn)了極大的麻煩,管理成本極高。很多時(shí)候會(huì)有這樣一種情況,前面開發(fā)的人走了,后面就沒有人能維護(hù)他的軟件了。

基于上面的情況,我和團(tuán)隊(duì)重新設(shè)計(jì)和開發(fā)了上位機(jī)軟件,具有以下特點(diǎn):

(1)軟件集組態(tài)、采集、傳輸、報(bào)表、自動(dòng)啟動(dòng)等功能于一體,一臺(tái)工控機(jī)只有一個(gè)上位機(jī)軟件。

(2)上位機(jī)只有一個(gè)版本,所有站點(diǎn)都一樣。站點(diǎn)的不同特點(diǎn)通過配置文件來實(shí)現(xiàn),而這個(gè)配置文件不隨更新而變化。

(3)儀器五花八門,但我們把它們歸于一體,用同一個(gè)模型去表現(xiàn)。

(4)在對(duì)儀器的支持和界面功能上,具有強(qiáng)大的擴(kuò)展特性和靈活性。

以下是部分軟件界面截圖:


儀器歸一化設(shè)計(jì)

這是具體內(nèi)容的第一篇,我們先來講述儀器的歸一化設(shè)計(jì)。

儀器是各種功能都有的,我只舉我們?cè)诃h(huán)境監(jiān)測(cè)這方面所用到的儀器。我們要測(cè)試水是不是有污染物質(zhì),污染到什么程度,我們要測(cè)試水體的高錳酸鹽指數(shù)、氨氮、總磷、總氮等值。我們的站房有一個(gè)后備電源,我們要知道市電是否斷電了,是否在用備用電源。我們的站房是有空調(diào)的,我希望知道站房的溫度和濕度,于是就有了一個(gè)溫濕度計(jì)。我們可能還會(huì)有流量計(jì)、DTU、數(shù)字儀等儀器。這些儀器跟工控機(jī)的連接也不盡相同,有的使用串行線,有的使用網(wǎng)線。用網(wǎng)線的儀器,有的作為客戶端,有的作為服務(wù)端,有的使用UDP??傊?,這些儀器的通訊協(xié)議是五花八門的,通信鏈路也是有區(qū)別的。

但我們需要對(duì)儀器做出歸一化設(shè)計(jì)。

其實(shí)無論儀器有什么功能,工控機(jī)對(duì)儀器的操作無非就兩個(gè):讀和寫。讀的話,可能是讀到測(cè)量的值、儀器的狀態(tài)等;寫的話,就是啟動(dòng)儀器測(cè)量、修改儀器的參數(shù)等。而讀和寫的操作,都是通過發(fā)送和接收完成的。雖然通信協(xié)議各不相同,但我們總是可以把發(fā)送和接收的內(nèi)容轉(zhuǎn)化為最基礎(chǔ)的字節(jié)流。要發(fā)送怎樣的字節(jié)流,接收到的字節(jié)流如何解釋,就要根據(jù)儀器的特性去定義了。

根據(jù)這樣的特點(diǎn),我們?yōu)樗袃x器定義了一個(gè)基類,它包含了發(fā)送字節(jié)流和接收字節(jié)流兩個(gè)方法。而所有儀器類,都繼承自這個(gè)基類。


每個(gè)儀器特定的類,只需要完成拼裝發(fā)送的字節(jié)流,和解析接收的字節(jié)流即可,它不需要理會(huì)如何發(fā)送和接收。而實(shí)際上的發(fā)送和接收,我們知道鏈路是有多種的,如上面提到的串行線和網(wǎng)線。使用哪種方式去傳輸,我們需要根據(jù)儀器的屬性去判斷。如下圖所示的方法,在基類里實(shí)現(xiàn)。


解決了上面儀器類的結(jié)構(gòu)設(shè)計(jì)以后,我們需要考慮儀器的屬性如何表示和存儲(chǔ)。我們把所有儀器都稱為設(shè)備,設(shè)備包含以下內(nèi)容:

(1)名稱。

(2)傳輸方式,以及傳輸?shù)膮?shù)。例如用串口,那應(yīng)該有串口號(hào)、波特率等。如果用網(wǎng)線,應(yīng)該有IP、端口等。

(3)使用的通信協(xié)議。選定之后,上位機(jī)能夠找到相應(yīng)的通信協(xié)議類,對(duì)字節(jié)流進(jìn)行操作。順便一說,我們把通信協(xié)議類用反射的方法去做,每個(gè)協(xié)議是一個(gè)dll,選擇不同的協(xié)議即會(huì)執(zhí)行不同的代碼。

(4)因子列表。

沒錯(cuò),說到這里,我們就發(fā)現(xiàn),工控機(jī)設(shè)備里有一個(gè)因子的概念。因子是什么?這個(gè)比較難解釋。從最原始的因子來看,因子就是儀器的測(cè)量值。例如我們有一臺(tái)溫濕度計(jì),它的測(cè)量值會(huì)有兩個(gè),分別是溫度和濕度。我們就把溫度和濕度作為兩個(gè)因子。我們對(duì)因子的概念進(jìn)行擴(kuò)展,把狀態(tài)也作為因子。例如儀器的工作狀態(tài)、故障狀態(tài),都可以看作是一個(gè)個(gè)的因子。甚至,我們把控制儀器的命令,也看成是因子。例如是啟動(dòng)測(cè)量、更換運(yùn)行模式,每一個(gè)動(dòng)作都看成是一個(gè)因子。這樣下來之后,儀器的所有功能,都變成了因子的列表。因子有很多屬性,但不是所有因子都一樣的。名稱是我們想到的唯一一個(gè)共性屬性。我們?cè)趯?shí)際的開發(fā)過程中,定義了幾種因子:

(1)實(shí)際因子:就是測(cè)量值。它應(yīng)該有單位、超標(biāo)限制、因子地址(Modbus協(xié)議)等屬性。

(2)計(jì)算因子:跟實(shí)際因子類似,只是它不是直接讀取儀器值得到的,而是根據(jù)實(shí)際因子計(jì)算出來的。這樣的話,計(jì)算因子就要有一個(gè)表達(dá)式的屬性,例如是:溫度*9/5+32

(3)狀態(tài)因子:儀器的狀態(tài)。它的值不一定是數(shù),可能是一個(gè)字符串。

(4)反控因子:對(duì)儀器的控制命令??梢杂靡粋€(gè)數(shù)字去表示控制的類型,工控機(jī)只需要在協(xié)議類里面解釋清楚即可。

通過上面的方法,我們把所有儀器都?xì)w一成統(tǒng)一的類了。

最近瀏覽:

相關(guān)產(chǎn)品:

相關(guān)新聞:

工業(yè)顯示器產(chǎn)業(yè)基地 Ennoconn產(chǎn)業(yè)園

工業(yè)顯示器產(chǎn)業(yè)基地

                   地 址:江蘇省昆山市南淞路299號(hào)

   (富士康昆山城南廠區(qū)A3棟

工業(yè)顯示器產(chǎn)業(yè)基地 華東總經(jīng)銷

工業(yè)顯示器產(chǎn)業(yè)基地

                   地 址:江蘇省蘇州市昆山市富士康路1388號(hào) 3號(hào)樓2L

                      電 話:400-816-0035   0512-36803195

工業(yè)顯示器生產(chǎn)地址 富士康樺漢科技總部

工業(yè)顯示器生產(chǎn)地址

                   地 址:江蘇省昆山市登云路288號(hào)

  ?。?nbsp;海創(chuàng)大廈C座20樓


Copyright @ Ennoconn  蘇州索騰工控科技有限公司 All Rights Reserved,備案號(hào):蘇ICP備16032780號(hào)-2 / 技術(shù)支持:富士康工控