- FANUC數控PMC從入門到精通
- 龔仲華編著
- 9字
- 2021-12-24 12:30:47
第2章 PLC原理與應用
2.1 PLC組成與原理
2.1.1 PLC特點與功能
PLC是通用型可編程序控制器(programmable logic controller)的簡稱,PMC是FANUC數控系統集成可編程機床控制器(programmable machine controller)的簡稱,兩者除了結構稍有不同外,在原理、組成、功能、程序設計等方面并無區別。可以認為,PMC只是一種專門用于數控機床控制的PLC,它同樣屬于PLC的范疇。
為了全面介紹可編程序控制器的基本使用方法與要求,本章將對PLC的工作原理、結構組成、功能用途、電路設計、編程語言等基本知識進行簡要說明,為此,在本章中將統一使用PLC通用代號(地址)I、Q、M及常用的觸點、線圈符號,來表示PLC的開關量輸入信號、開關量輸出信號、內部繼電器等常用編程元件。以上編程元件在FANUC數控PMC的表示方法,將在第5章進行具體說明。
(1)PLC的產生與發展
PLC是隨著科學技術的進步與生產方式的轉變,為適應多品種、小批量生產的需要,而產生、發展起來的一種新型工業控制裝置。PLC從1969年問世以來,雖然只有40多年時間,但由于其通用性好、可靠性高、使用簡單,因而在工業自動化的各領域得到了廣泛的應用。曾經有人將PLC技術、CNC(數控)技術、IR(工業機器人)技術稱為現代工業自動化技術的支柱技術。
PLC最初是為了解決傳統的繼電器接點控制系統存在的體積大、可靠性低、靈活性差、功能弱等問題,而開發的一種自動控制裝置。這一設想最早由美國最大的汽車制造商——通用汽車公司(GM公司)于1968年提出,1969年由美國數字設備公司(DEC公司)率先研制出樣機并獲成功;接著,由美國GOULD公司在當年將其商品化并推向市場。1971年,通過引進美國技術,日本研制出了第一臺PLC;1973年,德國SIEMENS公司也研制出了歐洲第一臺PLC;1974年,法國隨后也研制出了PLC。從此,PLC得到了快速發展,并被廣泛用于各種工業控制的場合。
PLC的發展大致經歷了以下5個階段。
①1970—1980年:標準化、實用化階段。在這一階段,各種類型的順序控制器不斷出現(如邏輯電路型、1位機型、通用計算機型、單板機型等),但被迅速淘汰,最終以微處理器為核心的現有PLC結構形式取得了市場認可,并得以迅速推廣;PLC的原理、結構、軟件、硬件趨向統一與成熟;其應用也開始向機床、生產線等領域拓展。
在該階段,先進的數控系統已經逐步使用PLC作為系統輔助控制裝置,例如,1979—1982年SIEMENS公司和FANUC公司聯合開發的FANUC-SIEMENS SYSTEM 6(FS 6)數控系統上,已配套有外置式SIMATIC S5-130WB中型通用型PLC。
②1980—1990年:普及化、系列化階段。在這一階段,PLC的生產規模日益擴大,價格不斷下降,應用被迅速普及。各PLC生產廠家的產品開始形成系列,相繼出現了固定型、可擴展型、模塊化這3種延續至今的基本結構,其應用范圍開始遍及順序控制的全部領域。
在該階段,數控系統已經全面采用集成PMC或通用型PLC,作為數控系統的輔助控制裝置,大大增強了數控系統的功能。例如,FANUC公司的FS 10/11/12數控系統的集成PMC采用了光纜連接的分布式I/O單元,SIEMENS公司的SINUMERK 850/880數控系統采用了外置式SIMATIC S5-150大型通用PLC等。
③1990—2000年:高性能、小型化階段。在這一階段,隨著微電子技術的進步,CPU的運算速度大幅度上升、位數不斷增加、用于各種特殊控制的功能模塊被不斷開發,PLC的功能日益增強,應用范圍由最初的順序控制向現場控制領域延伸,現場總線、觸摸屏等技術在PLC上開始應用。同時,PLC的體積大幅度縮小,出現了各種小型化、微型化PLC。
在該階段,先進數控系統的集成PMC或外置式PLC已開始使用現場總線控制技術。例如,FANUC公司的高性能FS 15系列數控系統的集成PMC采用了I/O-Link總線;SIEMENS公司的高性能SINUMERK 840C數控系統采用了PROFIBUS總線連接的外置式SIMATIC S7-300大型通用PLC等。
④2000—2010年:網絡化、集成化階段。在這一階段,為了適應工廠自動化的需要,一方面,PLC的功能得到不斷開發與完善,PLC在CPU運算速度、位數大幅度提高的同時,開發了大量適用于過程控制、運動控制的特殊功能與模塊,其應用范圍開始遍及到工業自動化的全部領域;另一方面,為了適應網絡技術的發展,PLC的通信功能得到迅速完善,PLC不僅可通過現場總線連接本身的I/O裝置,且可與變頻器、伺服驅動器、溫度控制器等自動控制裝置連接,構成完整的設備控制網絡,此外,還可進行PLC與PLC、CNC、DCS(distributed control system,集散控制系統,見后述)等各類自動化控制器之間的互聯,集成為大型工廠自動化網絡控制系統。
在該階段,幾乎所有數控系統的集成PMC或外置式PLC都使用網絡總線連接技術。例如,FANUC公司的簡約型FS 0i系列數控系統、SIEMENS公司的簡約型SINUMERK 802D數控系統的集成PMC也都采用了I/O-Link、PROFIBUS總線連接等。
⑤2010年至今:智能化、遠程化階段。在這一階段,為了適應互聯網技術(IT)的發展與智能化控制的需要,條形碼、二維碼識別與視頻監控技術,利用互聯網的遠程診斷與維修服務技術等智能化、遠程化技術,已經在PLC上大量應用,PLC已深入到現在社會的工業生產、人們生活的各個領域。
在該階段,數控系統的集成PMC或外置式PLC主要以五軸與復合加工、FMC等現代數控設備控制為主要發展方向,增加了多路徑控制、多程序同步運行、冗余控制等功能。例如,FANUC公司的高性能FS 30i系列數控系統最大可控制5路徑、進行5個程序的同步運行,以滿足復合加工中心、FMC的數控機床及工業機器人、機械手、輸送線等各種輔助控制設備的控制要求,構成完整的自動化加工單元。
(2)PLC的特點
PLC雖然生產廠家眾多,功能相差較大,但與其他類型的工業控制裝置相比,它們都具有如下共同的特點。
①可靠性高。作為一種通用的工業控制器,PLC必須能夠在各種不同的工業環境中正常工作。對工作環境的要求低,抗干擾能力強,平均無故障工作時間(MTBF)長是PLC在各行業得到廣泛應用的重要原因之一。PLC的可靠性與生產制造過程的質量控制及硬件、軟件設計密切相關。
首先,國外PLC的主要生產廠家通常都是大型、著名企業,其技術力量雄厚、生產設備先進、工藝要求嚴格,企業的質量控制與保證體系健全,可保證PLC的生產制造質量。其次,在硬件上,PLC的輸入/輸出接口電路基本都采用光耦器件,PLC的內部電路與外部電路完全隔離,可有效防止線路干擾對PLC的影響,大幅度提高了工作可靠性。再者,在軟件設計上,PLC采用了獨特的循環掃描工作方式,大大提高了程序執行的可靠性;加上其用戶程序與操作系統相對獨立,用戶程序不能影響操作系統運行,而且操作系統還可預先對用戶程序進行語法等編程錯誤的自動檢測,故一般不會出現計算機常見的死機等故障。
②通用性好。在硬件上,絕大多數PLC都采用了可擴展型或模塊化的結構,其I/O信號數量和形式、動作控制要求等都可根據實際控制要求選擇與確定,此外,還有大量用于不同的控制要求的特殊功能模塊可供選擇,其使用靈活多變,程序調整與修改、狀態監控與維修均非常方便。在軟件方面,PLC采用了獨特的面向廣大工程設計人員的梯形圖、指令表、邏輯功能圖、順序功能圖等形象、直觀的編程語言,適合各類技術人員使用,對使用者的要求比其他工業計算機控制裝置更低。
(3)PLC、工業PC與DCS
PLC、工業PC、DCS都是用于工業自動化設備控制的控制裝置,其結構、功能相似,用途相近,在某些場合容易混淆,現將三者的主要區別簡介如下。
①PLC與工業PC。工業計算機(industrial personal computer,簡稱工業PC)是以個人計算機、STD總線(standard data bus)為基礎的工業現場控制設備,它具有標準化的總線結構(STD總線),不同機型間的兼容性好,與外部設備的通信容易,其兼容性、通信性能優于PLC。此外,工業PC可像個人計算機那樣,安裝形式多樣、功能豐富的各類應用軟件,因此,對于算法復雜、實時性強的控制,其實現比PLC方便。
工業PC的硬件組成與個人計算機類似,它不像PLC那樣有大量的適應各種控制要求的功能模塊可供選擇,因此,用于工業控制場合,其可靠性、通用性一般不及PLC。同時,此外,工業PC對軟件設計(編程)人員的要求較高,其編程語言不像PLC梯形圖、指令表、邏輯功能圖、順序功能圖那樣通俗易懂,其程序設計(編程)沒有PLC方便。
②PLC與DCS。集散控制系統(distributed control system,DCS)產生于20世紀70年代,這是一種在傳統生產過程儀表控制的基礎上發展起來的用于石化、電力、冶金等行業的儀表控制系統。DCS采用的是分散控制、集中顯示、分級遞階管理的設計思想,功能側重于模擬量控制、PID調節、儀表顯示等方面,其模擬量運算、分析、處理、調節性能要優于PLC。
PLC是在傳統的繼電-接觸器控制系統的基礎上發展起來的用于機電設備控制的開關量控制裝置。PLC采用的輸入采樣、程序執行、輸出刷新的循環掃描(scan cycle)設計思想,功能側重于開關量處理、順序控制等方面,其邏輯運算、分析、處理性能優于DCS。
然而,隨著科學技術的進步、工業自動化控制要求的日益提高,工業PC、DCS的性能也在不斷完善,邏輯順序處理能力不斷增強,而PLC也在不斷推出各種模擬量控制、PID調節等特殊功能模塊,3類控制器的功能已日趨融合。
(4)PLC的功能

