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

1.3.2 PLC的軟件及編程語言

在建立PLC硬件接口電路的基礎上,軟件就是實現控制功能的方法和手段。

PLC的軟件主要分為系統軟件和用戶程序兩大部分。系統軟件由PLC制造商編制,并固化在PLC內部PROM或EPROM中,隨產品一起提供給用戶,用于控制PLC自身的運行;用戶程序是由用戶編制、用于控制被控裝置運行的程序。

1.系統軟件

系統軟件又分為系統管理程序、編程軟件和標準程序庫。

1)系統管理程序是系統軟件最重要的部分,是PLC運行的主管,具有運行管理、存儲空間管理、時間控制和系統自檢等功能。其中,存儲空間管理是指生成用戶程序運行環境,規定輸入/輸出、內部參數的存儲地址及大小等;時間控制主要是對PLC的輸入采樣、運算、輸出處理、內部處理和通信等工作的時序實現掃描運行的時間管理;系統自檢是對PLC的各部分進行狀態檢測,及時報錯和警戒運行時鐘等,確保各部分能正常有效地工作。

2)編程軟件是一種用于編寫應用程序的工具,具有編輯、編譯、檢查、修改、仿真等功能。FX系列PLC常用的編程軟件是GX Developer集成開發軟件。

3)標準程序庫由許多獨立的程序塊組成,包括輸入、輸出、通信等特殊運算和處理程序,如信息讀/寫程序等,各個程序塊能實現不同的功能,PLC的各種具體工作都是由這部分程序完成的。

2.用戶程序

用戶程序是指用戶根據工藝生產過程的控制要求,按照使用的PLC所規定的編程語言或指令系統編寫的應用程序。用戶程序除了PLC的控制邏輯程序外,對于需要操作界面的系統還包括界面應用程序。

用戶程序的編制可以使用編程軟件在計算機或者其他專用編程設備上進行,也可使用手持編程器。用戶程序常采用梯形圖、助記符等方法編寫。用戶程序必須經編程軟件編譯成目標程序后,下載到PLC的存儲器中進行調試。

3.PLC的編程語言

目前,PLC的硬件、軟件還沒有統一標準,不同PLC廠商都針對自己的產品開發了不同的編程語言,并且大多數不兼容。但IEC于1994年規定了PLC的標準編程語言為梯形圖、指令表、順序功能圖、功能模塊圖和結構化語句五種。下面分別說明本書使用的梯形圖、指令表及順序功能圖編程語言。

(1)梯形圖(ladder diagram,LD)編程語言

梯形圖編程語言是PLC最常用的一種程序設計語言。

梯形圖編程語言來源于對繼電器邏輯控制系統的描述。梯形圖與繼電器控制系統的電路圖很相似,具有直觀易懂的優點,很容易被熟悉繼電器控制的電氣人員掌握。將繼電器控制電路轉換為FX系列PLC梯形圖控制程序如圖1-11所示。

圖1-11 將繼電器控制電路轉換為FX系列PLC梯形圖控制程序

a)繼電器控制電路 b)梯形圖控制程序

梯形圖編程語言具有以下特點:

1)與電氣操作原理圖相對應,具有直觀性和對應性。

2)與原有繼電器邏輯控制技術相一致,對電氣技術人員來說,易于學習和掌握。

3)與原有繼電器邏輯控制技術的不同點是,梯形圖中的能流(power flow)不是實際意義的電流,內部繼電器也不是實際存在的繼電器,在應用時要與原有繼電器邏輯控制技術的有關概念相區別。

4)與指令表編程語言有一一對應關系,便于相互轉換和程序檢查。

(2)指令表(instruction list)編程語言

指令表編程語言用助記符來表示操作功能,如圖1-12所示。任何梯形圖程序都有一一對應的指令表語句,其實現的功能完全相同。

圖1-12 FX系列PLC的梯形圖程序及指令表編程

a)梯形圖程序 b)指令表編程

指令表編程語言采用助記符來表示操作功能,具有容易記憶、便于掌握的特點。

(3)順序功能圖(sequential function chart,SFC)編程語言

順序功能圖編程語言又稱功能表圖或狀態轉移圖編程語言,是近年發展起來的一種編程語言。它是將一個完整的控制過程分為若干個狀態,每個狀態都有不同的任務,狀態間的轉移有一定條件,只要條件滿足就實現狀態轉移。圖1-13為FX2N系列PLC控制組合機床動力頭進給運動的順序功能圖。

圖1-13 FX2N系列PLC控制組合機床動力頭進給運動的順序功能圖

順序功能圖編程語言的特點如下:

1)以功能為主線,條理清楚,便于對程序操作的理解和溝通。

2)對大型程序可分工設計,采用較為靈活的程序結構,可節省程序設計時間和調試時間。

3)常用于系統的規模較大、程序關系較復雜的場合。

4)只有在活動步的命令和操作被執行時,PLC才對活動步后的程序段進行掃描。因此,整個程序的掃描時間較采用其他方法編制的程序要大大縮短。

主站蜘蛛池模板: 承德市| 乌兰浩特市| 绵阳市| 昌江| 紫金县| 金昌市| 乳山市| 青岛市| 盐山县| 东兰县| 莱州市| 怀宁县| 湘西| 承德市| 上思县| 嘉善县| 分宜县| 宜章县| 乌兰浩特市| 廊坊市| 望城县| 浠水县| 河池市| 合肥市| 长泰县| 冷水江市| 阳高县| 新宁县| 开远市| 加查县| 昂仁县| 东莞市| 陆川县| 新郑市| 澎湖县| 莎车县| 福州市| 霍州市| 桃园市| 高邑县| 梅河口市|