S7 300PLC之旅——STEP7的三种基本编程语言:LAD、FBD、STL
在上一篇文章《复盘“运料小车程序”,聊一聊PLC编程》中,驼子假定了一个运料小车的控制程序,简单的聊了一下一下PLC控制项目的编程步骤。有小伙伴认为程序体理解起来稍微有点难度,为了使有需要的小伙伴能有一个更为清晰的认识,驼子将在本文介绍以下STEP7 的三种基本编程语言:LAD、FBD以及STL。
一、梯形图LAD
梯形图语言是从常用的继电器与接触器逻辑控制基础上简化了符号演变而来的,具有形象、直观、实用等特点,电气技术人员容易接受,是目前运用上最多的一种PLC的编程语言。
在PLC程序图中,左、右母线类似于继电器与接触器控制电源线,输出线圈类似于负载,输入触点类似于按钮。梯形图由若干阶级构成,自上而下排列,每个阶级起于左母线,经过触点与线圈,止于右母线。图1为一段典型的梯形图语言编写的程序。
图1 梯形图语言
上图中,“常开点”I0.3、I1.2、I1.1及“常闭点”I0.2串联后,与“常开点”M0.0并联,然后为“线圈”Q4.2供电。在“继电器与接触器“型电路中,用梯形图编程会显得一目了然,犹如看电气连接图一般。
二、功能块图FBD
FBD用方框图的形式来表示控制逻辑,类似于数字逻辑门电路的编程语言。驼子在大学时,对数字电路情有独钟,因而后来对FBD语言有了天然的好感,工作中倾向于用FBD进行编程。FBD语言对于有数字电路基础的人来说很容易掌握,该编程语言用类似与门、或门的方框来表示逻辑运算关系,方框的左侧为逻辑运算的输入变量,右侧为输出变量;信号也是由左向右流向的,各个功能方框之间可以串联,也可以插入中间信号。在每个最后输出的前面组合逻辑操作方框数是有限的,同一组逻辑运算的输出结果的数目也要根据操作系统的不同而不同;经过扩展,不但可以表示各种简单的逻辑操作,并且也可以表示复杂的运算、操作功能。图1的梯形图控制逻辑用FBD编程的话,如图2所示。
图2 FBD语言
图2中,方框”&“为“与”运算,“>="为或运算,其真值表如下:
图3 真值表
FBD语言的编程过程类似于数字电路中用集成模块搭建电路,每个模块都有其自己的功能,根据控制需要,选用合适的模块,用“线”连起来即可。
三、语句表STL
STL是一种与汇编语言类似的助记符编程语言,用一个或几个容易记忆的字符来代表PLC的某种操作功能,每个语句由地址(步序号)、操作码(指令)和操作数(数据)三部分组成。语句表可以实现某些不易用梯形图或功能块图来实现的功能。玩过单片机的小伙伴再学习STL,可能会有些优势。图4为用STL编写的同一控制逻辑的程序。
图4 STL语言
其中,“A”为与运算,“AN”为与非运算,“O”为或运算,“=”为赋值运算。
用STL编程,需要对PLC的微观逻辑结构有相当的了解,比如:需要了解各种存储模式,熟悉各种寻址方式,同时还要能熟练使用各种编程助记符。可以说,能够熟练运用STL编程的小伙伴,siemens的PLC一定玩的相当的溜。驼子我的STL编程仍处在初学者阶段,犹记得去年用STL编写过一段光电测距仪的接口程序,不知死了多少脑细胞,实在是不堪回首。
四、三种语言,该如何抉择?
1、三种语言互相转换
在STEP7中,可以通过菜单选择,在三种语言中相互切换显示。如图5所示。
图5 LAD、FBD、STL切换显示
当然,通常LAD和FBD直接可以互相切换,LAD、FBD也可以转换为STL语言,但STL却不一定可以转换为LAD或FBD语言。
2、三种语言的优劣比较
LAD是最常用的PLC编程语言,其形象、直观,稍懂电气的人就能很快上手,而且目前市面上几乎所有的PLC都支持LAD编程,一通百通。其在“继电器或接触器型”逻辑功能中应用比较好,但随着STEP7中集成的程序功能单元越来越多,LAD语言写出的程序多少有点“不伦不类”。如图6所示,程序单元“CMP>=D”在FBD程序中,以“块”的形式显示,与其他单元一样;但在LAD语言中,仍以“块”的形式显示,与其它“触点单元”放在一起显得有点格格不入,虽然不影响逻辑,但看起来不工整。
图6 FBD、LAD程序对比
FBD语言写出的程序,个人认为逻辑性较强,在编程过程中,可以根据被控对象的控制逻辑,“轻易”的捋清程序逻辑,编程就会轻松许多。同时,STEP7提供了大量的、功能各异的“程序逻辑单元”,仅需要简单的拖动,就能实现编程。
STL接近于汇编语言,起点较高,不容易掌握。但在一些需要对硬件操作的时候,比如:驼子曾经编写过的激光测距仪的接口程序,就不得不用到STL语言了。
西门子PLC编程详细讲解及案例分析
编程语言种类很多,各有各的优势,语句表和指令表类似,是编程语言的一种,在PLC中应用比较普遍,也是一种高级编程语言,PLC中语句表、梯形图、SCL等编程语言的特点:
1、顺序功能图(SFC-Seauential Fuction Chart)
2、梯形图(LAD-LAdder Diagram)
3、语句表(STL-STatement List)
4、功能块图(FBD-Function Block Diagram)
5、结构化文本(ST-Structured Text)
今天大牛就用PPT的形式为大家讲解西门子PLC编程以及分析案例。
▼
相关问答
西门子plc怎么控制变频器频率?
要通过西门子PLC控制变频器的频率,可以通过以下步骤来实现:1.连接PLC和变频器:首先,需要通过通讯接口将PLC和变频器进行连接,并进行相应的设置,确保PLC和...
西门子编程语言有哪些?
目前比较流行的西门子PLC编程语言有如下几类:1.梯形图。最明了最容易上手的PLC编程语言,一般新手上路都是梯形图。特别方便监测。2.STL语言:STL是高手用的,...
PLC主要的编程语言有哪几种–京东商城?
PLC主要的编程语言主要有五种,包括指令列表(IL)、梯形图(LD)、功能块图(FBD)、结构化文本(ST)和连续函数图(SFC)。其中指令列表是一种基于指令的编程...PLC...
plc有两种编程方式分别为?
1、经验法即是运用自己的或别人的经验进行设计,设计前选择与设计要求相类似的成功的例子,并进行修改,增删部分功能或运用其中部分程序,直至适合自己的情况。...
西门子plc常用编程件有哪几个?
西门子PLC常用编程件包括STEP7(编程软件)、WinCC(人机界面开发软件)和NetPro(网络配置软件)等。其中,STEP7是最基础的PLC编程软件,在PLC控制系统开发过...
PLC(可编程序控制器)一共有几种编程方式?
你说的应该是编程语言分几种吧。一般有以下几种:梯形图(LD语言)也有叫LAD语言、顺序功能图(SFC)语言、功能块图(FBD)语言,指令表(IL)语言和结构文本(S...三、F...
plc编程用什么语法?
PLC的编程语言包括以下五种:梯形图语言(LD)、指令表语言(IL)、功能模块图语言(FBD)、顺序功能流程图语言(SFC)及结构化文本语言(ST)。PLC的用户程序...PLC的...
plc基本编程模式?
PLC编程有五种标准化编程语言:顺序功能图(SFC)、梯形图(LD)、功能模块图(FBD)三种图形化语言和语句表(IL)、结构文本(ST)两种文本语言。最常用的是梯...PLC...
西门子PLC编程语言有哪几种?
西门子PLC编程语言有以下几种:1.LadderDiagram(LD,梯形图):基于图形化的逻辑运算符号,采用类似电路图的形式进行程序设计。2.FunctionBlockDiagram....
PLC的编程语言标准?
PLC目前有5种标准的编程语言,包括图形化编程语言和文本化编程语言。图形化编程语言包括:梯形图(LD-LadderDiagram)、功能块图(FBD-FunctionBlockDia......