梯形图语言编程

简介: 梯形图语言编程

梯形图语言是从继电器—接触器控制基础上发展起来的一种编程语言,其特点是易学易用,历史悠久。特别是对于具有电气控制背景的人而言,梯形图可以看做是继电器逻辑图的软件延伸和发展。尽管两者的结构非常类似,但梯形图软件的执行过程与继电器硬件逻辑的连接是完全不同的。

IEC 61131-3标准定义了梯形图中用到的元素,包括电源轨线、连接元素、触点、线圈、功能和功能块等。


(1)电源轨线

——电源轨线的图形元素也称为母线。它的图形表示是位于梯形图左侧和右侧的两条垂直线。在梯形图中,能流从左则电源轨线开始,向右流动,经过连接元素和其他连接在该梯级的图形元素到达右电源轨线。


(2)连接元素

——是指梯形图中连接各种触点、线圈、功能和功能块及电源轨线的线路,包括水平线路和垂直线路。连接元素的状态是布尔量。连接元素将最靠近该元素左侧图形符号的状态传递到该元素的右侧图形元素。


(3)触点

——是梯形图的图形元素。梯形图的触点沿用电气逻辑图的触点术语,用于表示布尔变量的状态变化。触点是向其右侧水平连接元素传递一个状态的梯形元素。按静态特性分,触点可分为常开触点和常闭触点。常开触点在正常工况下,触点断开,状态为0;常闭触点在正常工况下,触点闭合,其状态为1。此外,在处理布尔量的状态变化时,要用到触点的上升沿和下降沿。


(4)线圈

——是梯形图的图形元素。梯形图的线圈也沿用电气逻辑图的线圈术语,用于表示布尔量状态的变化。线圈是将其左侧水平连接元素状态毫无保留地传递到其右侧水平连接元素的梯形图元素。在传递过程中,将左侧连接的有关变量和直接地址的状态存储到合适的布尔量中。线圈按照其特性可分为瞬时线圈、锁存线圈和跳变线圈等。


(5)功能和功能块

——梯形图编程语言支持功能和功能块的调用。

图6.12所示为用KW公司的MULTIPROG编程软件编写的梯形图程序,该梯形图中就包括IEC 61131-3标准中的一些常用梯形图编程图形元素。


功能块图

功能块图编程语言是将各种功能块连接起来实现所需控制功能。功能块图编程语言源于信号处理领域。功能块图编程语言是IEC 61499标准的基础。功能块图语言在过程控制中的应用更加广泛。它用一系列相互连接的图形块表达功能、功能块和程序的行为,就如同在电子电路图常见的一样。也可以将它想象为用许多处理元件之间的信号流量图来描述一个系统的行为。功能块图编程语言的图形符号由功能、功能块和连接元素组成。


功能块图编程语言可以通过使用跳转、返回和反馈等元素实现对程序执行的控制。跳转分为无条件跳转和有条件跳转。返回分为条件返回和无条件返回。反馈并不改变执行控制的流向,但它影响下次求值中的输入变量。


该实例的内部网络结构。该实例描述了一个水箱液位控制实现。当实际液位测量值小于等于所设定的最小液位时,输出一个ON信号;当测量值大于等于最高液位时,输出一个OFF信号。当然,由于液体不可能同时低于最低位和高于最高位,程序中用“RS”或“SR”功能块都可以。

c4bce864d2bb42b9bacf753eccf2933a.png

15ed460eccb84225b44e45afb1da535d.png

结构化文本语言

结构化文本语言(ST)是高层编程语言,类似于PASCAL编程语言。它不采用底层的面向机器的操作符,而是采用高度压缩的方式提供大量抽象语句来描述复杂控制系统的功能。一般而言,它可以用来描述功能、功能块和程序的行为,也可以在SFC中描述步、动作块和转移的行为。相比较而言,它特别适合于定义复杂的功能块。这是因为它具有很强的编程能力,可方便地对变量赋值,调用功能和功能块,创建表达式,编写条件语句和迭代程序等。结构化文本语言编写的程序格式自由,可在关键词与标识符之间的任何地方插入制表符、换行符和注释。它还具有易学易用、易读易理解的特点。在拥有了更多高级编程语言的特点时,它也失去了一些面向机器的操作符的特点,特别是结构化文本语言编写的程序执行效率较低,因为源程序要编译为机器语言才能执行。


