資源簡介 (共284張PPT)歡迎學習《工廠電氣控制與可編程控制器》下篇可編程控制器技術選用教材:主講:黃曉紅授課班級:電氣0332005.8-2006.1可編程控制器5 概述6 基本邏輯指令7 步進順控指令8 功能指令9 PLC控制系統的設計與應用10手持編程器及編程軟件的使用5 可編程序控制器概述FX2N系列可編程序控制器是日本三菱公司繼F1、F2、FX2系列可編程序控制器之后推出的新產品。它采用整體式結構,按功能可分為基本單元、擴展單元、擴展模塊及特殊適配器等四種類型產品。基本單元內有CPU、存儲器、輸入/輸出(I/O)、電源等,是一個完整的PC機,可以單獨使用。可編程控制器的產生與發展可編程控制器簡稱PLC, 是20世紀70年代以來在繼電—接觸器控制系統中引入微型計算機控制技術后發展起來的一種新型工業控制設備。它的引入避免了繼電器控制系統的下列缺點:(1) 硬接線電路的故障率高。(2) 電器觸頭的使用壽命有限。(3) 診斷、 排除故障的速度慢。(4) 以硬接線實現控制邏輯, 當控制邏輯需要修改時難于改動接線。PLC產品以軟件控制取代了常規電氣控制系統中的硬件控制, 具有功能強, 可靠性高, 配置靈活, 使用方便, 體積小, 重量輕等優點, 目前已在工業生產的各個領域獲得廣泛使用, 成為工業控制的支柱產品。國際電工委員會(IEC)對可編程控制器的定義是:可編程邏輯控制器是一種數字運算操作的電子系統, 專為在工業環境下應用而設計, 它采用了可編程序的存儲器, 用來在其內部存儲執行邏輯運算、 順序控制、 定時、 計算和算術運算等操作的指令, 并通過數字式和模擬式的輸入和輸出來控制各類機械的生產過程。可編程控制器及其有關外圍設備都按易于與工業系統聯成一個整體, 易于擴充其功能的原則設計。現代可編程控制器產品的技術特點:(1) 高可靠性與高抗干擾能力。 PLC產品是專為工業控制環境設計的, 機內采取了一系列抗干擾措施, 其平均無故障時間可高達4~5萬小時, 遠遠超過采用硬接線的繼電—接觸器控制系統, 也遠遠高于一般的計算機控制系統。 PLC產品在軟件設計上采取了循環掃描、 集中采樣、 集中輸出的工作方式, 設置了多種實時監控、 自診斷、 自保護、 自恢復程序; 在硬件設計上采用了屏蔽、 隔離、 濾波、 聯鎖等抗干擾電路結構, 并實現了整體結構的模塊化。 PLC適應于惡劣的工業環境, 這是它優于普通微機控制系統的首要特點。(2) 通用、 靈活、 方便。 PLC作為專用微機控制系統產品, 采用了標準化的通用模塊結構, 其I/O電路又采用了足夠的抗干擾設計, 既可以使用模擬量, 也可以使用開關量, 現場信號可以直接接入, 用戶不需要進行硬件的二次開發, 控制規模又可以根據控制對象的信號數量與所需功能進行靈活方便的模塊組合, 具有接線簡單, 使用、 維護十分方便的優點。(3) 編程簡單, 易于掌握。 這是PLC產品優于普通微機控制系統的另一個特點。 可編程控制器的程序編寫一般不需要高級語言, 其通常使用的梯形圖語言類似于繼電器控制原理圖, 使未掌握專門計算機知識的現場工程技術人員也可以很快熟悉和使用, 這種面向問題和控制過程的編程語言直觀、 清晰、 修改方便且易于掌握。 當然, 不同機型PLC在編程語言上是多樣化的, 但同一檔次不同機型的控制功能可以十分方便地相互轉換。 ?(4) 開發周期短。 設計一套常規繼電器控制系統需順序進行電路設計、 安裝接線、 邏輯調試三個步驟, 只有進行完前一步才能進入下一步, 開發周期長, 線路修改困難, 工程越大這一缺點就越明顯。 而使用PLC完成一套電氣控制系統, 只要電氣總體設計完成, I/O點分配完畢, 軟件設計模擬調試與硬件設計施工就可以同時分別進行。 在軟件調試方面, 控制程序可以反復修改; 在硬件施工方面, 安裝接線只涉及輸入和輸出裝置, 不涉及復雜的繼電器控制線路, 硬件投資較少, 故障率低。 在軟、 硬件分別完成之后的正式調試中, 控制邏輯的修改也僅涉及軟件修改, 大大縮短了開發周期。(5) 功能強, 體積小, 重量輕。 由于PLC產品是以微型計算機為核心的, 所以具有許多計算機控制系統的優越性。 以日本三菱公司的FX2N-32MR小型可編程控制器為例, 該PLC的外型尺寸是87 mm×40 mm×90 mm, 重量0.65 kg, 內部包含各類繼電器3228個, 狀態寄存器1000個, 定時器256個, 計數器241個, 數據寄存器8122個, 耗電量為150 W, 其應用指令包括程序控制、 傳送比較、 四則邏輯運算、 移位、 數據(包括模擬量)處理等多種功能, 指令執行時間為每步小于0.1 μs, 無論在體積、 重量上, 還是在執行速度、 控制功能上, 都是常規繼電器控制系統所無法相比的。PLC產品按I/O點數和存儲容量可分為小型、 中型和大型PLC三個等級。 小型PLC的I/O點數在256點以下, 存儲容量為2 k步, 具有邏輯控制、 定時、 計數等功能, 目前的小型PLC產品也具有算術運算、 數據通信和模擬量處理功能。 中型PLC的I/O點數在256~2048點之間, 存儲容量為2~8 k步, 具有邏輯運算、 算術運算、 數據傳送、 中斷、 數據通信、 模擬量處理等功能, 用于多種開關量、 多通道模擬量或數字量與模擬量混合控制的復雜控制系統。大型PLC的I/O點數在2048點以上, 存儲容量達8 k步以上, 具有邏輯運算、 算術運算、 模擬量處理、 聯網通信、 監視記錄、 打印等功能, 有中斷、 智能控制、 遠程控制能力, 可完成大規模的過程控制, 也可構成分布式控制網絡, 完成整個工廠的網絡化自動控制。基本單元型號表示方法:FX2N-××M×| | 1 2式中,1部分用兩位數表示輸入/輸出(I/O)的總點數,有16、24、32、48、64和80六種;2部分用字符表示輸出類型:R表示繼電器觸點輸出,T表示晶體管輸出,S表示雙向晶閘管輸出。例如,FX2N-32MR表示是FX2N系列的基本單元,輸入/輸出(I/O)總點數為32點,其中16點為直流24 V輸入,16點為繼電器輸出。PLC的基本組成與功能PLC實質上是一種為工業控制而設計的專用微機控制系統, 因此其硬件結構與微型計算機控制系統相似, 但輸入、 輸出電路要求具有更強的抗干擾能力。 一套可編程控制器在硬件上由基本單元(主機)、 I/O擴展單元及外圍設備組成, 通過各自的端口連成一個整體。 圖5-1為PLC的硬件結構圖。圖 5-1 PLC的硬件結構圖1. PLC基本單元PLC基本單元是以CPU為核心的一臺工業控制專用微機系統, 主要由CPU、 存儲器和I/O接口電路組成。CPU的功能是:(1) 接收編程器、 PC機或其他外圍設備輸入的用戶程序、 數據等信息。(2) 掃描接收現場輸入信號, 并存入指定內部繼電器或寄存器。(3) 讀取、 解釋用戶程序, 執行用戶控制程序, 獲得正確的邏輯運算或算術運算結果。(4) 更新有關的內部繼電器或寄存器, 并將運算結果傳送至輸出電路, 以實現對現場設備的準確動作控制。(5) 如需輸出打印或狀態監控, 還需將有關信息傳送至外圍設備。不同檔次的PLC產品內部使用的CPU芯片差異較大, 三菱公司FX2系列小型PLC使用的微處理器是16位8096單片機, 美國AB公司的PLC-3型大型PLC采用的微處理器是ADM-2900高速芯片。存儲器的功能是:(1) 系統存儲器(ROM區) 用于儲存PLC產品生產廠編寫的各種系統工作程序, 用戶不能更改或調用。(2) 用戶存儲器(RAM區) 用來儲存用戶編寫的控制程序和用戶數據, 該區域用戶可讀可寫, 可隨意增加或刪減。 在PLC中一般采用鋰電池對用戶程序進行掉電保護(一般能保持5~10年, 經常帶負載可保存2~5年)。I/O接口電路的功能是:(1) 輸入接口電路的作用是將來自現場設備的輸入信號通過電平變換、 速度匹配、 信號隔離和功率放大, 轉換成可供CPU處理的標準電平信號。 圖5-2為PLC產品中常見的一種直流24 V傳感器輸入電路。 如輸入器件為按鈕、 開關類無源器件, +24 V端子仍需接24 V電源, 但輸入按鈕或開關則可直接連在輸入端子和COM端之間, 電路更為簡單。 只要程序運行, PLC內部就可以識別輸入端子和COM之間的通或斷。圖5-2 直流24 V輸入電路(2) 輸出接口電路的作用是將CPU的程序運行結果經過電平轉換、 隔離和功率放大, 轉換成能帶一定負載的具體的輸出狀態。 基本單元上的輸出信號一般為開關量, 輸出接口電路分繼電器輸出型、 晶體管輸出型和晶閘管輸出型三種。圖5-3 PLC的輸出接口電路 (a) 繼電器輸出型; (b) 晶體管輸出型; (c) 晶閘管輸出型2. PLC的擴展單元每個系列的PLC產品都有一系列與基本單元相匹配的擴展單元, 以便根據所控制對象的控制規模大小來靈活組成電氣控制系統。 擴展單元內部不配備CPU和存儲器, 僅擴展輸入/輸出電路, 各擴展單元的輸入信息經擴展連接電纜進入主機總線, 由主機的CPU統一處理, 執行程序后, 需要輸出的信息也由擴展連接電纜送至各擴展單元的輸出電路。 PLC處理模擬量輸入/輸出信號時, 要使用模擬量擴展單元, 這時的輸入接口電路為A/D轉換電路, 輸出接口電路為D/A轉換電路。3. PLC的外圍設備小型PLC最常用的外圍設備是編程器和PC機。 編程器的功能是完成用戶程序的編制、 編輯、 輸入主機、 調試和執行狀態監控, 是PLC系統故障分析和診斷的重要工具。 PLC的編程器主要由鍵盤、 顯示屏、 工作方式選擇開關和外存儲器接口等部件組成, 按功能可分為簡易型和智能型兩大類。 以三菱FX2N系列PLC為例, 它可以使用手持式簡易編程器FX2N-20P-E-SETO編程, 也可以使用更高級的智能型圖形編程器GP-80FX-E來編程, 后者的功能更強, 但價格更高。由于PLC產品一般在程序調試或需要監控時才插上編程器, 當電氣控制系統正常運行時不必使用編程器, 所以目前對PLC編程在許多場合采用了個人電腦(裝載專用編程軟件)加PC-PLC專用連接電纜, 而不使用專用編程器的編程方法, 即用計算機鍵盤通過屏幕對話完成圖形編程、 圖形顯示、 通信聯網、 修改調試、 輸出打印等任務。 目前各PLC公司均開發有相應的編程軟件, 另外, 利用個人電腦還可以運行更多的工業控制軟件。圖5-4為三菱FX2N小型PLC產品主機及擴展單元示意圖。 圖中FX2N-32MR為基本單元, 帶有32個I/O點(16入16出), M表示主機, R表示該單元為繼電器輸出型; FX2N-32ER為32點開關量擴展單元, E表示該單元為擴展單元; FX2N-2AD為兩路模擬量輸入擴展單元; FX2N-2DA為兩路模擬量輸出擴展單元。 PLC產品的擴展單元種類很多, 擴展單元的功能及與主機的配合細節可查閱有關手冊。圖 5-4 三菱FX2N小型PLC產品示意圖PLC的性能規格與內部資源PLC的性能規格FX2N系列PLC的性能規格如下表所示。FX2N系列PLC的主要技術性能續表續表FX2N系列輸入類型為直流輸入,采用直流(DC 24 V)供電。輸出類型有繼電器、晶體管、雙向晶閘管三種輸出形式。繼電器輸出可靠性高,價格低,適用電壓范圍廣,既可控制交流負載又可控制直流負載,因而使用廣泛;但因為有觸點輸出,尤其在感性負載時繼電器觸點壽命較短,動作響應時間較長(10 ms以下),因而不適應要求高速通斷、快速響應的工作場合。晶體管輸出是無觸點輸出,動作響應時間短(0.5 ms以下),用于控制直流負載。雙向晶閘管輸出亦是無觸點輸出,動作響應時間較短,用于控制交流負載。晶體管和雙向晶閘管輸出過載、過壓能力較差,價格高,因而適應于要求高速通斷、快速響應的工作場合。PLC的內部資源各種不同型號和檔次的PLC具有不同數量和功能的內部資源, 但構成PLC基本特征的內部軟元件是類似的。 現以 FX2N系列小型PLC為例, 介紹PLC的內部資源。PLC是按照電氣繼電控制線路的設計思想,借助于大規模集成電路和計算機技術開發的一種新型工業控制器。使用者可以不必考慮PC內部元器件的具體組成線路,可以將PC看成是由各種功能元器件組成的工業控制器,利用編程語言對這些元器件線圈、觸點進行編程以達到控制要求,為此使用者必須熟悉和掌握這些元器件的功能、編號及其使用方法。每種元器件都用特定的字母來表示,如X表示輸入繼電器、Y表示輸出繼電器、M表示輔助繼電器、T表示定時器、C表示計數器、S表示狀態元件等,并對這些元器件給予規定的編號。1.FX2N編程元件的分類及編號FX2N系列PLC具有數十種編程元件,FX2N系列PLC編程元件的編號分為兩部分,第一部分是代表功能的字母,如輸入繼電器用“X”表示,輸出繼電器用“Y”表示;第二部分為數字,為該類器件的序號,FX2N系列PLC中輸入繼電器及輸出繼電器的序號為八進制,其余器件的序號為十進制。2. 輸入繼電器FX2N系列可編程控制器輸入繼電器編號范圍為X0~X177(128點)。輸入繼電器與PLC的輸入端相連,是PLC接收外部開關信號的元件,如開關、傳感器等輸入信號,輸入繼電器必須由外部信號來驅動,不能用程序驅動。它可提供無數對常開接點、常閉接點,如圖5.1所示。這些接點在PLC內可以自由使用。FX2N型PLC輸入繼電器采用八進制地址編號,最多可達128點(X0~X177)。3. 輸出繼電器(Y0~Y177)輸出繼電器是PLC用來輸送信號到外部負載的元件,輸出繼電器只能用程序指令驅動,如圖5.1所示。每一個輸出繼電器有一個外部輸出的常開觸點。而內部的軟接點,不管是常開還是常閉,都可以無限次地自由使用,輸出繼電器的地址是八進制,最多可達128點。圖5-5 輸入、輸出繼電器示意圖4. 輔助繼電器(M)PLC內部有很多輔助繼電器,輔助繼電器與輸出繼電器一樣只能用程序指令驅動,外部信號無法驅動它的常開常閉接點,在PLC內部編程時可以無限次地自由使用。但是這些接點不能直接驅動外部負載,外部負載必須由輸出繼電器的外部接點來驅動。在邏輯運算中經常需要一些中間繼電器作為輔助運算用,這些器件往往用作狀態暫存、移位等運算。另外,輔助繼電器還具有一些特殊功能。下面是幾種常見的輔助繼電器。1) 通用輔助繼電器M0~M499(500點)通用輔助繼電器按十進制地址編號(在FX型PLC中除了輸入/輸出繼電器外,其他所有器件都是十進制編號)。2) 斷電保持輔助繼電器M500~M1023(524點)PLC在運行時若發生停電,輸出繼電器和通用輔助繼電器全部成為斷開狀態。上電后,除了PLC運行時被外部輸入信號接通的以外,其它仍斷開。不少控制系統要求保持斷電瞬間狀態。斷電保持輔助繼電器就是用于此場合的,斷電保持是由PLC內裝鋰電池支持的。3) 特殊輔助繼電器M8000~M8255(256點)PLC內有256個特殊輔助繼電器,這些特殊輔助繼電器各自具有特定的功能。通常分為下面兩大類。(1) 只能利用其接點的特殊輔助繼電器。線圈由PLC自動驅動,用戶只可以利用其接點。例如:M8000為運行監控用,PLC運行時M8000接通。M8002為僅在運行開始瞬間接通的初始脈沖特殊輔助繼電器。M8012為產生100 ms時鐘脈沖的特殊輔助繼電器。(2) 可驅動線圈型特殊輔助繼電器。用戶激勵線圈后,PLC作特定動作。例如:M8030為鋰電池電壓指示燈特殊輔助繼電器,當鋰電池電壓跌落時,M8030動作,指示燈亮,提醒PLC維修人員趕快調換鋰電池。M8033為PLC停止時輸出保持輔助繼電器。M8034為禁止全部輸出特殊輔助繼電器。M8039為定時掃描特殊輔助繼電器。需要說明的是,未定義的特殊輔助繼電器可在用戶程序中使用。輔助繼電器的常開常閉接點在PLC內可無限次地使用。5. 狀態器(S)狀態器(S)是構成狀態轉移圖的重要器件,它與后述的步進順控指令配合使用。通常,狀態器軟件有下面五種類型:(1) 初始狀態器S0~S9,共10點。(2) 回零狀態器S10~S19,共10點。(3) 通用狀態器S20~S499,共480點。(4) 保持狀態器S500~S899,共400點。(5) 報警用狀態器S900~S999,共100點。這100個狀態器器件可用作外部故障診斷輸出。S0~S499沒有斷電保持功能,但是用程序可以將它們設定為有斷點保持功能的狀態。狀態器的常開常閉接點在PLC內可以使用,且使用次數不限。不用步進順控指令時,狀態器S可以作輔助繼電器M在程序中使用。此外,每一個狀態繼電器還提供一個步進觸點,稱為STL觸點,用符號—[ ]—表示,在步進控制的梯形圖中使用。6. 定時器(T)PC中定時器T相當于繼電器控制系統中的延時繼電器,它可提供無限對常開延時觸點、常閉延時觸點供編程使用。定時器元件號按十進制編號,設定時間由編程時設定系數K決定。T0~T199為0.1 s定時器,設定值范圍為0.1~3276.7 s,最小單位為0.1 s。T200~T245為0.01 s定時器,設定值范圍為0.01~327.67 s。除此之外,還有積算型定時器等。7. 計數器(C)計數器元件號按十進制編號,計數器計數次數由編程時設定的系數K決定。它可提供無限對常開觸點、常閉觸點供編程使用。C0~C99為通用加計數器,計數范圍為1~32 767。C100~C199為停電保持加計數器,計數范圍為1~32 767。除此之外,還有可逆、加、減計數器等。PLC的基本指令編程法PLC是一套專用的微型計算機的控制系統, 該系統具有繼電器、 定時器、 計數器或其他內部電子器件的功能, 低端用戶不需要學習高級的計算機語言, 只要采用簡單的類似于繼電器電路的梯形圖語言就可以編制控制程序, 指令系統容易掌握。 而將編程器或PC機與PLC主機相連, 又可方便地把梯形圖送入PLC內存并進行運行狀態監控, 所以操作使用也十分簡便。PLC在運行狀態, 采用周期循環掃描方式執行用戶程序, 一個用戶程序的掃描周期由三個階段構成:(1) 輸入采樣階段。 本階段檢測每個輸入觸點的狀態(通為“1”, 斷為“0”), 然后順序存入輸入映像寄存器。(2) 程序執行階段。 對用戶梯形圖程序按先左后右、 從上到下的順序, 逐句執行指令, 包括從輸入映像寄存器和各種內部寄存器中讀取狀態和數據, 完成程序要求的運算和把結果寫入有關內部寄存器或輸出繼電器。(3) 輸出刷新階段。 將輸出繼電器狀態輸出至輸出鎖存器, 經隔離、 功放、 輸出端子去驅動負載。程序執行一次的時間稱為掃描周期, 一個掃描周期可以分為上述輸入采樣、 程序執行、 輸出刷新三個階段, 小型PLC的掃描周期在十幾毫秒至幾十毫秒之間。1. 輸入觸點X的編程工業控制系統輸入電路中的選擇開關、 按鈕、 限位開關等在梯形圖中以輸入觸點表示, 在編程時輸入觸點X可由常開 和常閉 兩種指令來編程, 但梯形圖中的常開或常閉指令與外電路中X實際接常開還是常閉觸頭并無對應關系, 無論外電路使用什么樣的按鈕、 旋鈕、 限位開關, 無論使用的是這些開關的常開或常閉點, 當PLC處于RUN方式時, 掃描輸入只遵循如下規則:(1) 梯形圖中的常開觸點 X與外電路中X的通斷邏輯相一致。 如外接線中X5是導通的(無論其外部物理連接是常開點還是常閉點), 程序中的 X5即處理為閉合(ON)。反之, 如外部X5連線斷開, 則程序中的 X5就處理為斷開(OFF)。(2) 梯形圖中的常閉觸點 X與外電路中X的通斷邏輯相反。 如外接線中X5是導通的(無論其外部物理連接是常開點還是常閉點), 程序中的 X5處理為斷開(OFF)。 反之, 如外部X5連線斷開, 則程序中的 X5就處理為閉合(ON)。 梯形圖中幾個觸點串聯表示“與”操作, 幾個觸點并聯表示“或”操作。按上述規則, 將PLC應用于電機的起動停車控制, 外部按圖5-6接線, 則采用圖5-7所示梯形圖即可實現按鈕X0啟動, 輸出Y0得電并自鎖, 按鈕X1停車的控制邏輯。 用一個接觸器KM控制電動機的主電路見第2章。上述兩個按鈕接線時均使用了常開觸點, 如果工程中需連接停車按鈕的常閉觸點, 則圖7所示梯形圖中將常閉X1換成常開X1, 仍能實現控制功能。 甚至可以將啟停兩個按鈕都連接常閉點, 只要相應修改軟件邏輯即可,充分體現了應用PLC控制的方便之處。圖5-6 PLC控制的起動停車電路接線圖圖5-7 起動停車梯形圖2. 輸出繼電器Y和內部繼電器M的編程繼電器具有邏輯線圈及可以多次調用的常開觸點、 常閉觸點。輸出繼電器和普通內部繼電器的簡單程序如圖5-8所示。PC進入RUN方式時,輸出線圈Y0通電, 相應的0#輸出指示燈亮。當接通輸入觸點X10后,內部線圈M100通電,M100的常閉觸點斷開,常開觸點導通, 因此輸出端Y0失電,0#燈熄滅,Y1得電,相應的1#燈亮。掉電保持型繼電器M510的簡單程序如圖5-9所示。圖5-8 繼電器簡單程序圖5-9 掉電保持型繼電器簡單程序初始狀態(PC進入RUN后)輸出線圈Y1和Y7不通電, 1#和7#輸出信號燈不亮。 使輸入端子X11接通一下, 梯形圖中X11的常開點即閉合, 內部線圈M100通電, 常開觸點M100通電閉合, 對線圈M100起自保作用。 另一個閉合的M100觸點則接通輸出線圈Y1, 使1#輸出燈亮。 與上述動作同時, M510起類似M100的作用, 使7#輸出燈亮, 這兩者的差別在于如果將PC置于HALT(暫停)狀態, 仍然再返回RUN方式, 或者使PC斷電后再復電, 那么1#燈不會亮(因為輸入端X11沒有接通), 但7#燈仍然亮, 這就表明了線圈M510的鎖存作用。圖5-10 普通定時器的簡單程序 (a) 定時器梯形圖;(b) 定時器時序圖初始狀態時, 線圈Y0、 T0均不通電, 0#輸出信號燈滅。 X0閉合時, 定時器T0的線圈通電, 并開始記時, K123表示計數值為常數123, 定時時間為100 ms×123=12.3 s。 當T0線圈通電夠12.3 s后, 定時器動作, 其常開觸點T0閉合, 使Y0輸出燈亮, 從定時器開始計時到定時器觸點動作, 其間延遲時間由程序確定。 定時器在計時過程中, 如果線圈失電后再通電時, 定時器相當于自動復位, 重新從預置值開始計時。4. 計數器C的編程以16位向上計數的普通計數器C0為例。 圖5-11(a)為C0定時器的梯形圖, 5-11(b)為執行該程序的時序圖。圖5-11普通計數器的簡單程序 (a) 計數器梯形圖;(b) 計數器時序圖圖5-11中, X001為計數脈沖輸入端子, 計數線圈C0的計數值為常數5; X000為計數復位輸入端子, 當X000為ON時, 計數線圈C0不允許計數且計數值被清零, 只有當X000為OFF時, 計數線圈C0才對X000的輸入脈沖進行加1計數。 在允許計數期間, 如計數線圈C0計數夠5個, 則C0動作, 常開觸點閉合, Y0得電。 C0計滿動作后如出現X000變為ON, 則C0的觸點、 線圈均清零復位。5. 上升或下降沿檢測的編程上升沿或下降沿檢測指令用來將輸入信號的上升或下降沿檢出并通過線圈輸出一個掃描周期的電信號。 圖5-12(a)為上升、 下降沿檢出的梯形圖, 圖5-12(b)為執行該程序的時序圖。圖5-12上升、 下降沿檢出的簡單程序 (a) 梯形圖;(b) 時序圖程序中, X000為外部信號輸入端子, PLS表示取上升沿, X000信號由OFF變ON時, 內部繼電器M0得電一個掃描周期; X001為另一路外部信號輸入端子, PLF表示取下降沿, X001信號由ON變OFF時, 內部繼電器M1得電一個掃描周期; 程序中M0與M1兩個觸點的任務分別是將內部繼電器M50置位與復位; END為程序結束符, 用于所有主程序結束。 FX2N系列PLC的程序指令除了梯形圖格式之外, 還有語句表格式, 除了上述基本指令編程法之外, 還有其他更復雜的指令編程法, 本節僅介紹PLC編程的初步知識。6 基本邏輯指令1. 邏輯取指令LD、LDI及線圈驅動指令OUTLD,取指令,表示讀入一個與母線相連的常開接點指令,即常開接點邏輯運算起始。LDI,取反指令,表示讀入一個與母線相連的常閉接點指令,即常閉接點邏輯運算起始。OUT,線圈驅動指令,也叫輸出指令。圖6-1 LD、LDI、OUT指令的使用說明LD、LDI兩條指令的目標元件是X、Y、M、S、T、C,用于將接點接到母線上。也可以與后述的ANB、ORB指令配合,用于分支起點。OUT是驅動線圈的輸出指令,它的目標元件是Y、M、S、T、C。對輸入繼電器X不能使用。OUT指令可以連續使用多次。對定時器的定時線圈使用OUT指令后,必須設定常數K,圖中K為10,對應的延時時間為1 s。因為T0~T199為0.1 s(100 ms)定時器,設定值范圍為0.1~3276.7 s,定時最小單位為0.1 s,K=10,則對應定時時間為10×0.1 s;如K改為100,則對應定時時間為100×0.1 s。對計數器的計數線圈使用OUT指令后,也必須設定常數K,K表示計數器設定次數。2. 接點串聯指令AND、ANIAND,與指令,用于單個常開接點的串聯。ANI,與非指令,用于單個常閉接點的串聯。AND與ANI都是一個程序步指令,它們串聯接點的個數沒有限制,也就是說,這兩條指令可以多次重復使用。AND、ANI指令的使用說明如圖6-2所示。這兩條指令的目標元件為X、Y、M、S、T、C。圖6-2 AND、ANI指令的使用說明3. 接點并聯指令OR、ORIOR,或指令,用于單個常開接點的并聯。ORI,或非指令,用于單個常閉接點的并聯。OR與ORI指令都是一個程序步指令,它們的目標元件是X、Y、M、S、T、C。對這兩種指令的使用作如下說明:(1) OR、ORI指令用于單個觸點的并聯連接指令。(2) 兩個以上接點串聯連接電路塊并聯連接時,要用后述的ORB指令。OR、ORI是從該指令的當前步開始,對前面的LD、LDI指令并聯連接的。并聯的次數無限制。OR、ORI指令的使用說明如圖6-3所示。圖6-3 OR、ORI指令的使用說明4. 串聯電路塊的并聯連接指令ORB兩個或兩個以上的接點串聯連接的電路叫串聯電路塊。對串聯電路塊并聯連接時,有如下的說明:(1) 分支開始用LD、LDI指令,分支終點用ORB指令。(2) ORB指令為無目標元件指令,為一個程序步;它不表示觸點,可以看成電路塊之間的一段連接線。ORB有時也簡稱或塊指令。ORB指令的使用說明如圖6-4所示。圖6-4 ORB指令的使用說明之一ORB指令的使用方法有兩種:一種是在要并聯的每個串聯電路塊后加ORB指令,詳見圖6-5(b)所示語句表;另一種是集中使用ORB指令,詳見圖6-5(c)所示語句表。對于前者分散使用ORB指令時,并聯電路的個數沒有限制,但對于后者集中使用ORB指令時,這種電路塊并聯的個數不能超過8個(即重復使用LD、LDI指令的次數限制在8次以下)。圖6-5 ORB指令的使用說明之二(a) 梯形圖;(b) 語句表一;(c) 語句表二5. 并聯電路塊的串聯連接指令ANB兩個或兩個以上接點并聯的電路稱為并聯電路塊,分支電路并聯電路塊與前面電路串聯連接時,應使用ANB指令。在使用時應注意:(1) 分支的起點用LD、LDI指令,并聯電路塊結束后,使用ANB指令與前面電路串聯。(2) ANB指令也簡稱與塊指令,ANB也是無操作目標元件,是一個程序步指令。ANB指令的使用說明如圖6-6所示。圖6-6 ANB指令的使用說明(a) 梯形圖;(b) 語句表(3) 當并聯的串聯電路塊大于等于3時,有兩種編程方法。圖6-7是ORB和ANB指令的編程實例。編程時,首先要找出并聯電路塊和串聯電路塊,然后正確使用這兩條指令。圖6-7 ORB、ANB指令的使用說明6. 多重輸出指令MPS、MPD、MPPMPS為進棧指令,MRD為讀棧指令,MPP為出棧指令。PLC中有11個存儲運算中間結果的存儲器,稱之為棧存儲器。進棧MPS指令就是將運算中間結果存入棧存儲器,使用一次MPS指令,該時刻的運算結果就壓入棧存儲器第一級,再使用一次MPS指令時,當時的運算結果壓入棧的第一級,先壓入的數據依次向棧的下一級推移。使用出棧MPP指令就是將存入棧存儲器的各數據依次上移,最上級數據讀出后就從棧內消失。讀棧MRD指令是存入棧存儲器的最上級的最新數據的讀出專用指令,棧內的數據不發生上、下移。這組指令都是沒有數據(操作元件號)的指令,可將觸點先存儲,因此用于多重輸出電路。MPS、MRD、MPP指令的使用說明如圖6-8、圖6-9、圖6-10和圖6-11所示。圖6-9是簡單電路,即一層棧電路。圖6-8 棧存儲器與多重輸出指令(a) 棧存儲器;(b) 多重輸出梯形圖;(c) 語句表圖6-9 一層棧電路圖6-10 二層棧電路圖6-11 四層棧電路MPS、MRD、MPP指令在使用中應注意:(1) MPS、MRD、MPP指令用于多重輸出電路。(2) MPS與MPP必須配對使用。(3) MPS與MPP連續使用必須少于11次。7. 主控及主控復位指令MC、MCRMC為主控指令,用于公共串聯接點的連接。MCR叫主控復位指令,即MC的復位指令。在編程時,經常遇到多個線圈同時受一個或一組接點控制的情況。如果在每個線圈的控制電路中都串入同樣的接點,則將多占用存儲單元,應用主控指令可以解決這一問題。使用主控指令的接點稱為主控接點,它在梯形圖中與一般的接點垂直。它們是與母線相連的常開接點,是控制一組電路的總開關。MC、MCR指令的使用說明如圖6-12所示。MC指令是3程序步,MCR指令是2程序步,兩條指令的操作目標元件是Y、M,但不允許使用特殊輔助繼電器M。當圖6-12中的X0接通時,執行MC與MCR之間的指令;當輸入條件斷開時,不執行MC與MCR之間的指令。非積算定時器和用OUT指令驅動的元件復位,積算定時器、計數器、用SET/RST指令驅動的元件保持當前的狀態。使用MC指令后,母線移到主控接點的后面,與主控接點相連的接點必須用LD或LDI指令。MCR使母線回到原來的位置。在MC指令區內使用MC指令稱為嵌套,嵌套級N的編號(0~7)順次增大,返回時用MCR指令,從大的嵌套級開始解除,見圖6-13。圖6-12 MC、MCR指令的使用說明(a) 梯形圖;(b) 語句表圖6-13 多重嵌套主控指令8. 置位與復位指令SET、RSTSET為置位指令,其功能是使元件置位,并保持直至復位為止。RST為復位指令,使元件復位并保持,直至置位為止。SET、RST指令的使用說明如圖6-14所示。由波形圖可見,X0接通后,即使再變成斷開,Y0也保持接通。X1接通后,即使再變成斷開,Y0也將保持斷開。SET指令的操作目標元件為Y、M、S。而RST指令的操作元件為Y、M、S、D、V、Z、T、C。對同一編程元件,如例中Y0、M0、S0等,SET、RST指令可以多次使用,且不限制使用順序,以最后執行者有效。圖6-14 SET、RST指令的使用說明RST指令可以對定時器、計數器、數據寄存器、變址寄存器的內容清零,還可用來復位積算定時器T246~T255和計數器。現舉一個RST復位指令用于計算器、定時器的例子,如圖6-15所示。當X0接通時,輸出接點T246復位,定時器的當前值也成為0。輸入X1接通期間,T246接收1 ms時鐘脈沖并計數,計到1234時Y0就動作。32位計數器C200根據M8200的開、關狀態進行遞加或遞減計數,它對X4接點的開關數計數。輸出接點的置位或復位取決于計數方向及是否達到D1、D0中所存的設定值。輸入X3接通后,輸出接點復位,計數器C200當前值清零。圖6-15 RST指令用于T、C的使用說明(a) 梯形圖;(b) 語句表9. 脈沖輸出指令PLS、PLFPLS指令在輸入信號上升沿產生脈沖輸出,而PLF在輸入信號下降沿產生脈沖輸出,這兩條指令都是2程序步,它們的目標元件是Y和M,但特殊輔助繼電器不能作目標元件。PLS、PLF指令的使用說明如圖6-16所示。使用PLS指令,元件Y、M僅在驅動輸入接通后的一個掃描周期內動作(置1),即PLS指令使M0產生一個掃描周期脈沖,而使用PLF指令,元件Y、M僅在驅動輸入斷開后的一個掃描周期內動作;PLF指令使元件M1產生一個掃描周期脈沖。圖6-16 PLS、PLF指令的使用說明(a) 梯形圖;(b) 語句表;(c) 時序圖10. 空操作指令NOPNOP指令是一條無動作、無目標的程序步指令。可編程序控制器的編程器一般都有指令的插入和刪除功能,在程序中一般很少使用NOP指令。執行完清除用戶存儲器的操作后,用戶存儲器的內容全部變為空操作指令。11. 程序結束指令ENDEND是一條無目標元件的程序步指令。PLC反復進行輸入處理、程序運算、輸出處理,若在程序最后寫入END指令,則END以后的程序不再執行,直接進行輸出處理。在程序調試過程中,按段插入END指令,可以順序擴大對各程序段動作的檢查。采用END指令將程序劃分為若干段,在確認處于前面電路塊的動作正確無誤之后,依次刪去END指令。要注意的是,在執行END指令時,也刷新監視時鐘。梯形圖編程注意事項1. 水平不垂直梯形圖的接點應畫在水平線上,不能畫在垂直分支上,如圖6-17所示,圖(a)中觸點3被畫在垂直線上,就很難正確識別它與其他觸點的關系,及對輸出線圈的控制方向。因此,根據自上而下、自左至右的原則,應將圖(a)改畫成圖(b)的形式。圖6-17 梯形圖畫法之一(a) 不正確;(b) 正確2. 多上串右有串聯電路相并聯時,應將接點最多的那個串聯回路放在梯形圖最上面。有并聯電路相串聯時,應將接點最多的并聯回路放在梯形圖的最左邊。這種安排程序簡潔、語句也少,如圖6-18所示。圖6-18 梯形圖畫法之二(a) 串聯多的電路盡量放上部;(b) 并聯多的電路盡量靠近母線3. 線圖右邊無接點不能將接點畫在線圈右邊,只能在接點的右邊接線圈,如圖6-19所示。圖6-19 梯形圖畫法之三(a) 不正確;(b) 正確4. 雙線圈輸出不可用如果在同一程序中一元件的線圈使用兩次或多次,則稱為雙線圈輸出。這時前面的輸出無效,只有最后一次才有效,如圖6-20所示。一般不應出現雙線圈輸出。圖6-20 雙線圈輸出1. 電動機的Y-△起動電路將電動機三相繞組接成星形起動時, 起動電流是直接起動的1/3, 在達到規定轉速后, 再切換為三角形運轉。 這種減小電流的起動方法適合于容量大、 起動時間長的電動機, 或者是因容量限制, 避免起動時造成電源電壓下降的電動機使用。 圖6-21(a)為電動機主電路, 接觸器KM1、 KM2同時接通時, 電動機工作在星形起動狀態; 而當接觸器KM2、 KM3同時接通時, 電動機就轉入三角形接法正常工作狀態。基本邏輯指令的應用和編程實例圖6-21 (b)是PLC的輸入、 輸出外接電路, 其中X1接起動按鈕, X2為停止按鈕, HL為電動機運行狀態指示燈。 此外, 在輸出回路中KM1、 KM3利用輔助觸點實現互鎖。電動機的Y-△起動電路梯形圖如圖6-22(a)所示。 定時器T1確定起動時間, 其預置值(TS)應與電機相配。 當電動機繞組由星形切換到三角形時, 在繼電器控制電路中利用常閉點斷開在先而常開點的閉合在后這種機械動作的延時, 保證KM1完全斷開后, KM3再接通, 從而達到防止短路的目的。 但PLC內部切換時間很短, 為了達到上述效果, 必須使KM1斷開和KM3接通之間有一個鎖定時間TA, 這是靠定時器T2來實現的。 圖6-22(b)為工作時序圖。圖6-21 電動機Y-△起動電路 (a) 主電路; (b) 控制電路圖6-22 Y-△起動梯形圖和時序圖 (a) 梯形圖; (b) 時序圖2. 電動機的正反轉控制異步電動機由正轉到反轉, 或由反轉到正轉切換時, 使用兩個接觸器KM1、 KM2去切換三相電源中的任何兩相即可, 在設計控制電路時, 必須防止由于電源換相引起的短路事故。 例如, 由正向運轉切換到反向運轉, 當發出使KM1斷電的指令時, 斷開的主回路觸點由于短時間內產生電弧, 這個觸點仍處于接通狀態, 如果這時立即使KM2通電, KM2觸點閉合, 就會造成電源故障, 必須在完全沒有電弧時再使KM2接通。與機械動作的繼電器控制電路不同, 在其內部處理中, 觸點的切換幾乎沒有時間延時, 因此必須采用防止電源短路的方法, 例如使用定時器來設計切換的時間滯后。 圖6-23(a)為PLC控制的電動機可逆運行外部電路接線圖, (b)為相應的梯形圖。 X1、 X2接正、 反轉控制按鈕, 是常開型; X3接停止按鈕, 是常閉型。 梯形圖中M101、 M102為內部繼電器; T1、 T2為定時器, 分別設置對正轉指令和反轉指令的延遲時間。圖6-23 電動機正反轉接線圖與梯形圖 (a) 接線圖; (b) 梯形圖3. 加熱反應爐自動控制系統圖6-24為加熱反應爐結構示意圖。加熱反應的工藝過程分為以下三個階段。第一階段為進料控制, 其過程如下:(1) 檢測下液面(X1)、 爐溫(X2)、 爐內壓力(X4)是否都小于給定值(均為邏輯0), 即PLC輸入點X1、 X2、 X4是否都處于斷開狀態。(2) 若是, 則開啟排氣閥Y1和進料閥Y2。(3) 當液面上升到位使X3閉合時, 關閉排氣閥Y1和進料閥Y2。(4) 延時20 s, 開啟氮氣閥Y3, 使氮氣進入爐內, 提高爐內壓力。(5) 當壓力上升到給定值時(X4=1), 關斷氮氣閥Y3, 進料過程結束。第二階段為加熱反應控制, 其過程如下:(1) 此時溫度肯定低于要求值(X2=0), 應接通加熱爐電源Y5。(2) 當溫度達到要求值(X2=1)后, 切斷加熱電源。(3) 加溫到要求值后, 維持保溫10 min, 在此時間內爐溫實現通斷控制, 保持X2=1。第三階段為泄放控制, 其過程如下:(1) 保溫夠10 min時, 打開排氣閥Y2, 使爐內壓力逐漸降到起始值(X4=0)。(2) 維持排氣閥打開, 并打開泄放閥Y4, 當爐內液面下降到下液面以下時(X1=0), 關閉泄放閥Y4和排氣閥Y2, 系統恢復到原始狀態, 重新進入下一循環。根據上述工藝規律設計PLC梯形圖, 如圖6-25所示。圖6-24 加熱反應爐結構圖圖6-25 反應爐控制梯形圖對于復雜的控制電路或大型的自動生產線,應用梯形圖或指令表編程,程序過長,不易閱讀和編寫。一些PLC生產廠家近年來增加了IEC標準的SFC (Sequential Function Chart ) 語言編制控制程序的方法,稱為步進順序控制。利用增加的兩條步進順控指令和狀態轉移圖方式編程,可以較簡單地實現較復雜的步進順序控制。 7 步進順控指令7.1步進順控的基本指令符號名稱功能操作元件STL步進順控使狀態元件S置位,步進開始;驅動S狀態元件S 說明:步進STL觸點只有常開觸點,當轉移條件滿足時,其狀態置位,STL觸點閉合,驅動負載;當狀態轉移時,STL指令斷開,使與該指令有關的其他指令都不能執行。(1)STL指令(2)RET指令符號名稱功能操作元件RET返回該步進控制結束,返回無7.2 狀態元件和狀態轉移圖FX系列PLC的狀態元件一般有近百到幾百點,其中FX2N系列PLC的狀態元件(S0~S899)共900點,用來作初始化用的狀態元件有10點(S0~S9)。初始化狀態元件一般用PLC運行后的初始化脈沖特殊繼電器M8002置位或由其他初始信號將其初始值置位。其他元件狀態由狀態轉移條件決定。當狀態轉移條件滿足時,狀態開始從初始化狀態轉移,轉移后的狀態被置位,而轉移源的狀態自動復位。這種狀態的轉移用狀態轉移圖來描述。 狀態轉移圖又稱為順序功能圖或狀態流程圖,它是用來表示步進順控系統的控制過程、功能和特性的一種圖形。 1簡單流程的狀態轉移圖圖7-1為某一簡單流程的狀態轉移圖。其中,用雙線框表示初始狀態,其他狀態元件用單線框表示,方框之間的線段表示狀態轉移的方向,一般由上至下或由左至右,線段間的短橫線表示轉移的條件,與方框連接的橫線和線圈表示狀態驅動的負載。圖7-1中的初始狀態S0由M8002驅動,當PLC由STOP→RUN切換時,初始化脈沖使S0置1,當按下啟動按鈕X0時,狀態轉移到S20,S20置1,同時S0復位至零,S20立即驅動Y1,當轉移條件X1接通時,狀態從S20轉移到S21,使S21置1,而S20則在下一執行周期自動復位至零,Y1線圈也就斷電了。當S21置1時,驅動線圈Y2。同理,當X2接通,狀態轉移到S22,驅動Y3;當X3接通,狀態轉移到S23,驅動Y4。當X4接通,狀態轉移回到S0,使初始化狀態S0又置位,控制過程循環動作。將狀態轉移圖和步進順序控制指令相結合,形成步進順控圖,進而再寫成指令表(如圖7-2所示)。圖7-1 簡單流程的狀態轉移圖圖7-2 圖7-1的梯形圖和指令表2 選擇性分支的狀態轉移圖選擇性分支流程的各分支狀態的轉移是由各自的條件選擇執行,兩個或兩個以上的分支的狀態不能同時轉移。圖7-3所示為選擇性分支的狀態轉移圖,圖7-4為其步進順控圖和相應的指令表。圖7-3 選擇性分支的狀態轉移圖圖7-4 圖7-3的梯形圖和指令表3 并行性分支的狀態轉移圖并行分支的狀態轉移是當同一條件滿足時,狀態同時向各并行分支轉移。圖7-5為并行性分支的狀態轉移圖,圖7-6為其步進順控圖和相應的指令表。圖7-5 并行性分支的狀態轉移圖 圖7-6 圖7-5的梯形圖和指令表7.3 分支和匯合的編程方法有些步進順控有多層分支和匯合組合,對于FX2N系列的PLC,其分支數有一定的限制。對所有的初始狀態(S0~S9),每一狀態下的分支電路不能大于16個,并且在每一分支點分支數不能大于8個。對于多層分支和匯合要注意編程方法 。圖7-7 步進順控的分支和匯合組合圖7-8 選擇和并行分支的編程7.4 步進順控的應用和編程實例1使用PLC完成自動臺車的控制的例子。如圖7-9所示,某生產過程的控制工藝要求如下:(1) 按下啟動按鈕SB,臺車電機M正轉,臺車前進,碰到限位開關SQ1后,臺車電機M反轉,臺車后退。(2) 臺車后退碰到限位開關SQ2后,臺車電機M停轉,臺車停車,停5 s,第二次前進,碰到限位開關SQ3,再次后退。(3) 當后退再次碰到限位開關SQ2時,臺車停止(或者繼續下一個循環)。圖7-9 臺車自動往返系統工況示意圖為編程的需要,不妨設置輸入、輸出端口配置如下表所示。編程步驟如下:流程圖是描述控制系統的控制過程、功能和特性的一種圖形,流程圖又叫功能表圖(Function Chart)。流程圖主要由步、轉移(換)、轉移(換)條件、線段和動作(命令)組成。圖7-10是該臺車的流程圖。該臺車的每次循環工作過程分為前進、后退、延時、前進、后退五個工步。每一步用一個矩形方框表示,方框中用文字表示該步的動作內容或用數字表示該步的的標號。與控制過程的初始狀態相對應的步稱為初始步。初始步表示操作的開始。每步所驅動的負載(線圈)用線段與方框連接。 方框之間用線段連接,表示工作轉移的方向,習慣的方向是從上至下或從左至右,必要時也可以選用其它方向。線段上的短線表示工作轉移條件,圖中狀態轉移條件為SB、SQ1。方框與負載連接的線段上的短線表示驅動負載的聯鎖條件,當聯鎖條件得到滿足時才能驅動負載。轉移條件和聯鎖條件可以用文字或邏輯符號標注在短線旁邊。圖7-10 臺車自動往返系統狀態轉移流程圖步進指令的應用舉例1 交通信號燈控制控制要求信號燈的動作受開關總體控制,按一下啟動按鈕,信號燈系統開始工作,并周而復始地循環動作;按一下停止按鈕,所有信號燈都熄滅。信號燈控制的具體要求如下表所示。系統配置根據信號控制要求,I/O分配及其接線如圖7-11所示。圖中用一個輸出點驅動兩個信號燈,如果PLC輸出點的輸出電流不夠,可以用一個輸出點驅動一個信號燈,也可以在PLC輸出端增設中間繼電器,由中間繼器再去驅動信號燈。圖7-11 PLC I/O接線圖圖7-12 交通信號燈控制的時序圖時序圖十字路口交通信號燈控制的時序圖如圖7-12所示。程序設計1) 按單流程編程如果把東西方向和南北方向信號燈的動作視為一個順序動作過程,其中每一個時序同時有兩個輸出,一個輸出控制東西方向的信號燈,另一個輸出控制南北方向的信號燈,這樣就可以按單流程進行編程,其狀態轉移圖如圖7-13所示,對應的步進梯形圖如圖7-14所示。按下啟動按鈕SB1,X0接通,S0置位,轉入初始狀態,由于Y0、M0條件滿足,狀態使S20置位,轉入第一工步,同時T0開始計時,經25 s后,S21置位,S20復位,轉入第二工步……當狀態轉移到S25時,程序又重新從第一工步開始循環。圖7-13 按單流程編程的狀態轉移圖圖7-14 按單流程編程的步進梯形圖按停止按鈕SB3,X2接通,M0使接通并自保,斷開S0后的循環流程,當程序執行完后面的流程后停止在初始狀態,即南北紅燈亮,禁止通行;東西綠燈亮,允許通行。T6、T7組成的是0.5 s的振蕩電路,該電路的作用是控制綠燈閃爍,其中T1和T4是控制閃爍的時間。2) 按雙流程編程東西方向和南北方向信號燈的動作過程也可以看成是兩個獨立的順序動作過程。其狀態轉移圖如圖7-15所示。它具有兩條狀態轉移支路,其結構為并聯分支與匯合。按啟動按鈕SB1,信號系統開始運行,并反復循環。圖7-15 按雙流程編程的狀態轉移圖2 物料自動混合控制控制要求1) 初始狀態容器是空的,電磁閥F1、F2、F3和F4,攪拌電動機M,液面傳感器L1、L2和L3,加熱器H和溫度傳感器T均為OFF。2) 物料自動混合控制物料自動混合裝置如圖7-16所示。按下啟動按鈕,開始下列操作:(1) 電磁閥F1開啟,開始注入物料A,至高度L2(此時L2、L3 為ON)時,關閉閥F1,同時開啟電磁閥F2,注入物料B,當液面上升至L1時,關閉閥F2。(2) 停止物料B注入后,啟動攪拌電動機M,使A、B兩種物料混合10 s。(3) 10 s后停止攪拌,開啟電磁閥F4,放出混合物料,當液面高度降至L3后,再經5 s關閉閥F4。3) 停止操作按下停止按鈕,在當前過程完成以后,再停止操作,回到初始狀態。圖7-16 物料自動混合裝置圖7-17 PLC I/O配置及接線圖用步進指令編程物料自動混合過程,實際上是一個按一定順序操作的控制過程。因此,也可以用步進指令編程,其狀態轉移圖如圖7-18所示。圖7-18 物料自動混合控制的狀態轉移圖3 大、小球分檢控制圖7-19 大、小球分類選擇傳送裝置示意圖其動作順序如下:左上為原點,機械臂下降(當磁鐵壓著的是大球時,限位開關SQ2斷開,而壓著的是小球時SQ2接通,以此可判斷是大球還是小球)→大球SQ2斷開 →將球吸住 →上升SQ3動作 →右行到SQ5動作→ 小球SQ2接通→將球吸住→上升SQ3動作→右行到SQ4動作→下降SQ2動作→釋放→上升SQ3動作→左移SQ1動作到原點。左移、右移分別由Y4、Y3控制,上升、下降分別由Y2、Y0控制,將球吸住由Y1控制。根據工藝要求,該控制流程可根據SQ2的狀態(即對應大、小球)有兩個分支,此處應為分支點,且屬于選擇性分支。分支在機械臂下降之后根據SQ2的通斷,分別將球吸住、上升、右行到SQ4或SQ5處下降,此處應為匯合點,然后再釋放、上升、左移到原點。其狀態轉移圖如圖7-20所示。圖7-20 大、小球分類選擇傳送狀態轉移圖根據選擇性分支匯合的編程方法,編制的大、小球分類程序如下:LD M8002SET S0STL S0OUT Y5LD X0AND X1AND X3SET S21STL S210UT Y0OUT T0K20LD T0AND X2SET S22LD T0ANI X2SET S25STL S22SET Y1OUT T1K10LD T1SET S23STL S23OUT Y2LD X3SET S24STL S24LDI X4OUT Y3STL S25SET Y1OUT T1K10LD T1SET S26STL S26OUT Y2LD X3SET S27STL S27LDI X5OUT Y3STL S24LD X4SET S28STL S27LD X5SET S28STL S28OUT Y0LD X2SET S29STL S29RST Y1OUT T2LDI X5OUT Y3STL S24LD X4SET S28STL S27LD X5SET S28STL S28OUT Y0LD X2SET S29STL S29RST Y1OUT T2K10LD T2SET S30STL S30OUT Y2LD X3SET S31STL S31LDI X1OUT X4LD X1OUT S20RETEND8 可編程控制器的功能指令從20世紀80年代開始,PLC制造商就逐步地在小型PLC中加入一些功能指令 (Functional Instruction)或稱為應用指令(Applied Instruction)。這些功能指令實際上就是一個個功能不同的子程序。隨著芯片技術的進步,小型PLC的運算速度、存儲量不斷增加,其功能指令的功能也越來越強。許多技術人員夢寐以求甚至以前不敢想象的功能,通過功能指令就極易實現,從而大大提高了PLC的實用價值。一般來說功能指令可以分為程序流控制、傳送與比較、算術與邏輯運算、移位與循環移位、數據處理、高速處理、方便命令、外部輸入輸出處理、外部設備通信、實數處理、點位控制和實時時鐘等12類。本章以日本三菱FX2N系列的PLC為主介紹一些應用廣泛的功能指令。功能指令采用計算機通用的助記符+操作數 (元件) 方式,稍有計算機及PLC知識的人極易明白其功能。8.2 功能指令的基本概念1 功能指令的表現形式功能指令由指令助記符、功能號、操作數等組成,功能指令按功能號(FNC00~FNC250)編排。每條功能指令都有一助記符。在簡易編程器中輸入功能指令時是以功能號輸入功能指令,在編程軟件中是以指令助記符輸入功能指令。功能指令的一般形式如下所示。2 助記符和功能號如上所示助記符MEAN(求平均值)的功能號為FNC45。每一助記符表示一種功能指令,每一指令都有對應的功能號。3操作元件(或稱操作數)助記符表示一種功能指令,有些功能指令只須助記符,但大多數功能指令在助記符之后還必須有1—4個操作元件。它的組成部份有:①源操作元件 [S·] ,有時源不止一個,例如有 [S1·] 、 [S2·]。S后面[·] 的,表示可使用變址功能。②目標操作元件[D·],如果不止一個目標操作元件時,用[D1]、[D2]表示。③K、H為常數。K表示十進制數,H表示十六進制數。④功能助記符后有符號(P)的,表示具有脈沖執行功能。⑤功能指令中有符號(D)的,表示處理32位數據,而不標(D)的,只處理16位數據。4位軟元件和字軟元件只處理ON/OFF狀態的元件,稱為位軟元件,如X、Y、M、S等。其它處理數字數據的元件,例如T、C、D、V、Z等,稱為字軟元件。但位軟元件由Kn加首元件號的組合,也可以處理數字數據,組成字軟元件。位軟元件以4位為一組組合成單元。K1~K4為16位運算,K1~K8為32位運算。例如K1X0,表示X3~X0的4位數據,X0為最低位;K4M10表示M25~M10的16位數據,M10為最低位;K8M100表示M131-M100組成的32位數據,M100為最低位。 不同長度的字軟元件之間的數據傳送,由于數據長度的不同,在傳送時,應按如下進行處理。①長→短的傳送:長數據的高位保持不變。②短→長的傳送:長數據的高位全部變零。對于BCD、BIN轉換,算術運算,邏輯運算的數據也以這種方式傳送。5變址寄存器V、Z變址寄存器是在傳送、比較指令中用來修改操作對象元件號的,其操作方式與普通數據寄存器一樣。V和Z是16位數據寄存器。將V和Z的組合可進行32位的運算,此時,V作為高位數據處理。變址寄存器用于改變軟元件地址號。例如下列的Z值定為4,則:K2X000Z=K2X004 K1Y000Z=K1Y004K4M10Z=K4M14 K2S5Z=K2S9D5Z=D9 F6Z=T10 C7Z=C11P8Z=P12 K100Z=K104 6整數與實數(1)整數在PLC中整數的表示及運算采用BIN碼格式,可以用16ht或32以t元件來表示整數,其中最高bit為符號bit,0表示正數,1表示負數。負數以補碼方式表示。整數可表示的范圍:16 bit時為-32768~+32767,32 bit位時為-2147483648~+2147483647。除表示范圍受限制外,作科學運算時產生的誤差也較大,所以需要引入實數。 (2) 實數的浮點格式實數必須用32bit來表示,通常用數據寄存器對來存放實數。實數的浮點格式如圖8-1所示。圖8-1 實數的浮點格式示例(3)實數的科學記數格式PLC內實數的處理是采用上述浮點格式的,但浮點格式不便于監視,所以引入實數的科學記數格式。這是一種介于BIN與浮點格式之間的表示方法。用這種方法來表示實數也需占用32bit,即兩個字元件。通常也用數據寄存器對(如D1,D0)來存放科學記數式實數。此時,序號小的數據寄存器(D0)存放尾數,序號大的數據寄存器存放以10為底的指數。科學格式實數=尾數×10指數 (上例中即是D0×10Dl)尾數范圍:±(1000~9999)或0;指數范圍:-41~+35。值得注意的是:尾數應以4位有效數字(不帶小數)表示,例如2.34567×105應表示為2345×102,在上例中即(D0)=2345,(D1)=2。8.3 程序流控制指令程序流控制指令(FNC00~FNC09)包括程序的條件跳轉、中斷、調用子程序、循環等。1條件跳轉(FNC00)(1)指令CJ (FNC00) ,操作元件:指針P0~P63 (P63相當于END指令)(2)格式如圖8-2所示。圖8-2 跳轉指令(3)說明① 當CJ指令的驅動輸入X0為ON時,程序跳轉到指令指定的指針P同一編號的標號處。如果X0為OFF時,則執行緊接指令的程序。② 當X0為ON時,被跳轉命令到標號之間的程序不予執行。在跳轉過程中如果Y、M、S被OUT、SET、RST指令驅動使輸入發生變化,則仍保持跳轉前的狀態。例如,通過X0驅動輸出Y0后發生跳轉,在跳轉過程中即使X0變為OFF,但輸出Y0仍有效。③對于T、C,如果跳轉時定時器或計數器正發生動作,則此時立即中斷計數或定時,直到跳轉結束后繼續進行定時或計數。但是,正在動作的T63或高速計數器,不管有無跳轉,仍舊連續工作。④功能指令在跳轉時不執行,但PLSY、PWM指令除外。2調用子程序(1)指令調用子程序 CALL(FNC01),操作元件:指針P0~P63子程序返回 SRET(FNC02),操作元件:無(2)格式如圖8-3表示。圖8-3 調用子程序指令(3)說明①把一些常用的或多次使用的程序以子程序寫出。當X0為ON時,CALL指令使主程序跳到標號P處執行子程序。子程序結束,執行SRET指令后返回主程序。 ②子程序應寫在主程序結束指令FEND之后。③調用子程序可嵌套,嵌套最多可達5級。④ CALL的操作數與CJ的操作數不能用同一標號,但不同嵌套的CALL指令可調用同一標號的子程序。⑤在子程序中使用的定時器范圍規定為T192~T199和T246~T249。 圖8-4 中斷指令3中斷(1)指令中斷返回 IRET(FNC03),操作元件:無。允許中斷 EI(FNC04),操作元件:無。禁止中斷 DI(FNC05),操作元件:無。(2)格式如圖8-4所示。(3)說明① 中斷用指針分為輸入中斷、定時中斷和高速計數器中斷三種,具體規定如下所示。②在主程序執行過程中,X000由OFF→ON時,則程序跳轉到1001標志的子程序處,當子程序執行到IRET時就返回到原來的主程序。③如果有多個依次發出的中斷信號,則優先級按發生的先后為序,發生越早則優先級越高,若同時發生多個中斷信號時,則中斷標號小的優先級高。④中斷程序在執行過程中,不響應其他的中斷(其他中斷為等待狀態)。不能重復使用與高速計數器相關的輸入,不能重復使用1000與1001相同的輸入。⑤ 可編程控制器平時處于禁止中斷狀態。如果EI-DI指令在掃描過程中有中斷輸入時,則執行中斷程序(從中斷標號到IRET之間的程序)。⑥ 即使在允許中斷范圍內,如果特殊輔助繼電器M805△(△=0~3)被驅動,則I△0□的中斷不執行。如圖8-4(b)所示,如果X010為ON時,則禁止1001或1000的中斷。即雖存在中斷請求,中斷也不被接受。⑦當DI~EI指令問(中斷禁止區間)發生中斷請求時,則存貯這個請求信號,然后在EI指令執行完后才被執行。如果中斷禁止區間較大,則等待中斷響應的時間也較長。4主程序結束(1) 指令FEND(FNC06),操作元件,無。(2) 格式如圖8-5所示。圖8-5(3) 說明①FEND指令表示一個主程序的結束,執行這條指令與執行END指令一樣,即執行輸人、輸出處理或警告定時器刷新后,程序送回到0步程序。② 使用多條FEND指令時,中斷程序應寫在最后的FEND指令與END指令之間。子程序應寫在FEND之后,而且必須以SRET結束。③如果在FOR指令執行后,在NEXT指令執行前執行FEND指令時,程序將會出錯。5 警戒時鐘(1)指令WDT(FNC07),操作數:無。(2)格式如圖8-6所示。圖8-6 警戒時鐘3說明①WDT指令是在控制程序中刷新警戒定時器的指令,如果執行程序的掃描周期時間(從0步到END或FEND指令之間)200ms,則PLC將停止運行。這時應將WDT指令插到合適的程序步中刷新警戒時鐘,以便程序得以繼續運行直到END。例如將一個掃描周期為240ms的程序分為2個120ms程序。如圖8-6所示,在這兩個程序之間插入WDT指令。②如果希望每次掃描周期時間超過200ms,則可用移動指令MOV把限制值寫入特殊數據寄器D8000中,如圖8-6所示。6 循環(1)指令循環區起點 FOR(FNC08),操作元件循環區終點 NEXT(FNC09),操作元件,無(2)格式如圖8-7所示圖8-7 循環3說明①FOR-NEXT之間的循環可重復執行n次(由源數據指定次數)。但執行完后,程序就轉到緊跟在NEXT指令后的步序。N=1~32767為有效。②如圖8-7例子中,DOZ的數據為5時,每執行一次A的程序,B的程序就執行5次,由于A要執行4次,那么,B的程序總共要執行20次。③在FOR-NEXT指令內最多可嵌套5層其他的FOR-NEXT指令。但下列的任一種情況都會導致出錯:NEXT指令寫在FOR指令之前、缺少NEXT指令、NEXT指令寫在FEND、END指令之后、NEXT指令與FOR指令數目不一致。8.4 傳送及比較指令傳送和比較指令包括數據比較、傳送、交換和變換等。1數據比較(1)指令(D)CMP(FNCl0),操作元件如下: (2)格式如圖8-8所示。圖8-8比較(3)說明①比較指令操作數有兩個源數據,把源數據[S1·]與源數據[S2·]的數據進行比較,其結果送到目標[D·]按比較結果進行操作。按代數規則進行大小比較。②所有的源數據都按二進制數值處理。對于多個比較指令,其目標[D·]也可指定為同一個軟元件,但每執行一次比較指令,[D·]的內容隨發生變化。③一條CMP指令用到三個操作數,如果只有一個或二個操作數,就會出錯,妨礙PLC運行。2 區間比較(1)指令(D)ZCP(FNC11),操作元件與CMP指令相同。(2)格式如圖8-9所示。圖8-9 區間比較(3)說明①區間比較指令是與一個設定值構成的區間大小進行比較的指令。上下二點的比較值與源數據S的內容進行比較,根據在區間內的比較結果,決定M3、M4、M5的狀態。②按代數規則進行大小比較(例如10<2)。③ 源數據[S2·]須大于源數據[Sl·]。例如 [S1·]=K100,[S2·]=K90,則將 [S2·]作為K=100進行操作。④ 區間比較特別適用于用加工誤差或加工缺陷來控制的加工過程。 3傳送(1)指令(D)MOV(FNCl2),操作元件如下: (2)格式(3)說明①傳送指令是將數據按原樣傳送的指令,當X0為ON時,K100數據傳送到D10中果X0為OFF時,則目標元件中的數據保持不變。②傳送時源數據常數K100自動轉換成二進制數。 4批傳送(1)指令BMOV(FNCl5),操作元件如下: (2)格式如圖8-10所示。圖8-10 批傳送(3)說明① 批傳送是將由源指定的幾個數據軟元件中的數據一起傳送到由目標指定的幾個軟元件中(超出軟元件地址號范圍時,只能在允許范圍內傳送)。上例中是將以D5開始的三個源數據送到以D10開始的三個目標元件中去。②若在指定組合的位軟元件之間進行數據傳送,其源與目標應取相同位數。5二進制碼變換成BCD碼(1)指令(D)BCD(FNC18),操作元件如下: (2)格式(3)說明①BCD指令是將源中二進制數(BIN)轉換成目標中的BCD的變換傳送指令。當X0為ON時,D12中數據轉換成BCD碼傳送到K2Y中;當X0為OFF時,目標中的數據不變。②BCD的轉換結果超過0~9999(16位運算),或超過0~999999(32位運算)時則出錯。③在PLC控制中,BIN向BCD變換,常用于向七段碼顯示等外部器件輸出。6 BCD碼變換成二進制碼(1)指令(D)BIN(FNCl9),操作元件與BCD指令相同。(2)格式(3)說明①BIN指令是將源中的BCD碼轉換成目標中的二進制(BIN)的變換傳送指令。當X0為0N時,源K2X0中的BCD碼自動變換成BIN碼,傳送到目標D13中。當X0為OFF時,目標文件中的數據不變。②若源中數據不是BCD碼,則發生運算出錯。③BIN指令可用于將BCD碼數字開關的設定值讀人可編程序控制器中。8.5 四則運算及邏輯運算四則運算包括二進制數的加法、減法、乘法和除法。邏輯運算包括邏輯與、或、異或等。1二進制加法、減法(1)指令加法:(D)ADD(FNC20)減法:(D)SUB(FNC 21),操作元件如下 (2)格式圖8-11 二進制加減法(3)說明①二個源數據的二進制數值相加(相減),其結果送人目標元件中。各數據的高位是符號位,正為0,負為1。這些數據按代數規則進行運算。例如:5+(-8)=-3,5-(-8)=13。②當驅動輸入X000為OFF時,不執行運算,目標元件的內容也保持不變。③如果運算結果為0,零標志M8020置1,如果運算結果超過32767(16位運算)或2147483647(32位運算),則進位標志M8022置1。如果運算結果小于-32767(16位運算)或-2147483647(32位運算),則借位標志M8021置1。2二進制乘除法(1)指令乘法:(D)MUL(FNC22)除法:(D)DIV(FNC23),操作元件如下: (2)格式圖8-12 二進制乘除法(3)說明①對乘法,二源的乘積以32位形式送到指定目標中。低16位在指定目標元件(D4)中,高16位在下一個元件(D5)中。在上例中,如D0=8,D2=9,則其乘積送到(D5,D4)=72,最高位為符號位(0為正,1為負),V不用于目標元件。只有Z允許作16位運算。②16位運算的結果變為32位,32位運算的結果變為64位。如果位組合指定元件為目標元件,超過32位的數據就會丟失。③如果驅動輸入X0為OFF,不執行運算,目標元件中的數據不變。④對除法,[S1]指定為被除數,[S2]指定為除數,商存于[D]中、余數存于緊靠[D]的下一個編號的軟元件中。V和Z不可用于[D]中。⑤若位組合指定元件為[D],則余數就會丟失。除數為零時,則運算出錯,且不執行運算。3二進制加1和減1(1)指令(D)INC(FNC24)(D)DEC(FNC25),操作元件如下: (2)格式如圖8-13所示。(3)說明①當每次K0為ON時,則目標D10、D11的數值就加1或減1。②當連續執行這種指令時,每個運算周期都要加1或減1。③當運算結果超出高低限時,對16位運算,有+32767+1→-32678及-32767-1→+32678的標志位狀態不變;對32位運算,有+2147483647+1→-2147483648及-2147483647-1→+2147483648的標志位狀態不變。4邏輯與、或、異或(1)指令與:AND(FNC26)或:OR(FNC27)異或:XOR(FNC28),操作元件如下: (2)格式 圖8-14與、或、異或(3)說明①16位運算時,指令為WAND、WOR、WXOR。32位運算時,指令為(D)AND、(D)OR、(D)XOR。②當X0為ON時,進行各對應的邏輯運算,把結果存于目標[D]中。當X0為OFF時,不執行運算,[D]的內容保持不變。 8.6 移位、復位及數據處理指令本節內容包括左移位、右移位、批復位、解碼、編碼及高速處理等指令。1移位(1)指令右移位:SFTR(FNC34)左移位:SFTL(FNC35),操作元件如下: (2)格式如圖8-15所示。(3)說明①右移位、左移位操作數有源元件、目標元件以及n1、n2兩常數,n1為指定位元件長度,n2為移位的位數,且n2≤n1≤512。移位的概念是使位元件中的狀態向右/向左移動。②在右移位(SFTR)中,X3~X0為4位的移位元件,M15~MO為位元件長度。當一次移位有效,X3~X0→+M15~M12,M15~M12→M11~M8,M11~M8→M7~M4,M7~M4→M3~MO,M3~MO溢出。第二次移位有效,X3~x0→M11~M8,M11~M8→M7~M4,M7~M4溢出。其余類推。③使用脈沖指令時,在執行條件的上升沿時執行。用連續指令時,當執行條件ON,則每個掃描周期執行一次。2成批復位(1)指令ZRST (FNC40),操作元件如下 (2)格式圖8-16 成批復位(3)說明 ① [D1·]和[D2·]應為同類軟元件,且[D1·]編號必須小于D2·]編號。如果[D1·]編號大于[D2·]編號時,則只有[D1·]指定的軟元件被復位。②本指令為處理16位指令。[D1·]、[D2·]也可指為32位高速計數器。但[D1·]和[D2·]不能一個為16位,另一個為32位。3解碼 (1)指令 DECO(FNC41),操作元件如下: (2)格式如圖8-17所示。圖8-17 解碼(3)說明①解碼的意義是源元件被解碼,送到目標元件中。②對位軟元件解碼(圖a)情況,源的位數由常數K(n=3)決定,為X2、X1、X0三位。目標元件的點數也由K決定(23=8點,從M17~M10),如果X0為1,X1為1,X2為0,則源元件的數值為21+20=2+1=3,取選中目標元件中從M10后起的第三位M13置1。若源全部為0,則M10置1。當n=8時,目標點數最大為28=256點。③對字軟元件解碼情況,如圖(b),n=3,源元件取3位。其值為21+20=2+1=3,選中目標元件第3位,置1。④當驅動輸入為OFF時不執行本指令,目標元件中數據保持不變。 4編碼(1)指令ENCO(FNC42),操作元件如下 (2)格式如圖8-18所示(3)說明①對位軟元件的解碼情況,對源元件以M10開始,n=3(23=8)的點數中,如M13為1,即第3位置1,編碼結果由3=21+20=2+1送到D10中,編碼的目標元件為16位,故只有b0置1,b1置l,b2置0(3位),其余均為零。②對字軟元件解碼,源和目標元件均為16位。當n=3時,源元件有23=8點,其余無效。第3位為1,故目標元件由于20+21=1+2二3,故目標元件中b0置1,b1置1、b2置0。當指定源中為1的位不止一處,則只有最高的位的1才有效。若指定源中所有位均為0,則出錯。③當執行條件(X5)為OFF時,則不執行本指令,編碼輸出也不變。5輸入/輸出刷新(1) 指令REF (FNC 50),操作元件:[D·]:X000、X010、X020…Y000、Y010、Y020…(最低位為0的X、Y元件)n: K或H的參數,K8、K16…K128(8的倍數)(2)格式如圖8-19所示。(3)說明① 輸入輸出批刷新方式為在執行第0步運算前,輸入端子的信息存人輸入映象存貯區中,并在執行END指令時,通過鎖存存貯器從輸出映象存儲區送到輸出端口。該輸入輸出刷新指令可用于在運算過程中需要讀取最新的輸人信息或者直接輸出運算結果。②當執行輸人刷新時,n=8,從X0~X7共8點被刷新。當X0~X7為ON時,輸入映象存貯區也相應為ON。執行本指令約需10ms (即輸入濾波器響應時間)。③當執行輸出刷新時,如圖8-19所示,n=16,對Y0~Y7、T10~T17、共16點輸出刷新。執行本指令時,與輸出Y0~Y17對應的輸出鎖存器狀態立即輸出到輸出端子,在輸出響應延遲時間后輸出觸點動作。 ④輸入輸出刷新被指定的元件號必須是10的倍數,如X0、X10,…,Y0,Y10,…等。被刷新點數必須是8的倍數。⑤輸入端子的輸入濾波器響應時間可調整,其值為0~15ms。6高速計數器置位、復位(1)指令置位:HSCS(FNC53)復位:HSCR(FNC54),操作元件如下 (2)格式如圖8-20所示 圖8-20 高速計數器的置位和復位(3)說明①關于高速計數器前面已介紹過高速計數器,高速計數器有單相單輸入、單相雙輸人以及雙相輸入三種輸人類型。按各種輸入類型計數器地址號,必須要有與其相應的復位輸入端子號與啟動輸入端子號。U/D:增/減計數輸入 (單相單輸入)U: 增計數輸入 (單相雙輸入)D: 減計數輸入 (單相雙輸入)A: A相輸入 (雙相輸入)B: B相輸入 (雙相輸人)R: 復位輸入S: 啟動輸入單相單輸入計數器的計數方向由M8235~M8244ON(減)/OFF(加)的狀態決定。至于雙相輸入計數器的計數方向為:當A相輸入為ON時,B相輸入由OFF→ON為增計數;由ON→OFF為減法計數。當A相輸人為OFF時,不計數。雖然高速計數器的計數輸入、復位輸入和啟動輸入不需要程序,但是必須要用M8000來驅動高速計數器的線圈。②圖8-20中,C254的計數輸入是X000(A相),X001(B相),復位輸入是X002,啟動輸入是X003。③C254的置位:執行HSCS指令,一旦C254的當前值從99變為100或從101變為100時,則Y000立即被置位,且向外部輸出。④C254復位:執行HSCR指令,一旦C254的當前值從199變為200,或從210變為200時,則Y000立即被復位,且外部輸出也復位。⑤目標元件[D]與第二源元件[S2]一樣,也可以被指定為高速計數器。但此時目標元件必須為雙字節。圖8-19中,當執行HSCR指令,當計數器的當前值從399變為400或從401變為400時,則C254立即被復位,且當前值被清零。⑥指令HSCS和HSCR是在脈沖送到輸入端子時以中斷方式進行。如果沒有脈沖輸入,即使驅動輸入為ON且比較條件[S1·]=[S2·],但輸出Y0也不會動作。 7脈沖輸出(1)指令(D)PLSY(FNC 57),操作元件如下: (2)格式如圖8-21所示(3)說明①PLSY指令用于產生規定數量的脈沖。[S1]為指定脈沖的頻率(10~2000Hz),[S2]為指定產生脈沖的數目,脈沖數范圍為16位指令在1~32767之間,32位指令為1~2147483647之間。若脈沖數為0,則會產生無限個脈沖。[D]為指定脈沖輸出元件號,只能指定Y0。②當發完設定脈沖數后,執行完成標志M8029被置位。⑥輸出脈沖的占空比為50% (即ON占50%,OFF占50%)。③圖中當X10為OFF時,停止產生輸出脈沖。當X10再次為ON時,又從頭開始輸出脈沖。在連續脈沖發生時,一旦X10為OFF時,Y0就變為OFF。④在執行本指令時,[S1]內容可以修改。但[S2]的內容修改只有在完成一次操作后才有效。⑤本指令只能使用一次,且只能用于晶體管輸出類型PLC。8脈寬調制(1)指令PWM (FNC 58) ,操作元件如下: (2)格式如圖8-22所示。(3)說明①PWM指令是控制脈沖寬度t/T0比值的指令。[S1]為指定脈沖寬度,范圍t=32767ms,[S2]是指定周期T0,范圍為1~32767ms,[S1]必須小于[S2],[D]為指定脈沖輸出地址號,輸出的ON/OFF狀態用中斷方式控制,輸出[D]只能指定Y1。②圖8-22中,當源[S]的D10中的值從0~50變化時,輸出Y1的輸出脈沖占空比從0~100%變化。當X10變為OFF時,Y1也為OFF。③本指令只能用1次,且只適用于晶體管輸出類型PLC。 8.7 方便指令方便指令包括置初始狀態指令,交替輸出指令和斜坡信號指令。其它的一些特殊方便指令,請參閱有關資料。 1置初始狀態(1)指令IST (FNC60) ,操作元件如下: (2)格式如圖8-23所示。(3)說明①IST指令常用于步進順序控制,它能自動控制步進階梯圖中的初始狀態和特殊輔助繼電器。由[S·] 指定運行模式的輸入首元件。X000:點動 X004:連續運行X001:回原點 X005:回原點啟動X002:單步操作 X006:自動啟動X003:單周期運行 X007:停止②如果遺漏了部分運行模式時,應該按上述所示借助繼電器重新安排順序。[D1]和[D2]分別指定自動模式中實際用到的最低和最高狀態寄存器的地址號。③如果執行到這條指令,就會自動地控制下列的這些軟元件。但是,驅動輸入為OFF時,這些軟元件的狀態不發生變化。M8040:禁止傳送 M8041:傳送開始M8042:啟動脈沖 M8047:監控有效S0:個別操作初始狀態S1:回原點初始狀態S2:自動運行初始狀態④使用本指令時,S10~S19只能用于回原點。而M8044 (原點條件)、M8043(回原點結束)應由用戶編程進行控制。⑤IST指令必須編在S0~S2的一系列STL電路之前。2交替輸出(1)指令ALT (FNC66) ,操作元件如下: (2)格式如圖8-24所示。圖8-24(3)說明①執行ALT指令,目標通常由脈沖信號驅動。當X0每次從OFF到ON變化時,M10就翻轉動作一次。如果連續執行ALT指令時,每個運算周期翻轉動作一次。②如圖8-24所示,用M10的常閉和常開觸頭分別控制Y0和Y1時,則第一次按下X0時,起動輸出Y1置1,第二次按下X0時Y0置1而Y1置0,如此反復交替動作。 3斜坡信號(1)指令RAMP (FNC67) ,操作元件如下 (2)格式如圖8-25所示。(3)說明①RAMP指令與模擬量輸出結合可實現軟起動/軟停止。②斜坡信號的兩個源元件和目標元件均用數據寄存器D擔任。其中最初值寫入D1,最終值寫入D2。X0接通后,D3中的數據從初始值逐漸變到最終值D2,完成整個過程所需時間是幾個掃描周期。掃描周期當前值存于D4中。③輸出結束后,完成標志M8029置1,此時(D3)=(D2),(在FX2,FX2C系列中相當于特殊繼電器M8026為ON狀態)。 ④在D8039中寫入掃描周期(稍長于實際掃描時間),把M8039置1,則PLC進入恒定掃描周期運行方式,如果掃描周期設定值是20ms,則D3中的數值從D1值變化到D2值所需時間是20s。⑤若在斜坡輸出期間X000斷開,則斜坡輸出停止。此后若X000再次接通,則D4清零,D3的值從D1的設定值開始動作。9 PLC控制系統的設計與應用 9.1 PLC控制系統的設計概述可編程控制器的結構和工作方式與通用微型計算機不完全一樣。因此,利用可編程控制器設計自動控制系統與微機控制系統開發過程也不完全相同,需要根據可編程控制器的特點進行系統設計。PLC控制系統與繼電器-接觸器控制系統也有本質區別,硬件和軟件可分開進行設計是可編程控制器的一大特點。就工業控制的全面性而言,控制系統的設計包含了許多內容和步驟,需要豐富的專業知識。只要掌握了一定的基本知識和對控制對象具有足夠的了解,在設計一些規模較小或者結構較為簡單的控制系統時,就會發現并不使太困難的事情。 1 PLC控制系統設計的基本原則任何一種電氣控制系統都是為了實現被控對象(生產設備或生產過程)的工藝要求,以提高生產效率和產品質量。在設計PLC控制系統時,應遵循以下基本原則:①最大限度地滿足被控對象的控制要求。設計前,應深入現場進行調查研究,搜集資料,并與機械部分的設計人員和實際操作人員密切配合,共同擬定電氣控制方案,協同解決實際中出現的各種問題。②在滿足控制要求的前提下,力求使控制系統簡單、經濟、使用及維修方便。③保證控制系統的安全、可靠。④考慮到生產的發展和工藝的改進,在選擇PLC容量時,應適當留有裕量。 2 PLC控制系統設計的一般步驟圖9-1是PLC控制系統設計流程圖,具體設計步驟為:①根據生產的工藝過程分析控制要求。如需要完成的動作(動作順序、動作條件、必須的保護和連鎖等),操作方式(手動、自動、連續、單周期、單步等)。②根據控制要求確定所需要的用戶輸入/輸出設備。據此確定PLC的I/O點數。③選擇PLC。④分配PLC的I/O點,設計I/O連接圖,這一步也可以結合第②步進行。⑤進行PLC程序設計,同時可進行控制臺(柜)的設計和現場施工。在設計電氣控制系統時,必須在控制線路(硬接線)設計完后,才能進行控制臺(柜)的設計和現場施工。可見,采用PLC控制,可以使整個工程的周期縮短。PLC程序設計的步驟是:①對于較復雜的控制系統,需繪制系統控制流程圖,用以清楚地表明動作的順序和條件。對于簡單的控制系統,也可省去這一步。②設計梯形圖。這是程序設計的關鍵一步,也是比較困難的一步。要設計好梯形圖,首先要十分熟悉控制要求,同時還要有一定的電氣設計的實踐經驗。③根據梯形圖編制程序清單(若使用的編程器可直接輸入梯形圖,則可省去此步)。④用編程器將程序鍵入到PLC的用戶存儲器中,并檢查鍵人的程序是否正確。⑤對程序進行調試和修改,直到滿足要求為止。⑥待控制臺(柜)及現場施工完成后,就可以進行聯機調試。如不滿足要求,再回去修改程序或檢查接線,直到滿足要求為止。⑦編制技術文件。⑧交付使用。圖9-1 可編程控制器系統設計流程圖3 確定控制對象及范圍4 可編程控制器的選擇(1) 機型的選擇機型選擇的基本原則應是在功能滿足要求的情況下,保證可靠、維護使用方便以及最佳的性能價格比。(2) 輸入/輸出的選擇(3) 內存估計用戶程序所需內存容量受到下面幾個因素的影響:內存利用率;開關量輸入/輸出點數;模擬量輸入/輸出點數;用戶的編程水平。(4) 響應時間對過程控制,掃描周期和響應時間必須認真考慮。可編程控制器順序掃描的工作方式使它不能可靠地接收持續時間小于掃描周期的輸入信號。例如某產品有效檢測寬度為3cm,產品傳送速度為30m/min,為了確保不會漏檢經過的產品,要求可編程控制器掃描周期不能大于產品通過檢測點的時間間隔60ms[T=3cm/(30m/min)]。系統響應時間是指輸入信號產生時刻與由此使輸出信號狀態發生變化時刻的時間間隔。系統響應時間=輸入濾波時間+輸出濾波時間+掃描時間5 硬件與程序設計6 控制系統的總裝與統調9.2 PLC控制系統的程序設計編程方法一般地,PLC的編程有三種方法:經驗法、解析法和圖解法。1 經驗法即是運用自己的或別人的經驗進行設計。多數是設計前先選“樣機”,并結合自己的情況,對“樣機”逐一修改,直至適合自己的情況。“樣機”多為與自己情況類似的一個或若干個成功的程序,也可為具有一些典型功能的標準程序。在工作過程中,可收集與積累這些“樣機”,從而可不斷豐富自己的經驗。2 解析法PLC的邏輯控制,實際是邏輯綜合問題。所以,可根據組合邏輯或時序邏輯的理論,并運用相應的解析方法,對其進行邏輯關系的求解,然后,再根據求解的結果,或畫成梯形圖,或直接編寫程序。解析法比較嚴密,可以運用一定的標準,使程序優化與算法化,并可避免編程的盲目性,是較有效的方法。3 圖解法圖解法是靠畫圖進行PLC程序設計。常見的主要有三種方法:梯形圖法、波形圖法及流程圖法。梯形圖法是很基本的方法。無論經驗法,還是解析法,若把PLC程序等價成梯形圖后,就要用到梯形圖法。波形圖法很適合于時間控制電路。把對應信號的波形畫出后,再依時間用邏輯關系去組合,就可很容易把電路設計出來。流程圖是用框圖表示PLC程序執行過程及輸入條件與輸出間關系。在使用步進指令的情況下,用它進行設計,是很方便的。圖解法與解析法不能截然分開。解析法中也要畫圖,而圖解法中也要列解析式子,只是這兩者各有其側重。10手持編程器及編程軟件的使用 PLC程序的寫入、調試及監控是通過編程器實現的。編程器是PLC的重要的外圍設備,它一方面對PLC進行編程,另一方面又能對PLC的工作狀態進行監控。選用不同的編程設備可用不同的手段進行編程。FX系列PLC的編程設備有FX20P-E編程器、GP-80FX-E圖形編程器,還可以用編程軟件SWOPC-FXGP/WIN—C在個人計算機上進行編程。編程器具有對程序進行讀、寫、插入、刪除、修改、檢查、監視等功能。本章簡單介紹目前常用的FX-20P-E手持編程器和編程軟件SWOPC-FXGP/WIN-C的使用。讀者可通過上機操作,熟練掌握手持編程器和編程軟件的使用。10.1 手持編程器及其使用FX-20P-E編程器可以用于FX系列FX2、FX0、FX0N、FX2C、FX2N型PLC,也可以通過FX-20P-E-FKIT轉換器用于Fl和F2系列PLC。FX-20P-E和一般編程器一樣,有在線編程和離線編程兩種方式。在線編程也叫聯機編程,編程器和PLC直接相連,并對PLC用戶程序存儲器進行直接操作。在寫入程序時,若未裝EEPROM卡盒時,程序就寫入了PLC內部的RAM;若裝有EEPROM卡盒時,則程序就寫入了該存儲器卡盒。在離線編程方式下,編制的程序先寫入編程器內部的RAM,再成批地傳送到PLC的存儲器,也可以在編程器和ROM寫入器之間進行程序傳送。10.2編程軟件及其使用三菱公司的SWOPC-FXGP/WIN-C編程軟件,是應用于FX系列PLC的中文編程軟件,在Windows 9x或Windows 3.1及以上操作系統運行。 謝謝!下篇結束 展開更多...... 收起↑ 資源預覽 縮略圖、資源來源于二一教育資源庫