- 工業過程控制系統及工程應用
- 黃宋魏等編著
- 10143字
- 2020-04-29 15:06:49
2.3 控制系統軟件配置及編程語言
2.3.1 控制系統軟件層次
控制系統軟件的基本構成也是按照硬件的劃分形成的,這是由于軟件是依附于硬件的。控制系統的發展也是如此。當控制系統的數字處理技術與單元式組合儀表的分散化控制、集中化監視的體系結構相結合產生分布式控制系統時,軟件就跟隨硬件被分成控制層軟件、監控軟件和組態軟件,同時,還有運行十多個站的網絡軟件,作為各個站上功能軟件之間的橋梁。
在軟件功能方面,控制層軟件是運行在現場控制站上的軟件,主要完成各種控制功能,包括回路控制、邏輯控制、順序控制,以及這些控制所必須針對現場設備連接的I/O處理;監控軟件是運行于操作員站或工程師站的軟件,主要完成運行操作人員所發出的各個命令的執行、圖形與畫面顯示、報警信息的顯示處理、對現場各類檢測數據的集中處理等。
組態軟件則主要完成系統的控制層軟件和監控軟件的組態功能,安裝在程師站中。控制系統的軟件主要包括控制層軟件、監控軟件和組態軟件。
2.3.1.1 控制層軟件
現場控制站中的控制層軟件的最主要功能是直接針對現場I/O設備,完成控制系統的控制功能。這里面包括了PID回路控制、邏輯控制、順序控制和混合控制等多種類型的控制。為了實現這些基本功能,在現場控制站中還應該包含以下主要的軟件:
(1)現場I/O驅動。主要是完成I/O模塊(模板)的驅動,完成過程量的輸入/輸出。采集現場數據,輸出控制計算后的數據。
(2)數據預處理。對輸入的數據進行預處理,如濾波處理、除去不良數據、工程量的轉換、統一計量單位等,總之,是要盡量真實地用數字值還原現場值并為下一步的計算做好準備。
(3)數據存儲。實時采集現場數據并存儲在現場控制站內的本地數據庫中,這些數據可作為原始數據參與控制計算,也可通過計算或處理成為中間變量,并在以后參與控制計算。所有本地數據庫的數據(包括原始數據和中間變量)均可成為人機界面、報警、報表、歷史、趨勢及綜合分析等監控功能的輸入數據。
(4)輸出控制量。按照組態好的控制程序進行控制計算,根據控制算法和檢測數據、相關參數進行計算,得到實施控制的量。
為了實現現場控制站的功能,在現場控制站建立有與本站的物理I/O和控制相關的本地數據庫,這個數據庫中只保存與本站相關的物理I/O點及與這些物理I/O點相關的,經過計算得到的中間變量。本地數據庫可以滿足本現場控制站的控制計算和物理I/O對數據的需求,有時除了本地數據外還需要其他現場控制站上的數據,這時可從網絡上將其他節點的數據傳送過來,這種操作被稱為數據的引用。
2.3.1.2 監控軟件
監控軟件的主要功能是人機界面,其中包括圖形畫面的顯示、對操作命令的解釋與執行、對現場數據和狀態的監視及異常報警、歷史數據的存檔和報表處理等。為了上述功能的實現,操作員站軟件主要由以下幾個部分組成。
(1)圖形處理軟件,通常顯示工藝流程和動態工藝參數,由組態軟件組態生成并且按周期進行數據更新。
(2)操作命令處理軟件,其中包括對鍵盤操作、鼠標操作、畫面熱點操作的各種命令方式的解釋與處理。
(3)歷史數據和實時數據的趨勢曲線顯示軟件。
(4)報警信息的顯示,事件信息的顯示、記錄與處理軟件。
(5)歷史數據記錄與存儲,轉儲及存檔軟件。
(6)報表軟件。
(7)系統運行日志的形成、顯示、打印和存儲記錄軟件。
(8)工程師站在線運行時,對控制系統本身運行狀態的診斷和監視,發現異常時及時報警,同時通過工程師站上的顯示屏幕給出詳細的異常信息,如出現異常的位置、時間、性質。
為了支持上述操作員站軟件的功能實現,在操作員站上需要建立一個全局的實時數據庫,這個數據庫集中了各個現場控制站所包含的實時數據及由這些原始數據經運算處理所得到的中間變量。這個全局的實時數據庫被存儲在每個操作員站的內存中,而且每個操作員站的實時數據庫是完全相同的復制。因此,每個操作員站可以完成各個相同的功能,形成一種可互相替代的冗系結構。當然各個操作員站也可根據運行需要,通過軟件人為地定義其完成不同的功能,而形成一種分工的形態。
2.3.1.3 組態軟件
組態軟件安裝在工程師站中,這是一組軟件工具,是為了將通用的、有普遍適應能力的控制系統,變成一個針對某一個具體應用控制工程的專門控制系統。為此,系統針對這個具體應用進行一系列定義,如硬件配置、數據庫的定義、控制算法程序的組態、監控軟件組態,報警報表的組態等。在工程師站上,要做的組態定義主要包括以下方面。
(1)硬件配置。這是使用組態軟件首先應該做的,根據控制要求配置各類站的數量、每個站的網絡參數、各個現場I/O站的I/O配置(如各種I/O模塊的數量、是否冗余、與主控單元的連接方式等)以及各個站的功能定義。
(2)定義數據庫。包括歷史數據和實時數據,實時數據庫指現場物理I/O點數據和控制計算時,中間點變量的數據。歷史數據庫是按一定的存儲周期存儲的實時數據,通常將數據存儲在計算機的硬盤上以備查用。
(3)歷史數據和實時數據。歷史數據和實時數據的趨勢顯示、列表和打印輸出等定義。
(4)控制層軟件組態。也括確定控制目標、控制方法、控制算法、控制周期以及與控制相關的控制變量、控制參數等。
(5)控制軟件的組態。包括各種圖形界面(也括背景畫面和實時刷新的動態數據)、操作功能定義(操作員可以進行哪些操作、如何進行操作)等。
(6)報警定義。包括報警產生的條件定義、報警方式的定義、報警處理的定義(如對報警信息的保存、報警的確認、報警的消除除操作)及報警列表的種類與尺寸定義等。
(7)系統運行日志的定義。包刮各種現場事件的認定、記錄方式及各種操作的記錄等。
(8)報表定義。包括報表的種類、數量、報表格式、報表的數據來源及在報表中各個數據項的運算處理等。
(9)事件順序記錄和事故追憶等特殊報告定義。
2.3.2 控制層軟件
集散控制系統的控制層軟件特指運行于現場控制站的控制器中的軟件,針對控制對象,完成控制功能。用戶通過組態軟件按工藝要求編制的控制算法,下裝到控制器中,和系統自帶的控制層軟件一起,完成對系統設備的控制。
2.3.2.1 控制層軟件的功能
DCS控制層軟件,其基本功能可以概括為I/O數據的采集、數據預處理、數據組織管理、控制運算及I/O數據的輸出,其中數據組織管理和控制運算由用戶組態,有了這些功能,DCS的現場控制站就可以獨立工作,完成本控制站的控制功能,如圖2.2所示。除此之外,一般DCS控制層軟件還要完成一些輔助功能,如控制器及重要I/O模塊的冗余功能、網絡通信功能及自診斷功能等。

