官术网_书友最值得收藏!

1.3 PLC的基本結構、工作原理與編程語言

1.3.1 PLC的基本結構和各部分作用

PLC是計算機技術和繼電器控制概念相結合的產物,結構與一般微型計算機系統基本相同,只不過它具有更強的與工業過程相連接的I/O接口,具有更適用于控制要求的編程語言,具有更適應工業環境的抗干擾能力。它由硬件系統和軟件系統兩大部分組成,硬件系統又分為CPU、存儲器、電源、I/O模塊、擴展接口模塊、外部設備六個部分,如圖1-1所示。

圖1-1 PLC的組成

1.中央處理單元

類似通用計算機,中央處理單元(Central Processing Unit, CPU)是PLC的核心部分和控制中樞,由微處理器和控制接口電路組成。

微處理器由大規模集成電路的微處理芯片構成,包括邏輯運算和控制單元,以及一些用于CPU處理數據過程中暫時保存數據的寄存器,共同完成運算和控制任務。

微處理器能實現邏輯運算,協調控制系統內部各部分的工作,分時、分渠道地執行數據的存取、傳送、比較和變換,完成用戶程序所設計的任務,并根據運算結果控制輸出設備。

控制接口電路是微處理器與主機內部其他單元進行聯系的部件,主要有數據緩沖、單元選擇、信號匹配、中斷管理等功能。微處理器通過它來實現與各個內部單元之間可靠的信息交換和最佳的時序配合。

2.存儲器單元

內存舉足輕重,多采用半導體存儲器單元,參數有存儲容量和存取時間等,按物理性能可分為隨機存儲器(Random Assess Memory, RAM)和只讀存儲器(Read Only Memory, ROM)。

隨機存儲器(RAM)最為重要,又稱為讀/寫存儲器,要求存取速度快,主要用來存儲I/O狀態和計數器、定時器以及系統組態的參數。由一系列寄存器陣組成,每個寄存器代表一個二進制數,開始工作時的狀態是隨機的,置位后狀態確定。為防止斷電后數據丟失,由鋰電池支持數據保護,一般為五年,電池電壓降低時由欠電壓指示燈發光來提醒用戶。

只讀存儲器(ROM)是一種只讀取、不寫入的記憶體,存放基本程序和永久數據。制造ROM時,信息(程序或數據)就被存入并永久保存(掉電不丟失)。只讀存儲器有兩種:一種是不可擦除ROM,只能寫入一次、不能改寫;另一種是可擦除ROM,以紫外線照射EPROM芯片上的透明窗口就能擦除芯片內的全部內容,并可重寫,E2PROM也稱為EEPROM,即可電擦除并再寫入。這兩種存儲器的信息可保留十年左右。

相對于其他類型的半導體技術而言,鐵電存儲器具有一些獨一無二的特性,它在RAM和ROM間搭起了一座跨越溝壑的橋梁,能兼容RAM的一切功能,并又和ROM技術一樣具有非易失性,是一種非易失性的RAM。

各種PLC的最大尋址空間是不同的,但PLC存儲空間按用途都可分為三個區域:

(1)系統程序存儲區 系統程序存儲區中存放著PLC廠家編寫的系統程序,包括監控程序、管理程序、命令解釋程序、功能子程序、診斷子程序以及各種系統參數等,固化在EPROM中。相當于PC的操作系統,和硬件一起決定PLC的性能。

(2)系統RAM存儲區 系統RAM存儲區包括I/O映像區、臨時參數區以及系統軟設備存儲區。

1)I/O映像區:由于PLC投入運行后,只是在輸入采樣階段才依次讀入各輸入狀態和數據,在輸出刷新階段才將輸出的狀態和數據送至相應的外部設備。因此需要一定數量的存儲單元(RAM)以存放I/O的狀態和數據,這些單元稱作I/O映像區。一個開關量占一個位(bit),一個模擬量占一個字(16bit)。

2)臨時參數區:存放CPU的組態數據,如輸入/輸出CPU組態、設置輸入濾波、脈沖捕捉、輸出表配置、定義存儲區保持范圍、模擬電位器設置、高速計數器配置、高速脈沖輸出配置、通信組態等,這些數據不斷變化、不需長久保存,采用隨機讀寫存儲器(RAM)即可。

3)系統軟設備存儲區:PLC內部各類軟設備,如邏輯線圈、數據寄存器、定時器、計數器、變址寄存器、累加器等的存儲區,分為有、無失電保持的存儲區域,前者在PLC斷電時,由內部鋰電池供電保持數據;后者當PLC斷電時,數據被清零。

邏輯線圈與開關輸出一樣,每個邏輯線圈占用系統RAM存儲區中的一個位,但不能直接驅動外設,只供用戶在編程中使用。另外不同的PLC還提供數量不等的特殊邏輯線圈,具有不同的功能。

數據寄存器與模擬量I/O一樣,每個數據寄存器占用系統RAM存儲區中的一個字(16bit),不同的PLC還提供數量不等的特殊數據寄存器,具有不同的功能。

