0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

LAD、FBD、STL三种语言的优劣比较

jf_daLmOoRV 来源:设备维修屋 2023-06-14 09:35 次阅读

一、梯形图LAD
梯形图语言是从常用的继电器与接触器逻辑控制基础上简化了符号演变而来的,具有形象、直观、实用等特点,电气技术人员容易接受,是目前运用上最多的一种plc编程语言。
在PLC程序图中,左、右母线类似于继电器与接触器控制电源线,输出线圈类似于负载,输入触点类似于按钮。梯形图由若干阶级构成,自上而下排列,每个阶级起于左母线,经过触点与线圈,止于右母线。图1为一段典型的梯形图语言编写的程序。

f59bb950-0a51-11ee-962d-dac502259ad0.jpg图1 梯形图语言

上图中,“常开点”I0.3、I1.2、I1.1及“常闭点”I0.2串联后,与“常开点”M0.0并联,然后为“线圈”Q4.2供电。在“继电器与接触器“型电路中,用梯形图编程会显得一目了然,犹如看电气连接图一般。


二、功能块图FBD
FBD用方框图的形式来表示控制逻辑,类似于数字逻辑门电路的编程语言。驼子在大学时,对数字电路情有独钟,因而后来对FBD语言有了天然的好感,工作中倾向于用FBD进行编程。FBD语言对于有数字电路基础的人来说很容易掌握,该编程语言用类似与门、或门的方框来表示逻辑运算关系,方框的左侧为逻辑运算的输入变量,右侧为输出变量;信号也是由左向右流向的,各个功能方框之间可以串联,也可以插入中间信号。在每个最后输出的前面组合逻辑操作方框数是有限的,同一组逻辑运算的输出结果的数目也要根据操作系统的不同而不同;经过扩展,不但可以表示各种简单的逻辑操作,并且也可以表示复杂的运算、操作功能。图1的梯形图控制逻辑用FBD编程的话,如图2所示。

f5c25a56-0a51-11ee-962d-dac502259ad0.jpg

图2 FBD语言

图2中,方框”&“为“与”运算,“>="为或运算,其真值表如下:

f5d5723a-0a51-11ee-962d-dac502259ad0.jpg

图3 真值表

FBD语言的编程过程类似于数字电路中用集成模块搭建电路,每个模块都有其自己的功能,根据控制需要,选用合适的模块,用“线”连起来即可。


三、语句表STL
STL是一种与汇编语言类似的助记符编程语言,用一个或几个容易记忆的字符来代表PLC的某种操作功能,每个语句由地址(步序号)、操作码(指令)和操作数(数据)三部分组成。语句表可以实现某些不易用梯形图或功能块图来实现的功能。玩过单片机的小伙伴再学习STL,可能会有些优势。图4为用STL编写的同一控制逻辑的程序。

f5ecb5d0-0a51-11ee-962d-dac502259ad0.jpg

图4 STL语言

其中,“A”为与运算,“AN”为与非运算,“O”为或运算,“=”为赋值运算。
用STL编程,需要对PLC的微观逻辑结构有相当的了解,比如:需要了解各种存储模式,熟悉各种寻址方式,同时还要能熟练使用各种编程助记符。可以说,能够熟练运用STL编程的小伙伴,siemens的PLC一定玩的相当的溜。驼子我的STL编程仍处在初学者阶段,犹记得去年用STL编写过一段光电测距仪的接口程序,不知死了多少脑细胞,实在是不堪回首。


四、三种语言,该如何抉择?

1、三种语言互相转换
在STEP7中,可以通过菜单选择,在三种语言中相互切换显示。如图5所示。

f5f76aca-0a51-11ee-962d-dac502259ad0.jpg

图5 LAD、FBD、STL切换显示

当然,通常LAD和FBD直接可以互相切换,LAD、FBD也可以转换为STL语言,但STL却不一定可以转换为LAD或FBD语言。


2、三种语言的优劣比较
LAD是最常用的plc编程语言,其形象、直观,稍懂电气的人就能很快上手,而且目前市面上几乎所有的PLC都支持LAD编程,一通百通。其在“继电器或接触器型”逻辑功能中应用比较好,但随着STEP7中集成的程序功能单元越来越多,LAD语言写出的程序多少有点“不伦不类”。如图6所示,程序单元“CMP>=D”在FBD程序中,以“块”的形式显示,与其他单元一样;但在LAD语言中,仍以“块”的形式显示,与其它“触点单元”放在一起显得有点格格不入,虽然不影响逻辑,但看起来不工整。

f60dd7ce-0a51-11ee-962d-dac502259ad0.jpg

图6 FBD、LAD程序对比