圖2.1.1 PLC功能
PLC的主要功能通常包括圖2.1.1所示的基本功能、特殊功能和通信功能3類,簡要說明如下。
①基本功能。PLC的基本功能就是邏輯運算與處理。從本質上說,PLC的邏輯運算與處理是一種以二進制位(bit)運算為基礎,對可用二進制位狀態(0或1)表示的按鈕、行程開關、接觸器觸點等開關量信號,進行邏輯運算處理,并控制指示燈、電磁閥、接觸器線圈等開關執行元件通、斷控制的功能,因此,研發PLC的最初目的是用來替代傳統的繼電器-接觸器控制系統。
在早期PLC上,順序控制所需要的基本定時、計數功能都需要選配專門的定時模塊、計數模塊才能實現,但是,目前對于常規的定時、計數已可直接通過PLC的基本功能指令實現。此外,用于多位邏輯運算處理的代碼轉換、數據比較、數據運算功能,以及實數的算術、函數運算等功能,也都可利用PLC的基本功能指令直接編程。
②特殊功能。在PLC上,除基本功能以外的其他控制功能均稱為特殊功能,例如,用于溫度、流量、壓力、速度、位置調節與控制的模擬量/數字量轉換(A/D轉換)、數字量/模擬量轉換(D/A轉換)、PID調節等。特殊控制功能通常需要選配PLC的A/D轉換、D/A轉換、速度控制、位置控制等特殊功能模塊,通過PID調節等通用功能指令或特殊功能程序塊才能實現。
③通信功能。隨著IT的發展,網絡與通信在工業控制中已顯得越來越重要,網絡化、遠程化已成為當代PLC的發展方向。
早期的PLC通信,一般只局限于PLC與編程器、編程計算機、打印機、顯示器等常規輸入/輸出設備的簡單通信。使用了現場總線后,PLC不但可通過PROFIBUS、CC-Link、I/O-Link、AS-i等網絡連接更多的I/O設備,而且還可進行PLC與PLC、PLC與其他工業控制設備、PLC與上級計算機間的“點到點”通信(point to point,簡稱PtP通信)或進行多臺工業控制設備的MPI(multi point interface,多點接口)通信,此外,還可通過工業以太網(Industrial Ethernet)建立工廠自動化系統,并通過Internet(國際互聯網)、WAN(wide area network,廣域網)、PDN(public data network,公用數據網)、ISDN(integrated services digital network,全球綜合數據服務網)等多種網絡的連接,進行TCP/IP、OPC等IT通信,實現PLC的遠程控制及遠程診斷、維修服務。
2.1.2 PLC組成與結構
(1)PLC組成
完整的PLC系統由控制對象、執行元件、檢測元件、PLC、編程/操作設備等組成。通用PLC系統的組成如圖2.1.2所示,圖中的電源、CPU、輸入/輸出模塊為PLC的基本組件,故又稱PLC主機(簡稱PLC);由PLC輸出控制的執行元件、與PLC輸入連接的檢測元件以及編程/操作設備,稱為PLC的外設。

