單片機與PLC的程序設計有很大的區別,單片機的全部程序都是用戶設計的,PLC的程序包括系統程序(西門子稱為操作系統)和用戶程序。操作系統用來組織與具體的控制任務無關的所有的CPU功能。操作系統的任務包括處理啟動過程,刷新輸入/輸出過程映像,調用用戶程序,檢測中斷事件和調用中斷組織塊,檢測和處理錯誤,管理存儲器,以及處理通信任務等。PLC的很多功能,例如掃描工作方式、定時器功能和中斷處理,是操作系統完成的。在畫流程圖時,應考慮這個問題。
PLC的開關量控制系統的程序用順序功能圖來描述比較簡潔。用流程圖來描述PLC的用戶程序原則上也是可以的,但是應區分哪些功能是操作系統完成的,哪些是用戶程序實現的。
例如有人問是否需要用跳轉指令來等待某個信號上升沿的出現,這是一種單片機編程的思維。PLC的掃描工作方式在每一掃描周期開始時讀取全部的開關量輸入,根據前后兩個掃描周期同一輸入點狀態的變化來判斷是否有上升沿出現。所以不需要用往回跳的跳轉指令來等待某個輸入信號的出現。如果用這種方法來查詢信號的狀態變化,PLC不能干別的事情,因為它的全部精力都用在查詢上了!而這種查詢是在一個掃描周期內進行的,將使掃描周期變得很長,很容易造成監控定時器(看門狗)超時的錯誤。
在PLC的用戶程序中,只需要用一條檢測上升沿的指令就可以捕捉到脈沖信號的上升沿。如果要求快速響應,可以采用中斷方式,在脈沖信號的上升沿由系統程序調用用戶編寫的中斷程序。
-
單片機
+關注
關注
6044文章
44624瀏覽量
638948 -
plc
+關注
關注
5017文章
13392瀏覽量
465638 -
編程
+關注
關注
88文章
3639瀏覽量
94031
發布評論請先 登錄
相關推薦
單片機C語言應用程序設計
![<b class='flag-5'>單片機</b>C語言應用<b class='flag-5'>程序設計</b>](https://file.elecfans.com/web2/M00/48/B8/pYYBAGKhtByAI30rAAAVnajJVa4167.jpg)
評論