之前我们简单学习了PLC的一些基本知识。今天我们再来了解PLC的编程语言吧。IEC 1131-3的编程语言是IEC工作组对世界范围的PLC厂家的编程语言合理地吸收、借鉴的基础上形成的一套针对工业控制系统的国际编程语言标准,它不但适用于PLC系统,而且还适用于更广泛的工业控制领域,为PLC编程语言的全球规范化做出了重要的贡献。

海风教育在线辅导0元一对一试听课等你来领取,领取课程方法:
1、私信留下您的手机号和姓名,需要补习的科目。
2、也可以在海风教育官网留下您的手机号领取 https://www.hfjy.com

PLC的用户程序是设计人员根据控制系统的工艺控制要求,通过PLC编程语言的编制设计的。根据国际电工委员会制定的工业控制编程语言标准(IEC1131-3)。PLC的编程语言包括以下五种:梯形图语言(LD)、指令表语言(IL)、功能模块图语言(FBD)、顺序功能流程图语言(SFC)及结构化文本语言(ST)。

一、继电器梯形图(LD)

继电器梯形图(LD-Ladder Diagram)语言是PLC首先采用的编程语言,也是PLC最普遍采用的编程语言。梯形图编程语言是从继电器控制系统原理图的基础上演变而来的,与继电器控制系统梯形图的基本思想是一致的,只是在使用符号和表达方式上有一定区别。

PLC的设计初衷是为工厂车间电气技术人员而使用的,为了符合继电器控制电路的思维习惯,作为首先在PLC中使用的编程语言,梯形图保留了继电器电路图的风格和习惯,成为广大电气技术人员最容易接受和使用的语言。

  1. 软继电器

PLC梯形图中的某些编程元件沿用了继电器这一名称,如输入继电器、输出继电器、内部辅助继电器等,但是它们不是真实的物理继电器,而是一些存储单元(软继电器),每一软继电器与PLC存储器中映像寄存器的一个存储单元相对应。该存储单元如果为“1”状态,则表示梯形图中对应软继电器的线圈“通电”,其常开触点接通,常闭触点断开,称这种状态是该软继电器的“1”或“ON”状态。如果该存储单元为“0”状态,对应软继电器的线圈和触点的状态与上述的相反,称该软继电器为“0”或“OFF”状态。使用中也常将这些“软继电器”称为编程元件。

  1. 能流

有一个假想的“概念电流”或“能流”(Power Flow)从左向右流动,这一方向与执行用户程序时的逻辑运算的顺序是一致的。能流只能从左向右流动。利用能流这一概念,可以帮助我们更好地理解和分析梯形图。

3.母线

梯形图两侧的垂直公共线称为母线(Bus bar),。在分析梯形图的逻辑关系时,为了借用继电器电路图的分析方法,可以想象左右两侧母线(左母线和右母线)之间有一个左正右负的直流电源电压,母线之间有“能流”从左向右流动。右母线可以不画出。

4.梯形图的逻辑解算

根据梯形图中各触点的状态和逻辑关系,求出与图中各线圈对应的编程元件的状态,称为梯形图的逻辑解算。梯形图中逻辑解算是按从左至右、从上到下的顺序进行的。解算的结果,马上可以被后面的逻辑解算所利用。逻辑解算是根据输入映像寄存器中的值,而不是根据解算瞬时外部输入触点的状态来进行的。

特点:

1.与电气操作原理图相对应,具有直观性和对应性;

2.与指令表程序设计语言有一一对应关系,便于相互的转换和程序的检查;

3.与原有继电器逻辑控制技术相一致,对电气技术人员来说,易于撑握和学习;

4.与原有的继电器逻辑控制技术的不同点是,梯形图中的能流(Power Flow)不是实际意义的电流,内部的继电器也不是实际存在的继电器,因此,应用时,需与原有继电器逻辑控制技术的有关概念区别对待;

二、功能块图(FBD)

功能块图(FBD - Function Block Diagram)采用类似于数字逻辑门电路的图形符号,逻辑直观,使用方便,它有梯形图编程中的触电和线圈等价的指令,可以解决范围广泛的逻辑问题。

