?

PLC編譯功能的實現

2016-10-14 00:50樊宏劉賀
科學與財富 2016年28期
關鍵詞:豎線功能塊梯形圖

樊宏+劉賀

摘 要:PLC的編程標準包括5種PLC編程語言:梯形圖、功能塊圖,順序功能圖,結構文本和指令表。其中梯形圖和指令表最為簡單易用,應用的范圍最為廣泛,并且其中梯形圖和工控圖比較相近,更加形象直觀,對于熟悉繼電器表示方式的編程人員來講,更加容易被接受,并且不需要特別深入的計算機知識作為基礎。

關鍵詞:PLC;PLC編譯功能實現

1.指令表和梯形圖的關系分析

指令表和梯形圖是PLC的兩種常用的編程語言,在PLC邏輯實現上是等效的。

1.1基本指令語言的分析

指令語言包括兩個部分:指令語句和操作數。以RD R0.1為例:其中RD指令語言的基本指令,后面的R0.1中的R表示的是信號的地址,表示不同的信號種類。0.1中的0表示的是地址號,小數點后面的1表示的是位號。

1.2 梯形圖的分析

梯形圖因其形狀類似梯子而得名。典型的梯形圖由電力軌、中間部分的元件觸點橫線和豎線,還有功能塊組成。左右兩邊的兩條豎線稱為電力軌。對于某些帶有輸出的若干行,它們與這個整體和其他行沒有豎線鏈接,稱之為一個梯級。每個梯級又由一行或者由豎行鏈接的若干行構成。梯形圖由元件觸點、橫線、線圈(或繼電器線圈)、功能塊(功能指令)等構成。

1.3 梯形圖和指令語言的外在聯系

通過以上對梯形圖和指令語言的分析介紹中可以看出指令語言和梯形圖有一定的外在關系。不考慮邏輯部分的關系,可以得出,梯形圖和指令語言的信號地址,位號表示形式上是一致的。

2.梯形圖和指令語言的內部邏輯關系

梯形圖和指令語言之間最大的區別主要表現在邏輯的表示形式上。梯形圖和指令語言都是PLC的編程語言,在PLC程序實現的邏輯關系上是等同的,而任何邏輯關系都可以用一定的數據結構形式描述。因此可以對他們的邏輯關系進行分析,找到一個合適的數據結構將梯形圖和指令語言聯系在一起,實現兩種編程語言的互譯。

2.1 指令語言的指令分析

在進行梯形圖向指令語言轉化前,必須要對指令語言的有一定的了解,PLC的基本指令一共有14個,這些基本指令都對應著一定的邏輯關系?;局噶钍窃谠O計順序程序時最常用的指令,它們執行一位的運算。功能指令也和基本指令的表示形式類似,也是由指令和操作數構成的。只不過操作數的個數和基本指令種類的操作數有一定的差別而已。

2.2 梯形圖內部邏輯關系的描述

任何梯形圖都是由若干梯級組成的,梯階是梯形圖表達含義的最小單元,是梯形圖不可分割的組成部分,就像英文單詞與英文語句的關系一樣。梯形圖的元件和功能塊就像英文的26個字母,是組成梯級的最小單位。所以梯級邏輯的分析是梯形圖邏輯分析的關鍵,只要把任意形式的梯級的邏輯關系解決也就是解決了整個梯形圖的邏輯關系。在梯級中,梯形圖元件和各個元件之間的關系是梯級中最基本的關系。要分析清楚梯形圖,必須要對梯級中的元件的邏輯關系進行研究。

2.3 基本元件之間的邏輯關系分析

梯形圖元件之間的邏輯關系主要可以分為兩部分,串聯和并聯。簡單的說存在橫線連接的部分為串聯,豎線連接的部分為并聯。任何梯形圖都是由最基本的串并聯嵌套構成的。因此梯形圖梯級內部元件的串并、聯關系的處理是梯形圖向指令語言轉化編譯實現的關鍵。

2.4 功能塊邏輯關系的處理