(3)用戶程序存儲區 用戶程序存儲區存放用戶編寫的應用程序,為調試、修改方便,先把用戶程序存放在隨機存儲器(RAM)中,經運行考核、修改完善,達到設計要求后,再固化到EPROM中,替代RAM。

3.電源單元

電源單元是PLC的電源供給部分,把外部供應的電源變換成系統內部各單元所需的電源。PLC電源的交流輸入端一般都設有脈沖RC吸收電路或二極管吸收電路,故允許工作交流輸入電壓范圍比較寬,抗干擾能力比較強。一般交流電壓波動在±10%~±15%的范圍內,可不采取其他措施,而將PLC直接連接至交流電網。

除需要交流電源外,PLC還需要直流電源。一般直流5V供PLC內部使用,直流24V供I/O端和各種傳感器使用,有的還為開關量輸入單元連接的現場無源開關提供直流電源。應注意設計選擇時保證直流不過載。

電源單元還包括掉電保護電路(配有大容量電容)和后備電池電源,以保持RAM在外部電源斷電后存儲的內容還可保持50h。PLC的電源一般采用開關電源。

4.輸入/輸出單元

輸入/輸出單元由輸入、輸出和功能模塊構成,是PLC與現場被控裝置或其他外部設備間的接口部件。I/O模塊可與CPU放在一起,也可遠程放置,通常I/O模塊上還具有狀態顯示和I/O接線端子排。I/O模塊及其接口的主要類型有數字量(開關量)輸入、數字量(開關量)輸出、模擬量輸入、模擬量輸出等。

輸入模塊將現場的輸入信號經濾波、光電耦合隔離、電平轉換、信號鎖存電路等,變換為CPU能識別的低電壓信號,送交CPU進行運算;帶有鎖存器的輸出模塊則將CPU輸出的低電壓信號變換、放大為能被控制器件接收的電壓、電流信號,用來驅動信號燈、電磁閥、電磁開關等。I/O電壓一般為1.6~5V,低電壓能解決耗電量過大和發熱量過高的問題,是節能降耗的本質所在。

通常PLC輸入模塊類型有直流、交流、交直流三種;PLC輸出模塊類型有繼電器(交直流)、晶體管(直流)、雙向晶閘管(交流)三種。

此外功能模塊實際上是一些智能型I/O模塊,如溫度檢測模塊、位置檢測/控制模塊、PID控制模塊、高速計數模塊、運動控制模塊、中斷控制模塊等,各有自己獨立的CPU、系統程序、存儲器,通過總線由PLC協調管理。CPU與I/O模塊的連接由I/O接口完成。

5.接口單元

接口單元包括擴展接口、存儲器接口、編程接口和通信接口。

擴展接口用于擴展I/O模塊,使PLC控制規模配置得更加靈活,實際上為總線形式。可配置開關量I/O模塊也可配置模擬量、高速計數等特殊I/O模塊及通信適配器等。

存儲器接口用于擴展用戶程序存儲區和用戶數據參數存儲區,可以根據使用的需要擴展存儲器,內部接到總線上。

編程接口用于連接編程器或PC,由于PLC本身不帶編程器或編程軟件,所以為實現編程及通信、監控,在PLC上專門設有編程接口。

通信接口使PLC與PLC、PLC與PC或其他智能設備之間建立通信。外設I/O接口一般是RS-232C或RS-422A串行通信接口,進行串行/并行數據轉換、通信格式識別、數據傳輸出錯檢驗、信號電平轉換等。

6.外部設備

外部設備已發展成為PLC系統不可缺少的部分。

(1)編程設備 編程(編程設備)或PC用來編輯、調試PLC用戶程序,監控PLC以及PLC控制系統的工作狀況等。

簡易編程器多為助記符編程,個別的用圖形編程(如東芝公司EX型),稍復雜點的用梯形圖編程。采用先進編程軟件,如C系的CX-Programmer、S7-1200的STEP 7 Basic、FX系的GX Developer,在個人計算機上實現編程。除編程、調試外,還可設定系統控制方式。

(2)監控設備 小的監控設備有數據監視器,可監視數據;大的監控設備有圖形監視器,可通過畫面監視數據。除了不能改變PLC的用戶程序,編程器能做的它都能做。

(3)存儲設備 存儲設備用于永久存儲用戶數據,使用戶程序不丟失,包括存儲卡、存儲磁帶、軟磁盤或只讀存儲器,實現存儲的設備相應還有存卡器、磁帶機、軟驅或ROM寫入器及其接口部件。

(4)輸入輸出設備 輸入設備有條碼讀入器、輸入模擬量的電位器等;輸出設備有打印機、文本顯示器等。

7.PLC軟件系統

PLC除硬件系統外,還需軟件系統的支持,它們相輔相成、缺一不可。PLC軟件系統包括系統程序(又稱系統軟件)和用戶程序(又稱應用軟件)。

