今天練習: 一個按鈕開關來控制定時器, 也測試控制另一個開關, 透過 ST16 做條件測試與執行.
原本找的是 ST-1 , 發現這個狀態都是 AUT , 必須由其他 Tag 來控制.
後來想到 PLC 是用內部暫存器, 而 Centun DCS 是用 %SW 來處理該 FCS 的內部開關.
因此先將某個內部開關( %SW0001 )取一個 Tag Name : SW-1 ,
然後在 Function Block 建立一個 TM-1 ( TM ) 與 ST16-1 ( ST16 ) ,
ST16-1 內則設定: 當 SW-1.PV=ON 且 TM-1.BSTS=CTUP , 則 TM-1.OP=START
(另外有: 當 SW-1.PV=ON 且 TM-1.BSTS=STOP , 則 TM-1.OP=START ;
當 SW-1.PV=OFF 且 TM-1.BSTS=RUN , 則 TM-1.OP=STOP )
而建立後有兩個地方需要注意:
- ST16 預設的動作是 MAN (手動) , 所以不會主動檢查狀態, 必須改為 AUT , 才會開始執行.
- %SW 的狀態判斷與切換是不同的, 狀態用 %SW.PV=ON , 但切換則是用 %SW.PV=H
如果要詳細一點, %SW 就要再分成: 1. 目前系統狀態 2. 使用者按鈕狀態 來判斷.
https://www.linkedin.com/pulse/yokogawa-centum-dcs-%25E7%25B7%25B4%25E7%25BF%2592-st16-pik-kun-sie