熟悉高级编程语言工程师会喜欢用结构化文本编程语言,用该语言编程的程序与梯形图程序相比十分的简捷。


该程序的功能是判断当前的时间属于哪个时间区间(如可以定义期间A的时间段为0:00~1:30)。程序中首先取得PLC的系统时钟,这里要注意数据格式的转换。当前时间的小时存储在变量SysHour,分钟存储在变量SysMin。然后定义了衍生功能块“PhaseIs”,该功能块的代码也是采用结构化文本语言编写见图6.15(a)。在“变量和FB实例”中再定义该衍生功能块实例“IsZ1Ja”。然后在整个项目的某个程序中就可以通过对该功能块实例的调用得到判断结果,如图

03499ce12660407c849aaae11a72ba6d.png

相关文章
|
Ubuntu
百度搜索:蓝易云【Ubuntu开机自启服务systemd.service配置教程】
现在,你的服务将在Ubuntu开机时自动启动,并在之后的启动中持续运行。记得根据你的实际需求修改 `your_service_name.service`文件中的相关信息。
792 2
|
存储 设计模式 编译器
【C/C++ 虚函数以及替代方案】C++ 虚函数的使用开销以及替代方案(一)
【C/C++ 虚函数以及替代方案】C++ 虚函数的使用开销以及替代方案
975 0
|
存储 Java 开发者
鸿蒙开发:ArkTs语言变量和常量
变量是一种用于存储数据的容器,并且其存储的数据值可以在程序执行过程中被改变,变量通常有一个名字(标识符),用于在程序中引用它。
493 8
|
算法 Java Go
【经典算法】LeetCode 67. 二进制求和(Java/C/Python3/Golang实现含注释说明,Easy)
【经典算法】LeetCode 67. 二进制求和(Java/C/Python3/Golang实现含注释说明,Easy)
679 2
|
人工智能 监控 数据挖掘
2025年有哪些工单管理系统值得推荐?
随着企业数字化转型加速,工单管理系统成为优化流程、提升服务的关键工具。2025年备受关注的主流系统包括:合力亿捷,中国移动,中国联通,中国电信等
417 0
|
算法
数据结构之旅行商问题(深度优先搜索)
旅行商问题(TSP)是寻找访问多个城市并返回起点的最短路径的经典问题。本文介绍了TSP的背景、应用、复杂性和解决方法,重点讲解了使用深度优先搜索(DFS)算法求解TSP的过程。通过邻接矩阵表示城市间的距离,利用访问数组和栈结构辅助DFS遍历,最终找到最优路径。此方法虽然能保证找到最优解,但时间复杂度高,适用于城市数量较少的情况。示例代码展示了算法的具体实现及结果分析。
639 2
|
API C# 开发者
基于Material Design风格开源、免费的WinForms UI控件库
基于Material Design风格开源、免费的WinForms UI控件库!
552 0
|
负载均衡 固态存储 Linux
阿里云轻量应用服务器、云服务器、gpu云服务器最新收费标准参考
轻量应用服务器、云服务器、gpu云服务器是阿里云服务器产品中,比较热门的云服务器产品类型,不同类型的云服务器产品收费模式与收费标准是不一样的,本文为大家展示这几个云服务器产品的最新收费标准情况,以供参考。
阿里云轻量应用服务器、云服务器、gpu云服务器最新收费标准参考
|
存储 小程序 JavaScript
基于微信小程序开发简约打卡程序及源码
基于微信小程序开发简约打卡程序及源码
956 0

热门文章

最新文章