特点

1.以功能模块为单位,从控制功能入手,使控制方案的分析和理解变得容易;

2.功能模块是用图形化的方法描述功能,它的直观性大大方便了设计人员的编程和组态,有较好的易操作性;

3.对控制规模较大、控制关系较复录的系统,由于控制功能的关系可以较清楚地表达出来,因此,编程和组态时间可以缩短,调试时间也能减少。

三、顺序功能图(SFC)

顺序功能图(SFC - Sequential Function Chart)亦称流程图或状态转移图,是一种图形化的功能性说明语言,专用于描述工业顺序控制程序,使用它可以对具有并发、选择等复杂结构的系统进行编程。

特点

1.常用于系统的规模校大,程序关系较复杂的场合;

2.以功能为主线,条理清楚,便于对程序操作的理解和沟通;

3.对大型的程序,可分工设计,采用较为灵活的程序结构,可节省程序设计时间和调试时间;

4.只有在活动步的命令和操作被执行,对活动步后的转换进行扫描,因此,整个程序的扫描时间较其他程序编制的程序扫描时间要大大缩短。

四、指令表(IL)

指令表(IL-Instruction List)编程语言类似于计算机中的助记符汇编语言,它是可编程控制器最基础的编程语言,所谓指令表编程,是用一个或几个容易记忆的字符来代表可编程控制器的某种操作功能。

特点

1.与梯形图有一一对应关系,其特点与梯形图语言基本类同;

2.采用助记符来表示操作功能,具有容易记忆,便于撑握的特点;

3.在编程器的键盘上采用助记符表示,具有便于操作的特点,可在无计算机的场合进行编程设计。

五、结构化文本(ST)

结构化文本(ST-Strutured Text)是一种高级的文本语言,可以用来描述功能,功能块和程序的行为,还可以在顺序功能流程图中描述步、动作和转变的行为。结构化文本语言表面上与 PASCAL语言很相似,但它是一个专门为工业控制应用开发的编程语言,具有很强的编程能力用于对变量赋值、回调功能和功能块、创建表达式、编写条件语句和迭代程序等。

特点

1.直观性和易操作性等性能较差;

2.采用高级语言进行编程,可以完成较复杂的控制运算;

3.常被用于采用功能模块等其他语言较难实现的一些控制功能的实施。

4.需要有一定的计算机高级程序设计语言的知识和编程技巧,对编程人员的技能要求较高,普通电气人员无法完成。

总结:不是所有的PLC都支持所有的编程语言(如功能块图、顺序功能图就有很多低档PLC不支持),而大型的PLC控制系统一般都支持这5种标准编程语言或类似的编程语言。还有一些标准以外的编程语言,它们虽然没有被选择进标准语言中,但是它们是为了适合某些特殊场合的应用而开发的,在某些情况下,它们也许是较好的编程语言。