圖2.1.2 PLC系統的組成
雖然PLC的種類繁多、性能各異,但它們都具有圖2.1.3所示的基本硬件。

圖2.1.3 PLC的硬件組成框圖
①電源。電源用來產生PLC內部電子器件、集成電路工作的直流電壓,小型PLC的電源還可供外部作為PLC的DC輸入驅動電源;但由PLC輸出控制的負載驅動電源一般需要外部提供。
②CPU。CPU是決定PLC性能的關鍵部件,其型號眾多,性能差距很大。現代PLC的CPU一般為32位以上處理器,大中型PLC還常采用雙CPU、多CPU的結構。
③存儲器。PLC的存儲器分為系統存儲器、用戶程序存儲器、數據存儲器3類。
系統存儲器用于PLC系統程序的存儲,一般采用ROM、EPROM等只讀存儲器件,系統程序主要包括管理程序、命令解釋程序、中斷控制程序等,它由PLC生產廠家編制并安裝,用戶不能對此進行更改。
用戶程序存儲器(簡稱用戶存儲器)用來保存PLC用戶程序,其存儲容量經常用“步(step)”作為單位,1步是指1條PLC基本邏輯運算指令所占的存儲器字節數,如輸入、輸出、邏輯與、邏輯或等。PLC的1步所占的存儲器字節數在不同PLC上有所不同,有的PLC在4字節左右,有的PLC可能需要10字節以上。用戶存儲器通常使用電池保持型RAM、EPROM、EEPROM、Flash ROM等非易失存儲器件。
數據存儲器用來存儲PLC程序執行的中間信息,相當于計算機的內存。執行PLC程序所需要的輸入/輸出映像、內部繼電器、定時器、計數器、數據寄存器的狀態均存儲于數據存儲器中。數據存儲器的狀態在PLC程序執行過程中需要動態改變,故多采用RAM器件,存儲內容一般在關機時自動清除,但部分內部繼電器、定時器、計數器、數據寄存器的狀態可用電池保持。
④輸入接口。輸入接口的作用是將外部輸入信號轉換為PLC內部信號,它可將外部開關信號轉換成內部控制所需的TTL電平,或將模擬電壓轉換成數字量(A/D轉換)等。PLC的輸入接口一般由連接器件、輸入電路、光電隔離電路、狀態寄存電路等組成,電路的形式在不同的輸入模塊上有所不同,數控系統集成PMC的輸入接口電路以開關量輸入為主,規格相對統一,有關內容詳見本章后述。
⑤輸出接口。輸出接口的作用是將PLC內部信號轉換為外部負載控制信號,它可將CPU的邏輯運算結果轉換成控制外部執行元件的開關信號,或將數字量轉換為模擬量(D/A轉換)等。PLC的輸出接口一般由狀態寄存電路、光電隔離電路、輸出驅動電路、連接器件等組成,電路的形式在不同的輸出模塊上有所不同,數控系統集成PMC的輸入接口電路以開關量輸出為主,規格相對統一,有關內容詳見本章后述。
⑥通信接口。通信接口的作用是實現PLC與外設間的數據交換。利用通信接口,PLC不但可與編程器、人機界面、顯示器等連接,而且也可與遠程I/O單元、上級計算機、其他PLC或工業自動化控制裝置等連接,構成PLC網絡控制系統或工廠自動化系統。
PLC的通信接口一般為USB、RS232、RS422/485等標準串行接口。USB、RS232接口常用于PLC與編程器、編程計算機、人機界面的通信,其傳輸距離一般在15m以內,傳輸速率在20Kbit/s以下,故不能用于高速、遠距離通信。RS422/485接口常用于PLC與其他PLC、變頻器、伺服驅動器等控制裝置的全雙工/半雙工通信,其傳輸距離最大可達1200m左右,傳輸速率為10Mbit/s左右,適合于遠距離通信。
(2)PLC結構
通用型PLC的基本硬件結構大致可分為固定型、可擴展型、模塊式、集成式、分布式5種。
①固定型PLC。固定型PLC亦稱微型PLC,其結構如圖2.1.4所示。固定型PLC采用整體結構,PLC的處理器、存儲器、電源、輸入/輸出接口、通信接口等都安裝于基本單元上,無擴展模塊接口,I/O點數不能改變。作為功能的擴展,部分固定式PLC有時可安裝少量的通信接口、顯示單元、模擬量輸入等內置式功能模塊,以增加部分功能。

