999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

一種可編程的智能測控平臺系統研究

2020-06-05 12:17:54唐先瑋
小型微型計算機系統 2020年6期
關鍵詞:指令程序動作

王 興,唐先瑋

1(中國科學院大學,北京100049)

2(太原科技大學,太原030024)

1 引 言

目前工業領域中的監控軟件大多只能應用在固定的控制系統中,不具備程序重構功能,一旦原有的工藝發生改變,就需要專業人員對源代碼進行修改,周期較長且比較麻煩,甚至可能因為超出服務時間原公司不再提供更新服務,導致用戶無法根據工藝的改變對程序進行二次修改,給用戶帶來極大的不便.另外智能制造的提出迎合了當今對智能化的要求,但傳統的控制系統智能化水平較低,造成了不必要的人力資源浪費,缺乏自學習功能會讓控制系統較為死板.為此,設計一種用戶可以自己編程,可以根據工藝的不同重構控制程序[1],使用門檻低、靈活性強且在一定時間范圍內可生長的通用性智能測控平臺系統是很有必要的.本文詳細闡述了該平臺系統的工作原理及操作流程、通信指令集的設計、軟件設計、專家控制方法.提出了一種工業領域中可編程的智能化測控方法,提高了工業過控制的開發與修改效率,在一定程度上促進了社會經濟的發展.

2 系統的總體設計

2.1 系統的組成

系統主要由上位機組態軟件、下位機主機、云共享數據庫、電腦端或手機端、測控對象和其他外部通信設備組成.系統總體架構如圖1 所示.

2.2 系統的工作原理

首先,用戶明確控制系統的組成以此來制定I/O 表,設計一個背景畫面,導入組態軟件中,根據I/O 表添加監控點,以此來構成一個完整的監控畫面.進入編程模式后,用戶需要將工藝轉換成步,每一步對應一條指令,通過點擊對應的指令按鈕,將每條指令按工藝的順序添加到程序運行窗口,即可完成編程.程序以.txt格式保存,可以部分或完全調用已有的程序,另外還提供一種進階的編程方式,根據建立的指令集標準,通過PC 或手機端直接對程序文件進行編輯,由互聯網遠程發送到上位機中,通過對文件中的指令語句進行識別,以此完成程序的編寫.將控制系統中所有測控對象根據I/O表接入到下位機提供的輸入輸出接口上,再將上位機與下位機通過串行通信方式進行連接,用戶在組態軟件中點擊運行,控制系統啟動,上位機將用戶所編的程序通過指令的形式下發給下位機,下位機根據指令做出相應的動作,并且會實時的將當前狀態反饋給上位機[2],狀態信息會反應在用戶設計的監控畫面當中[3].也可以一對多或多對多的和其他外部通信設備進行連接,根據雙方的指令集規則,實現上位機組態軟件控制其他系統或設備,也可以被其他系統或設備所控制.最后用戶可將程序上傳至云共享數據庫中,這樣其他用戶在開發自己的控制系統時,可能部分或者全部功能可以從云共享數據庫中直接搜索到,通過下載直接嵌入到自己的程序當中,這樣不斷壯大的云共享數據庫會讓系統不斷生長[4].另外系統中采用的專家控制,會根據知識庫中提供信息進行運算,實現智能控制和智能處理.系統操作流程如圖2 所示.

圖1 系統總體架構圖Fig.1 System architecture

圖2 系統操作流程圖Fig.2 System operation flow chart

3 通信指令集的設計

3.1 指令設計

指令扮演著信使的角色,一方面用戶在使用上位機組態軟件時,一系列的操作會轉換成一條條指令,組態軟件通過識別不同的指令來做出相應的動作,另一方面上位機與下位機交互時,也是通過識別指令來做出相應動作,這樣制定一套指令規則才能讓人與機器、機器與機器之間有了溝通前提.所有指令的集合稱之為指令集,本系統的指令集中包含的指令類型分別為系統操作指令、報警指令、程序調用指令、設備動作指令、邏輯判斷指令、參數設置指令和函數指令.同時指令的設計需要考慮指令的可讀性和快速識別性.系統部分指令集如表1 所示.