(1)系統程序 系統程序由PLC廠家編制,固化于EPROM或EEPROM中,安裝在PLC上。系統程序包括監控程序、管理程序、命令解釋程序、功能子程序、診斷子程序、輸入處理程序、編譯程序、信息傳送程序等。

(2)用戶程序 用戶程序是根據生產過程控制的要求,由用戶使用廠家提供的編程語言自行編制的,包括開關量邏輯控制程序、模擬量運算程序、閉環控制程序和操作站系統應用程序等。

1.3.2 PLC的工作原理

PLC是一種專用工業控制計算機,工作原理與計算機控制系統基本相同。PLC采用周期循環掃描的工作方式,CPU連續執行用戶程序和任務的循環序列稱為掃描。

1.PLC對繼電器控制系統的仿真

開辟I/O映像區,用存儲程序控制替代接線程序控制,是包括水力發電生產在內的所有工業控制領域的新紀元。

(1)仿真或模擬繼電器控制的編程方法 一個電氣電路控制整體方案中,根據任務與功能不同可明顯劃分出主電路(完成主攻任務,表象是大電流)和輔助電路(完成控制、保護、信號等任務,表象是小電流)。用PLC替代繼電器控制系統一般是指替代輔助電路的部分,而主電路部分基本保持不變。主電路中如含有大型繼電器仍可繼續使用,PLC可以用內部的軟繼電器(或稱虛擬繼電器)去控制外部的主電路開關繼電器,運用PLC不是要“消滅”繼電器,而是替代輔助電路中起控制、保護、信號作用的繼電器,達到節能降耗的目的,這一點請務必注意。

對于控制、保護、信號等輔助電路構成的電氣控制系統可分解為如圖1-2所示的三個部分,即輸入部分、控制部分、輸出部分。

圖1-2 電氣控制系統的組成

輸入部分由各種輸入設備(如控制按鈕、操作開關、位置開關、傳感器)和全部輸入信號構成,這些輸入信號來自被控對象上的各種開關量信息及人工指令??刂撇糠质前凑湛刂埔笤O計的,將主令電器、繼電器、接觸器等及其觸點用導線連接成具有一定邏輯功能的控制電路,以固定方式接線,控制邏輯設置在硬接線中。這種固化程序不能靈活變更且故障點多,而運用PLC將克服這些缺點。輸出部分由各種輸出設備(如接觸器、電磁閥、指示燈等執行元件)組成。

PLC控制系統組成也大致分為如圖1-3所示的三部分,即輸入部分、控制部分、輸出部分。

圖1-3 PLC控制系統的組成

這與繼電器控制系統極為相似,輸入部分、輸出部分與繼電器控制系統大致相同。差異是PLC中輸入、輸出部分多了I/O模塊,增加了光電耦合、電平轉換、功率放大等功能;PLC邏輯部分由微處理器、存儲器組成,由計算機軟件替代繼電器構成的控制、保護與信號電路,實現“軟接線”或“虛擬接線”,可以靈活編程,這是PLC節能降耗之外又一亮點。

下面從控制方式、控制速度、延時控制等三個方面闡述可編程序控制系統與繼電器控制系統之間的差異。

1)控制方式。繼電器控制系統采用硬件接線,是利用繼電器機械觸點的串聯或并聯及延時繼電器的滯后動作等組合形成控制邏輯,只能完成既定的邏輯控制。而PLC控制系統采用存儲邏輯,以程序方式存儲在內存中,改變控制邏輯只需修改程序,即改變“軟接線”或“虛擬接線”。

2)控制速度。繼電器控制系統邏輯依靠觸點的機械動作實現控制,工作頻率低,為ms級,且機械觸點有抖動現象。而PLC控制系統是程序指令控制半導體電路來實現控制,速度快,為μs級,嚴格同步,無觸點抖動。

3)延時控制。繼電器控制系統靠時間繼電器的滯后動作實現延時控制,精度不高,受環境影響大,調整定時困難。而PLC控制系統用半導體集成電路作為定時器,時鐘脈沖由晶體振蕩器產生,精度高,調整定時方便,不受環境影響。

盡管PLC與繼電器控制系統的控制部分組成元器件不同,但在控制系統中所起的邏輯控制作用是一致的。因而把PLC內部看作有許多“軟繼電器”或“虛擬繼電器”,如“輸入繼電器”“輸出繼電器”“中間繼電器”…“時間繼電器”等。這樣就可以模擬繼電器控制系統的編程方法,仍然按照設計繼電器控制電路的形式來編制程序,這就是極為方便的梯形圖編程方法。另外PLC的I/O部分與繼電器控制系統大致相同,因而安裝也完全可以按常規的繼電器控制設備進行。

總之PLC控制系統的I/O部分和電氣控制系統的I/O部分基本相同,但控制部分是“可編程”的控制器,而不是繼電器電路。PLC能方便地變更程序以實現控制功能的變化,從根本上解決了繼電控制難以改變的問題以及其他問題(如觸點燒灼)。除邏輯運算控制,PLC還具有數值運算及過程控制等復雜功能,是對繼電器控制系統的嶄新超越。