圖2.1.4 固定型PLC
固定型PLC的結構緊湊、安裝簡單,適用于I/O點數較少(10~30點)的機電一體化設備或儀器的控制,或作為普及型CNC的外置PLC使用。
②可擴展型PLC。可擴展型PLC如圖2.1.5所示。可擴展型PLC由整體結構、I/O點數固定的基本單元和可選配的I/O擴展模塊構成,PLC的處理器、存儲器、電源及固定數量的輸入/輸出接口、通信接口等安裝于基本單元上;基本單元上的擴展接口可連接I/O擴展模塊或功能模塊,進行I/O點數或功能的擴展。可擴展型PLC與模塊化PLC的主要區別在于PLC的基本單元本身帶有固定的I/O點,基本單元可獨立使用,擴展模塊不需要基板或基架。

圖2.1.5 可擴展型PLC
可擴展型PLC是小型PLC的常用結構,它同樣具有結構緊湊、安裝簡單的特點,其最大I/O點數可達256點以上,功能模塊的規格與品種也較多。可擴展型PLC的基本單元可以像固定式PLC一樣獨立使用,且其I/O點數更多,而且還可根據需要選配擴展模塊,增加I/O點與功能,故可靈活適應控制要求的變化,因此,在中小型機電一體化設備中的應用非常廣泛。
③模塊式PLC。模塊式PLC如圖2.1.6所示。模塊式PLC通常由電源模塊、中央處理器模塊、輸入/輸出模塊、通信模塊、特殊功能模塊構成,各類模塊統一安裝在帶連接總線的基板或基架上。

