歐姆龍cp1h常用指令學習(九)結構化語言ST

2021-02-24 勇哥的機器視覺

結構化語言ST是作用於功能塊編程中。

這門語言對於梯形圖中不善於處理的數值運算等邏輯算法,採用類似於高級語言的語法,使其變得簡單。

下面先從功能塊的相關知識說起:

CP1H的功能塊規格:

功能塊定義數:128

實例數:256

實例嵌套級數:cx-programmer6.0及以後,支持8級嵌套

IO變量數:最多64個變量

變量類型:

注意:TIMER和COUNTER數據類型不能用於結構化文本功能塊。

在內部變量中,其中一個變量定義為數組,CX-Programmer 只支持一維數組。

變量可以設置初始值,並且如果勾選了

選擇Retain Option 時,變量分配於存儲區內。當斷電和PLC 操作開始時保持該存儲

常數直接輸入指令操作數。

• 梯級程式語言。在# 後面輸入十六進位數值;在 & 後面輸入十進位數。

• 結構化文本(ST 語言):在16# 後面輸入十六進位數值;十進位數照原樣不動。

ST 編程限制

只支持以下的語句和運算符。

• 賦值語句

• 選擇語句(CASE 和IF 語句)

• 迭代語句(FOR、WHILE、REPEAT 和 EXIT 語句)

• RETURN 語句

• 功能塊調用語句

• 算術運算符

• 邏輯運算符

• 比較運算符

• 數函詞

• 算術函數

• 注釋

• 不能使用TIMER 和 COUNTER 數據類型。


程序結構注意事項

實例左面無分支 

每級只有一個實例

無功能塊連接

變量類型(輸入、輸出、外部和內部)

輸入變量:用來修改已傳遞的值

輸出變量:傳遞數值或監視輸出變量

外部變量:程序中的條件標記、時鐘脈衝、輔助區域位

    用於程序中的條件標記(例如, Always ON 標記和Equals 標記)、時鐘脈衝

    (例如, 1.0 秒時鐘脈衝位)、預先註冊的輔助區域位(例全局符號如,首次循

    環標記)和全局符號全部是由系統定義的外部變量。

內部變量:內部分配的變量和需要AT 設置的變量

    未規定位輸入、輸出或外部的變量均為內部變量。內部變量包括內部分配地址

    的變量、要求有AT 設置地址的變量(例如,I/O 分配地址、特殊分配於特殊I/

    O 單元的地址)或需要數組設置的變量。

計算餘數:

當採用ST 語言時,無需使用數組來接收除法運算結果。此外,不能在ST 語言

中直接計算餘數。必須按如下方法計算餘數

餘數 = 被除數. (除數×商數)

使用變址寄存器

    變址寄存器IR0 到 IR15 用作規定I/O 存儲器地址的指示器。這些變址寄存器可

    以在功能塊中使用從而可以直接通過IR0 到 IR15 來指定地址而不是變量名(變

    址寄存器直接規格:IR0 到IR15 ;變址寄存器間接規格:,IR0 到 ,IR15)

    注在使用MOVR (560)指令將實際的I/O 存儲器地址存儲於變址寄存器後,可

    採用通用指令來間接指定變址寄存器。這樣,就可動態地規定所有I/O 存儲器

    區域。

有關變址寄存器的知識參見下面貼子:

歐姆龍CJ1系列PLC存儲區的變址寄存器(IR)

結構化文本範例

大寫和小寫

• 保留字和變量名不分大小寫(兩者均可使用)。

輸入常數(數值)

• 如下例所示,數值可以通過十進位、十六進位、八進位或二進位來表示。

表示方法 範例(用於十進位值12)

十進位:僅數值12

十六進位:16# 後面跟數值 16#C

八進位:8# 後面跟數值 8#14

二進位:2# 後面跟數值 2#1100

語句

運算符

注根據數據類型運算。

因此, INT 數據加法結果必須是使用INT 數據類型的變量。當整數型變量運算

時出現進位或借位,需特別小心。例如,使用整數型變量 A=3 和 B= 2 時,如

果執行運算(A/B)*2,則A/B 結果為1(1.5 –小數點後面的數值忽略不計),

因此(A/B) *2 = 2。

函數

數據類型轉換函數

以下數據類型轉換函數可以用於結構化文本中。

語法

源數據類型_TO_ 新數據類型 ( 變量名)

例子:REAL_TO_INT (C)

在本例中,變量C 的數據類型可以從REAL 修改為INT。

數據類型組合

下表給出了可以轉換的數據類型組合。

(是 = 可以轉換;否 = 不能轉)

STL實例1:計算平均值

效果如下:

平均為20,結果正確。

作者:hackpig
來源:www.skcircle.com
版權聲明:本文為博主原創文章,轉載請附上博文連結!

其它相關文章:

