- 三菱FX2N系列PLC入門與應用實例
- 初航 師忠秀 田洪剛編著
- 3194字
- 2018-12-30 19:11:30
1.4 PLC的編程語言
PLC的編程語言與一般計算機語言相比,具有明顯的特點,它既不同于高級語言,也不同于一般的匯編語言;它既要滿足易于編寫,又要滿足易于調試的要求。目前,還沒有一種對各廠家產品都能兼容的編程語言,如三菱公司的產品有它自己的編程語言,OMRON公司的產品也有它自己的語言。但不管什么型號的PLC,其編程語言都具有以下特點。
圖形式指令結構:程序由圖形方式表達,指令由不同的圖形符號組成,易于理解和記憶。系統的軟件開發者已把工業控制中所需的獨立運算功能編制成象征性圖形,用戶根據自己的需要把這些圖形進行組合,并填入適當的參數。在邏輯運算部分,幾乎所有的廠家都采用類似于繼電器控制電路的梯形圖,很容易被用戶接受。如西門子公司還采用控制系統流程圖來表示,它沿用二進制邏輯元件圖形符號來表達控制關系,很直觀易懂。較復雜的算術運算、定時計數等,一般也參照梯形圖或邏輯元件圖給予表示。
明確的變量常數:圖形符相當于操作碼,規定了運算功能,操作數由用戶填入,如K400,T120等。PLC中的變量和常數以及其取值范圍有明確規定,由產品型號決定,可查閱產品目錄手冊。
簡化的程序結構:PLC的程序結構通常很簡單,為塊式結構,不同塊完成不同的功能,使程序的調試者對整個程序的控制功能和控制順序有清晰的概念。
簡化應用軟件生成過程:使用匯編語言和高級語言編寫程序,要完成編輯、編譯和連接三個過程;而使用編程語言,只需要編輯一個過程,其余由系統軟件自動完成,整個編輯過程都在人機對話下進行的,不要求用戶有高深的軟件設計能力。
強化調試手段:無論是匯編程序,還是高級語言程序調試,都是令編輯人員頭疼的事,而PLC的程序調試提供了完備的條件,使用編程器,利用PLC和編程器上的按鍵、顯示和內部編輯、調試、監控等,并在軟件支持下,診斷和調試操作都很簡單。
總之,PLC的編程語言是面向用戶的,對使用者不要求具備高深的知識、不需要長時間的專門訓練。
1. 梯形圖程序設計語言
梯形圖 (Ladder Diagram) 程序設計語言是用梯形圖的圖形符號來描述程序的一種程序設計語言。采用梯形圖程序設計語言,這種程序設計語言采用因果關系來描述事件發生的條件和結果,每個梯級是一個因果關系。在梯級中,描述事件發生的條件表示在左面,事件發生的結果表示在右面。梯形圖程序設計語言是最常用的一種程序設計語言,它來源于繼電器邏輯控制系統的描述。在工業過程控制領域,電氣技術人員對繼電器邏輯控制技術較為熟悉。因此,由這種邏輯控制技術發展而來的梯形圖受到歡迎,并得到廣泛的應用。梯形圖程序設計語言的特點如下。
與電氣操作原理圖相對應,具有直觀性和對應性。
與原有繼電器邏輯控制技術相一致,易于掌握和學習。
與布爾助記符程序設計語言有一一對應關系,便于相互轉換和程序檢查。
梯形圖中的繼電器不是“硬”繼電器,是PLC存儲器的一個存儲單元。當寫入該單元的邏輯狀態為“1”時,則表示相應繼電器的線圈接通,其動合觸點閉合,動斷觸點斷開;當寫入該單元的邏輯狀態為“0”時,則表示相應繼電器的線圈斷開,其動斷觸點閉合,動開觸點斷開。
梯形圖按從左到右、自上而下的順序排列。每一邏輯行(或稱梯級)起始于左母線,然后是觸點的串、并聯連接,最后是線圈與右母線相連。
梯形圖中每個梯級流過的不是物理電流,而是“概念電流”,從左流向右,其兩端沒有電源。這個“概念電流”只是用來形象地描述用戶程序執行中滿足線圈接通的條件。
輸入繼電器用于接收外部輸入信號,而不能由PLC內部其他繼電器的觸點來驅動。因此,梯形圖中只出現輸入繼電器的觸點,而不出現其線圈。輸出繼電器輸出程序執行結果給外部輸出設備。當梯形圖中的輸出繼電器線圈接通時,就有信號輸出,但不是直接驅動輸出設備,而要通過輸出接口的繼電器、晶體管或晶閘管才能實現。
梯形圖編程示意圖如圖1-17所示。

圖1-17 梯形圖編程示意圖
2. 布爾助記符程序設計語言
布爾助記符 (Boolean Mnemonic) 程序設計語言是用布爾助記符來描述程序的一種程序設計語言。布爾助記符程序設計語言與計算機中的匯編語言非常相似,采用布爾助記符來表示操作功能。布爾助記符程序設計語言具有下列特點。
采用助記符來表示操作功能,具有容易記憶,便于掌握的特點。
在編程器的鍵盤上采用助記符表示,具有便于操作的特點,可在無計算機的場合進行編程設計。
與梯形圖有一一對應關系,其特點與梯形圖語言基本類同。
如圖1-17所示的梯形圖程序,變換成布爾助記符編程如表1-13所示。
表1-13 布爾助記符編程

