1 PLC 如何運作
文章推薦指數: 80 %
這兩個系統程式雖然是獨立運作,但透過內部資料結構溝通、協調彼此之間的動作。
... 在我們用C 語言撰寫PLC 之前,先繪出M03 和M05 流程圖,流程圖可以幫助分析事件及 ...
Skiptomaincontent
Contents
Index
Search
INCON-M84/M86/M86RPLC說明
1PLC如何運作
在INCON-M84/M86/M86R控制器內,共有兩個系統程式同時在運作:
1.NC系統程式
2.PLC系統程式
這兩個系統程式雖然是獨立運作,但透過內部資料結構溝通、協調彼此之間的動作。
NC系統程式已經由智研科技發展完成,使用者可編寫的是加工程式。
NC系統程式會依據加工程式內容予以解譯、執行、進行計算、控制路徑及反應狀況。
若有需要PLC幫忙處理項目則透過內部資料結構通知PLC進行處理及取得PLC回覆。
PLC程序處理的輸出訊號可分為兩大類:一種是輸出後不予理會結果,一種是輸出後一定要確認被控制系統的反應。
對於輸入訊號處理也有二大類;一類是不必回覆,另一類是必須回覆。
註.下圖中的"元件"可以表示為輔助裝置或NC溝通介面。
若輸入及輸出訊號要回覆,就有一定的時序,雙方才可以依據時序進行溝通才可以確實完成動作。
我們稱此溝通時序為協定(protocol)。
NC和PLC間的處理最常見的是與M碼、S碼及T碼相關的處理,這些碼的處理是透NC和PLC間的溝通介面完成的。
PLC處置完畢後會去控制被控制元件,待元件回覆(或不需回覆)後,再回覆NC已完成處理。
加工程式所使用的程式碼為標準ISOG、M、S、T碼。
其中,G碼多與機臺軸向運動有關;部份M碼則和加工程式流程相關;其他和加工程式流程無關的M碼、S碼及T碼則和機臺輔助設施的動作有關。
在加工程式被解譯時,NC會判斷出該由PLC處理的M、S、T碼,然後交付PLC處理,等候PLC回覆處理完畢;當NC執行G碼時也會參考PLC目前狀態再作處理(如:超馳率)。
下圖是CNC工件程式運作的流程圖:
INCON-M84/M86/M86R系列控制器的PLC必須完整處理M、S、T碼和機械面板、機械輔助系統。
然後必須將處理後的結果透過I/O交換控制機械面板、機械輔助系統及將狀態放置於NC及PLC溝通介面,同時讀取機械面板、機械輔助系統還有NC和PLC間的溝通介面狀態作為下一週期處理的外部狀態參考。
以下是說明NC和PLC間的時序之流程圖:
NC和PLC之間的協定,是以時序來完成的,時序圖如下所示:
瞭解系統控制程序之後,來看一下M03(主軸啟動)及M05(主軸停止)事件的範例:
在INCON-M84/M86/M86R控制器中有關M碼資料、M碼備妥及M碼處理完成的資料結構如下:
plc.mCode.data //M碼資料
plc.mCode.flag //M碼備妥
plc.mCode.finish //M碼處理完成
PLC輸出訊號控制變頻器,再由變頻器來控制主軸馬達。
變頻器輸出速度到達和零速訊號給PLC。
M03和M05事件是由PLC程序所控制。
當為plc.mCode.flag為1時,PLC會讀取plc.mCode.data,如果為plc.mCode.data=3,PLC會啟動M03並且等待變頻器傳來速度到達訊號。
當PLC收到速度到達開啟訊號時,PLC會送出plc.mCode.finish通知NC處理完成。
如果為plc.mCode.data=5,PLC會關閉M03並且等待變頻器傳來零速訊號。
當PLC收到零速開啟訊號時,PLC會送出plc.mCode.finish通知NC處理完成。
在我們用C語言撰寫PLC之前,先繪出M03和M05流程圖,流程圖可以幫助分析事件及方便維護PLC。
下面以C語言程式所寫的M03、M05事件:
#definespeed_reach(plc.gdi[0].bit.bit00) //變頻器速度到達輸入訊號I0
#definezero_speed(plc.gdi[0].bit.bit01) //變頻器零速輸入訊號I1
#definem03_output(plc.gdo[0].bit.bit00) //M03輸出訊號O1
if(plc.mCode.flag){
switch(plc.mCode.data){
case3:
m03_output=1;
if(speed_reach)
plc.mCode.finish=1;
break;
case5:
m03_output=0;
if(zero_speed)
plc.mCode.finish=1;
break;
default:
plc.mCode.finish=1;
break;
}
}
PLC在INCON-M84/M86/M86R控制器是一個固定循環的迴路,其時基為0.004秒。
在每一次循環結尾會作一次I/O交換。
I/O交換部份共有兩個部份,第一部份是實際的I/O(輸入/輸出)和第二部份是NC和PLC間的VI/VO(虛擬輸入/虛擬輸出)溝通。
PLC完成I/O交換時會把輸入狀態存入暫存工作記憶內入作為下一PLC循環使用。
PLC循環時會運算出輸出先放於工作記憶體內,待I/O交換才把輸出置於實際輸出和虛擬輸出。
I/O暫存區會因關機而消失資料,不能被保存至下次開機,但有些資料必須被保留作為參數,或是狀態之用;因此這些不允許流失的資料就要儲存起來。
INCON-M84/M86/M86R控制器的"機械參數→設定PLC數據"就是可儲存的資料備分區,另外和NC共享的巨集變數區資料也是可儲存的資料備分區。
INCON-M84/M86/M86R控制器可以使用這兩個區域作為PLC資料備份區。
由本章的描述可知,INCON-M84/M86/M86R控制器的PLC和一般控制器的PLC無異,但由於本PLC使用高階語言C語言作為PLC程序開發工具,使得INCON-M84/M86/M86R控制器的PLC具有較高效率的執行速度。
INCON-M84/M86/M86R控制器的PLC所使用的C語言語法要避免使用"do"、"while"和"for"迴圈不然執行時會發生無止盡迴圈的錯誤。
若想更進一步了解C語言語法,可自行購書閱讀。
×
Close
延伸文章資訊
- 1狀態流程圖
若以流程圖來說明各狀態間的關係,則如圖6-2所示:圖中將各狀態所須產生的動作以 ... 可以先將狀態流程圖轉換成一種叫步進階梯圖的圖形,再轉換成程式以鍵入PLC中。
- 2狀態流程圖設計
到現在為止,你幾乎已經懂得了所有的PLC 指令,也有了程. 式的設計概念,但是程式設計是沒有一定的標準答案的,個人有. 個人的設計法。要成為一個優良的設計師,還是 ...
- 3單元十五單一順序流程設計單元十六選擇分歧
學習PLC 到現在為止,都是以書寫器將程式指令一一鍵入的,所. 以不管是使用一般階梯圖或改良後的步進階梯圖或狀態流程圖,. 最終都需將它轉換成程式指令,才能為PLC 所接受 ...
- 4順序功能流程圖- 维基百科,自由的百科全书
順序功能流程圖(英語:Sequential function chart)簡稱SFC,是為可程式邏輯控制器(PLC)開發的圖形程式語言,是IEC_61131-3標準定義的五種語言之一。順序功能流...
- 5第1 章:PLC 階梯圖程式基本原理及簡碼指令之轉譯法則
回路3 為一個以上輸入元件之組合邏輯輸出範例,其輸出Y2 燈泡只有在X2 不動作或. X3 動作且X4 為動作時才會點亮。 傳統階梯圖. PLC 階梯圖. 回路1.