PLC有几种编程语言?各有什么特点?相关推荐

  1. plc和计算机语言,PLC的几种编程语言

    在梯形图中,分别用符号 表示PLC编程元件(软继电器)的常开触点和常 闭触点,用符号 表示其线圈.与传统的控制图一样,每个继电器和相应的触点都有 自己的特定标号,以示区别,其中有些对应PLC外部的输入 ...

  2. 电子凸轮追剪曲线生成算法 算法,理解后可转成其他品牌PLC或任何一种编程语言

    电子凸轮追剪曲线生成算法. 品牌:麦格米特(算法,理解后可转成其他品牌PLC或任何一种编程语言) YID:5850633554519425

  3. 电子凸轮追剪曲线生成算法 理解后可转成其他品牌PLC或任何一种编程语言

    电子凸轮追剪曲线生成算法. 品牌:麦格米特(算法,理解后可转成其他品牌PLC或任何一种编程语言) 只有程序 YID:6350633554519425混圆形意太极门掌门人

  4. 计算机控制系统编程语言,PLC的五种主要编程语言是什么?

    与一般的计算机语言相比,PLC软件的编程语言具有明显的特点. 它不同于高级语言和通用汇编语言,必须满足易于编写和调试的要求. 早期PLC仅支持梯形图编程语言和指令列表编程语言. 根据国际电工委员会的说 ...

  5. 早期计算机语言中 所有的指令,plc常用的几种编程语言

    原标题:plc常用的几种编程语言 大家都知道学习某种新知识,技巧跟方法是关键的.正如新手刚开始接触PLC,它的软件编程语言与一般计算机语言相比,具有明显的特点,它既不同于高级语言,也不同于一般的汇编语 ...

  6. GA用什么计算机语言写,PLC五种编程语言

    <PLC五种编程语言>由会员分享,可在线阅读,更多相关<PLC五种编程语言(21页珍藏版)>请在人人文库网上搜索. 1.精选文库 PLC的五种标准编程语言 设计的.根据国际电工 ...

  7. PLC是一种专门为在工业环境下应用而设计

    PLC是一种专门为在工业环境下应用而设计的数字运算操作的电子装置.它采用可以编制程序的存储器,用来在其内部存储执行逻辑运算.顺序运算.计时.计数和算术运算等操作的指令,并能通过数字式或模拟式的输入和输 ...

  8. 机器学习编程语言_我应该选择哪种编程语言? 我应该专注于前端吗? 后端? 机器学习?...

    机器学习编程语言 by Preethi Kasireddy 通过Preethi Kasireddy 我应该选择哪种编程语言? 我应该专注于前端吗? 后端? 机器学习? (What programmin ...

  9. 2020年,最适合AI的5种编程语言

    来源 | medium 编译 | 张涛 责编 | Carol 出品 | AI科技大本营(ID:rgznai100) AI系统的开发必须有计算机代码,而计算机程序的开发有不同类型的编程语言可以选择.本文 ...

  10. 漫画:7 种编程语言的学习曲线

    点击上方蓝色"方志朋",选择"设为星标" 回复"666"获取独家整理的学习资料! 程序员 Dobiasd 绘制七种编程语言的学习曲线图. 这 ...

最新文章

  1. 李超线段树(Li-Chao Segment Tree)
  2. dcut matlab,cut 命令详解
  3. window.opener.document.getElementById(“a”)用标准的Jquery 语言怎么写
  4. python读取excel数据并饼图_python生成excel表格以及饼图 示例源码
  5. 1020:打印ASCII码
  6. python中isalpha的用法_python函数--isalpha()方法
  7. idefo功能模型图_利用好预后预测模型,2个月发篇4分+SCI不是梦
  8. CSDN-markdown编辑器的使用方法
  9. LeetCode 101 对称二叉树的几种思路(Python实现)
  10. android+获取图库图片+4.4,Android 从 Android 本地图库选择多个图片
  11. 了解如何高速嵌入式?
  12. Windows 最值得推荐的装机必备“神器”软件大合集
  13. 成都互联网公司和生活成本
  14. 基于统计语言模型的拼音输入法
  15. Creo二次开发:参数化设计
  16. 观后感|当幸福来敲门 The Pursuit of Happyness
  17. CRX 4 Chrome
  18. 02C++对C的增强
  19. 企业邮箱登录入口有哪些?公司邮箱账号怎么登陆更方便
  20. 计算机是如何跑起来的百度云,《程序是怎样跑起来的》(下)

热门文章

  1. 推荐几个做自媒体好用的电影素材网站
  2. Python 随机漫步
  3. 计算机桌面的图标怎么删除,电脑桌面图标有箭头怎么去掉?
  4. 不久的明天,也许是很光明的
  5. Qt:QPushButton 单击、双击响应区分
  6. COMMAND NOT SUPPORTED 解决方法
  7. MIMO技术杂谈(一):鱼与熊掌能否兼得?--浅谈分集与复用的权衡
  8. 太阁5 800人物 喜好
  9. html语言type,HTML中type是什么意思?
  10. 最新支付宝蚂蚁森林自动偷能量,解放双手