不可不知的小貼士:單片機(jī)與PLC編程的區(qū)別
單片機(jī)與PLC的程序設(shè)計有很大的區(qū)別,單片機(jī)的全部程序都是用戶設(shè)計的,PLC的程序包括系統(tǒng)程序(西門子稱為操作系統(tǒng))和用戶程序。操作系統(tǒng)用來組織與具體的控制任務(wù)無關(guān)的所有的CPU功能。操作系統(tǒng)的任務(wù)包括處理啟動過程,刷新輸入/輸出過程映像,調(diào)用用戶程序,檢測中斷事件和調(diào)用中斷組織塊,檢測和處理錯誤,管理存儲器,以及處理通信任務(wù)等。PLC的很多功能,例如掃描工作方式、定時器功能和中斷處理,是操作系統(tǒng)完成的。在畫流程圖時,應(yīng)考慮這個問題。
本文引用地址:http://butianyuan.cn/article/226905.htmPLC的開關(guān)量控制系統(tǒng)的程序用順序功能圖來描述比較簡潔。用流程圖來描述PLC的用戶程序原則上也是可以的,但是應(yīng)區(qū)分哪些功能是操作系統(tǒng)完成的,哪些是用戶程序?qū)崿F(xiàn)的。
例如有人問是否需要用跳轉(zhuǎn)指令來等待某個信號上升沿的出現(xiàn),這是一種單片機(jī)編程的思維。PLC的掃描工作方式在每一掃描周期開始時讀取全部的開關(guān)量輸入,根據(jù)前后兩個掃描周期同一輸入點(diǎn)狀態(tài)的變化來判斷是否有上升沿出現(xiàn)。所以不需要用往回跳的跳轉(zhuǎn)指令來等待某個輸入信號的出現(xiàn)。如果用這種方法來查詢信號的狀態(tài)變化,PLC不能干別的事情,因為它的全部精力都用在查詢上了!而這種查詢是在一個掃描周期內(nèi)進(jìn)行的,將使掃描周期變得很長,很容易造成監(jiān)控定時器(看門狗)超時的錯誤。
在PLC的用戶程序中,只需要用一條檢測上升沿的指令就可以捕捉到脈沖信號的上升沿。如果要求快速響應(yīng),可以采用中斷方式,在脈沖信號的上升沿由系統(tǒng)程序調(diào)用用戶編寫的中斷程序。
評論