FBD语言写出的程序,个人认为逻辑性较强,在编程过程中,可以根据被控对象的控制逻辑,“轻易”的捋清程序逻辑,编程就会轻松许多。同时,STEP7提供了大量的、功能各异的“程序逻辑单元”,仅需要简单的拖动,就能实现编程。
STL接近于汇编语言,起点较高,不容易掌握。但在一些需要对硬件操作的时候,比如:驼子曾经编写过的激光测距仪的接口程序,就不得不用到STL语言了。
责任编辑:彭菁

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 编程语言
    +关注

    关注

    9

    文章

    1878

    浏览量

    33136
  • 程序
    +关注

    关注

    114

    文章

    3631

    浏览量

    79545
  • LAD
    LAD
    +关注

    关注

    0

    文章

    15

    浏览量

    6979

原文标题:【编程】LAD、FBD、STL这些编程语言怎么选择?

文章出处:【微信号:设备维修屋,微信公众号:设备维修屋】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    几种C语言比较测试报告

    的AVRC最不理想,其IDE工作环境不可与前三种相提并论,而且它的编译器工作方式与CodeVisionAVR相类似。经初步测试其生成的代码,也不很理想,其版本更新的速度也较慢,所以没作进一步详细的测试。下面的比较只是对前三种C
    发表于 03-03 13:51

    三种复位方式比较

    三种复位方式比较
    发表于 08-16 17:31

    ARM架构核心板三种Form Factor之比较

    ARM架构核心板三种FormFactor之比较文 By易江春水国际上,在ARM核心板领域,最为常见的三种Form Factor 分别是SMARC,Qseven, Apalis, 分别有不同的厂家在
    发表于 09-28 10:35

    三种电源控制拓扑的优劣

    个闭环系统和即将被调节的输出电压或电流的反馈。尽管有很多种用于对可用反馈环路进行补偿的不同控制拓扑,但它们通常都可以被归为两类:脉宽调制(PWM)或迟滞。在这两基本拓扑的基础上演变出了第三种拓扑
    发表于 10-08 22:09

    三种电源控制拓扑的优劣分析

    系统中的处理器内核供电,以及工业自动化和汽车信息娱乐系统。  结论  对于不同的应用,“电压模式”、“迟滞”和“基于迟滞”等三种主要的电源控制拓扑各有优劣。虽然大多数电源工程师都习惯并乐于使用电压模式
    发表于 09-29 17:11

    主流的打印机控制语言三种

    打印指令,又称打印控制命令。计算机通过打印控制语言,以软件命令的方法来控制打印机操作,解释执行打印数据,获得打印结果的。对于打印机所实现的复杂功能而言,打印控制语言是基础。它直接关系到打印输入质量的优劣。因为增强我们对打印机控制
    发表于 07-11 06:44

    分析比较三种不同的拓扑,教你如何去选择这三种拓扑?

    从不同的侧重点给出了几种拓扑,将对其进行分析比较三种拓扑有其各自的有缺点,如何来选择它们?
    发表于 04-07 06:05

    三种远程测控终端(RTU)产品之间的比较

    三种远程测控终端(RTU)产品之间的比较
    发表于 05-28 06:27

    怎样同时用LAD和ST语言去描写状态机

    怎样用LAD语言表达状态机?怎样用ST语言表达状态机?怎样同时用LAD和ST语言去描写状态机?
    发表于 09-30 06:01

    STM32的三种boot模式介绍

    、示例验证总结参考资料任务摘要请说明STM32的三种Boot模式的差异,并在之前第11-12周“C语言各种变量的存储地址”作业代码基础上,研究至少两boot模式下,代码下载(烧录)运行后所在的地址位置,与理论对比验证。一、认识
    发表于 12-10 07:46

    STM32的三种Boot模式的差异

    如有错误,欢迎指正,谢谢!目录一、STM32的三种Boot模式的差异二、创建基于MDK创建纯汇编语言的STM32工程模板、汇编基本语法的学习四、编程练习一、STM32的三种Boot模
    发表于 12-20 07:54

    西门子PLC如何对F系统进行编程

    F-CPU 中的用户程序通常由标准用户程序和安全程序组成。标准用户程序是在 STEP 7 中使用标准编程语言(例如 STLLADFBD)或者 CFC 编程
    的头像 发表于 11-07 11:10 2994次阅读

    西门子S7-300PLC编程语言学习课件免费下载

    STEP 7是S7-300/400系列PLC应用设计软件包,所支持的PLC编程语言非常丰富。该软件的标准版支持STL(语句表)、LAD(梯形图)及FBD(功能块图)3种基本编程
    发表于 02-23 08:00 15次下载
    西门子S7-300PLC编程<b class='flag-5'>语言</b>学习课件免费下载

    C语言教程:STL-for-each算法

    C语言教程:STL-for-each算法(电源技术版面费5400)-文档为C语言教程:STL-for-each算法总结文档,是一份不错的参考资料,感兴趣的可以下载看看,,,,,,,,,
    发表于 09-17 12:42 3次下载
    C<b class='flag-5'>语言</b>教程:<b class='flag-5'>STL</b>-for-each算法

    西门子PLC如何对F系统实现应用程序编程

    F-CPU 中的用户程序通常由标准用户程序和安全程序组成。标准用户程序是在 STEP 7 中使用标准编程语言(例如 STLLADFBD)或者 CFC 编程
    的头像 发表于 07-08 09:29 1273次阅读