歐姆龍cp1h常用指令學習(十五)多重互鎖指令MILH,MILC

歐姆龍cp1h常用指令學習(十四)練習篇一:紅外線遙控點歌

歐姆龍cp1h常用指令學習(十三)數據移位指令

歐姆龍cp1h常用指令學習(十二)塊程序

歐姆龍cp1h常用指令學習(十一)中斷程序

歐姆龍cp1h常用指令學習(十)脈衝輸出指令,電機運動控制

歐姆龍cp1h常用指令學習(九)結構化語言ST

歐姆龍cp1h常用指令學習(八)字符串處理指令

歐姆龍cp1h常用指令學習(七)棧處理指令

歐姆龍cp1h常用指令學習(六)功能塊、子程序

歐姆龍cp1h常用指令學習(五)時序輸出指令

歐姆龍cp1h常用指令學習(四)串口無協議讀寫指令TXD,RXD

歐姆龍cp1h常用指令學習(三)增量與減量、四則運算指令

歐姆龍cp1h常用指令學習(二)計數器、數據比較指令

歐姆龍cp1h常用指令學習(一)常用存儲器功能區、訂時器

標籤:OMRON歐姆龍PLC PLC技術

相關焦點

  • 歐姆龍cp1h常用指令學習(十一)中斷程序
    可通過指令語言分配中斷任務0~255。    關於高速計數器,請參見「5-2 高速計數器(5-26 頁)」。●外部中斷    連接 CJ 系列的高功能I/O 單元、CPU 高功能單元時,通過單元側的控制,指定中斷任    務0~255 並執行處理。
  • 歐姆龍cp1h常用指令學習(四)串口無協議讀寫指令TXD,RXD
    核對 RXD 指令的控制字設置為無 CS,DR 信號控制; d. 檢查 RXD 指令的執行條件,如果使用的是接收完成標誌位,核對串口設置中的起始碼,結束碼,字節數與第三方的發送數據是否是一致,可以使用電腦利用串口調試軟體來接收第三方發送的數據來進行驗證;e. 檢查串口錯誤標誌位和錯誤代碼。
  • 歐姆龍PLC編程指令與梯形圖快速入門 第二版
    電工學習網:www.diangon.com關注電工學習網官方微信公眾號「電工電氣學習」,收穫更多經驗知識。歐姆龍PLC編程指令與梯形圖快速入門免費分享下載,提取碼獲取後3天內有效。長按識別二維碼免費看各品牌PLC視頻課程 《歐姆龍PLC編程指令與梯形圖快速入門(第2版)》開篇簡要地介紹了歐姆龍PLC的編程軟體與仿真軟體
  • 歐姆龍PLC比較指令的筆記記錄
    歐姆龍PLC是我今年上半年主要應用的PLC,我們公司的產品中有一款產品用了CJ1M和CMP2C這兩個PLC,所以我今年的計劃就是這樣。今天記錄的是歐姆龍的比較指令:CMP 這個指令,比較好點的理解,像三菱PLC,用起來也是會出現三個位的置位,大於、小於、等於、分別對應一個位,而今天歐姆龍這個PLC是這樣,CMP比較的兩個16位字,對應的是25505、25506、25507,這樣的三個位,分別對應大於、等於、小於,用它們的觸點來對應上。
  • 經典歐姆龍PLC指令應用案例分享
    創控教育西門子全科班課程介紹今天就為大家帶來歐姆龍PLC指令應用案例,歐姆龍PLC是一種功能完善的緊湊型PLC,能為業界領先的輸送分散控制等提供高附加值機器控制;它還具有通過各種高級內裝板進行升級的能力,大程序容量和存儲器單元,以Windows環境下高效的軟體開發能力。
  • plc程式語言有幾種?plc常用的程式語言
    大家都知道學習某種新知識,技巧跟方法是關鍵的。正如新手剛開始接觸PLC,它的軟體程式語言與一般計算機語言相比,具有明顯的特點,它既不同於高級語言,也不同於一般的彙編語言,它既要滿足易於編寫又要滿足易於調試的要求。
  • 三菱Q系列PLC,ST語言編程就這四種指令格式
    三菱PLC的ST程式語言的四大類指令的最後一個就是今天要說的重複指令。重複指令又叫循環指令,是指重複執行某個或多個符合條件的語句。重複指令有三個:FOR\WHILE\REPETT,EXIT是退出重複指令。
  • 經典歐姆龍PLC指令應用案例分享(問答解析)
    PLC指令應用案例,歐姆龍PLC是一種功能完善的緊湊型PLC,能為業界領先的輸送分散控制等提供高附加值機器控制;它還具有通過各種高級內裝板進行升級的能力,大程序容量和存儲器單元,以Windows環境下高效的軟體開發能力。
  • plc常用程序語言
    在可編程控制器中有多種程序設計語言,它們是梯形圖語言、布爾助記符語言、功能表圖語言、功能模塊圖語言及結構化語句描述語言等。梯形圖語言和布爾助記符語言是基本程序設計語言,它通常由一系列指令組成,用這些指令可以完成大多數簡單的控制功能,例如,代替繼電器、計數器、計時器完成順序控制和邏輯控制等,通過擴展或增強指令集,它們也能執行其它的基本操作。
  • PLC常用程序設計語言
    梯形圖語言和布爾助記符語言是基本程序設計語言,它通常由一系列指令組成,用這些指令可以完成大多數簡單的控制功能,例如,代替繼電器、計數器、計時器完成順序控制和邏輯控制等,通過擴展或增強指令集,它們也能執行其它的基本操作。功能表圖語言和語句描述語言是高級的程序設計語言,它可根據需要去執行更有效的操作,例如,模擬量的控制,數據的操縱,報表的報印和其他基本程序設計語言無法完成的功能。
  • PLC常用程式語言
    plc中有多種程序設計語言,它們是梯形圖語言、布爾助記符語言、功能表圖語言、功能模塊圖語言及結構化語句描述語言等。梯形圖語言和布爾助記符語言是基本程序設計語言,它通常由一系列指令組成,用這些指令可以完成大多數簡單的控制功能,例如,代替繼電器、計數器、計時器完成順序控制和邏輯控制等,通過擴展或增強指令集,它們也能執行其它的基本操作。
  • ARM指令學習筆記
    有了個簡單了解之後,開始投入到了arm指令的學習。參考"arm百度百科","NDS百度百科"本文引用地址:http://www.eepw.com.cn/article/201611/316807.htm接下來就是對arm指令的學習。因為有過前面8086指令的學習,並且也寫過像高精度計算這樣的彙編程序,看arm指心裏面老在比較這兩套指令。
  • 史上最全PLC常用程式語言!
    ,它們是梯形圖語言、布爾助記符語言、功能表圖語言、功能模塊圖語言及結構化語句描述語言等。梯形圖語言和布爾助記符語言是基本程序設計語言,它通常由一系列指令組成,用這些指令可以完成大多數簡單的控制功能,例如,代替繼電器、計數器、計時器完成順序控制和邏輯控制等,通過擴展或增強指令集,
  • 最常用的PLC程式語言和編程方法詳解
    圖形化程式語言包含:梯形圖(LD-Ladder Diagram)、功用塊圖(FBD - Function Block Diagram)、次序功用圖(SFC - Sequential Function Chart)。文本化程式語言包含:指令表(IL-Instruction List)和結構化文本(ST-Strutured Text)。
  • UC伯克利大學胡戎航博士論文公布:視覺與語言推理的結構化模型
    機器之心報導機器之心編輯部UC 伯克利大學計算機科學博士胡戎航(Ronghang Hu)的博士論文新鮮出爐,內容涉及視覺與語言推理的結構化模型。UC 伯克利胡戎航的博士論文就是關於這個主題:論文連結:https://www2.eecs.berkeley.edu/Pubs/TechRpts/2020/EECS-2020-50.pdf論文概述這篇論文通過視覺 - 語言推理的結構化模型為上述問題提供了答案,該模型考慮了人類語言、視覺場景、智能體技能中的模式和規律。
  • 三菱Q系列PLC,淺淡ST語言編程的指令格式
    程序指令是組成程序本體的一個個小「細胞」,掌握指令的構成,是編程的基本要求。指令名、數據類型、變量是ST語言編程指令的三要素。參閱:《三菱Q系列PLC,數組與變址寄存器的功能類似,但數組比它強大》ST語言的格式:BMOV( ?BOOL_EN? , ?ANY_SIMPLE_s? , ?ANY16_n? , ?ANY_SIMPLE_d?
  • 歐姆龍和西門子一鍵啟停PLC編程方法圖解 看完秒懂!
    電工學習網:www.diangon.com關注電工學習網官方微信公眾號「電工電氣學習」,收穫更多經驗知識。
  • 歐姆龍血壓計_歐姆龍血壓計哪款好?歐姆龍電子血壓計
    就成為了現代人需要去了解和學習的非常重要的知識點了,那麼,在電子血壓計中,哪種品牌更加的好呢?  在小編經常了長時間的了解以後發現,目前,在電子血壓計的市場中,歐姆龍電子血壓計相對來說,不管是從性價比,還是血壓計的種類,都是更加優於其它同類型的產品的。
  • 124頁,UC伯克利大學胡戎航博士論文公布:視覺與語言推理的結構化模型
    來源:機器之心 本文約1500字,建議閱讀5分鐘 UC 伯克利大學計算機科學博士胡戎航(Ronghang Hu)的博士論文新鮮出爐,內容涉及視覺與語言推理的結構化模型