亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于PLC梯形圖圖元狀態(tài)的實時監(jiān)控算法及實現(xiàn)*

        2011-05-28 09:12:24王珍珠劉占清
        組合機床與自動化加工技術 2011年3期
        關鍵詞:設置

        王珍珠,劉 偉,劉占清

        (1.中國科學院研究生院,北京 100039;2.中國科學院 沈陽計算技術研究所,沈陽 110168;3.沈陽高精數(shù)控技術有限公司,沈陽 110168)

        0 引言

        可編程控制器是一種數(shù)字運算操作的電子系統(tǒng),專為在工業(yè)環(huán)境應用而設計的。它采用可編程序的存儲器,用來在其內(nèi)部存儲執(zhí)行邏輯運算、順序控制、定時、計數(shù)與算術運算等操作的指令,并通過數(shù)字式、模擬式的輸入和輸出,控制各種類型的機械或生產(chǎn)過程??删幊炭刂破骷捌溆嘘P外部設備,都應按易于是工業(yè)控制系統(tǒng)形成一個整體,易于擴充其功能的原則設計[1-2]?;谖⑻幚砥鞯目删幊炭刂破?Programmable Logic Controller-PLC)是通過用戶編程來控制工業(yè)設備運行的控制系統(tǒng)[3]。隨著PLC在工業(yè)控制領域中越來越發(fā)揮特有的優(yōu)勢,數(shù)控系統(tǒng)(CNC)對PLC的監(jiān)控作為PLC應用過程的一個重要環(huán)節(jié)也顯得至關重要。S.Da’na等設計并實施了一種通過TCP/IP和GSM網(wǎng)絡對PLC程序進行監(jiān)控的平臺[3]。Sung Jung Mulman提出一種利用神經(jīng)網(wǎng)絡對PLC程序進行監(jiān)控和錯誤預測的算法[4]。張志強等基于PC-PLC控制系統(tǒng)串口通訊技術和對串口通訊故障問題的研究,提出了運行于PC和PLC間的串口通訊監(jiān)控程序的設計方法[5]。姜海等提出了以MCGS組態(tài)軟件為開發(fā)平臺,實現(xiàn)可編程控制器工作狀態(tài)監(jiān)控的方法[6]。文獻[7]介紹了運用 VC++實現(xiàn) PC機和PLC串行通信的編程方法,開發(fā)了上位機監(jiān)控系統(tǒng)。文獻[8]提出了一種PC機和主控節(jié)點通過串口通信實現(xiàn)對監(jiān)控節(jié)點進行監(jiān)控的方式。文獻[9]提出了一種基于PC-PLC結構的以組態(tài)王為平臺的監(jiān)控方案。本文提出的監(jiān)控算法是在數(shù)控系統(tǒng)中的PLC梯形圖編輯器的編輯模式下,通過設置梯形圖圖元顯示位進行實時監(jiān)控PLC邏輯狀態(tài),可正確有效地對PLC系統(tǒng)進行實時監(jiān)控。

        1 梯形圖及其數(shù)據(jù)結構

        梯形圖[10]是 IEC61131-3 標準[11]規(guī)定的一種圖形化編程語言,它將PLC指令的圖形符號通過串聯(lián)或并聯(lián)結構連接在一起,形成簡單、直觀、具有特定功能的流通圖。PLC梯形圖圖元的數(shù)據(jù)結構如下:

        In:為1表示該節(jié)點左面的邏輯為通路,否則不通。

        Out:節(jié)點為常開常閉節(jié)點時,Out為1表示該節(jié)點需顯示上一掃描周期的值,并將當前周期的值暫存在curIn;Out為0顯示當前周期值;虛節(jié)點Out為1表示虛節(jié)點的后續(xù)節(jié)點顯示位為1,Out為0表示后續(xù)節(jié)點顯示位為0或者不存在后續(xù)節(jié)點。

        2 CNC與PLC的通信機制

        CNC和PLC的通信是通過數(shù)據(jù)報的傳輸來實現(xiàn)的。該數(shù)據(jù)報結構包括首部和有效負載兩部分。數(shù)據(jù)報格式如圖1所示。

        首部包括通信協(xié)議(Communications Protocol)、有效負載長度(Length of Payload)、有效負載首地址(First Address of Payload),共占用3個字節(jié)。

        有效負載的數(shù)據(jù)單元包括邏輯名LOGN(Logical name)、字操作數(shù) WODN(Word Name)、對照位 RB(Reference Bit)、地址 ADDR(Address)、值 VALUE(Value)。

        圖1 數(shù)據(jù)報格式

        (1)通信協(xié)議CP占一個字節(jié),是CNC和PLC通信規(guī)則的集合。PLC向CNC發(fā)送請求,CNC對PLC的請求進行應答。PLC向CNC請求數(shù)據(jù)時將CP置為2(010表示字操作數(shù)改變的數(shù)據(jù)請求)或6(110表示字操作數(shù)未改變的數(shù)據(jù)請求),終止請求時CP置為0。若CNC收到PLC的請求,則準備請求數(shù)據(jù)值送回給PLC,將CP置為3,若在CNC準備數(shù)據(jù)的過程中出錯則將CP置為5送回給PLC。在此共五種信號,僅用了8位中的3位,剩余5位用于擴展。通信協(xié)議位圖如圖2。

        圖2 通信協(xié)議位圖

        (2)有效負載長度LP占一個字節(jié),是PLC向CNC請求的數(shù)據(jù)的個數(shù)。梯形圖一屏共12行,一行最多有9個節(jié)點,所以有效負載長度最大值為12×9=108,最小值為0(只有首部無有效負載)。有效負載數(shù)據(jù)單元的長度為31字節(jié),有效負載長度的范圍是:0×9×31~12×9×31字節(jié)。

        (3)有效負載的首地址FAP占一個字節(jié),是PLC向CNC請求數(shù)據(jù)的首地址。該算法將按照有效節(jié)點的個數(shù)建立一個有效負載的動態(tài)數(shù)組。

        (4)邏輯名LOGN占13個字節(jié),是梯形圖中節(jié)點及節(jié)點參數(shù)的邏輯名稱。

        (5)字操作數(shù)WODN占13個字節(jié),是邏輯名對應的字操作數(shù)。

        (6)對照位RB占1個字節(jié),字操作數(shù)與對照位相與得到邏輯值。

        (7)字操作數(shù)的地址 ADDR,是指向 INT的指針。

        (8)VALUE占2個字節(jié),將字操作數(shù)地址存放的內(nèi)容取出賦值給VALUE。CNC就是根據(jù)這個VALUE值來進行動態(tài)顯示的。

        3 監(jiān)控算法實現(xiàn)

        PLC梯形圖中圖元的類型不同導致實時顯示的依據(jù)不同。若圖元(類型為多路選擇器除外)的邏輯值為1則設置節(jié)點的visited為1,顯示為綠色,否則顯示為黃色(缺省顏色),而在多路選擇器中,visited為1表示多路選擇器的八條路徑中至少有一條路徑是通的,僅選擇最靠上面的一條通路顯示綠色;visited為時,代表多路選擇器沒有通路,八條路徑均顯示為黃色。

        該算法設計了乒乓快捷操作鍵(“ALT+D”和“SPACE”)操作?!癆LT+D”鍵控制梯形圖“編輯模式”/“監(jiān)控模式”之間的互換?!癝PACE”鍵為暫停/繼續(xù)掃描鍵?!癙gUp”和“PgDn”對監(jiān)控模式下的梯形圖進行上下翻頁。

        該監(jiān)控模塊包括二大部分的算法,一是監(jiān)視前的準備,二是實時監(jiān)視。

        3.1 監(jiān)視前的準備

        監(jiān)視前的準備包括程序初始化,建立數(shù)據(jù)鏈,建立有效負載的動態(tài)數(shù)組,獲得數(shù)據(jù)。

        3.1.1 程序初始化

        程序初始化是對圖元節(jié)點中的In,Out,CurIn,visited四種標示位設置初始值,并對要求顯示上一周期的圖元節(jié)點作標記(Out的值為1)。如果Out為1,則要將當前周期的邏輯值暫存在CurIn里,以備下一周期顯示使用。

        3.1.2 建立數(shù)據(jù)鏈

        建立數(shù)據(jù)鏈是建立有效節(jié)點所涉及的參數(shù)邏輯名的數(shù)據(jù)鏈,首先要計算有效節(jié)點。在任一時刻,數(shù)控系統(tǒng)中的PLC梯形圖編輯器屏幕最多能顯示12行梯形圖,所謂有效節(jié)點是指屏幕上的梯形圖中構成完整邏輯的節(jié)點,靠近屏幕上部和下部的圖符如果要與12行之外的圖符才能構成完整的梯形圖邏輯則不計算在內(nèi)。把一屏中除去有效節(jié)點的剩余節(jié)點稱之為非有效節(jié)點。

        建立當前屏幕有效節(jié)點的數(shù)據(jù)鏈,再通過該數(shù)據(jù)鏈建立動態(tài)數(shù)組,而不是直接利用整個梯形圖的鏈結構建立當前屏幕的動態(tài)數(shù)組,是因為建立動態(tài)數(shù)組需知道當前所建數(shù)組的確切長度。當然,也可利用整個梯形圖的鏈結構建立一條有效節(jié)點的指針鏈,但所占內(nèi)存要多很多。因此,對于內(nèi)存資源有限的數(shù)控系統(tǒng)來說,用動態(tài)數(shù)組更為合適。

        3.1.3 建立有效負載的動態(tài)數(shù)組

        根據(jù)3.1.2節(jié)中建立的有效節(jié)點數(shù)據(jù)鏈中的邏輯名,得到動態(tài)數(shù)組元素字操作數(shù)、對照位,并將動態(tài)數(shù)組的首地址賦值給有效負載的首地址FAP。

        字操作數(shù)根據(jù)邏輯名的不同而獲得的方式不同:

        (1)邏輯名以T開頭代表定時器,以C開頭的代表計數(shù)器,以P開頭的代表脈沖,這幾種操作數(shù)統(tǒng)稱元操作數(shù)。它們的字操作符與邏輯名相同。而RB的設置,除計數(shù)器中的CxxWxx的 RB為255之外,其余的情況計數(shù)器(CxxIxx,CxxAxx,CxxZxx,CxxRxx)、定時器和脈沖的RB均為1。

        (2)邏輯名以W開頭的代表是字操作數(shù),其LOGN和WODN是一樣的,RB的值均為255。

        (3)邏輯名以U,I開頭的代表輸入或輸出假設UabKcd對應的字操作數(shù)WODN為WabKef,其中ef=cd/8,RB=2cd%8。

        3.1.4 獲得數(shù)據(jù)

        模擬版本中獲得數(shù)據(jù)是通過讀文件得到的,真實版本中獲得數(shù)據(jù)是從I/O映像表中得到的。

        3.2 實時監(jiān)視

        實時監(jiān)視包括設置節(jié)點、橫線和豎線的顯示位,非有效節(jié)點的處理,刷新顯示,顯示后的處理。

        3.2.1 圖元節(jié)點顯示位的設置

        PLC獲得數(shù)據(jù)后,先要將此數(shù)據(jù)與對照位RB相與得到其邏輯值,然后根據(jù)圖元節(jié)點的類型來設置該節(jié)點的顯示位visited,且此功能塊僅對節(jié)點的visited進行設置。設n為梯形圖中任一節(jié)點,下面根據(jù)節(jié)點類型來設置:

        (1)n的類型為常開觸點、輸出節(jié)點、比較器、符號函數(shù),若邏輯值為1,則顯示位visited為1,顯示綠色,否則顯示黃色。而若n為常閉觸點、反輸出節(jié)點分別與常開觸點、輸出節(jié)點的設置相反。

        (2)n的類型為多路選擇器時,此時的visited顯示位含義與上述不同,用一長度為8的數(shù)組存放多路選擇器的布爾值,數(shù)組的下標加1對應選擇器的8個路徑。選擇器顯示第一個布爾值為1的路徑為綠色;若8個布爾值都為,則選擇器8條路徑均為黃色。

        3.2.2 橫線顯示位的設置

        橫線顯示位的設置是根據(jù)其左面的路徑是否為通路來處理的。設置橫線的顯示位還必須先設置In位。為了豎線顯示位設置(4.2.3小節(jié))方便,也設置了虛節(jié)點的In和Out。從當前屏有效節(jié)點開始掃描,設n為當前節(jié)點,np為n上一節(jié)點,n1為n的下一節(jié)點,在掃描過程中設置每一節(jié)點的In,并設置橫線的visited和虛節(jié)點的In和Out。由于橫線顯示位設置較節(jié)點顯示位設置復雜,圖3給出了橫線顯示位設置流程圖。

        圖3 橫線顯示位設置流程圖

        橫線顯示位設置過程描述如下:

        (1)從梯形圖當前屏中取出一個有效節(jié)點n,如果該節(jié)點為空節(jié)點,就結束,否則就將n1=n->next。

        (2)根據(jù)n的類型不同來進行不同的設置,分5種類型:

        (a)n為條件節(jié)點,若n的In為1,則n的 visited為1。

        (b)n為多路選擇器,此時若多路選擇器的顯示位為1,則下一節(jié)點n1的In也為1。

        (c)n為常開節(jié)點、常閉節(jié)點、數(shù)值比較器、符號函數(shù)時,若n的In和visited都為1,則n1的In也為1。

        (d)n為橫線,若np是虛結點,則n的In為1,若np不是虛節(jié)點,且n的 In為1,則n的 visited為1,此時要根據(jù)橫線n的前一節(jié)點np是否是虛節(jié)點來設置n的In位和visited顯示位。若n的In和visited都為1,則n1的In位也為1。

        (e)n為虛節(jié)點,梯形圖中并聯(lián)結構是由虛節(jié)點來連接的,圖4標出出虛節(jié)點的位置。若存在與虛節(jié)點同行且緊接虛節(jié)點的圖元節(jié)點n1,若n1的visited為1,則 n 的 Out為1。

        圖4 豎線顯示位設置流程圖

        (3)繼續(xù)取當前屏中的有效節(jié)點進行上述處理,直到處理完當前屏中所有的有效節(jié)點。

        3.2.3 豎線的設置

        我們假定圖5中的三個虛節(jié)點分別記為x,x2,x1,其中x2的visited控制x和x2之間的豎線的顯示,x1的visited控制x2和x1之間的豎線的顯示。如果梯形圖中x和x1之間還有虛節(jié)點則設為xn。在掃描梯形圖的過程中,虛節(jié)點的設置是一個遞歸的過程,設置過程描述如下,流程圖如圖4所示。

        圖5 查找梯形圖中的虛節(jié)點

        豎線顯示位設置過程描述如下:

        (1)取當前屏中有效節(jié)點中的一個虛節(jié)點x。

        (2)查看虛節(jié)點x的In和Out,若滿足條件

        (x->In==0&&x->Out==0)(記為條件a),說明當前虛節(jié)點不需要處理。

        (3)如果x不滿足條件a,就做以下處理:

        (a)找到x最底層的虛節(jié)點,在圖5中,最底層的虛節(jié)點為x1,若滿足條件:(x->In==1&&x1->Out==1)||(x->Out==1&& x1- >In==1)(記為條件b),那么x下面的虛節(jié)點的visited都為1,In和Out都為。如果不滿足條件 b,則 x1->visited=0。

        (b)找到緊接x1的上一行的虛節(jié)點(圖5中為x2),若不存在x2,豎線處理結束,否則按處理x和x1的方法,即遞歸條用(1)處理x和x2。如果x和x2之間還存在多個虛節(jié)點,比如x和x2之間還有xn,則按同樣的方法處理x和xn。

        (4)繼續(xù)掃描并處理虛節(jié)點,直到當前屏有效節(jié)點的虛節(jié)點都處理結束。

        4 結束語

        該算法是在梯形圖編輯器下先是設置梯形圖中各圖元節(jié)點狀態(tài)顯示,然后根據(jù)圖元節(jié)點狀態(tài)設置橫線顯示,最后根據(jù)圖元節(jié)點和橫線的顯示來確定梯形圖中豎線的顯示來進行實時監(jiān)控的。通過模擬數(shù)據(jù)驗證,該算法可以正確、快捷地跟蹤PLC內(nèi)部運行數(shù)據(jù)的狀態(tài),為梯形圖的監(jiān)控模塊設計起到了指導意義。

        [1]唐明軍.基于ARM的可編程控制器的研制[J].南京:南京信息工程大學,2007.

        [2]于廣慶.可編程控制器原理及系統(tǒng)設計[M].北京:清華大學出版社,2004.

        [3]S.Da’na,A.Sagahyroon,A.Elrayes,et al.Development of a monitoring and control plat form for PLC-based applications.Computer Standards and Interfaces.2008,3(30):157-166.

        [4]Sung Jung,Mulman BM,Devinder Thapa,et al.PLC Control Logic Error Monitoring and Prediction Using Neural Network.Natural Computation,ICNC '08.Fourth International Conference,Korea,IEEE,2008(2):484-488.

        [5]張志強,孫寧.PC-PLC控制系統(tǒng)的串口通訊監(jiān)控程序設計[J]. 工業(yè)控制計算機,2006,19(12):35-37.

        [6]姜海,田春艷.MCGS組態(tài)軟件在PLC工作狀態(tài)監(jiān)控中的應用[J]. 裝備制造技術,2008(2):56-57,59.

        [7]吳鎮(zhèn)平,林海漲,李捷輝.利用VC++6.0實現(xiàn)PLC實時監(jiān)控[J].裝備制造技術,2009(7):80-91.

        [8]陶杰.基于CAN總線的多品牌小型PLC監(jiān)控系統(tǒng)的設計與實現(xiàn)[D].蘇州大學,2008.

        [9]王登貴.基于PC-PLC結構的計算機監(jiān)控系統(tǒng)設計及實現(xiàn)[J]. 自動化技術與應用,2008,27(11):107-108.

        [10]裴元方,馮萍,康繼昌.PLC梯形圖的一種數(shù)據(jù)結構描述方法[J]. 計算機工程與科學,2009,12(31):87-89.

        [11]Karl-Heinz John,Michael Tiegelkamp,IEC61131-3.Programming Industrial Automation Systems[M].Germany:Springer-Verlag Company,2001.

        猜你喜歡
        設置
        中隊崗位該如何設置
        少先隊活動(2021年4期)2021-07-23 01:46:22
        船舶防火結構及設置的缺陷與整改
        水上消防(2020年5期)2020-12-14 07:16:18
        中外醫(yī)學專業(yè)與專科設置對比分析及啟示
        特殊場景下列控等級轉換的設置方案
        7招教你手動設置參數(shù)
        動車段(所)股道有效長設置研究
        我國中小學將設置人工智能相關課程
        玩具世界(2017年9期)2017-11-24 05:17:29
        吃紙的妖怪
        本刊欄目設置說明
        中俄臨床醫(yī)學專業(yè)課程設置的比較與思考
        无码国模国产在线观看| 亚洲国产毛片| 中文字幕精品久久天堂一区| 亚洲影院在线观看av| 蜜桃a人妻精品一区二区三区| 妺妺窝人体色www看美女| 国产精品爽爽va在线观看无码| 国产色噜噜| 国内精品熟女一区二区| 在线观看 国产一区二区三区| 国精产品一区一区三区有限公司杨| 亚洲av无码一区二区二三区下载| 中文亚洲成a人片在线观看| 亚洲女av中文字幕一区二区| 国产18禁黄网站免费观看| 日韩在线 | 中文| 色偷偷亚洲第一成人综合网址| 国产亚洲精品bt天堂精选| 亚洲AV永久无码精品导航| 青青草视频在线免费观看91| 人人妻人人澡人人爽精品日本 | 人妻 色综合网站| 自拍偷拍亚洲一区| 国产99久久久国产精品免费| 久久综合99re88久久爱| 精品人妻人人做人人爽| 精品人妻少妇一区二区中文字幕| 手机av在线播放网站| 国产欧美一区二区精品久久久 | 日本欧美大码a在线观看| 国产无遮挡又黄又爽在线视频 | 91麻豆精品激情在线观最新| 亚洲精品国产一二三区| 亚洲日韩中文字幕一区| 91青青草久久| 一本色道久久88加勒比综合| 国内精品久久久久久久97牛牛 | 亚洲一级黄色毛片| 国产三级在线观看不卡| 日本一区二区在线免费看| 狠狠躁夜夜躁人人爽天天古典|