(2)接線程序控制、存儲程序控制與建立PLC的I/O映像區 接線程序控制就是按電氣控制電路接線的程序反復不斷地依次檢查各個輸入開關的狀態,根據接線的程序把結果賦值給輸出。

1946年“計算機之父”美籍匈牙利數學家馮·諾伊曼(John von Neumann,1903~1957)提出“存儲程序控制”原理,奠定了現代電子計算機的基本結構和工作方式,開創了程序設計的新時代。

PLC工作原理與接線程序控制十分相近,不同的是PLC控制由與計算機一樣的“存儲程序”來實現。PLC存儲器內開辟有I/O映像區,大小與控制的規模有關。系統每一個I/O點都與I/O映像區的某一位相對應,I/O點編址號與I/O映像區的映像寄存器地址號相對應。

PLC工作時,將采集的輸入信號狀態存放在輸入映像區對應位上,供用戶程序執行時采用,不必直接與外部設備發生關系,而后將用戶程序運算結果存放到輸出映像區對應位上,以作為輸出。這樣不僅加速了程序執行,而且與外界的隔離提高了PLC控制的抗干擾能力。

2.PLC循環掃描的工作方式

PLC循環掃描工作方式有周期掃描方式、定時中斷方式、輸入中斷方式、通信方式等,最主要的工作方式是周期掃描方式。PLC采用“順序掃描,不斷循環”的方式進行工作,每次掃描過程中,還需對輸入信號采樣并刷新輸出狀態。

(1)PLC的工作過程 PLC上電后,在CPU系統程序監控下,周而復始地按一定的順序對系統內部各種任務進行查詢、判斷和執行,這個過程就是按順序循環掃描。執行一個循環掃描過程所需的時間稱為掃描周期,一般為0.1~100ms。PLC的工作過程如圖1-4所示。

圖1-4 PLC的工作過程

1)上電初始化。PLC上電后首先進行系統初始化處理,包括清除內部繼電器區、復位定時器等,還對電源、PLC內部電路、用戶程序的語法進行檢查。設該過程占用時間T0。

2)CPU自診斷。PLC在每個掃描周期都要進入CPU自診斷階段,以確保系統可靠運行。包括檢查用戶程序存儲器是否正常、掃描周期是否過長以及I/O單元的連接、I/O總線是否正常,復位監控定時器(Watch Dog Timer, WTD)等,發現異常情況時,根據錯誤類別發出報警輸出或者停止PLC運行。設該過程占用時間T1。

3)通信信息處理。當PLC和PC構成通信網絡或由PLC構成分布系統時,需要一個通信服務過程,進行PLC與計算機間或與其他PLC間或與智能I/O模塊間的信息交換。在多處理器系統中,CPU還要與數字處理器DPU交換信息。設該過程占用時間T2。

4)外部設備服務。當PLC接有如終端設備、編程器、彩色圖文顯示器、打印機等外部設備時,每個掃描周期內要與外部設備交換信息。設該過程占用時間T3

5)用戶程序執行。PLC在運行狀態下,每一個掃描周期都要執行存儲器中的用戶程序,從輸入映像寄存器和其他軟元件的映像寄存器中讀出有關元件的通/斷狀態,以掃描方式從程序000步開始按順序運算,掃描一條執行一條,并把運算結果存入對應的輸出映像寄存器中。設該過程占用時間T4,它主要取決于PLC的運行速度、用戶程序的長短、指令種類。

6)I/O刷新過程。PLC運行時,每個掃描周期都進行輸入信號刷新和輸出信號刷新處理。輸入處理過程將PLC全部輸入端子的通/斷狀態,讀進輸入映像寄存器。在程序執行過程中即使輸入狀態變化,輸入映像寄存器的內容也不會改變,直到下一掃描周期的輸入處理階段才讀入這一變化。此外輸入濾波器有一個響應延遲時間。

輸出處理過程將輸出映像寄存器的通/斷狀態向輸出鎖存寄存器傳送,成為PLC的實際輸出。PLC的對外輸出觸點相對輸出元件的實際動作還有一個響應延遲時間。

設輸入信號刷新和輸出信號刷新過程占用時間為T5,主要取決于PLC所帶I/O模塊的種類和點數多少。

PLC周而復始地巡回掃描,執行上述整個過程,直至停機??梢钥闯?,PLC的掃描周期T=T1+T2+T3+T4+T5,為0.1~100ms。T越長,要求輸入信號的寬度越大。

(2)用戶程序的循環掃描過程 PLC的工作過程與CPU的操作方式(STOP與RUN)有關,下面討論RUN方式下執行用戶程序的過程。

當PLC運行時,通過執行反映控制要求的用戶程序來完成控制任務,有眾多的操作,但CPU不是同時執行(這里不討論多CPU并行),只按分時操作(串行工作)方式,從第一條程序開始,在無中斷或跳轉控制的情況下,按程序存儲順序先后逐條執行,這種串行工作過程即為PLC的掃描工作方式。程序結束后又從頭開始掃描執行,循環運行。由于CPU運算處理速度很快,因而從宏觀上來看,PLC外部出現的結果似乎是同時(并行)完成的。

