没有人为所有用途的IEC 61131-3。事实上,使用IEC 61131-3语言编程的最佳方法是使用多种语言。容纳(以及其他事情),每个工程师都有不同的编程方法。
顺序功能图表(SFC):证监会是iec61131中最高级别的代码标准。从技术上讲,它不是一种语言,而是一种划分代码和可视化显示机器状态或机器当前运行模式的方法。状态可以是初始化状态……或者从初始化状态切换到待机状态……或者从该状态切换到自动或手动模式……等等。
SFC基本上由示出机器如何运行的图 - 作为操作员层,让任何人接近和调查顺序功能图表并立即了解机器应该如何运行 - 以及与进入机器的零件或材料相关的过程......以及最终结果将是什么样的。拥有这些单独的模式意味着工程师和操作员可以轻松进入每个并钻取到“维护”层。
梯子逻辑:许多工程师担心IEC 61131-3旨在废除梯子逻辑 - 尽管这根本不是真的。许多美国维护人员历史悠久。它是一种熟悉的和视觉语言,可以清楚地显示一组输入,特别是模式和预期输出的输入,响应动作。这是一个完美的维护层,因为它清楚地显示了因果关系 - 让人员对该节点内的机器的正确方面进行故障排除和写入代码,导致问题。
问题是梯子限制了其他类型的机器编程。传统的设计人员在诸如c#和c++以及Python这样的可视化语言中编写梯形逻辑,这些语言极大地(或不能)使高级数学、数据处理和跨组件通信驱动程序复杂化。对于这样的操作,程序员需要花费大量的时间来点击、拖动和创建线圈。由此产生的编程也会相当笨拙——一阶又一阶的可视代码难以调试。
更好地选择更多参与进程是功能块。代码允许程序员设置在功能块中包装的操作和输出操作 - 因为维护人员不一定需要查看开发人员后端代码。程序员可以将其结构化文本放在该函数块中,又可以将其锁定到库中。这些代码可以被编译且甚至被保护,作为OEM的知识产权 - IP的一部分,在后端结构化文本中,最终用户无法访问。
这种代码与IEC 61131-3的分层和预先考虑的所有方式,在不同的人员将与设计交互,使机器构建更加健壮。询问谁最终会阅读代码(以及哪种语言对他们解释程序想要做的事情最有帮助)也会使设计更容易理解。包装机器语言(PackML)等框架和指导方针使这种分层代码更容易编写。
Lenze c250-S安全控制器让工程师在PLCopen标准的基础上,用单一的工程工具编程所有的机器安全。图片由Lenze Americas提供
某些语言是运动控制更常见的语言?
如上所述,IEC 61131-3编程的一个关键强度是它允许以多种语言分层代码。这解决了最终需要操作和访问机器及其代码的所有人员类型的各种人员类型的需求。它还让工程师远离使用一种语言的一切。毕竟,例如,某些语言更好地为流程导向的任务更好地工作而不是离散运动控制。IEC 61131-3环境让工程师融合在一起的不同编程。有住宿庞彭运动控制功能块(PLCopen是另一个行业标准,为运动控制制造商提供公平的竞争环境)与运动功能,如MC_Power用于动力驱动和MC_Jog用于移动电机,例如。
•一种常见方法是在结构化文本(ST)中创建运动控制代码。坚定的信徒在结构化文本中感到几乎每种情况都会感到圣卓越。但是,技术人员的缺点可能较少。
•另一种常见方法是在梯级级别创建运动控制功能块 - 特别是在维护人员可能需要了解和跟踪机器函数的情况下,用于整个过程的更高级别的透视图。
功能框图不是主要用于过程控制而不是运动控制吗?
今天的可编程自动化控制器(PACs)和运动控制在过去五年的发展,意味着现在在使用何种语言的地方有了更多的流动性。PACs形式的控制器硬件与传统系统有很大的不同,不同的设备执行不同的工作——独立的运动控制器从机器的PLC中分离出来,从人机界面中分离出来。过去,所有的硬件都与不同的进程和软件相关联。现在,随着IEC 61131-3的统一硬件已经极大地改变了工业编码器的编程方式——甚至工业对离散控制和过程控制的概念化方式……因为现在它们通常由一个设备和灵活选择的语言混合运行。
从这个常见问题解答的洞察力来自最近与Marissa Tucker,Parker Hannifin的控制和自动化产品经理有关指定基于标准而不是品牌的控制。有关从PACKS的更多信息,以及尝试IEC 61131-3的免费仿真软件,访问parker.com/emn/pac。
提交:播客那运动控制技巧





告诉我们你的想法!