3. 功能模塊圖程序設計語言
功能模塊圖 (Function Block) 程序設計語言是采用功能模塊來表示模塊所具有的功能,不同的功能模塊有不同的功能。它有若干個輸入端和輸出端,通過軟連接的方式,分別連接到所需的其他端子,完成所需的控制運算或控制功能。功能模塊可以分為不同的類型,在同一種類型中,也可能因功能參數的不同而使功能或應用范圍有所差別,例如,輸入端的數量、輸入信號的類型等的不同,使它的使用范圍也不同。由于采用軟連接的方式進行功能模塊之間及功能模塊與外部端子的連接,因此控制方案的更改、信號連接的替換等操作可以很方便實現。功能模塊圖程序設計語言的特點如下。
以功能模塊為單位,從控制功能入手,使控制方案的分析和理解變得容易。
功能模塊是用圖形化的方法描述功能,它的直觀性大大方便了設計人員的編程和組態,有較好的易操作性。
對控制規模較大、控制關系較復雜的系統,由于控制功能的關系可以較清楚地表達出來,因此,編程和組態時間可以縮短,調試時間也能減少。
由于每種功能模塊需要占用一定的程序內存,對功能模塊的執行需要一定的執行時間,因此,這種設計語言在大中型PLC和集散控制系統的編程和組態中才被采用。
如圖1-17所示的梯形圖程序,變換成功能模塊圖編程如圖1-18所示。

圖1-18 功能模塊圖編程示意圖
4. 功能表圖程序設計語言
功能表圖 (Sequential Function Chart,SFC) 程序設計語言是用功能表圖來描述程序的一種程序設計語言。它是近年來發展起來的一種程序設計語言。采用功能表圖的描述,控制系統被分為若干個子系統,從功能入手,使系統的操作具有明確的含義,便于設計人員和操作人員設計思想的溝通,便于程序的分工設計和檢查調試。功能表圖程序設計語言的特點如下。
以功能為主線,條理清楚,便于對程序操作的理解和溝通。
對大型的程序,可分工設計,采用較為靈活的程序結構,可節省程序設計、調試時間。
常用于系統規模較大、程序關系較復雜的場合。
只有在活動步的命令和操作被執行后,才對活動步后的轉換進行掃描,因此整個程序的掃描時間較其他程序編制的程序掃描時間要短得多。
功能表圖來源于佩特利 (Petri) 網,由于它具有圖形表達方式,能比較簡單清楚地描述并發系統和復雜系統的所有現象,并能對系統中存在的像死鎖、不安全等反常現象進行分析和建模,在模型的基礎上可以直接編程,因此得到了廣泛的應用。近幾年推出的可編程控制器和小型離散控制系統中也已提供了采用功能表圖描述語言進行編程的軟件。順序功能圖體現了一種編程思想,在程序的編制中有很重要的意義。順序功能圖編程如圖1-19所示。

圖1-19 順序功能圖編程
5. 結構化語句描述程序設計語言
結構化語句 (Structured Text) 描述程序設計語言是用結構化的描述語句來描述程序的一種程序設計語言。它是一種類似于高級語言的程序設計語言。在大中型的PLC系統中,常采用結構化語句描述程序設計語言來描述控制系統中各個變量的關系。它也被用于集散控制系統的編程和組態。
結構化語句描述程序設計語言,采用計算機的描述語句來描述系統中各種變量之間的運算關系,完成所需的功能或操作。大多數制造廠商采用的語句描述程序設計語言與Basic語言、Pascal語言或C語言等高級語言相類似,但為了應用方便,在語句的表達方法及語句的種類等方面都進行了簡化。結構化程序設計語言具有下列特點。
采用高級語言進行編程,可以完成較復雜的控制運算。
需要有一定的計算機高級程序設計語言的知識和編程技巧,對編程人員的技能要求較高,普通電氣人員難以完成。
直觀性和易操作性等較差。
常被用于采用功能模塊等其他語言較難實現的一些控制功能的實施。
- Learning AngularJS Animations
- Applied Unsupervised Learning with R
- 從零開始學51單片機C語言
- 電腦維護365問
- Camtasia Studio 8:Advanced Editing and Publishing Techniques
- Learning Stencyl 3.x Game Development Beginner's Guide
- 電腦軟硬件維修從入門到精通
- OUYA Game Development by Example
- 分布式微服務架構:原理與實戰
- 微服務分布式架構基礎與實戰:基于Spring Boot + Spring Cloud
- 超大流量分布式系統架構解決方案:人人都是架構師2.0
- Neural Network Programming with Java(Second Edition)
- 單片機技術及應用
- Intel FPGA權威設計指南:基于Quartus Prime Pro 19集成開發環境
- The Artificial Intelligence Infrastructure Workshop