PLC對用戶程序進行循環掃描可劃分為三個階段,即輸入采樣階段、程序執行階段和輸出刷新階段,如圖1-5所示。

圖1-5 PLC用戶程序的工作過程

1)輸入采樣階段。這是第一個集中批處理過程,CPU按順序逐個采集全部輸入端子上的信號,不論是否接線,然后全部寫到輸入映像寄存器中。隨即關閉輸入接口,進入程序執行階段,用到的輸入信號的狀態(ON或OFF)均從剛保存的輸入映像寄存器中讀取,不管此時外部輸入信號的狀態是否變化,如果發生了變化,那么也要等到下一個掃描周期的輸入采樣掃描階段才去讀取。由于PLC的掃描速度很快,因此可以認為這些采集到的輸入信息是同時的。

2)程序執行階段。這是第二個集中批處理過程,在執行用戶程序階段,CPU對用戶程序按順序進行掃描。若程序用梯形圖表示,則總是按先上后下、從左至右的順序進行掃描。當遇到程序跳轉指令時,則根據是否滿足跳轉條件來決定程序是否跳轉。每掃描到一條指令,若涉及輸入信號狀態,則從輸入映像寄存器中讀取,而不直接使用現場的立即輸入信號(立即指令除外),對于其他信息,則從元件映像寄存器中讀取。用戶程序每一步運算的中間結果都立即寫入元件映像寄存器中,對于輸出繼電器的掃描結果,也不是立即驅動外部負載,而是將結果寫入輸出映像寄存器中(立即指令除外)。在此階段,允許對數字量I/O指令和不設置數字濾波的模擬量I/O指令進行處理,在掃描周期的各個部分,均可對中斷事件進行響應。

在這個階段,除了輸入映像寄存器外,各個元件映像寄存器的內容均是隨著程序的執行而不斷變化的。

3)輸出刷新階段。這是第三個集中批處理過程,當CPU對全部用戶程序掃描結束后,將元件映像寄存器中各輸出繼電器狀態同時送到輸出鎖存器中,再通過一定方式(繼電器、晶體管或晶閘管)經輸出端子去驅動外部負載。在一個掃描周期內,只在輸出刷新階段才將輸出狀態從輸出映像寄存器中集中輸出,對輸出接口進行刷新。用戶程序執行過程中如果對輸出結果多次賦值,則只有最后一次有效。輸出刷新階段結束后,CPU進入下一個掃描周期,重新執行輸入集中采樣,周而復始。

集中采樣與集中輸出的工作方式是PLC的又一特點,在采樣期間,將所有輸入信號(不論該信號當時是否要用)一起讀入,此后在整個程序處理過程中PLC系統與外界隔離,直至輸出控制信號。此時外界輸入信號狀態的變化要到下一個工作周期的采樣階段才能被讀入,從根本上提高了系統的抗干擾能力和可靠性。

在程序執行階段,由于輸出映像區的內容會隨程序執行的進程而變化,因此,在程序執行過程中,所掃描到的功能經解算后,結果馬上就可以被后面將要掃描到的邏輯解算所利用,因而簡化了程序設計。

(3)PLC的I/O延遲響應問題

1)I/O延遲響應。由于PLC采用循環掃描的工作方式,即對信息的串行處理方式,導致I/O延遲響應。當PLC的輸入端有一個輸入信號發生變化到PLC輸出端對該輸入變化做出反應,需要一段時間,這種現象稱為I/O延遲響應或滯后現象,這段時間就稱為響應時間或滯后時間。

從PLC的工作原理可以看出,輸入信號的變化是否能改變其對應輸入映像區的狀態,主要取決于兩點:第一,輸入信號的變化要經過輸入模塊的轉換才能進入PLC內部,這個轉換需要的時間叫輸入延時;第二,進入了PLC的信號只有在PLC處于輸入刷新階段時才能把輸入的狀態讀到PLC的CPU輸入映像區,此延時最長可達一個掃描周期T、最短接近于零。只有經過了上述兩個延時,CPU才有可能讀入輸入信號的狀態。輸入延時是CPU可能讀到輸入端子信號狀態發生變化的最短時間,而輸入端子信號的狀態變化被CPU讀到的最長時間可達“掃描周期T+信號轉換輸入延時”,故輸入信號的脈沖寬度至少比一個掃描周期T稍長。

當CPU把輸出映像區里的運算結果賦予輸出端時也需要延時,也有兩部分:第一個延時發生在運算結果必須在輸出刷新時,才能送入輸出映像區對應的輸出信號鎖存器中,此延時最長可達一個掃描周期T、最短接近于零;第二個延時是輸出信號鎖存器的狀態要通過輸出模塊的轉換才能成為輸出端的信號,這個輸出轉換需要的時間叫輸出延時。

