
PLC的軟件分為兩大部分:系統軟件與用戶程序。系統軟件由PLC制造商固化在機內,用以控制PLC本身的運行:用戶程序由PLC的使用者編寫并輸入,用于控制外部對象的運行。
1)系統軟件
系統軟件又可分為系統管理程序、用戶指令解釋程序及標準程序模塊和系統調用。
(1)系統管理程序是系統軟件中重要的部分,主管控制 PLC的運作。其作用包括3個方面:一是運行管理,對控制PLC何時輸入、何時輸出、何時計算、何時自檢、何時通信等做時間上的分配管理。二是存儲空間管理,即生成用戶環境,由它規定各種參數、程序的存放地址。將用戶使用的數據參數、存儲地址轉化為實際的數據格式及物理存放地址,將有限的資源變為用戶可很方便地直接使用的元件。例如,它可將有限個數的擴展為上百個用戶時鐘和計數器。通過這部分程序,用戶看到的就不是實際機器存儲地址和的地址了,而是按照用戶數據結構排列的元件空間和程序存儲空間。三是系統自檢程序,它包括各種系統出錯檢驗、用戶程序語法檢驗、句法檢驗、警戒時鐘運行等。
PLC正是在系統管理程序的控制下,按部就班地工作的。
(2)用戶指令解釋程序眾所周知,任何計算機終都是執行機器語言指令的。但用機器語言編程卻是非常復雜的事情。PLC可用梯形圖語言編程,把使用者直觀易懂的梯形圖變成機器懂得的機器語言,這就是解釋程序的任務。解釋程序將梯形圖逐條解釋,翻譯成相應的機器語言指令,由CPU執行這些指令。
(3)標準程序模塊和系統調用這部分由許多獨立的程序塊組成,各程序塊完成不同的功能,有些完成I/O處理,有些完成特殊運算等。PLC的各種具體工作都是由這部分程序來完成的,這部分程序的多少決定了PLC性能的強弱。
整個系統軟件是一個整體,其質量的好壞很大程度上影響PLC的性能。很多情況下,通過進系統軟件就可在不增加任何設備的條件下大大改善PLC的性能,因此,PLC的生產廠家對PLC的系統軟件都非常重視,例如,S7-200系列 PLC在推出后,西門子公司不斷地將其系統軟件進行進完善,使其功能越來越強。
2)用戶程序
用戶程序是PLC的使用者針對具體控制對象編制的程序。因此,它需要一個編程環境、一個程序結構和一個編程方法。
用戶環境也是由系統監控程序生成的。主要包括:用戶數據結構、用戶元件區、用戶數據和程序存儲區、用戶參數區、文件存儲區等。
(1)用戶數據結構:
①類為位數據:這是一類邏輯量(1位二進制數),其值為“0或1”,它表示觸點的通、斷。觸點接通狀態為ON,觸點斷開狀態為OFF。
②二類為字節數據:其位長為8位,其數制形式有多種形式。1個字節可以表示8位二進制數、2位十六進制數、2位十進制數。
③三類為字數據:其數制、位長、形式都有很多形式。1個字可以表示16位二進制數、4位十六進制數、4位十進制數。十進制數據通常都用BCD碼表示,書寫時冠以K字符,如K789。十六進制數據,書寫時冠以H字符,如H78F。二進制數,書寫時冠以B字符,如B0111-1000-111l。實際處理時還可選用八進制、AscII的形式。由于對控制精度的要求越來越高,不少PLC開始采用浮點數,它大地提高了數據運算的精度。
④四類為混合型數據:即同一個元件有位數據又有字數據。例如,T(定時器)和C(計數器),它們的觸點只有ON和OFF兩種狀態,是位數據,而它們的設定值和當前值寄存器又為字數據。
(2)用戶數據存儲區:
①用戶使用的每個I/O端,以及內部的每一個存儲單元都稱為元件。各種元件都有其固定的存儲區(如I/O映像區),即存儲地址。給 PLC 中的I/O元件賦予地址的過程叫編址,不同的 PLCI/O的編址方法不完全相同。
②PLC的內部資源,如內部繼電器、定時器、計數器和數據區,各個不同的PLC之間也有一些差異。這些內部資源都按一定的數據結構存放在用戶數據存儲區,正確使用用戶數據存儲區的資源才能編寫好用戶程序。
用戶程序結構大致可以分為3種:一是線性程序,這種結構是把一個工程分為多個小的程序塊,這些程序塊被依次排放在一個主程序中;二是分塊程序,這種結構把一個工程中的各個程序塊獨立于主程序之外,工作時要由主程序一個個有序地去調用;三是結構化程序,這種結構是把一個工程中的具有相同功能的程序寫成通用功能程序塊,工程中的各個程序塊都可以隨時調用這些通用功能程序塊。
可編程控制器與繼電器控制的區別
在PLC的編程語言中,梯形圖是為廣泛使用的語言,通過PLC的指令系統將梯形圖變成PLC能接受程序,由編程器鍵入到PLC用戶存儲區去。而梯形圖與繼電器控制原理圖十分相似,主要原因是PLC梯形圖的發明大致上沿用戶繼電器控制電路的元件符號,僅個別處有些不同。
PLC與繼電器控制的主要區別有以下幾點:
(1)組成器件不同
繼電器控制線路是由許多真正的硬件繼電器組成的。而PLC是由許多“軟繼電器”組成的,這些“繼電器”實際上是存儲器中的觸發器,可以置“0”或置“1”。
(2)觸點的數量不同
硬繼電器的觸點數有限,一般只有4至8對;而“軟繼電器”可供編程的觸點數有無限對,因為觸發器狀態可取用任意次。
(3)控制方法不同
繼電器控制是通過元件之間的硬接線來實現的,因此其控制功能就固定在線路中了,因此功能專一,不靈活;而PLC控制是通過軟件編程來解決的,只要程序改變,功能可跟著改變,控制很靈活。又因PLC是通過循環掃描工作的,不存在繼電器控制線路中的聯鎖與互鎖電路,控制設計大大簡化了。
(4)工作方式不同
在繼電器控制線路中,當電源接通時,線路中各繼電器都處于受制約狀態,該合的合,該斷的斷。而在PLC的梯形圖中,各“軟繼電器”都處于周期性循環掃描接通中,從客觀上看,每個“軟繼電器”受條件制約,接通時間是短暫的。也就是說繼電器在控制的工作方式是并行的,而PLC的工作方式是串行的。
根據硬件結構的不同,可以將PLC分為整體式、模塊式和混合式。
1.整體式PLC
整體式又叫做單元式或機箱式,它的體積小、價格低,對箱體式PLC,有一塊CPU板、I/O板、顯示面板、內存塊、電源等,當然按CPU性能分成若干型號,并按I/O點數又有若干規格。對模塊式PLC,有CPU模塊、I/O模塊、內存、電源模塊、底板或機架。無任哪種結構類型的PLC,都屬于總線式開放型結構,其I/O能力可按用戶需要進行擴展與組合。
2.模塊式PLC
大、中型PLC一般采用模塊式結構,它由機架和模塊組成,模塊插在模塊插座上,后者焊接在機架中的總線連接板上,有不同槽數的機架供用戶選用,如果一個機架容納不下選用的模塊,可以增設一個或數個擴展機架,各機架之間用接口模塊和電纜相連。
用戶可以選用不同檔次的CPU模塊、品種繁多的I/O模塊和特殊功能塊,對硬件配置的選擇余地較大,維修時換模塊也很方便。
3.CPU模塊中的存儲器
存儲器分為系統程序存儲器和用戶程序存儲器,系統程序相當于個人計算機中的操作系統,它使PLC具有基本的智能,能完成PLC設計者的規定的各種工作。系統程序由PLC的生廠家設計并固定化在ROM(只讀存儲器)中,用戶不能讀取。用戶程序由用戶設計,它使PLC能完成用戶要球的特定功能,用戶程序存儲器的容量以字節(B)為單位。
(1).隨機存取存儲器(RAM)
用戶可以用編程裝置讀出RAM中的內容,也可以將用戶程序寫入RAM,因此RAM又叫讀/寫存儲器。RAM的工作速度高、價格便宜、改寫方便。
(2).只讀存儲器(ROM)
ROM的內容只能讀出,不能寫入。
(3).可以電檫出可編程的只讀存儲器(EEPROM)
S7-200用EEPROM來存儲用戶程序和長期保存的重要數據。
4.I/O模塊
各I/O點的通/斷狀態用發光二管(LED)顯示,PLC與外部接線的連接一般用接線端子,某些模塊使用可以拆卸的插座型端子板,不需斷開端子板上的連接線,就可以迅速的換模塊。
輸入模塊:PLC通過輸入模塊來接收和采集輸入信號,通過輸出模塊控制接觸器、電磁閥、電磁鐵、調速裝置等執行器,PLC控制的另一類外部負載是指示燈、數字顯示裝置和報置等。輸入電路中設有RC濾波電路,以防止由于輸入觸點抖動或外部干擾脈沖引起的錯誤輸入信號。
輸出模塊:輸出模塊的率放大元件有大功率晶體管和場效應管(驅動直流負載)、雙向可控硅(驅動交流負載)和小型繼電器,繼電器可以驅動交流負載或直流負載。輸出電流的典型值為0.5—2A,負載電源由外部現場提供。
6ES72111BE400XB0 CPU 1211C AC/DC/Rly,6輸入/4輸出,集成2AI 6ES72111AE400XB0 CPU 1211C DC/DC/DC,6輸入/4輸出,集成2AI 6ES72111HE400XB0 CPU 1211C DC/DC/Rly,6輸入/4輸出,集成2AI 6ES72121BE400XB0 CPU 1212C AC/DC/Rly,8輸入/6輸出,集成2AI 6ES72121AE400XB0 CPU 1212C DC/DC/DC,8輸入/6輸出,集成2AI 6ES72121HE400XB0 CPU 1212C DC/DC/Rly,8輸入/6輸出,集成2AI 6ES72141BG400XB0 CPU 1214C AC/DC/Rly,14輸入/10輸出,集成2AI 6ES72141AG400XB0 CPU 1214C DC/DC/DC,14輸入/10輸出,集成2AI 6ES72141HG400XB0 CPU 1214C DC/DC/Rly,14輸入/10輸出,集成2AI 6ES72151BG400XB0 CPU 1215C AC/DC/Rly,14輸入/10輸出,集成2AI/2AO 6ES72151AG400XB0 CPU 1215C DC/DC/DC,14輸入/10輸出,集成2AI/2AO 6ES72151HG400XB0 CPU 1215C DC/DC/Rly,14輸入/10輸出,集成2AI/2AO 6ES72171AG400XB0 CPU 1217C DC/DC/DC,14輸入/10輸出,集成2AI/2AO