圖2.2 計算機控制的基本過程
I/O數據的采集與輸出由控制計算機的I/O模塊(板)來實現,對多個I/O接口,控制器接受工程師站下裝的硬件配置信息,完成各I/O通道的信號采集與輸出。I/O通道信號采集進來后還要有一個數據預處理過程,這通常也是在I/O模塊上來實現,I/O模塊上的微處理器(CPU)將這些電信號進行質量判斷并調理、轉換為有效信號后送到控制器作為控制運算程序使用的數據。
控制計算機的控制功能由現場控制站中的控制器實現,是控制器的核心功能。在控制器中一般保存有各種基本控制算法,如PID、微分、積分、超前滯后、加、減、乘、除、三角函數、邏輯運算、伺服放大、模糊控制及先進控制等控制算法程序,這些控制算法有的在IEC 61131-3標準中已有定義。通常,控制系統設計人員是通過控制算法組態工具,將存儲在控制器中的各種基本控制算法,按照生產工藝要求的控制方案順序連接起來,并填進相應的參數后下裝給控制器,這種連接起來的控制方案稱之為用戶控制程序,在IEC 61131-3標準中統稱為程序組織單元(Program Organization Units,POUs)。控制運行時,運行軟件從I/O數據區獲得與外部信號對應的工程數據,如流量、壓力、溫度及位置等模擬量輸入信號,接觸器的關/開、設備的啟/停等開關量輸入信號等,并根據組態好的用戶控制算法程序,執行控制運算,并將運算的結果輸出到I/O數據區,由I/O驅動程序轉換輸出給物理通道,從而達到自動控制的目的。輸出信號一般也包含如閥位信號、電流、電壓等模擬量輸出信號和啟動設備的開/關、啟/停的開關量輸出信號等。控制層軟件每個程序組織單元作如下處理。
(1)從I/O數據區獲得輸入數據。
(2)執行控制運算。
(3)將運算結果輸出到I/O數據區。
(4)由I/O驅動程序執行外部輸出,即將輸出變量的值轉換成外部信號(如4~20mA模擬信號)輸出到外部控制儀表,執行控制操作。
上述過程是一個理想的控制過程,事實上,如果只考慮變量的正常情況,該功能還缺乏完整性,該控制系統還不夠安全。一個較為完整的控制方案執行過程,還應考慮到各種無效變量情況。例如,模擬輸入變量超量程情況、開關輸入變量抖動情況、輸入變量的接口設備或通信設備故障情況,等等。這些將導致輸入變量成為無效變量或不確定數據。此時,針對不同的控制對象應能設定不同的控制運算和輸出策略,例如可定義:變量無效則結果無效,保持前一次輸出值或控制倒向安全位置,或使用無效前的最后一次有效值參加計算,等等。所以現場控制站I/O數據區的數據都應該是預處理以后的數據。
2.3.2.2 信號采集與數據預處理
控制計算機要完成其控制功能,首先要對現場的信號進行采集和處理。控制計算機的信號采集指其I/O系統的信號輸入部分。它的功能是將現場的各種模擬物理量如溫度、壓力、流量、液位等信號進行數字化處理,形成現場數據的數字表示方式,并對其進行數據預處理,最后將規范的、有效的、正確的數據提供給控制器進行控制計算。現場信號的采集與預處理功能是由控制計算機的I/O硬件及相應軟件實現的,用戶在組態控制程序時一般不用考慮,由控制計算機系統自身完成。I/O硬件的形式可以是模塊或板卡,電路原理DCS和PLC基本相同。軟件則根據I/O硬件的功能而稍有不同。對于早期的非智能I/O(多為板卡形式)。處理軟件由控制器實現,而對于現存大多數智能I/O來說,數據采集與預處理軟件由I/O板卡(模塊)自身的CPU完成。控制系統中I/O部分的設備框圖,如圖2.3所示。

