建控電
野蠻其體魄、文明其精神!
級別: 論壇先鋒
精華主題: 0
發(fā)帖數量: 555 個
工控威望: 1592 點
下載積分: 3460 分
在線時間: 394(小時)
注冊時間: 2013-12-16
最后登錄: 2024-11-09
查看建控電的 主題 / 回貼
樓主  發(fā)表于: 2024-04-04 23:05
請教各位同行,
封裝氣缸功能塊時,氣缸動作和復位的防呆條件,只對手動有效,還是手動/自動都生效?
同理,軸定位時,去各目標位置時防呆條件,手動通常會封裝在軸功能塊里.自動去各目標位的防呆條件是封裝在軸功能塊里,還是寫在自動流程里?
思路不同,主要看看大家都是怎么考慮的!!
小地主22
級別: 家園常客
精華主題: 0
發(fā)帖數量: 520 個
工控威望: 571 點
下載積分: 1710 分
在線時間: 423(小時)
注冊時間: 2020-04-30
最后登錄: 2024-11-07
查看小地主22的 主題 / 回貼
1樓  發(fā)表于: 2024-04-05 08:14
建議都有效
刺猬果果
級別: 探索解密
精華主題: 0
發(fā)帖數量: 83 個
工控威望: 160 點
下載積分: 2819 分
在線時間: 73(小時)
注冊時間: 2022-04-18
最后登錄: 2024-11-09
查看刺猬果果的 主題 / 回貼
2樓  發(fā)表于: 2024-04-05 20:47
我現在嘗試把條件寫在流程里,功能塊只做執(zhí)行,解耦后方便其它項目使用
飛仙遁帝
學無止境
級別: 工控俠客
精華主題: 0
發(fā)帖數量: 409 個
工控威望: 2438 點
下載積分: 12108 分
在線時間: 673(小時)
注冊時間: 2015-02-28
最后登錄: 2024-11-09
查看飛仙遁帝的 主題 / 回貼
3樓  發(fā)表于: 2024-04-07 09:54
可以在調用功能塊外面把防呆有條件輸出,不用防呆的就直接輸出,這樣改起來也方便
gxtmdb82164
級別: 論壇先鋒
精華主題: 0
發(fā)帖數量: 747 個
工控威望: 1125 點
下載積分: 353 分
在線時間: 587(小時)
注冊時間: 2019-09-22
最后登錄: 2024-11-08
查看gxtmdb82164的 主題 / 回貼
4樓  發(fā)表于: 2024-04-07 13:52
同一個功能塊內部要盡量簡單,越簡單越好,換句話說就是功能越單一越好

氣缸的執(zhí)行塊最好就是只有氣缸的動作執(zhí)行,剩下的一切可以剝離的東西都提到外面去

同時,手動和自動也都調用同一個功能塊,這樣也不存在手動要寫一份,自動又要寫一份了,因為本質上你這兩部分程序的區(qū)別(導致其不能共用)是因為調用方的邏輯不同,比如手動下少一些防呆處理等等,調用方的區(qū)別怎么可能要求被調用方去兼容呢,如果要兼容就要塞一堆東西進去,違反了上面能剝離的盡量剝離的原則

我自己的程序典型結構就是能分開的盡量分開,就以氣缸控制為例,手動/自動模式切換有個明確的標志位,自動有自動的氣缸使能,手動有手動的氣缸使能,只有在正確的模式下,對應的使能才有效,我的習慣是在命名上用前綴區(qū)分,加上現在很多PLC編程軟件有自動補全的了,寫起來很快的

最后說一下防呆,這個一定都是定制的邏輯,和結構、工藝強相關的,這種代碼就是非常dirty的(或者說標準化的成本很高,不可能有簡潔又迅速的方法去實現),所以我都是直接寫在氣缸輸出塊的頭頂上最近的位置,再復雜的防呆無非與或非組合,一兩行梯形圖足夠,但是寫在這里方便后續(xù)調試看過程變量