PLC循環掃描工作方式等因素會產生I/O延遲響應,在編程中,語句的安排也會影響響應時間。對于一般的工業控制,這種PLC的I/O響應滯后是完全允許的。但是對于要求響應時間小于掃描周期的控制系統則無法滿足,這時可以使用智能I/O單元(如快速響應I/O模塊)或專門的指令(如立即I/O指令),通過與掃描周期脫離的方式來解決。

2)響應時間。響應時間或滯后時間是設計PLC應用控制系統時應注意把握的一個重要參數,它與以下因素有關:①輸入延遲時間(由RC輸入濾波電路的時間常數決定,改變時間常數可調整輸入延遲時間);②輸出延遲時間(由輸出電路的輸出方式決定,繼電器輸出方式的延遲時間約為10ms,雙向晶閘管輸出方式在接通負載時延遲時間約為1ms、切斷負載時延遲時間小于10ms,晶體管輸出方式的延遲時間小于1ms);③PLC循環掃描的工作方式;④PLC對輸入采樣、輸出刷新的集中處理方式;⑤用戶程序中的語句能否合理安排。

這些因素中有的目前無法改變,有的則可以通過恰當選型、合理編程得到改善。例如選用晶閘管輸出方式或晶體管輸出方式可以加快響應速度等。

如果PLC在一個掃描周期剛結束之前收到一個輸入信號,在下一個掃描周期進入輸入采樣階段,那么這個輸入信號就被采樣,使輸入更新,這時響應時間最短。

最短響應時間=輸入延遲時間+1次用戶程序執行時間+輸出延遲時間(見圖1-6)。

如果收到一個輸入信號經輸入延遲后,剛好錯過I/O刷新時間,那么在該掃描周期內這個輸入信號無效,要等下一個掃描周期輸入采樣階段才被讀入,使輸入更新,這時響應時間最長。

最長響應時間=輸入延遲時間+2次用戶程序執行時間+輸出延遲時間(見圖1-6)。

圖1-6 最短、最長I/O響應時間

輸入信號若剛好錯過I/O刷新時間,則至少應持續一個掃描周期才能保證被系統捕捉到。對于持續時間小于一個掃描周期的窄脈沖,可以通過設置脈沖捕捉功能使系統捕捉到。設置脈沖捕捉功能后,輸入端信號的狀態變化被鎖存并一直保持到下一個掃描周期輸入刷新階段。這樣,可使一個持續時間很短的窄脈沖信號保持到CPU讀到為止。

PLC總響應延遲時間一般不長,對于一般系統無關緊要,對要求輸入與輸出信號之間的滯后時間盡量短的系統,可選用掃描速度較快的PLC或采取其他措施。

3)PLC對I/O的處理規則。PLC與繼電器控制系統對信息處理方式是不同的,繼電器控制系統是“并行”處理方式,只需要電流形成通路,可能有幾個電器同時動作;而PLC以掃描方式處理信息,是順序地、連續地、循環地逐條執行程序,任何時刻只執行一條指令,即以“串行”處理方式工作。因而在考慮PLC輸入、輸出間的關系時,應充分注意周期掃描工作方式。在用戶程序執行階段,PLC對I/O處理必須遵守以下規則:輸入映像寄存器的內容,由上一掃描周期輸入端子狀態決定;輸出映像寄存器的狀態,由程序執行期間輸出指令的執行結果決定;輸出鎖存器的狀態,由上一次輸出刷新期間輸出映像寄存器的狀態決定;輸出端子板上各輸出端的狀態,由輸出鎖存器決定;執行程序時所用I/O狀態值,取決于I/O映像寄存器的狀態。

盡管PLC采用周期性循環掃描工作方式而產生I/O延遲響應的現象,但只要使其中一個掃描周期足夠短,采樣頻率足夠高,足以保證輸入變量條件不變即可,即如果在第一個掃描周期內對某一輸入變量的狀態沒有捕捉到,則保證在第二個掃描周期執行程序時使其存在。這樣的工作狀態,從宏觀上講,可以認為PLC恢復了系統對被控制變量控制的并行性。

掃描周期的長短和程序的長短有關,和每條指令執行時間長短有關。而后者又與指令的類型以及PLC的主頻(CPU內核工作的時鐘頻率CPU Clock Speed)有關。

(4)PLC的中斷處理過程 中斷是對PLC外部事件或內部事件的一種響應和處理,包括中斷事件、中斷處理程序和中斷控制指令三個部分。

1)響應問題。一般計算機系統的CPU在每一條指令執行結束時都要查詢有無中斷申請。而PLC對中斷的響應則是在相關的程序塊結束后查詢有無中斷申請,或者在執行用戶程序時查詢有無中斷申請,若有中斷申請,則轉入執行中斷服務程序。如果用戶程序以塊式結構組成,則在每塊結束或執行塊調用時處理中斷。

2)中斷源先后順序及中斷嵌套問題。在PLC中,中斷源的信息是通過輸入點進入系統的,PLC掃描輸入點是按輸入點編號的先后順序進行的,因此中斷源的先后順序只要按輸入點編號的順序排列即可。多中斷源可以有優先順序,但無嵌套關系。