功能塊本身是一個整體,在處理的時候,可以作為一個整體來進行邏輯分析處理。梯形圖單元格的數據類型,功能塊的基本信息都存在1這個位置的單元格內。以圖2.1為例,MOVE功能塊的m Kind值,功能塊的參數全部存在1這個位置,其他的15個格全部賦值為120是為了和空白單元格相區別和便于后期的邏輯處理。由于其他位置的單元格數據結構有一定的空閑,可以將1這個信息存儲單元格的位置的坐標存儲在其他單元格內的空閑的數據結構中。這樣,處理其他單元格的時候.就會對應到相應的功能塊的類型和參數的存儲單元,從而得到梯形圖功能塊的類型和參數信息,隨后即可對功能塊進行進一步的操作。

3.編譯模塊的實現

編譯器是軟件PLC的核心部分,PLC硬件部分不能夠識別梯形圖,因此需要將梯形圖轉化為硬件能夠識別的機器語言。PLC的指令語言和硬件識別的機器語言有一定的共性,因此將梯形圖轉化為指令語言,然后將指令語言轉化為機器識別的計算機語言是編譯過程的關鍵。其中梯形圖轉為指令語言是這一部分的重點。

3.1 梯級中行的分類

每一個梯級實際上由若干行組成的,現在將梯級內的不同形式的行進行分類,共分為4類:

1.該行存在輸出,并且與上一行之間不存在豎線(既并聯關系):

2.該行存在輸出,并且與上一行之間存在一個豎線:

3.該行存在輸出,并且與上一行之間存在多個豎線;

4.該行沒有輸出。

3.2 編譯模塊的實現

規范的梯形圖的邏輯關系都對應著一種數據結構。若要得到PLC梯形圖的相應的指令語言,就要找到和梯形圖對應的數據結構,并對這種數據結構進行遍歷。對串并聯邏輯的插入與否的判斷和對數據表進行整理,將邏輯情況逐個壓入鏈表中,最終就實現了梯級的邏輯關系的轉化的過程。并且在這個過程中,對每一個元件進行判斷,梯形圖在轉化成指令語言的同時可以對梯形圖進行檢錯。

3.3功能塊指令譯碼的實現

功能塊雖然占據了若干的存儲單元,但是功能塊內的參數信息都存在第一個單元的數據結構內。功能塊其他位置的類型設置的值為120,并存儲了第一個單元格的位置坐標。功能塊在譯碼的實現部分也采用類似的方法,將功能塊看成一個整體。在處理的時候,首先對功能塊進行分類,分為單輸入和多輸入兩種類型。在處理的過程中,考慮到程序的緊湊和代碼實現的效率,將功能塊的邏輯轉化與基本元件的譯碼整合在一個函數內。

單輸入類型的處理:MOVE指令就是典型的單輸入類型,在處理的過程中,第一行的類型就是1,處理的過程也加入到1的流程中。在判斷元件的時候,就將整個功能塊的信息轉化為指令語言。后面幾行就是處理簡單的串并聯關系,遇到120類型的,做空格處理。圖3.1就是MOVE指令的譯碼實現的實例。

結論

梯形圖向指令語言的譯碼過程是上位機軟件的核心部分,本文分析了梯形圖的邏輯關系歸納為串聯和并聯這兩種邏輯關系形式,介紹了編譯模塊的實現過程,對PLC的發展有一定的意義。

參考文獻

[1] 王念春,趙陽,史國生等,電氣控制與可編程控制器技術(第三版),北京:化學工業出版社.

猜你喜歡
豎線功能塊梯形圖
可自動消除NG豎線缺陷的Mura檢測機設計探究
TFT-LCD彩膜工藝宏觀缺陷自動化修補的探究
Ovation系統FIRSTOUT和FIFO跳閘首出比較
基于VC的梯形圖編程軟件開發技術
繼電器電路轉為梯形圖教學經驗淺談
象形文字走走看
自定義功能塊類型在電解槽聯鎖中的應用
PLC梯形圖程序設計技巧及應用
基于MACSV6.5.2的鍋爐燃盡風開關量調節門控制功能塊設計
PLCopen運動控制功能塊的研究與開發
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合