圖2.1.6 模塊式PLC
模塊式PLC的I/O點可達數千點,可選配的I/O模塊規格、功能模塊種類較多,指令豐富、功能強大,PLC不但可用于開關量邏輯控制,而且還可用于速度、位置控制,溫度、壓力、流量的測量與調節,也能夠通過各類網絡通信模塊,構成大型PLC網絡控制系統,它是大中型PLC的常見結構。
模塊式PLC的功能強大、配置靈活,通常用于大型復雜機電一體化設備、自動生產線等控制場合。
部分高性能數控系統(如SIEMENS 840系列)有時直接使用模塊式PLC作為輔助控制裝置,此類PLC需要選配CNC與PLC通信的專用總線接口模塊,進行CNC與PLC間的數據通信,這種數控系統可使用模塊式PLC的所有模塊,具備模塊式PLC的全部功能,其輔助控制功能比集成式PLC更強。
④集成式PLC。集成式PLC是全功能數控系統常用的輔助控制裝置,用于數控機床刀具、工作臺自動交換,冷卻、主軸啟停,夾具松/夾等輔助機能的控制。
集成式PLC與CNC集成一體,PLC的電源和CPU通常與CNC共用,并可直接通過CNC操作面板,進行程序編輯、調試與狀態監控。
集成式PLC以開關量控制為主,I/O連接一般通過專門的I/O單元或I/O模塊進行,I/O單元(模塊)可連接的I/O點數較多,但種類較少、輸入/輸出規格統一,通常也無其他特殊功能模塊。
集成式PLC以開關量邏輯控制功能為主,PLC一般設計有專門針對數控機床刀架、刀庫、分度工作臺控制用的功能指令,程序需要處理大量CNC與PLC的內部連接信號。
⑤分布式PLC。分布式PLC如圖2.1.7所示,所組成的PLC控制系統結構類似DCS(集散控制系統)。分布式PLC一般由1個“主站(master)”和若干個“從站(slave)”組成,從站可分散安裝于不同的控制現場,主站與從站之間利用現場總線進行遠距離連接。

