- 1、本文档共8页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
IEC61131-3編程語言和文本化編程語言(ST)
IEC61131-3編程語言和文本化編程語言(ST)
IEC61131-3國際標準的編程語言包括圖形化編程語言和文本化編程語言。圖形化編程語言包括:梯形圖(LD-Ladder Diagram)、功能塊圖(FBD - Function Block Diagram)、順序功能圖(SFC - Sequential Function Chart)。文本化編程語言包括:指令表(IL-Instruction List)和結構化文本 (ST-Strutured Text)。IEC61131-3的編程語言是IEC工作組對世界範圍的PLC廠家的編程語言合理地吸收、借鑒的基礎上形成的一套針對工業控制系統的國際編程語言標準,它不但適用於PLC系統,而且還適用於更廣泛的工業控制領域;IEC61131-3 的編程工具提供對現場匯流排系統的支援,並對現場匯流排裝置的軟體設計產生了很大影響。
本專題將分兩部分介紹IEC61131-3的編程語言,本文是IEC61131-3編程語言的第一部分,重點介紹IEC61131-3的兩種文本化編程語言;第二部分重點介紹IEC61131-3的兩種三種圖形化編程語言,將在下一篇文章作介紹。
一、結構化文本(ST)
結構化文本(ST)是一種高級的文本語言,可以用來描述功能,功能塊和程式的行為,還可以在順序功能流程圖中描述步、動作和轉變的行為。
結構化文本(ST)語言表面上與PASCAL語言很相似,但它是一個專門為工業控制應用開發的編程語言,具有很強的編程能力用於對變數賦值、回調功能和功能塊、創建運算式、編寫條件語句和疊代程式等。結構化文本(ST)非常適合應用在有複雜的算術計算的應用中。
結構化文本(ST)程式格式自由,可以在關鍵字與識別字之間任何地方插入跳位字元、換行字元和注釋。對於熟悉電腦高階語言開發的人員來說,結構化(ST)語言更是易學易用。此外,結構化文本(ST)語言還易讀易理解,特別是用有實際意義的識別字、批註來注釋時,更是這樣。
1.1 操作符
結構化文本(ST)定義了一系列操作符用於實現算術和邏輯運算,如邏輯運算符:AND,,XOR,OR; 算術運算符:, , =, =, =, , +, -, MOD, / 等,此外,還定義了這些操作符的優先順序。如下是操作符預算的兩個例子:
Start := Oilpress AND Stream AND Pump;
V : = K*(-W*T)
1.2 賦值語句
結構化文本(ST)程式既支援很簡單的賦值語句,如 X:=Y, 也支援很複雜的陣列或結構賦值,如Profile[3]:=10.3+SQRT((Rate+2.0)), Alarm.TimeOn:=RCT1.CDT。
1.3在程式中調用功能塊
在結構化文本(ST)程式中可以直接調用功能塊。功能塊在被調用以前,輸入參數被分配為缺省值;在調用後,輸入參數值保留為最後一次調用的值。功能塊調用的格式如下:
FunctionBlockInstance(
InputParameter1:=ValueExpression1,
InputParameter2:=ValueExpression2, …);
ValueExpression1……ValueExpressionN是符合功能塊資料類型輸入變數,InputParameter1……InputParameterN功能塊的輸入參數。FunctionBlockInstance是要調用的功能塊。
1.4結構化文本(ST)程式中的條件語句
條件語句的功能是,某一條件滿足時執行相應的選擇語句。結構化文本(ST)有如下的條件語句:
IF …THEN…ELSE條件語句
該選擇語句依據不同的條件分別執行相應THEN及ELSE語句。該條件語句可以嵌套入另一條件語句中,以實現更複雜的條件語句。條件語句的格式如下:
IF THEN
ELSE
statements2…
END_IF;
“boolean expression”可以是“true”或“false”,根據“true”或“false”的情況,程式執行相應的statements1或statements2語句。
CASE 條件語句
該選擇語句的執行方向取決於CASE語句的條件, 並有一返回值。實例見最後的應用舉例。該條件語句的格式如下:
CASEOF
integer selector value1 : statements1…
integer selector value2 : statements2…
……
ELSE
statements …
END_CASE;
“integer expression”可以是一個數值,根據數值的不同執行相應的statements1或state
文档评论(0)