您的位置:首頁>正文

CODESYS平臺PLC程式設計 如何在ST語言中調用FC(功能)

通過上文介紹ST語言調用功能塊可程式設計控制器(PLC)使用ST(STRUCT TEXT)語言如何調用功能塊以及前面文章對ST 語言關鍵字和命令組的介紹, 相信大家意境掌握了在PLC中使用ST語言程式設計, 這已經可以應對絕大多數應用了, 但是, 在CODESYS中, 還有一個關鍵的部分沒有介紹, 那就是FC(功能)。 CODESYS 和西門子博途中功能的概念是不同的, 詳情可參照前面文章的介紹CoDeSys 與西門子博途中 FB FC 的區別

調用FB(功能塊)我們可以通過實例名(相當於西門子博途的背景資料塊)來引用功能塊的輸出, 而FC (功能)是沒有實例名的, 這可怎麼辦呢?還真的沒辦法了,

對此只能曲線救國, 另闢蹊徑了, 我總結了一下, 基本有以下兩種方法

1 使用ST 語言的關鍵字

這種方法用的最多, 有些功能本身就是梯形圖中的元素, 比如常用的MOVE指令

如上圖, 梯形圖用的MOVE 指令的作用是把變數A 的值賦給變數B ,而這正是ST 語言中的賦值操作,

所以我們直接利用賦值指令就可以了

B:=A;

絕大部分功能都是通過這種方法實現的比如 各種數學運算, 各種邏輯比較

可以看到, 這些都沒有實例名, 而且輸出只有一個, 符合CODESYS平臺下對FC(功能)的定義, 因此都是可以直接通過關鍵字和命令組實現的。

2 直接調用

這種和調用FB(功能塊)格式是一樣 的, 但是不引用輸入輸出, 而是用賦值操作實現, 最常見的就是各種資料類型轉換

關於CODESYS 平臺的資料類型可以參照跟我學程式設計之PLC常用資料類型介紹(一)跟我學程式設計之PLC常用資料類型介紹(二)

梯形圖實現資料類型轉換

同樣, 這些也符合CODESYS對FC(功能)的定義, 和第一種情況不同的是, 它需要賦值和引用兩種方法實現

如上圖所示, 其實這種方式是賦值操作和調用功能塊方法的結合, 因為FC 只有一個輸出, 所以不用各種格式, 直接在()內直接調用就可以了。


到此為止, 關於ST 語言的程式設計就基本介紹完了, 可能還有遺漏, 等我想到了, 再補充, 或是大家有什麼建議可以評論區留個言。 這些介紹基本涵蓋了絕度多數ST語言的應用, 只要大家靈活掌握, 多看多想多練, 一定能掌握ST語言。 以後做專案的時候, 使用ST語言程式設計就可以大大提高自己的逼格。 嗯, 逼格兩個字是重點, 圈起來, 考試要考!!

你使用ST語言編寫PLC程式嗎 (單選) 0人 0% ST語言不錯,

逼格滿滿會使用 0人 0% 不如梯形圖直觀, 我還是用梯形圖 0人 0% 會和梯形圖結合使用 投票

同類文章
Next Article
喜欢就按个赞吧!!!
点击关闭提示