這篇文章要探討的是如何單點強制SET、RESET,強制SET的指令是KS,強制RESET的指令是KR,因為這2個指令字串架構完全相同,所以合併一起解說
基本上這2個指令實用性不高,測試PLC硬體接點是否正常倒還蠻好用的
單點強制SET指令KS,指令說明如下:
單點強制RESET指令KR,指令說明如下:
控制命令的字串組成:起始碼+機號+指令+控制元件+通道號碼+接點編號+偵誤碼+結束碼
※這2個指令除了指令不同外,組成字串完全相同。其中通道號碼和接點編號是BCD碼10進制數值,要注意的是計時、計數器只有通道號碼,沒有接點編號,所以接點編號固定為00
※控制元件的字串部分一定是4個字組成的字串,不足的部分要以空白(按鍵盤空白鍵)取代。另外說明上可控制的接點種類雖多,但實際上有些機種(尤其是小型低階機種)沒有,所以這裡要實做的僅限於各機種都有的部分,控制元件字串種類表示意義如下(空白部分以(S)代表):
CIO(S)→輸出入接點、輔助接點、特殊接點
LR(S)(S)→連接接點
HR(S)(S)→保持接點
AR(S)(S)→補助記憶接點
TIM(S)→計時器
TIMH→高速計時器
CNT(S)→計數器
CNTR→可反向(倒數)計數器
PLC回應的字串組成:起始碼+機號+指令+結束字串+偵誤碼+結束碼
控制面板程式設計的部份,因為控制元件和接點編號是固定範圍字串,所以做成選單式,可避免輸入錯誤
現在以控制元件為例,解說要如何做成選單式輸入元件
首先在面板放置Text Ring元件,名稱改為控制元件
在Text Ring元件上按滑鼠右鍵,從跳出的選單中選Edit Items...那一項
在跳出的視窗中依序輸入控制元件字串,空白一定要記得輸入,完成後按OK
完成後的Text Ring元件就可以直接點選
接點編號用同樣的方式製作,不過輸入的內容是00~15
完成的程式控制面板如下圖:
KS指令面板
KR指令面板
面板上完全相同,只有指令輸入KS、KR不同
控制元件和接點編號已作成選單式
從圖上可看出相同的接點因為指令不同,所算出的偵誤碼和PLC回應字串也不同
再來是程式書寫部份:
完成的程式結構如下圖:
同樣是3格流程控制方式,通訊參數和關閉通訊埠照慣例寫到外面
第1格同樣把所有通訊字串組合寫入PLC中
其中控制元件和接點編號的選單式元件無法直接輸出字串,只會輸出數字而已,因此在程式中要先做處理才能輸出字串
處理方法:在控制元件或接點編號的選單元件上按滑鼠右鍵,從跳出的選單中點選Property Node那一項,產生相關聯的Property Node元件
在產生的Property Node元件上按滑鼠左鍵,從選單中的下方點選Strings[]那一項,Property Node元件變成所有字串的陣列輸出
以Index Array元件配合選單元件傳來的數值就可以輸出特定的字串
第2格延遲同樣要稍長一點
第3格同樣只是讀取PLC回應的字串,用來判定是否控制成功
※注意這2個指令只能在PROGRAM(程式書寫模式)和MONITOR(監看模式)狀態下操作
※在MONITOR(監看模式)下操作時,強制的接點不受PLC內程式控制影響
留言列表