圖2.3 控制系統I/O框圖
控制計算機的信號采集系統對現場信號的采集是按定時間間隔也就是采樣周期進行的,而生產過程中的各種參數除開關量(如聯鎖、繼電器和按鈕等只有開和關兩種狀態)和脈沖量(如渦輪流量計的脈沖輸出)外,大部分是模擬量如溫度、壓力、液位和流量等。由于計算機所能處理的只有數字信號,所以必須確定單位數字量所對應的模擬量大小,即所謂模擬信號的數字化(A/D轉換),信號的采樣周期實質上是對連續的模擬量A/D轉換時間間隔問題。此外,為了提高信號的信噪比和可靠性,并為控制計算機的控制運算作準備,還必須對輸入信號進行數字濾波和數據預處理。所以,信號采集除了要考慮A/D轉換,采樣周期外,還要對數據進行處理才能進入控制器進行運算。
(1)A/D轉換。在實際應用中,一個來自傳感器的模擬量物理信號,如電阻信號、非標準的電壓及電流信號等,一般先要經過變送器,轉換為4~20mA、0~20mA、1~5V、0~10V等標準信號,才能接入到控制計算機的I/O模塊(板)的模擬量輸入(AI)通道上。在AI模塊(板)上一般都有硬件濾波電路。電信號經過硬件濾波后接到A/D轉換器上進行模擬量到數字量的轉換。A/D轉換后的信號是二進制數字量,數字量的精度與A/D的轉換位數相關,如12位的A/D轉換完的數值范圍即為0~4095,16位的A/D轉換完的數值范圍即為0~65535。之后再由軟件對A/D轉換后的數據進行濾波和預處理,再經工程量程轉換計算,轉換為信號的工程量值。轉換后的工程值,可以是定點格式數據,也可以是浮點格式數據。目前,一般的CPU中基本都帶有浮點協處理器,且CPU的運算速度已大大提高,為了保證更高的計算精度,采用浮點格式表示數據的更為普遍。
(2)采樣周期。對連續的模擬信號,A/D轉換按一定的時間間隔進行,采樣周期是指兩次采樣之間的時間間隔。從信號的復現性考慮,采樣周期不宜過長,或者說采樣頻率均不能過低。根據香農采樣定理,采樣頻率ω必須大于或等于原信號(被測信號)所含的最高頻率ωmax的兩倍,數字量才能較好地包含模擬量的信息,即
ω≥2ωmax (2.1)
從控制角度考慮,系統采樣周期T越短越好,但是這要受到整個I/O采集系統各個部分的速度、容量和調度周期的限制,需要綜合I/O模件上A/D、D/A轉換器的轉換速度,I/O模塊自身的掃描速度,I/O模塊與控制器之間通信總線的速率及控制器I/O驅動任務的調度周期,才能計算出準確的最小采樣周期。在控制系統中,I/O信號的采樣周期是一個受到軟硬件性能限制的指標。隨著半導體技術的進步,CPU、A/D、D/A等器件速度及軟件效率的提高,I/O采樣周期對系統負荷的影響已減小很多,軟硬件本身在絕大多數情況下,已不再是信號采樣的瓶頸,一般來說,對采樣周期的確定只需考慮現場信號的實際需要即可。對現場信號的采樣周期需考慮以下幾點。
①信號變化的頻率。頻率越高,采樣周期應越短。
②對大的純滯后對象特性,可選擇采樣周期大致與純滯后時間相等。
③考慮控制質量要求。一般來說,質量要求越高,采樣周期應選得越小一些。
除上述情況外,采樣周期的選擇還會對控制算法中的一些參數產生影響,如PID控制算式中的積分時間及微分時間。
2.3.2.3 分辨率
由于計算機只能接受二進制的數字量輸入信號,模擬量在送往計算機之前必須經過A/D轉換器轉換成二進制的數字信號。這就涉及A/D轉換器的轉換精度和速度問題。
顯然A/D轉換器的轉換速度不能低于采樣頻率,采樣頻率越高,則要求A/D轉換器的轉換速度越快。現在A/D轉換芯片的轉換速度都是微秒級的速度,所以這點現在不用過多考慮。
A/D轉換器的轉換精度則與A/D的位數有關。位數越高,則轉換的精度也越高。A/D轉換器的轉換精度可用分辨率K來表示。
(2.2)
式中,N為A/D轉換器的位數。
2.3.2.4 采集數據的預處理
為了抑制進入控制計算機系統的信號中可能侵入的各種頻率的干擾,通常在AI模塊的入口處設置硬件模擬RC濾波器。這種濾波器能有效地抑制高頻干擾,但對低頻干擾濾波效果不佳。而數字濾波對此類干擾(包括周期性和脈沖性干擾)卻是一種有效的方法。
所謂數字濾波,就是用數學方法通過數學運算對輸入信號(包括數據)進行處理的一種濾波方法。即通過一定的計算方法,減少噪聲干擾在有用信號中的比重,使得送往計算機的信號盡可能是所要求的信號。由于這種方法是靠程序編制來實現的,因此,數字濾波的實質是軟件濾波。這種數字濾波的方法不需要增加任何硬件設備,由程序工作量比較小的I/O模塊中的CPU來完成。
數字濾波可以對各種信號,甚至頻率很低的信號進行濾波。這就彌補了RC模擬式濾波器的不足。而且,由于數字濾波穩定性高,各回路之間不存在阻抗匹配的問題,易于多路復用,因此,發展很快,用途極廣,很多工業控制領域都在使用。數字濾波方法很多,各有優缺點,往往根據實際情況要選擇不同的方法。下面介紹幾種經典的軟件濾波方法。
(1)限幅濾波法(又稱程序判斷濾波法)。是根據經驗判斷,確定兩次采樣允許的最大偏差值(設為A)。每次檢測到新值時判斷:如果本次值與上次值之差<A,則本次值有效。如果本次值與上次值之差≥A,則本次值無效,放棄本次值,用上次值代替本次值。
當|y(n)-y(n-1)|≤A時,則y(n)為有效值;
當|y(n)-y(n-1)|>A時,則y(n-1)為有效值。
這種方法的優點是能有效克服因偶然因素引起的脈沖干擾,缺點是無法抑制那種周期性的干擾,平滑度差。
(2)中位值濾波法。計算機連續采樣N次(N取奇數),把N次采樣值按大小排列,取中間值為本次有效值。這種方法的優點是能有效克服因偶然因素引起的波動干擾。對溫度、液位的變化緩慢的被測參數有良好的濾波效果。但是對流量、速度等快速變化的參數不宜采用。
(3)算術平均濾波法。算術平均濾波法是計算機連續取N個采樣值進行算術平均運算,當N值較大時,信號平滑度較高,但靈敏度較低,N值較小時,信號平滑度較低,但靈敏度較高。N值的選取一般按照流量:N=12;壓力:N=4;液位:N=4~12;溫度:N=1~4。
此法的優點是適用于對一般具有隨機干擾的信號進行濾波。這樣信號的特點是有一個平均值,信號在某數值范圍附近上下波動。缺點是對于測量速度較慢或要求數據計算速度較快的實時控制不適用。
(4)遞推平均濾波法(又稱滑動平均濾波法)。把連續取N個采樣值看成一個隊列。隊列的長度固定為N。每次采樣到新數據放入隊尾,并扔掉原來隊首的一次數據(先進先出原則)。把隊列中的N個數據進行算術平均運算,就可獲得新的濾波結果。
(2.3)
式中,為第N次采樣的N項遞推平均值;y(n-i)為依次向前遞推i項的采樣值。
優點:對周期性干擾有良好的抑制作用,平滑度高。適用于高頻振蕩的系統。
缺點:靈敏度低。對偶然出現的脈沖性干擾的抑制作用較差。不易消除由于脈沖干擾所引起的采樣值偏差。不適用于脈沖干擾比較嚴重的場合。
(5)中位值平均濾波法(又稱防脈沖干擾平均濾波法)。相當于“中位值濾波法”+“算術平均濾波法”。連續采樣N個數據,去掉一個最大值和一個最小值。然后計算N-2個數據的算術平均值。N值的選取:3~14。
優點:融合了兩種濾波法的優點。對于偶然出現的脈沖性干擾,可消除由于脈沖干擾所引起的采樣值偏差。
缺點:測量速度較慢。
(6)限幅平均濾波法。相當于“限幅濾波法”+“遞推平均濾波法”,每次采樣到的新數據先進行限幅處理,再送入隊列進行遞推平均濾波處理。
優點:融合了兩種濾波法的優點。對于偶然出現的脈沖性干擾,可消除由于脈沖干擾所引起的采樣值偏差。
缺點:占用存儲器RAM資源比較多。
(7)一階滯后濾波法(一階慣性濾波)。模擬電路常用的RC濾波電路傳遞函數為
(2.4)
式中,Ts為濾波時間常數。離散化處理后得
y(n)=ay(n-1)+(1-a)x(n) (2.5)
式中,a=T/(T+Ts),取a=0~1,式(2.5)可以描述為:
本次濾波結果=a×上次濾波結果+(1-a)x本次采樣值
(8)加權遞推平均濾波法。是對遞推平均濾波法的改進,即不同時刻的數據乘以不同的權重(系數aj)。通常是越接近現時刻的數據,權重取得越大。給予新采樣值的權重系數越大,則靈敏度越高,但信號平滑度越低。其表達式為:
(2.6)
(2.7)
優點:適用于有較大純滯后時間常數的對象。和采樣周期較短的系統。
缺點:對于純滯后時間常數較小,采樣周期較長,變化緩慢的信號。不能迅速反應系統當前所受干擾的嚴重程度,濾波效果差。
(9)消抖濾波法。設置一個濾波計數器,將每次采樣值與當前有效值比較,如果采樣值=當前有效值,則計數器清零。如果采樣值≠當前有效值,則計數器+1,并判斷計數器是否≥上限N(溢出)。如果計數器溢出,則將本次值替換當前有效值,并清計數器。
優點:對于變化緩慢的被測參數有較好的濾波效果,可避免在臨界值附近控制器的反復開/關跳動或顯示器上數值抖動。
缺點:對于快速變化的參數不宜采用。如果在計數器溢出的那一次采樣到的值恰好是干擾值,則會將干擾值當作有效值導入系統。
(10)限幅消抖濾波法。相當于“限幅濾波法”+“消抖濾波法”。先限幅,后消抖。
優點:繼承了“限幅”和“消抖”的優點,改進了“消抖濾波法”中的某些缺陷,避免將干擾值導入系統。
缺點:對于快速變化的參數不宜采用。
2.3.3 控制計算機編程語言
控制計算機對現場信號進行采集并對采集的信號進行了預處理后,即可將這些數據參與到控制運算中,控制運算的運算程序根據具體的應用各不相同。在控制系統中先要在工程師站軟件上通過組態完成具體應用需要的控制方案,編譯生成控制器需要執行的運算程序,下裝給控制器運行軟件,通過控制器運行軟件的調度,實現運算程序的執行。本質上,控制方案的組態過程就是一個控制運算程序的編程過程。以往,控制計算機廠商為了給控制工程師提供一種比普通軟件編程語言更為簡便的編程方法,發明了各種不同風格的組態編程工具,而當前,這些各式各樣組態編程方法,經國際電工委員會(International Electrotechnical Commission,IEC)標準化,統一到了IEC 61131-3控制編程語言標準中。風格相同的編程方法為用戶、系統廠商及軟件開發商都帶來了極大的好處。
IEC 61131-3國際標準的編程語言包括圖形化編程語言和文本化編程語言。圖形化編程語言包括:梯形圖(Ladder Diagram,LD)、功能塊圖(Function Block Diagram,FBD)、順序功能流程圖(Sequential Function chart,SFC)。文本化編程語音包括:指令表(Instruction List,IL)和結構化文本(Structured Text,ST)。IEC 61131-3的編程語言是IEC工作組對世界范圍的控制計算機廠家的編程語言合理地吸收、借鑒的基礎上形成的一套針對工業控制系統的國際編程語言標準。簡單易學是它的特點,很容易為廣大控制工程人員掌握,這里簡單介紹一下這五種編程語言。
2.3.3.1 結構化文本語言
結構化文本(ST)是一種高級的文本語言,表面上與PASCAL語言很相似,但它是一個專門為工業控制應用開發的編程語言,具有很強的編程能力。用于對變量賦值、回調功能和功能塊、創建表達式、編寫條件語句和迭代程序等。結構化文本(ST)語言易讀易理解,特別是用有實際意義的標識符、批注來注釋時,更是這樣。
(1)操作符。結構化文本(ST)定義了一系列操作符用于實現算術和邏輯運算,如邏輯運算符:AND、XOR、OR;算術運算符:<、>、≤、≥、=、≠、+、-、*、/等。
(2)賦值語句。結構化文本(ST)程序既支持很簡單的賦值語句,如X:=Y,也支持很復雜的數組或結構賦值。
(3)在程序中調用功能塊。在結構化文本(ST)程序中可以直接調用功能塊。功能塊在被調用以前,輸入參數被分配為默認值;在調用后,輸入參數值保留為最后一次調用的值。
(4)結構化文本(ST)程序中的條件語句。條件語句的功能是某一條件滿足時執行相應的選擇語句。結構化文本(ST)有如下的條件語句。
(5)結構化文本(ST)程序中的迭代語句。迭代語句適用于需要一條或多條語句重復執行許多次的情況,迭代語句的執行取決于某一變量或條件的狀態。應用迭代語句應避免迭代死循環的情況。
2.3.3.2 指令表
IEC 61131-3的指令表(IL)語言是一種低級語言,與匯編語言很相似,是在借鑒、吸收世界范圍的控制計算機廠商的指令表語言的基礎上形成的一種標準語言,可以用來描述功能,功能塊和程序的行為,還可以在順序功能流程圖中描述動作和轉變的行為。現在仍廣泛應用于控制計算機的編程。
(1)指令表語言結構。指令表語言是由一系列指令組成的語言。每條指令在新行開始,指令由操作符和緊隨其后的操作數組成,操作數是指在IEC 61131-3的“公共元素”中定義的變量和常量。有些操作符可帶若干個操作數,這時各個操作數用逗號隔開。指令前可加標號,后面跟冒號,在操作數之后可加注釋。
(2)指令表操作符。IEC 61131-3指令表包括四類操作符:一般操作符、比較操作符、跳轉操作符和調用操作符。
2.3.3.3 功能塊圖
功能塊圖(FBD)是一種圖形化的控制編程語言,它通過調用函數和功能塊來實現編程。所調用的函數和功能塊可以是IEC標準庫當中的,也可以是用戶自定義庫當中的。這些函數和功能塊可以由任意五種編程語言來編制。FBD與電子線路圖中的信號流圈非常相似,在程序中,它可看作兩個過程元素之間的信息流。
功能塊用矩形塊來表示,每一功能塊的左側有不少于一個的輸入端,在右側有不少于一個的輸出端。功能塊的類型名稱通常寫在塊內,但功能塊實例的名稱通常寫在塊的上部,功能塊的輸入輸出名稱寫在塊內的輸入/輸出點的相應地方。
在功能塊網路中,信號通常是從一個功能或功能塊的輸出傳遞到另一個功能或功能塊的輸入。信號經由功能塊左端輸入,并求值更新,在功能塊右端輸出。
在使用布爾信號時,功能或功能塊的取反輸入或輸出可以在輸入端或輸出端用一個小圓點來表示,這種表示與在輸入端或輸出端加一個“取反”功能是一致的。
功能塊圖(FBD)是一種圖形化的控制編程語言,它通過調用函數和功能塊來實現編程。所調用的函數和功能塊可以是IEC標準庫當中的,也可以是用戶自定義庫當中的。這些函數和功能塊可以由任意五種編程語言來編制。FBD與電子線路圖中的信號流圈非常相似,在程序中,它可看作兩個過程元素之間的信息流。
功能塊用矩形塊來表示,每功能塊的左側有不少于一個的輸入端,在右側有不少于一個的輸出端。功能塊的類型名稱通常寫在塊內,但功能塊實例的名稱通常寫在塊的上部,功能塊的輸入輸出名稱寫在塊內的輸入/輸出點的相應地方。
在功能塊網路中,信號通常是從一個功能或功能塊的輸出傳遞到另一個功能或功能塊的輸入。信號經由功能塊左端輸入,并求值更新,在功能塊右端輸出。
2.3.3.4 梯形圖
梯形圖(LD)是IEC 61131-3三種圖形化編程語言的一種,是使用最多的控制計算機編程語言,來源于美國,最初用于表示繼電器邏輯,簡單易懂,很容易被電氣人員掌握。后來隨著控制計算機硬件技術發展,梯形圖編程功能越來越強大,現在梯形圖在控制系統也得到廣泛使用。
IEC 61131-3中的梯形圖(LD)語言通過對各控制計算機廠家的梯形圖(LD)語言合理地吸收、借鑒,語言中的各圖形符號與各控制計算機廠家的基本一致。IEC 61131-3的主要圖形符號包括以下幾種。
(1)觸點類:常開觸點、常閉觸點、正轉換讀出觸點、負轉換觸點。
(2)線圈類:一般線圈、取反線圈、置位(鎖存)線圈、復位去鎖線圈、保持線圈、置位保持線圈、復位保持線圈、正轉換讀出線圈、負轉換讀出線圈。
(3)函數和功能塊:包括標準的函數和功能塊以及用戶自己定義的功能塊。
2.3.3.5 順序功能流程圖
順序功能流程圖(SFC)是IEC 61131-3三種圖形化語言中的一種,是一種強大的描述控制程序的順序行為特征的圖形化語言,可對復雜的過程或操作由頂到底地進行輔助開發。SFC允許一個復雜的問題逐層地分解為步和較小的能夠被詳細分析的順序。
(1)順序功能流程圖的基本概念。順序功能流程圖可以由步、有向連線和過渡的集合描述。
(2)順序功能流程圖(SFC)的幾種主要形式,單序列控制、并發序列控制、選擇序列控制、混合結構序列。
(3)順序功能流程圖(SFC)的程序執行。順序功能流程圖(SFC)程序的執行應遵循相應的規則,每一程序組織單元(POU)與一任務(task)相對應,任務負責周期性地執行程序組織單元(POU)內的IEC程序,順序功能流程圖(SFC)內的動作也是以同樣周期被執行。