IEC 61131-3规范的编程语言是IEC工作组对世界规模的PLC厂家的编程语言合理地吸收、学习的基础上构成的一套针对工业操控体系的世界编程语言规范,它不光适用于PLC体系,并且还适用于更广泛的工业操控范畴,为PLC编程语言的全球规范化做出了重要的奉献。
IEC 61131-3规范的5种图形和文本语言,即LD、SFC、FBD、STL和IL。
由于IL指令表语言类似汇编语言使用的人越来越少,也即将从IEC 61131-3的新版本中被删除。(初学者不要在IL上面浪费时间了,也尽量不要在SFC上浪费时间)
而面向对象的编程方式已经引入了IEC61131-3,甚至像C、C++等高级语言,也实际变成PLC常用的编程语言。
01 继电器梯形图(LD)
继电器梯形图(LadderDiagram)语言是PLC首要选用的编程语言,也是PLC最普遍选用的编程语言。梯形图编程语言是从继电器操控体系原理图的基础上演变而来的,与继电器操控体系梯形图的根本思想是共同的,只是在运用符号和表达方式上有必定差异。
LD(梯形图)是一种基于继电器触点电路原理(继电器触点逻辑元素为:触点,继电器绕组,垂直和水平跳线等)的图形语言,可以使用大量不同的功能块。 LD语言的优点是:以电流程形式表示程序(与电气工程专家接近),存在简单规则,仅使用布尔表达式。 在图。 6.1是LD语言程序的示例(左),其等效形式为带有继电器和开关的电路形式(右)。
用这种语言实现的方案称为多阶段。 它们是一组水平链,类似于连接垂直电源导轨的梯子的台阶。
LD编程语言的对象提供了一种将软件模块构造为多个触点,线圈的方法。 这些对象通过实际参数或关系相互连接。
LD部分中单个对象的处理顺序由该部分内部的数据流确定。 连接到左电源总线的步骤从上到下进行处理(连接到左电源总线)。 节中彼此独立的步骤以嵌套顺序处理。
基本语言结构
在左右两侧,LD语言电路受到垂直线(电源总线)的限制。 在它们之间,有一个由触点和继电器线圈组成的电路,类似于普通的电子电路。
从左侧开始,任何电路都从一组触点开始,这些触点从左到右发送对应于逻辑值TRUE或FALSE的“ ON”或“ OFF”状态。 每个触点对应一个逻辑变量(BOOL类型)。 如果变量设置为TRUE,则通过触点传输状态。 否则,正确的连接将获得值“ OFF”。
触点可以并联连接,然后该连接将传输状态“逻辑或”。 如果触点串联连接,则该连接将传输“逻辑与”。
触点可以颠倒。 此触点由符号/表示。 如果变量的值为FALSE,则状态为“ON”。LD语言使您可以:
序列化触点
进行触点的并联连接;
应用常开或常闭触点;
使用开关触点
记录注释;
启用设置/重置输出(设置/重置);
过渡;
在图中包括功能块;
通过EN输入控制块的操作。
触点
触点是一种LD元素,用于传输右侧水平链接左侧的水平链接状态。 此状态是左侧水平链接状态与关联变量或直接地址的状态进行布尔与运算的结果。 触点不会更改关联变量或直接地址的值。
对于普通触点,如果关联的逻辑实际参数的状态为TRUE,则将左侧链接的状态转移到右侧链接。 否则,正确链接的状态为FALSE。
对于反向触点,如果关联的逻辑实际参数的状态为FALSE,则左侧链接的状态会转换为右侧链接。 否则,右链接的状态为TRUE。
在用于检测上升沿的触点中,如果关联的实际参数从FALSE变为TRUE,则右侧链接设置为TRUE,同时,左侧链接的状态为TRUE。 否则,正确链接的状态为FALSE。
在用于检测下降沿的触点中,如果关联的实际参数从“真”到“假”的过渡,则右侧链接设置为TRUE,同时左侧链接的状态为“ True”。 否则,正确链接的状态为FALSE。
线圈
线圈是LD元件,其在左侧传输水平链接状态而在右侧传输不变的水平链接。 在此过程中,将保存关联变量或直接地址的状态。
在普通线圈中,左连接的状态被传送到相关的逻辑实际参数和右连接。
在反相线圈中,左连接的状态被复制到右连接。 左链接的反向状态将复制到关联的逻辑实际参数。 如果链接处于FALSE状态,则右链接也将处于FALSE状态,并且关联的逻辑实际参数将处于TRUE状态。
在安装线圈中,左链接的状态被复制到右链接。 如果左侧链接为TRUE,则关联的逻辑实际参数设置为TRUE,否则它不会更改。 关联的逻辑实际参数只能由复位线圈复位。
在复位线圈中,左连接的状态被复制到右连接。 如果左侧链接为TRUE,则关联的逻辑实际参数设置为FALSE,否则它不会更改。 关联的逻辑实际参数只能由安装线圈设置。
在前上升检测线圈中,左连接的状态被复制到右连接。 如果左侧链接从FALSE转换为TRUE,则在程序循环中BOOL数据类型的关联实际参数将设置为TRUE。
在前退检测线圈中,左连接的状态被复制到右连接。 如果左侧链接从TRUE转换为FALSE,则在程序循环中BOOL数据类型的相关实际参数将设置为TRUE。
“线圈”一词具有执行器的一般含义,因此,在俄语文档中,他们通常谈论链条的输出,尽管也可以找到该术语的特殊含义,例如继电器线圈。
动力母线
左电源总线对应于单个信号。 连接到左电源总线的步骤从上到下进行处理(连接到左电源总线)。
LD样本程序
一个示例是逻辑表达式的实现:
C = A AND NOT B
创建LD图时,只能使用BOOL类型的变量。 添加一个新的触点并将其绑定到名称A(变量名)。 然后添加左侧的电源总线,右侧的电源总线,常规触点,反触点和常规线圈。 普通触点与变量A关联,反向触点与变量B关联,普通线圈与变量C关联。然后一切都串联连接,结果是用LD编写的程序实现了逻辑表达式:
C = A AND NOT B
02 功用块图(FBD)
功用块图(Function Block Diagram)选用相似于数字逻辑门电路的图形符号,逻辑直观,运用方便,它有梯形图编程中的触点和线圈等价的指令,能够处理规模广泛的逻辑问题。
(1)以功用模块为单位,从操控功用下手,使操控计划的剖析和了解变得简略;
(2)功用模块是用图形化的办法描绘功用,它的直观性大大方便了规划人员的编程和组态,有较好的易操作性;
(3)对操控规模较大、操控联系较复杂的体系,因为操控功用的联系能够较清楚地表达出来,因而,编程和组态时刻能够缩短,调试时刻也能削减。
03 次序功用图(SFC)
次序功用图(Sequential Function Chart)亦称流程图或状况搬运图,是一种图形化的功用性阐明语言,专用于描绘工业次序操控程序,运用它能够对具有并发、挑选等杂乱结构的体系进行编程。
04 指令表(IL) 指令表(Instruction List)编程语言相似于计算机中的助记符汇编语言,它是可编程操控器最基础的编程语言,所谓指令表编程,是用一个或几个简略回忆的字符来代表可编程操控器的某种操作功用。这里不在赘述。
05 结构化文本(ST)
结构化文本(Strutured Text)是一种高档的文本语言,能够用来描绘功用,功用块和程序的行为,还能够在次序功用流程图中描绘步、动作和改变的行为。对于结构化文本编程西门子称之为SCL(区别在于细微的差别,比如END_IF后需要加“;”。实际上都指的是结构化文本)。
结构化文本语言表面上与 PASCAL语言很相似,但它是一个专门为工业操控运用开发的编程语言,具有很强的编程才能用于对变量赋值、回调功用和功用块、创建表达式、编写条件句子和迭代程序等。
关注微信公众号,回复“PLC”,获取ST开发资料包。
注意:不是所有的PLC都支撑一切的编程语言(如功用块图、次序功用图就有许多等级低PLC不支撑),而大型的PLC操控体系一般都支撑这5种规范编程语言或相似的编程语言。
如果计划启动PLC编程相关的学习实践,建议采购一套PLC开发套件,比较实用,也可以用在日常调试环境。
值得注意的是,不同厂家的PLC产品,其开发环境,是不一样的,不同体系的厂家,对编程语言的支持也是不一样的,细节不一样的地方比较多,如果涉及到程序移植,一定要多咨询技术支持,一定要多测试。
西门子系列的产品当前市场占有率比较高,一般来说往往也是从西门子系列产品开始熟悉PLC产品。
STEP 7- Micro/WIN SMART 是 S7-200 SMART 的编程组态软件,能流畅运行在Windows 7SP1 或 Windows 10 操作系统上,支持 LAD(梯形图),STL(语句表),FBD(功能块图)编程语言,部分语言之间可以自由转换。更多的人性化设计使编程更容易上手,开发更高效。SMART Web Editor 工具可以协助客户创建用户自定义 Web 页面项目,并将该项目下载到Web 服务器中。
STEP 7- Micro/WIN SMART 下载链接如下:
https://pan.baidu.com/s/1feja52XIpNlL9V0HPnzk9A?pwd=1234
关注微信公众号,回复“PLC”,获取西门子PLC开发资料包。
关注微信公众号,获取更多信息:
共享资料来源于网络,侵权删除历史文章
分析商业模式,必须画好这张图
数字化系列文章专辑
商业模式文章合集
产品经理工具合集
行业报告合集
用户体验以及痛点分析工具:用户旅程地图(Customer Journey Mapping, CJM)
需求优先级分析工具:KANO模型(卡诺模型)
战略分析工具:波特五力模型
家庭应急物资该如何准备 |