表1 系統部分指令集Table 1 System partial instruction set

以下為所有指令類型的結構說明,其中每條指令的前三位為指令序號.

系統操作指令的指令功能分別為“運行”、“暫停”、“執行下一條指令”、“中斷程序”,指令是由指令序號+四位字符組成,例如:“003NEXT”表示執行下一條指令操作.

報警指令是由指令序號+“Wam”+三位報警編號組成,例如“000Wam100”表示PLC 通信故障.

程序調用指令是由指令序號+“Load_”+十位字符組成,例如“004Load_TrcLig”表示調用本地本件名為“TrcLig”的程序.

設備動作指令即為數字量輸出指令,結構為指令序號+“QX.Y=Z”其中“X.Y”表示 PLC 的數字量輸出地址,“Z”表示 0 或 1,例如“026Q1.5=1”表示將 PLC 數字量輸出Q1.5置為高電平.

參數設置指令是由指令序號+“AOX=”+十二位設定值組成,例如“004AO5=100”表示將模擬量輸出口5 的值設定成100.

邏輯判斷指令包含數字量輸入邏輯判斷、數字量輸出邏輯判斷和模擬量輸入邏輯判斷.其結構分別為指令序號+“?IX.Y=Z”、指令序號+“?Q X.Y=Z”、指令序號+“?AIXYY”+十二位設定值,其中數字量輸入輸出的邏輯判斷與動作指令結構類似,對于模擬量輸入邏輯判斷中“YY”表示邏輯符號,邏輯符號有“==”、“》”、“《”“≥”“≤”五類,例如“011?Q0.5==0”表示判斷數字輸出Q0.5 是否為低電平,“015?AI4>>200”表示判斷模擬量輸入口4 的值是否大于200.

函數指令是由定時器指令、循環指令、跳轉指令、邏輯“或”指令和注釋指令組成.

3.2 指令集的動態調整

指令集包含公共部分和自定義部分,所有用戶的指令集公共部分是相同的,而自定義部分可能是不同的,用戶只能對指令集的自定義部分進行操作,而不能操作公共部分.如果對控制系統進行調整,指令集則需要同步調整,才能實現正確的對應關系.在遇到如下情況時組態軟件會動態修改指令集:

1)在遇到復雜的控制系統時,提供的I/O 口不能滿足用戶需要,系統提供了擴展功能,可根據用戶需要加裝輸入輸出模塊;

2)刪除多余的I/O 口;

3)系統提供自定義報警條件設置功能,用戶可以自行添加或刪除報警指令;

4)平臺系統對功能進行調整時;

5)從云共享數據庫中下載的程序所用的指令集與自己的指令集不同時.

為了降低添加或刪除指令后指令集修改次數,將可能需要調整的指令類型給予一套獨立的指令序號,而系統操作指令、程序調用指令和函數指令是不會發生改變的,則將其組合起來賦予一套獨立的指令序號,具有獨立指令序號的部分稱為指令塊,每一個指令塊存儲在獨立的數組當中.

指令集的調整分為添加指令和刪除指令兩種情況,添加指令時,根據指令的類型找到所屬的指令塊,在該指令塊的最后位置添加,添加時需要按順序給予一個指令序號.對于刪除指令,需要將該指令塊中處于被刪除的指令位置之后的所有指令前移一個位置,并修改指令序號為連續的.

對于云共享數據庫,每當對整個平臺系統的功能進行調整時,可能會增加或刪除一些指令,則需要修改指令集的公共部分,通過網絡下發給所有用戶,讓用戶及時更新指令集.當用戶通過云共享數據庫下載調用他人的程序時,會同步下載對應指令集,并將他人的指令集自定義部分與當前的進行對比,將當前指令集中沒有的指令添加進來,這樣才能正確運行他人的程序.

3.3 程序執行