圖2.1.7 分布式PLC的組成示意圖
分布式PLC的主站一般為大中型模塊化PLC,從站可以是分布式I/O模塊、分布式功能模塊(遠程I/O站)或其他PLC、CNC、伺服驅動器、變頻器等自動化控制裝置(遠程設備站),從而構成大型復雜機電一體化設備、自動生產線控制系統,或構成以PLC為核心的工業現場控制或集散控制系統。
(3)PLC分類
PLC的產品分類方法較多,按PLC的硬件結構,可分為上述的固定型、可擴展型、模塊式、集成式、分布式5類,按PLC的規模,則可分為小型、中型和大型3類。PLC的規模一般以PLC可連接的最大I/O點數和最大用戶程序存儲器容量衡量,I/O點數越多、存儲器容量越大,能夠組成的系統就越大。
①小型PLC。根據通常習慣,最大I/O點數在256點以下的PLC稱為小型PLC(或微型PLC)。小型PLC一般采用固定型或可擴展型結構,用戶程序存儲器的容量通常在8000步以內,PLC的內部繼電器、定時器、計數器、數據寄存器的數量相對較少,應用指令、功能模塊的數量也有一定的限制。
小型PLC的體積小、價格低,適用于簡單機電一體化設備或自動化儀器儀表的控制,它是PLC中產量最大的品種。
②中型PLC。最大I/O點數為256~1024點的PLC稱為中型PLC。中型PLC一般采用模塊式結構,用戶程序存儲器的容量通常在16000步以上,內部繼電器、定時器、計數器、數據寄存器的數量較多,應用指令、功能模塊的數量很多,通信能力較強。
中型PLC的配置靈活、功能強,它既可用于中等復雜程度的機電一體化設備控制,也可用于小型生產線與過程控制的壓力、流量、溫度、速度、位置等控制。
③大型PLC。最大I/O點數在1024點以上的PLC稱為大型PLC。大型PLC均采用模塊式結構,用戶程序存儲器的容量通常在32000步以上,PLC的內部繼電器、定時器、計數器、數據寄存器的數量眾多,應用指令、功能模塊豐富,網絡功能強大,可構建大型PLC網絡控制系統或車間自動化控制系統。
大型PLC還具有多CPU、多路徑、多程序同步運行、冗余控制等功能,可用于高速、高可靠性復雜控制場合。
2.1.3 PLC工作原理
PLC本質上也是一種計算機工業控制裝置,但其工作過程、工作原理、編程方法等與其他計算機控制裝置有較大區別。
(1)工作過程
PLC的用戶程序執行過程分圖2.1.8所示的輸入采樣、程序處理、通信處理、CPU診斷、輸出刷新5步無限重復進行,這種執行方式稱為循環掃描(scan cycle)。

