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