在程序執行方面著重考慮數據結構的選用,因為合適的數據結構將會讓指令的處理速度大大提高,通常工業環境中的過程控制都是按生產工藝一步一步進行下去,而生產工藝的每一步即對應一條指令,即按先來先處理的原則,為了避免“假溢滿”,數據結構選用線性表中的循環隊列[5],但在工業控制中經常會出現部分操作循環執行,甚至在循環中繼續嵌套多層循環,這就會出現循環部分的指令重復入隊與出隊,浪費了大量的指令讀寫時間,為此提出一種嵌套循環隊的數據結構,在循環隊列的基礎上嵌套增加線性表.

圖3 嵌套循環隊的原理圖Fig.3 Nested circular queue

程序執行時,指令將按順序入隊,當遇到循環開始指令時,將與之對應的循環結束指令之間所有指令存入到單獨的線性表中,將線性表中第一條指令的地址指針* Dop 存入上一層循環開始指令的位置中,記錄下上一層循環開始指令的下一條指令的地址指針* Upt,并記錄當前層循環次數Num,對于線性表來說,執行完最后一條指令后將指針減去線性表長度即可指向第一條指令,這樣將完成一次循環,每執行完一次循環將Num 減1,當Num=0 時將調用* Upt 返回上一層,并將線性表的內存釋放.嵌套循環隊的原理如圖3 所示.

3.4 指令查找

用戶操作上位機的是通過指令傳達,下位機反饋給上位機信息也是通過指令傳達,當上位機收到指令后需要在指令集中查找到該指令所表達的意思,再執行其相應的動作,對于小系統來說差異不大,但是對于指令較多的復雜系統來說,指令類型較多,指令查找方法將會影響整個系統的運行速度,基于前文指令的設計提出了一種索引查找法,需要將不同的指令塊存入單獨的數組當中,按指令序號從小到大的順序依次存入數組,這樣每條指令的指令序號即為對應數組中的下標,對指令進行查找時需要分兩步進行,第一步需要提取指令的第四位和第五位,根據索引表找到該指令所屬的數組.第二步數組下標為指令序號的即為目標指令.索引表如表2 所示.

表2 索引表Table 2 Index table

因此該索引查找法的平均查找長度ASL 為兩個部分的平均查找長度之和,即式(1)所示:

對于指令集C[1:n]中每條指令的查找概率相同為Pi=1/n,第二步即為直接定址法,每個元素的比較次數均為1,設邏輯判斷指令的指令個數為L,即數組Com2、Com3、Com4 中指令個數之和為L,則平均查找長度如式(2)所示:

由結果可知 0<L/n<1,所以平均查找長度 2<ASL<3.時間復雜的為O(1).不難看出該指令集的設計在兼顧可讀性和擴展性的同時,大大縮短了指令查找的時間,提高了系統整體的運行效率.

3.5 指令優化調度

系統指令分為內部和外部指令,上位機指令庫中保存的為內部指令,用來給編程提供判斷、循環、函數、邏輯等語句,使外部通信設備產生動作的指令為外部指令,系統中每條指令都有優先級,有些為系統自帶,有些則需要用戶自己定義.系統中外部通信設備以下位機PLC 為主,也可以連接其他通信設備或系統,實現本系統控制其他系統或設備,也可以被其他系統所控制,由于外部通信設備種類繁多,每個設備的指令集都不同,通信接口也不統一,這樣一個好的指令調度策略才會使系統有條不紊的運行.系統指令調度如圖4 所示.

圖4 指令調度圖Fig.4 Instruction scheduling

系統中定義的外部指令是針對PLC 而設置的,因為將所有外部通信設備的指令集全部記錄下來是非常困難的,為了提供連接其他外部通信設備的功能,系統提供外部指令輸入功能,用戶根據外部通信設備的指令集規則輸入控制指令,再添加到程序運行窗口,當上位機編程完成后,系統將線性運行程序,當收到指令完成反饋后再執行下一條,運行到不同外部指令時,系統將自動打開對應通信通道,但是當上位機收到其他外部通信設備的控制指令時將與正在運行的程序發生沖突,并且同一時間可能會有多條外部控制指令,則需要按優先級大小順序執行,優先級最高的則首先于上位機中正在運行的指令優先級進行對比,優先級高的將會獲得上機的控制權,按此策略直至程序結束.

4 軟件設計