圖2.1.8 PLC的循環掃描
①輸入采樣。輸入采樣又稱輸入讀取(read the inputs),在這階段,CPU將一次性讀入全部輸入信號的狀態,并將其保存到輸入寄存器中。PLC的輸入采樣與輸入端是否連接有實際信號無關,沒有使用的輸入端,其讀入的狀態為0。
這樣的處理方式稱為輸入集中批處理,輸入寄存器的狀態稱作“輸入映像”;PLC在處理用戶程序時,輸入映像將替代實際輸入信號在程序中使用。由于輸入映像的狀態可一直保持到下次輸入采樣,因此,即使在程序處理階段實際輸入信號的狀態發生變化,仍保證程序處理用的輸入信號具有唯一的狀態,從而使得程序執行具有唯一的結果。但是,由于輸入采樣需要一定的間隔時間(PLC循環時間),故不能檢測狀態保持時間小于PLC循環時間的脈沖信號,因此,對于高速計數、中斷處理等實時性要求很高的輸入控制,需要使用特殊的輸入點或選配專門的高速輸入功能模塊。
②程序處理。PLC的程序處理(execute the program)在輸入采樣完成后進行。PLC處理用戶程序時,將根據輸入映像及輸出映像的狀態,對不同的輸出(線圈)按從上到下、自左向右的次序,進行要求的邏輯運算處理,處理完成后,將處理結果保存到相應的結果寄存器中(稱為輸出映像)。結果寄存器的狀態可立即用于隨后的程序,如果隨后的程序中使用了相同的結果寄存器(重復線圈),后來的執行結果可覆蓋前面的執行結果。
例如,圖2.1.9為輸入信號I0.1由狀態0變為1后,PLC進行首次和第2次程序處理時的結果寄存器(輸出)狀態變化過程。

圖2.1.9 PLC程序處理過程
在I0.1由0變為1的首次執行循環中,處理指令第1行時,由于M0.2的狀態仍為上次循環的執行結果0,故Q0.0的結果為0。當PLC處理到指令第2行時,由于本次輸入采樣的I0.1狀態為1,M0.2的結果將為1,這一結果將立即用于隨后的指令第3行,使Q0.1的結果為1;但是,它不能改變已經處理完成的第1行指令的Q0.0結果,故處理指令第4行后,Q0.2的結果為0。因此,首次循環處理后的輸出狀態為Q0.0=0、Q0.1=1、Q0.2=0。
當PLC執行第2次循環時,M0.2將使用首次循環的執行結果1,故處理完成后的輸出狀態為Q0.0=1、Q0.1=1、Q0.2=1。
③通信處理。通信處理(process any communications requests)僅在PLC執行通信指令或進行網絡連接時進行,在此階段,CPU將進行通信請求檢查,決定PLC是否需要與外設、網絡總線進行數據傳輸。
④CPU診斷。CPU診斷(perform the CPU diagnostics)是CPU對PLC硬件、通信連接、存儲器狀態、用戶程序循環時間等進行的綜合檢查,如發現異常,PLC將根據不同的情況,進行停止程序運行、發出報警、生成出錯標志等處理;利用程序循環時間監控功能,還可有效防止程序陷入“死循環”。
⑤輸出刷新。輸出刷新(write to the outputs)是PLC的輸出集中批處理過程,在該階段,CPU將程序執行完成后的結果寄存器最終狀態(輸出映像),一次性輸出到外部,控制實際執行元件動作。因此,盡管在用戶程序的執行過程中,結果寄存器的狀態可能會因為重復線圈編程等原因改變,但PLC用于外部執行元件控制的輸出狀態,總是為唯一的狀態。同樣,由于輸出刷新需要一定的間隔時間(PLC循環時間),故輸出信號的狀態保持時間不能小于PLC循環時間;因此,對于高頻脈沖輸出、高速控制也需要使用特殊輸出點或選配專門的高速輸出功能模塊。
PLC完整地執行一次以上處理的時間,稱為PLC循環時間或掃描周期。PLC循環時間與CPU速度、用戶程序容量等因素有關,循環時間越短,PLC的輸入采樣、輸出刷新間隔就越小,輸入映像越接近實際輸入信號狀態,控制也就越準確、及時,因此,PLC循環時間是PLC的重要技術參數。
(2)等效電路
以上過程中的通信處理、CPU診斷實際上為PLC的內部處理,它與用戶程序的執行無直接關聯,因此,單純從PLC的用戶程序執行角度理解,也可認為PLC需要進行圖2.1.10所示的輸入采樣、程序執行、輸出刷新3個基本步驟,其工作過程可簡要理解如下。

