OMRON PLC有3種動作模式:PROGRAM(程式書寫模式)、MONITOR(監看模式)、RUN(運轉模式)
正常狀態下新買的PLC開機時都是PROGRAM模式,除非在系統記憶體DM通道改過設定
要先解說動作模式的控制及讀取方式的原因是:有些指令只在特定模式下才有作用,在沒有書寫器或程式編輯軟體時,只有這種方法才能切換動作模式
首先是動作模式控制指令SC,指令的構成如下圖:
控制動作模式命令字串組成:起始碼+機號+指令+寫入字串+偵誤碼+結束碼
寫入字串才是這個指令的重點,手冊上是把2個16進制數值拆開成8個位元來說明,寫入命令時要轉換為16進制數值。PROGRAM(程式書寫模式)要寫入00、MONITOR(監看模式)要寫入02、RUN(運轉模式)要寫入03
PLC回應的字串組成:起始碼+機號+指令+結束字串+偵誤碼+結束碼
在這範例中,只要控制成功回應的字串一定都是@00SC0050*(ASCII碼13),其中藍字標示的字若不是00就是控制失敗
動作模式讀取指令MS,指令構成如下圖:
動作模式讀取命令字串組成:起始碼+機號+指令+偵誤碼+結束碼
而PLC回應字串的組成理論上是:起始碼+機號+指令+結束字串+運轉狀態代碼+註記+偵誤碼+結束碼,其中理論上該有的16個字組成的註記多數時候不會出現,因此實際組成的字串是:起始碼+機號+指令+結束字串+運轉狀態代碼+偵誤碼+結束碼
在這範例中成功讀取後回應的字串是固定相同的
PROGRAM(程式書寫模式):@00MS0000A827*(ASCII碼13)
MONITOR(監看模式):@00MS0003A824*(ASCII碼13)
RUN(運轉模式):@00MS0002A825*(ASCII碼13)
其中藍字標示的字就是運轉狀態代碼,可以注意到後面沒有註記,直接就是偵誤碼。運轉狀態代碼同樣是16進制數值,重要的是前2碼,所以程式的判讀也是只取前2碼
運轉狀態代碼前2碼中,第1個數值一定要是0,若不是0表示有錯誤發生,PLC是當機狀態。第2個數值才是表示運轉狀態
程式書寫部份:這次把2個指令寫在一起,先控制PLC的運轉模式,然後再讀取PLC的運轉模式
程式控制面板如下:
控制動作模式命令中的寫入字串用選單元件(Text Ring)製作,操作時可以用選擇的方式選擇動作模式
動作模式讀取命令讀出的狀態則再轉換為LED元件顯示
完成的程式架構如下:
同樣用流程控制元件(Flat Sequence Structure)來完成,通訊參數和關閉通訊埠一樣寫到格子外
流程分為6格,每個指令佔3格。控制流程的組成:控制PLC命令→延遲→PLC回應→讀取PLC命令→延遲→PLC回應
第1格控制命令跟之前文章相同的結構,偵誤碼同樣用偵誤碼計算程式算出,重點是把選單元件(Text Ring)傳來的數值轉換成寫入字串
第2格延遲時間這裡設定為200~500間,因為這是要寫入PLC的系統記憶體DM通道中,時間不要太短
第3格回應字串可以不用顯示到面板上,但這一格一定要做,不然這邊回應的字串會和下一道命令回應字串混在一起,造成下一道命令讀取錯誤
第4格讀取命令結構也是和之前文章相同,沒有要特別說明的重點
第5格延遲時間這裡設定為200
第6格同上一篇文章略過前面起始碼+機號+指令+結束代碼幾碼,直接擷取運轉狀態代碼前2碼,比對代碼後轉換成相對應的LED燈號顯示
本來這裡應該再加個PLC錯誤當機的燈號,也就是第1碼不是0的時候亮紅燈,不過不是這是說明的重點,予以略過
留言列表