1.3.3 PLC的編程語言

PLC專為工業控制而開發,主要使用者是包括水力發電廠在內的廣大工業領域的電氣技術工作人員,從傳統習慣出發,一般采用下列幾種編程語言。

1.梯形圖編程

梯形圖(Ladder Diagram, LD)由原接觸器、繼電器構成的電氣控制系統二次展開圖演變而來,與電氣控制系統的電路圖相呼應,融合邏輯操作及控制于一體,是面向對象的、實時的、圖形化的編程語言,形象、直觀且實用,為廣大電氣工程人員所熟知,特別適合用于數字量邏輯控制,是使用最多的PLC編程語言,但不適合于編寫大型控制程序。

(1)梯形圖的格式 梯形圖是PLC仿真或模擬繼電器控制系統的編程方法,由觸點、線圈或功能方框等基本編程元素構成。左、右垂線類似繼電器控制圖的電源線,稱為左、右母線(Bus Bar)。左母線可看成能量提供者,觸點閉合則能量流過,觸點斷開則能量阻斷,這種能量流稱為能流。來自能源的能流通過一系列邏輯控制條件,根據運算結果決定邏輯輸出。

觸點:代表邏輯控制條件,有動合觸點和動斷觸點兩種形式。

線圈:代表邏輯輸出結果,能流到達,則該線圈被激勵。

方框:代表某種特定功能的指令,能流通過方框,則執行其功能,如定時、計數、數據運算等。

每個梯形圖網絡由一個或多個梯級組成,每個輸出元素(線圈或方框)可以構成一個梯級,每個梯級由一個或多個支路組成。通常每個支路可容納的編程元素個數和每個網絡允許的最多分支路數都有一定的限制,最右邊的元素必須是輸出元素,簡單的編程元素只占用一條支路(如動合/動斷觸點、繼電器線圈等),而有些編程元素要占多條支路(如矩陣功能)。在梯形圖編程時,只有在一個梯級編制完整后才能繼續后面的程序編制,從上至下、從左至右,左側總是安排輸入觸點,并且把并聯觸點多的支路靠近最左端。輸入觸點不論是外部的按鈕、行程開關,還是繼電器觸點,在圖形符號上只用動合觸點和動斷觸點兩種表示方式,而不計及物理屬性;輸出線圈用圓形或橢圓形表示。

在梯形圖中,每個編程元素應按一定的規則加標字母和數字串,不同的編程元素常用不同的字母符號和一定的數字串來表示。

(2)PLC梯形圖編程的特點 梯形圖與繼電器控制電路圖相呼應,決不是一一對應,彼此間存在許多差異。

1)PLC采用梯形圖編程是模擬繼電器控制系統的表示方法,各種元器件沿用繼電器的叫法,但非物理繼電器,稱為軟繼電器或虛擬繼電器。輸入觸點在存儲器中相應位為“1”狀態,表示繼電器線圈通電,動合觸點閉合或動斷觸點斷開;輸入觸點在存儲器中相應位為“0”狀態,表示繼電器線圈失電,動合觸點斷開或動斷觸點閉合。

2)梯形圖中流過的能流不是物理電流,只能從左到右、自上而下,不允許倒流。能流到達,則線圈接通;能流是用戶程序解算中滿足輸出執行條件的形象表示方式;能流流向的規定順應了PLC的掃描是自左向右、自上而下順序地進行,而繼電器控制系統中的電流是不受方向限制的,導線連接到哪里,電流就可流到那里。

3)梯形圖中的動合、動斷觸點不是現場物理開關的觸點,它們對應于I/O映像寄存器中相應位的狀態,而不是現場物理開關的觸點狀態。PLC把動合觸點當成是取位狀態操作、動斷觸點是位狀態取反操作。因此在梯形圖中同一元件的一對動合、動斷觸點的切換沒有時間的延遲,動合、動斷觸點只是互為相反狀態,而繼電器控制系統中的大多數電器是屬于先斷后合型的電器。

4)梯形圖中的輸出線圈不是物理線圈,不能用它直接驅動現場執行機構。輸出線圈的狀態對應輸出映像寄存器相應位的狀態,而不是現場電磁開關的實際狀態。

5)編制程序時,PLC內部繼電器的觸點原則上可無限次重復使用,因為存儲單元中位狀態可取用任意次。而繼電器控制系統中的繼電器點數是有限的,例如一個中間繼電器僅有6~8個對接點。但要注意PLC內部的線圈通常只引用一次,應特別慎重對待重復使用同一地址編號的線圈。

6)梯形圖中用戶邏輯解算結果馬上可以為后面用戶程序的解算所利用。

2.語句表編程

語句表(Statement List, STL)是一種類似于計算機匯編語言的助記符編程表達式或一種文本編程語言,由多條語句組成一個程序段。不同廠家的PLC往往采用不同的語句表符號集。表1-1為西門子、三菱、通用電氣和歐姆龍PLC的命令語句表程序舉例。

