西門子通信模塊6ES7340-1AH02-0AE0原裝現貨
為了滿足工業邏輯控制的要求,同時結合計算機控制的特點,PLC的工作方式采用不斷循環的順序掃描工作方式。每一次掃描所用的時間稱為掃描周期或工作周期。CPU從*條指令執行開始,按順序逐條地執行用戶程序直到用戶程序結束,然后返回*條指令開始新的一輪掃描。PLC就是這樣周而復始地重復上述循環掃描的。PLC工作的全過程可用圖1所示的運行框圖來表示。整個過程可分為以下幾個部分:
*部分是上電處理。PLC上電后對系統進行一次初始化,包括硬件初始化和軟件初始化,停電保持范圍設定及其他初始化處理等。
第二部分是自診斷處理。PLC每掃描一次,執行—次自診斷檢查,確定PLC自身的動作是否正常。如CPU、電池電壓、程序存儲器、I/O和通訊等是否異常或出錯,如檢查出異常時,CPU面板上的LED及異常繼電器會接通,在特殊寄存器中會存入出錯代碼。當出現致命錯誤時,CPU被強制為STOP方式,所有的掃描便停止。
圖1 PLC運行框圖
第三部分是通訊服務。PLC自診斷處理完成以后進入通訊服務過程。首先檢查有無通訊任務,如有則調用相應進程,完成與其他設備的通訊處理,并對通訊數據作相應處理;然后進行時鐘、特殊寄存器更新處理等工作。
第四部分是程序掃描過程。PLC在上電處理、自診斷和通訊服務完成以后,如果工作選擇開關在RUN位置,則進人程序掃描工作階段。先完成輸入處理,即把輸入端子的狀態讀入輸入映像寄存器中,然后執行用戶程序,后把輸出處理結果刷新到輸出鎖存器中。
在上述幾個部分中,通訊服務和程序掃描過程是PLC工作的主要部分,其工作周期稱為掃描周期。可以看出掃描周期直接影響控制信號的實時性和正確性,為了確保控制能正確實時地進行,在每個掃描周期中,通訊任務的作業時間必須被控制在一定范圍內。PLC運行正常時,程序掃描周期的長短與CPU的運算速度、與I/O點的情況、與用戶應用程序的長短及編程情況等有關。通常用PLC執行l KB指令所需時間來說明其掃描速度,一般為零點幾ms到上百ms。值得注意的是,不同指令其執行時間是不同的,從零點幾μs到上百μs不等,故選用不同指令所用的掃描時間將會不同。而對于一些需要高速處理的信號,則需要特殊的軟、硬件措施來處理。
二、存儲器容量的估算
存儲器容量是可編程序控制器本身能提供的硬件存儲單元大小,程序容量是存儲器中用戶應用項目使用的存儲單元的大小,因此程序容量小于存儲器容量。設計階段,由于用戶應用程序還未編制,因此,程序容量在設計階段是未知的,需在程序調試之后才知道。為了設計選型時能對程序容量有一定估算,通常采用存儲器容量的估算來替代。
工業生產中,人們常常面臨著數據采集與管理。作為工廠自動化的三大支柱可編程控制器PLC(Programmable Logic Controller),由于其安全可靠,廣泛的用于數據采集與控制。生產過程中,要監視PLC內部的數據與運行狀況,選用市場上的人機界面或組態軟件,雖然功能豐富,但大都價格昂貴,在一些中小規模的生產場合,人們希望能自己用高級語言開發一個簡易實用的通信程序。微軟公司推出的Visual Basic 6.0,開發串行通信程序時,有兩種方法,一種是用Windows API函數,另一種是用VB支持的通信控件MSCOMM.OCX。利用Windows API函數是通過調用讀寫等函數來操作串口。兩種比較,使用MSCOMM.OCX控件編程方便,具有更完善的發送和接收功能。這里采用了MSCOMM.OCX控件。
本文根據杭州某包裝材料公司原料配料控制系統為背景,簡述實現計算機與三菱FX系列PLC通信的實現過程。