线下实训
HOME
线下实训
正文内容
plc的编程与stl S7 300PLC之旅——STEP7的三种基本编程语言:LAD,FBD,STL
发布时间 : 2025-04-28
作者 : 小编
访问数量 : 23
扫码分享至微信

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编程STL程序干货

此次着重在分享如何在西门子PLC编程软件中如何读取STL程序,让你如果在读程序时发现自己不明白的时候,可以采取哪些方式来解决!

1、转换成梯形图:快捷键Ctrl+1,当然大多数都转换不过去;

2、按下F1寻求帮助;

3、下载此程序到模拟器中,单步观察效果,看看哪些寄存器发生改变。

系统的逻辑错误造成的停机往往是由于提示错误前面的错误引起的。

DI和DB的区别

访问背景数据块时,使用DI:当然也可以使用DB访问背景数据块

DI的作用体现在:再单个FB里面词用了除背景数据块外的其他数锦块时可以用DB进行操作,面背景数据块可以使用DI进行操作。如图:

可以OPN DB#DBMS∥以后所有的DB操作均是对应DB4,而所有的D操作均对应DB433。

CDB交换数据块内容,例如把背景数据块里面的内容与共享数据块交换,可以访问共享数据块,进行操作处理。

这次分享的如何读取西门子PLC编程STL程序干货就是上面这些了。

以上,欢迎动动手分享及收藏!

相关问答

请问西门子PLC编程语言“语句表(STL)”的全拼是什么?

PLC厂家设计了专门用于编制顺序控制程序的指令和编程元件。其中,STL为步进梯形指令(StepLadderInstruction)。使用STL指令时应该注意以下一些问题:1)与ST...

stl指令编写流程?

STL(StructuredTextLanguage,结构化文本语言)是一种用于PLC(可编程逻辑控制器)程序编程的高级语言,可用于实现复杂自动化过程的逻辑控制。下面是STL指令...

PLC中,指令STL,SET是什么意思,在哪用?M8029的用法又是什么?

STL是步进触点指令,用于“激活”某个状态。SET是置位指令,转移方向用。STL触点一般是与左侧母线相连的常开触点,当状态步成为活动步时,对应的STL触点接通...S...

set和stl在plc中的应用?

一、功能不同1、RST:复位指令,使操作保持OFF的指令。2、SET:置位指令,使操作保持ON的指令。二、作用范围不同1、RST:RST指令可用于复位Y,M,S,T,C,...set...

西门子300系列plc如何用stl编写程序?

stl语言可读性比较差,你可以在portal帮助中找到stl的信息,比较全面。希望对你有帮助。建议多学习SCL语言,这种语言可以在博途程序中轻松实现版本的升级和降级...

三菱PLC中STL指令怎么写?

STL指令用于将一个寄存器或标志位的内容设为1,格式为STLPn.0(其中n为PLC中I/O模块的编号,0为该模块中的第一个输出点),如STLP0.0表示将I/O模块0中的第一个...

三菱plc的stl指令怎么编写的,stls0,新手求助?

STL为步进接点指令,其功能为接点驱动,标示一个状态的开始,激活其后面的步进程序。输入方式为:F8快捷键,STL空格S0,回车OKSTL为步进接点指令,其功能为接点驱动...

三菱PLC,STL指令到底怎么使用?

三菱PLC的STL指令是一种结构化文本语言,可用于编写程序。其使用方法如下:根据需要编写STL指令。在编写STL指令时,需要注意语法的正确性,确保指令能够被正确...

属于PLC编程语言有哪些?

常见的PLC的编程语言通常都有梯形图(LAD),语句表(STL),和功能图块(FBD)这三种,当然有的PLC中还存在SCL,ST,GRAPH等编程语言,但是这些就没有前边说的3种更...常见...

西门子300的LADSTL和FBD是什么的?

是编程语言的名字或者说编程语言的格式,也就是编程方式。西门子300的编程软件STEP7支持七种编程语言分别是:LAD,STL,SCL,CFC,GRAPH,HIGRAPH,FBD。其中标准安装...

 男装品牌网  箐优网数学 
王经理: 180-0000-0000(微信同号)
10086@qq.com
北京海淀区西三旗街道国际大厦08A座
©2025  上海羊羽卓进出口贸易有限公司  版权所有.All Rights Reserved.  |  程序由Z-BlogPHP强力驱动
网站首页
电话咨询
微信号

QQ

在线咨询真诚为您提供专业解答服务

热线

188-0000-0000
专属服务热线

微信

二维码扫一扫微信交流
顶部