表1-1 語句表程序舉例

(續)

語句是用戶程序的基礎單元,每個控制功能由一條或多條語句組成的用戶程序來完成,每條語句都規定CPU如何動作,它的作用和計算機的指令一樣。PLC語句與計算機指令類似,即操作碼+操作數。

操作碼用來指定要執行的功能,告訴CPU該進行什么操作;操作數內包含為執行該操作所必需的信息,告訴CPU用什么地方的數據來執行此操作。

操作數應該給CPU指明為執行某一操作所需信息的所在地,分配原則如下:

1)為了讓CPU區別不同的編程元素,每個獨立的元素應指定一個互不重復的地址;

2)所指定的地址必須在該型機器允許的范圍之內,超出機器允許的操作參數,PLC不予響應,并以出錯處理。

語句表編程有鍵入方便、編程靈活的優點,在編程支路中元素的數量一般不受限制(沒有顯示屏幕的限制條件)。

3.順序功能流程圖語言

順序功能圖(Sequential Function Chart, SFC)是位于其他編程語言之上的真正的圖形化編程語言,又稱狀態轉移圖,能滿足如水力發電過程等順序邏輯控制的編程。編寫時,生產過程(或稱工藝過程、生產流程、工藝流程)劃分為若干個順序出現的步和轉換條件,每一步代表一個功能任務,用方框表示,每步中包括控制輸出的動作,從一步到另一步的轉換由轉換條件來控制。這樣程序結構清晰,易于閱讀及維護,大大減少了編程工作量,利于系統規模較大、程序關系較復雜的場合,特別適于生產、制造過程的順控程序,但不適用于非順控的控制。三要素是驅動負載、轉移條件、轉移目標。轉移條件、轉移目標二者不可缺,驅動負載視具體情況而定。

SFC主要由狀態、轉移、動作和有向線段等元素組成,用流程的方式來描述控制系統工作過程、功能和特性。以功能為主線,按照功能流程的順序分配,條理清楚,便于用戶理解程序,同時大大縮短了用戶程序掃描時間。

西門子STEP 7中的該編程語言是S7 Graph?;贕X Developer可進行FX系列PLC順序功能圖的開發。基于CX-Programmer的歐姆龍PLC中支持SFC編程模式的系列有CS1G、CS1H、CJ1M、CJ1G、CJ1H、CJ2H、CJ2M系列,早期產品C1000HF系列也有支持類似SFC語言的編程模式;CS1D、CP1系列則不支持SFC。

4.功能塊圖編程

功能塊圖(Function Block Diagram, FBD)是一種類似于數字邏輯電路結構的編程語言,一種使用布爾代數的圖形邏輯符號來表示的控制邏輯,一些復雜的功能用指令框表示,適合有數字電路基礎的編程人員使用。

功能塊有基本功能模塊和特殊功能模塊兩類?;竟δ苣K如AND、OR、XOR等,特殊功能模塊如ON延時、脈沖輸出、計數器等。FBD在大中型PLC和分散控制系統中應用廣泛,如可以建立功能塊的歐姆龍PLC有CJ1M、CJ、CS、CP1H/L等。

5.結構化文本(ST)

結構化文本(Structured Text, ST)是用結構化的文本來描述程序的一種專用的高級編程語言,編寫的程序非常簡潔和緊湊。采用計算機的方式來描述控制系統中各變量之間的各種運算關系,實現復雜的數學運算,完成所需的功能或操作。

使用GX Developer可對三菱MELSEC-Q/L系列進行ST編程,支持運算符、控制語句和函數。可以通過條件語句進行選擇分支,通過循環語句進行重復等的控制語句;可以使用含有*、/、+、-、<、>、=等運算符的表達式;可以調用預定義的功能塊(FB),實現程序開發高效化;可以調用各種公共指令對應的MELSEC函數及IEC 61131-3中定義的IEC函數;可以記述半角、全角字符的注釋;可讀取已寫入MELSEC-Q/L系列PLC中的程序,恢復后以ST語言格式進行編輯;可以在RUN中對程序進行部分變更;支持ST外的其他適于處理的語言,可以對一個CPU寫入多個程序文件。

歐姆龍CP1H、CP1L、CS、CJ系列PLC都帶有結構化文本,支持塊程序的編寫。

主站蜘蛛池模板: 千阳县| 罗田县| 岢岚县| 三都| 安溪县| 威信县| 云林县| 分宜县| 钟山县| 常宁市| 普格县| 新宾| 镇赉县| 常山县| 五指山市| 河曲县| 福海县| 勐海县| 云龙县| 察雅县| 浪卡子县| 宜宾市| 合肥市| 黔东| 东莞市| 乐清市| 固原市| 沙坪坝区| 贺兰县| 四川省| 全椒县| 大姚县| 廊坊市| 永年县| 聊城市| 乌拉特后旗| 闻喜县| 沈丘县| 黎城县| 湄潭县| 秦皇岛市|