本文介绍STEP7 的三种基本编程语言:LAD、FBD以及STL。

一、梯形图LAD梯形图语言是从常用的继电器与接触器逻辑控制基础上简化了符号演变而来的,具有形象、直观、实用等特点,电气技术人员容易接受,是目前运用上最多的一种plc的编程语言。

在PLC程序图中,左、右母线类似于继电器与接触器控制电源线,输出线圈类似于负载,输入触点类似于按钮。梯形图由若干阶级构成,自上而下排列,每个阶级起于左母线,经过触点与线圈,止于右母线。图1为一段典型的梯形图语言编写的程序。

图1 梯形图语言

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

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

图2 FBD语言

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

图3 真值表

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

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

图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语言了。

step计算机语言,STEP7的三种基本编程语言LAD、FBD及STL 该如何抉择?相关推荐

  1. 程序初学者推荐学习的三种热门编程语言

    那一种编程语言都要求精通才能吃编程程序这碗饭,所以以我的角度,谈一谈程序初学者应该推荐选哪种编程语言更好选择. 前言:学技术,贵在坚持与积累 在当前的社会需求中,市场上运用最多的.最为广泛的.最热门的 ...

  2. 2021年最火的计算机语言,2021 年,最流行三种编程语言,你知道嘛??

    原标题:2021 年,最流行三种编程语言,你知道嘛?? 怎样判断哪种编程语言最流行?正如要挑选最受欢迎的冰激凌一样,每个人都有自己的最爱.实际上,由于各种原因,不同的开发人员喜欢不同的编程语言,当你认 ...

  3. python开发直播网站_开发直播网站源码的三种计算机语言

    直播网站源码开发所用的语言,根据未来运营平台不同,其选择也不同.一般来说,如果是PC后台,那么会采用PHP语言编写,如果是在安卓上开发,则选择Java语言,如果是在iOS上开发,则采用object-c ...

  4. 计算机语言分为三种:机器语言、汇编语言和高级语言

    计算机语言有哪几种? 计算机语言分为三种:机器语言.汇编语言和高级语言 1.机器语言 机器语言是用二进制代码表示计算机能直接识别和执行的一种机器指令的集合,它是计算机的设计者通过计算机的硬件结构赋予计 ...

  5. 你需要掌握的三种编程语言

    每个编程人员都需要至少掌握三种编程语言.当然,这只是我的一家之言.这是我经过多年养成的观点,也许是偏见,但我能够根据一个人所喜欢的编程语言来快速的了解一个程序员.当我读简历时,我会尝试使用我的这套观念 ...

  6. 老而不死的三种编程语言!

    在软件世界中,铁打的二进制,流水的语言.从计算机诞生至今,不知诞生了多少门编程语言.译者查了一下 Wikipedia,好家伙,名单上足足有几百种!但并不是所有的语言都能长期占据 Top 10.今天我们 ...

  7. 不会三种编程语言的不算程序员 走近阿里云 MVP烁淼吐槽大佬

    简介: 为将阿里云 MVP打造成为技术顶尖人群的社群,建立成员之间连接,促进相互交流和业务影响,迸发各行各业技术人的无限价值.2020年2月初,运营团队与阿里云MVP们共同推出"走近阿里云M ...

  8. python三大编程语言_程序员最需要的三种编程语言

    随着科学技术的进步和新技术的进步,编程语言的种类越来越多,变化是程序员需要跟踪和学习许多语言 然而,有太多的语言无法一一掌握 在目前的形式中,最需要掌握的三种编程语言是 现在判断还不晚 坦白说,找工作 ...

  9. python和c++哪个好-Scratch和Python与C++三种编程语言选哪个好

    Scratch和Python与C++三种编程语言选哪个好? 目前少儿编程培训机构主要提供的有三种主流课程,分别是Scratch.Python和C++,面对这三种课程家长该如何选择呢,到底哪种课程适合孩 ...

最新文章

  1. 比特币现金供应社交媒体平台备忘录继续蓬勃发展
  2. MYSQL学习笔记 (三)JOIN用法
  3. 世界公认最好的记忆方法_全球公认最好的12个教育孩子的方法,值得每个家长收藏学习!...
  4. fastai学习:01_intro Questionnaire
  5. [Unity] Perfab 和 Scene 中显示的物体局部坐标系的原点不是实际原点
  6. Mybatisの常见面试题
  7. 算法提高 求最大值java_算法笔记_096:蓝桥杯练习 算法提高 求最大值(Java)
  8. 2021年中国中端婴儿车和婴儿车市场趋势报告、技术动态创新及2027年市场预测
  9. JavaScript基础视频教程总结(011-020章)
  10. office软件提示“您的组织策略阻止我们进行该操作”错误的解决办法-终极汇总
  11. python使用gdal读写BIP、BSQ数据格式tif及相互转换
  12. dbm和db的关系与区别
  13. Disk-expansion
  14. Pokémon Army (easyversion) -每天一把CF - 20201007
  15. jzoj(senior)4208. 【五校联考1day1】线段树什么的最讨厌了
  16. IDEA 2021一键修改文件后缀名方法
  17. 【无标题】ChatGPT的官网是多少,在国内能使用吗
  18. 写给屌丝程序员的免费空间个人blog的建站攻略
  19. Kali Linux安装配置JDK1.8
  20. unity 手电筒光源SpotLight

热门文章

  1. 7年沉淀之作--滴滴Logi日志服务套件
  2. 【Java / Kotlin】Warning:Leaking ‘this‘ in constructor of non-final class
  3. 事件推送网关:让cmdb告别“花瓶”
  4. Java减肥计划(swith版)
  5. Android摄像头 只拍摄SurfaceView预览界面特定区域内容(矩形框)---完整实现(原理 底层Surface
  6. 【关于微阵列芯片和RNA-seq的比较】
  7. python程序设计基础与应用董付国电子版_Python 程序设计基础(董付国 著)完整版PDF_IT教程网...
  8. NLP在线医生(三)
  9. FastJson1.2.24反序列化导致任意命令执行漏洞复现(CVE-2017-18349)
  10. js实现图片拖拽,定点缩放,旋转 (二)