對于工業環境中的過程控制,雖然控制流程多種多樣,但是可以將其拆分成最基本的輸入輸出的動作.對于該平臺系統的上位機組態軟件來說,充分考慮了工業環境中過程控制的特點、編程方式、程序修改等,提出一種新的設計理念,讓用戶根據控制系統的特點自己設計監控畫面,并將所有輸入輸出的動作提供給用戶,用戶根據系統需要自行選擇與定義動作[6].軟件將每條控制指令封裝至按鈕中,用戶可以自己編寫程序,需要將控制流程拆分成動作,每個動作對應一條指令,通過點擊對應指令按鈕或輸入外部指令,將指令按順序添加到程序運行窗口,配合載入、程序調用、添加、刪除、清除等操作完成程序的編寫,整個編程過程簡單快速,同樣只需要進行簡單的操作即可對已有的程序進行二次修改[7],使其具有重構功能,并具備程序檢測功能,檢測程序語法、邏輯、格式錯誤[8].軟件建立了一個故障報警庫,保存了系統中存在的故障,采用專家控制結構,可以對故障進行智能化處理,并提供擴展功能,用戶可以自己定義報警條件和處理方案.除此之外,還具備自定義報表打印、曲線圖繪制與打印等功能.

圖5 功能邏輯架構Fig.5 Functional structure diagram

圖6 編程界面Fig.6 Programming interface

智能測控平臺系統軟件的功能邏輯架構是對開發某控制系統需要的所有部分進行劃分,并列出每個部分的功能,各部分之間協同運行,加之軟件高度自定義特性和簡單的操作邏輯,讓軟件實現各個功能的同時,給用戶帶來良好的使用體驗[9].功能邏輯架構如圖5 所示,如圖6 為軟件對水清洗機控制程序進行測試的編程界面.

5 專家控制方法

專家系統是一個智能計算機程序,智能體現在將某領域內一個或多個專家的知識與經驗存起來,遇到問題時將根據所存的知識進行推理與判斷,模擬專家的推理與決策,從而解決那些復雜的問題[10].本系統中專家控制主要應用于故障監測與報警、語法檢測、指令調度、指令查找、指令集動態調整.專家控制結構如圖7 所示.

圖7 專家控制結構Fig.7 Expert control structure

5.1 知識庫的設計

首先,將系統的語法檢測規則、指令調度策略、指令查找方法、指令集動態調整策略、故障信息與處理方法錄入到知識庫中,并提供自定義接口,用于對用戶開放知識庫,可以將用戶自定義的故障報警信息翻譯成專家控制專用表示形式,進而存入知識庫中.用戶設備解決不了的問題,會將信息上傳云數據庫,由專業人員解決后,對知識庫進行升級.對于所有用戶,只要設備接入網絡,軟件會自動將知識庫中的信息上傳至云共享數據庫中,云共享數據庫會對收集到的知識庫進行整合,并通過篩選和判別機制刪除無意義的規則,結合平臺系統升級后可能會對各個規則、策略、方法進行改進和擴充,最終得到全新的知識庫,同時將其下發給所有用戶.通過云平臺與所有用戶不斷的交互,會高效的擴大知識庫,從而讓系統更加完善.

5.2 推理機的設計

圖8 診斷流程圖Fig.8 Diagnostic flowchart

對于專家控制系統,推理機為核心部分[11].對于本系統,一個問題的出現可能是由多種情況導致的,則給所有情況分配一個優先級,初始值均為0,優先級高的情況優先被診斷,診斷成功后將該情況頻數加1,一輪診斷后將該問題的所有情況按頻數大小調整優先級.診斷推理流程如圖8 所示.

5.3 規則的制定

專家系統采用產生式規則進行知識表示,系統采用判斷語句作為產生式規則,其規則的一般表示形式如下:

1)If(條件1)Then(動作或結論1)

2)If(條件1)And(條件2)…(條件n)Then(動作或結論1)

Else(動作或結論2)

3)If(條件1)Then(動作或結論1)

ElseIf(條件2)Then(動作或結論2)

4)If(條件1)And(條件2)…(條件n)Then(動作或結論1)