圖2.1.10 PLC程序的工作過程
①PLC一次性將全部輸入信號讀入到輸入緩沖寄存器,生成“輸入映像”。
②PLC依據本循環所讀入的輸入映像及當前時刻的結果寄存器狀態,進行邏輯處理,并立即將結果寫入指定的結果寄存器中。
③程序執行完成后,PLC一次性將全部輸出映像輸出到外部。
因此,PLC用于開關量邏輯運算處理時,其工作原理可用圖2.1.11所示的繼電器電路進行等效描述。

圖2.1.11 PLC等效電路圖
其中,PLC的實際輸入接口電路及輸入采樣處理可用“輸入電路”等效代替;用戶程序處理可用“繼電器電路”等效代替;PLC的實際輸出接口及輸出刷新處理可用“輸出電路”等效代替。需要說明的是,等效電路僅是為了更好理解PLC工作原理而虛擬的電路,它并不是PLC的實際電路,例如,圖中的輸入I0.1~I0.7實際并不存在繼電器等。
利用等效電路理解PLC工作原理的基本方法如下。
①輸入電路。輸入電路相當于PLC的輸入接口電路與輸入映像,輸入繼電器與輸入信號一一對應,其狀態代表PLC的輸入映像;實際輸入信號ON時,輸入繼電器接通。由于輸入映像實際上只是PLC的輸入寄存器(存儲器)狀態,它在PLC程序中的使用次數不受限制,因此,應認為等效電路中的輸入繼電器具有無限多的常開/常閉觸點。此外,由于絕大多數PLC不允許用戶程序對輸入寄存器進行賦值,故應認為等效輸入繼電器只能由輸入信號控制通斷,而不能通過等效的繼電器電路控制,因此,等效的繼電器電路只能使用輸入繼電器的觸點。
②輸出電路。輸出電路相當于PLC的輸出映像與輸出接口電路,輸出繼電器相當于輸出映像,輸出映像為“1”時,輸出繼電器接通。同樣,由于輸出映像只是PLC的輸出結果寄存器(存儲器)狀態,它不僅可輸出,且可在程序中無限次使用,因此,應認為等效電路中的輸出繼電器對外只能輸出一對常開觸點,但在等效繼電器電路中具有無限多的常開/常閉觸點。
③繼電器電路。等效繼電器電路由PLC用戶程序轉化而來,PLC程序中的定時器、計數器可用時間繼電器、計數器等效,且其精度更高、范圍更大。PLC程序中的內部繼電器應理解為不能用于外部實際信號控制,但在等效繼電器電路中具有無限對常開/常閉觸點的中間繼電器。
簡言之,PLC的輸入可視為由輸入信號驅動、具有無限多觸點的繼電器;PLC輸出可視為只有一對觸點輸出,但具有無限多內部觸點的繼電器;PLC的內部繼電器可視為具有無限多內部觸點,但不能控制輸出的中間繼電器;而PLC用戶程序可視為繼電器電路。
(3)主要特點
PLC程序處理的基本特點如下。
①可靠性高。由于PLC程序使用的輸入映像狀態,輸入信號在程序中具有唯一的狀態,程序設計無效考慮程序執行過程中的輸入信號變化,程序設計容易、可靠性高。
②處理速度快。集中批處理可以一次性完成全部輸入、輸出的狀態更新,無需在程序執行過程中對輸入、輸出信號進行單獨采樣,大幅度減少了采樣時間,提高了PLC程序的處理速度。
③程序設計方便。輸入、輸出映像為寄存器的二進制狀態,在程序中也可用字節、字、雙字的形式成組處理,其程序更簡單。
④利用輸入映像在同一掃描循環中狀態保存不變的特點,可方便地生成邊沿信號;利用輸出集中批處理的特點,在程序中可以對輸出進行多次賦值(使用重復線圈),從而實現實際繼電器線路不能實現的動作。
⑤PLC程序的執行只是單次PLC程序循環的無限重復,因此,程序一旦調試完成,便可保證長期穩定工作,軟件隨機出錯的可能性極小。
但是,由于PLC的輸入采樣、輸出刷新需要一定的間隔時間(PLC循環時間),因此,它既不能檢測狀態保持時間小于PLC循環時間的脈沖信號,也不能輸出狀態保持時間小于PLC循環時間的脈沖信號;因此,對于高速計數、中斷處理、高頻脈沖輸出,必須使用特殊的輸入/輸出點或選配專門的功能模塊。