ElseIf(條件1)And(條件2)…(條件n)Then(動作或結論2)[12]

6 結 論

考慮到目前工業領域中監控軟件只能使用在當前控制系統中且不具備程序重構功能,本文通過建立指令集,并對其進行按鈕化處理,使用戶自己完成程序編寫與修改工作.通過對不同控制系統的大量測試,可知該平臺系統具有較強的通用性,操作邏輯簡單,編程快速,軟件會對程序進行正確性檢測,指令的可讀性較強,在遇到故障時有較強的處理能力,用戶可以隨著工藝的改變對程序進行二次修改,讓編程不再是專業人員的專屬,為提高工業過程控制的開發與修改效率提供了思路.

猜你喜歡
指令程序動作
聽我指令:大催眠術
試論我國未決羈押程序的立法完善
人大建設(2019年12期)2019-05-21 02:55:44
ARINC661顯控指令快速驗證方法
測控技術(2018年5期)2018-12-09 09:04:26
LED照明產品歐盟ErP指令要求解讀
電子測試(2018年18期)2018-11-14 02:30:34
動作描寫要具體
“程序猿”的生活什么樣
畫動作
英國與歐盟正式啟動“離婚”程序程序
環球時報(2017-03-30)2017-03-30 06:44:45
動作描寫不可少
創衛暗訪程序有待改進
中國衛生(2015年3期)2015-11-19 02:53:32
主站蜘蛛池模板: 久久99国产综合精品女同| 国产精品永久免费嫩草研究院| 成年A级毛片| 国产精品精品视频| 亚洲人成影院午夜网站| 欧美性猛交一区二区三区| 国产a v无码专区亚洲av| 欧美午夜视频| 亚洲精品波多野结衣| 国产sm重味一区二区三区| 首页亚洲国产丝袜长腿综合| 亚洲最黄视频| 国产 在线视频无码| 国产在线观看成人91| 美女无遮挡免费视频网站| 午夜成人在线视频| 国产免费久久精品99re丫丫一| 71pao成人国产永久免费视频| 国产爽歪歪免费视频在线观看| 婷婷综合缴情亚洲五月伊| 亚洲αv毛片| 国产精品 欧美激情 在线播放| 99久久精品久久久久久婷婷| 东京热av无码电影一区二区| 成人综合在线观看| 亚洲综合香蕉| 在线一级毛片| 欧美国产日韩一区二区三区精品影视| 无码aⅴ精品一区二区三区| 久草国产在线观看| 欧美日韩午夜| 国产综合日韩另类一区二区| 国产精品福利社| 国产精品刺激对白在线| 久久人搡人人玩人妻精品| 久久久久人妻精品一区三寸蜜桃| 激情综合五月网| 国产精品美女网站| 亚洲成人动漫在线观看| 国产欧美另类| 亚洲精品国产首次亮相| 青青青国产视频手机| 日本欧美一二三区色视频| 亚洲精品午夜天堂网页| 久青草网站| 亚洲最大福利网站| 婷婷五月在线| 伊人国产无码高清视频| 毛片一级在线| 欧美日韩久久综合| 91香蕉视频下载网站| 999在线免费视频| 手机永久AV在线播放| 久久久黄色片| 五月婷婷综合色| 久草视频精品| 香蕉视频国产精品人| 国产va免费精品观看| 亚洲精品日产精品乱码不卡| 99热这里只有精品免费| 露脸真实国语乱在线观看| 久久香蕉国产线看观| 中文字幕一区二区人妻电影| 亚洲另类国产欧美一区二区| 尤物成AV人片在线观看| 老司机久久99久久精品播放| 久久一本日韩精品中文字幕屁孩| 日韩欧美国产中文| 无码粉嫩虎白一线天在线观看| 国产精品视频第一专区| 尤物国产在线| 老色鬼欧美精品| 99精品影院| 日本精品一在线观看视频| 亚洲第一极品精品无码| 国产性爱网站| 97人人模人人爽人人喊小说| 亚洲综合一区国产精品| 99热最新网址| 国产麻豆永久视频| 久久亚洲高清国产| 久久久久亚洲Av片无码观看|