可以基于应用类型来选择可编程逻辑控制器(PLC)或其它类型的控制器,但是在选择时,应考虑到随附的控制器编程软件平台的能力,因为这将对快速和高效的编码有很大的影响。
打开软件开发平台,创建新项目,利用控制器自带的编程软件包,从零开始编写梯形代码。这种方法要求进行动态配置,效率有时不如其它方法。但是,某些控制器编程软件平台能够提供更高的效率。通过设计,这些平台引导开发人员,按照正确的步骤开发软件,可以减少编程所需的工作量。
图1:一些控制器,如AutomationDirect公司的Do-more BRX微型PLC系列,可提供自上而下的配置和以设备为中心的方法,以实现更高效的编程。图片来源: AutomationDirect
一种集成了两方面优势的方法:自上而下的组态和以设备为中心的概念,可以实现更高效的编程(见图1)。在配置PLC项目时CONTROL ENGINEERING China版权所有,自上而下的组态通过展示哪些是需要的,哪些是不需要的,为程序员提供了一个清晰的路径,上述工作都是通过菜单驱动的选择。以设备为中心的概念使设备可以在“幕后”处理公共功能,从而解放执行这些任务的编程人员。
自上而下的配置
对于某些控制器而言CONTROL ENGINEERING China版权所有,使用自上而下的方法可以简化配置(见表1)。在该表中,任务按优先级排序,列表中的每一项取决于该项或其上各项。例如,CPU配置之下的所有内容都取决于CPU的配置方式。串口和端口类型、以太网输入/输出(I/O)等主站选项和服务器选项(如Modbus/TCP和EtherNet/IP显式报文等),通常是CPU配置期间可用的配置选项。这些选择为CPU配置下的部分或全部项目添加必要的参数。
按照适当的顺序来配置控制器,有助于后续步骤的顺利实施,简化并实现软件的自动化开发。例如,将CPU配置为Modbus RTU客户端,仅提供合适的参数来配置后续的项目,从而简化后续步骤。
以设备为中心的概念
有序配置所实现的开发效率,直接导致以设备为中心的概念的出现。利用这些概念,梯形图代码可以与中间设备进行通信,而不是直接与硬件本身通信(见图2)。中间设备类似于PC上的打印机驱动程序,其中驱动程序(设备)处理所有底层细节,因此程序员可以向打印机发送数据,而不必担心打印机的程序设计。
图2:以设备为中心的方法,利用设备来处理硬件接口的底层细节,可以简化编程。
程序员可以将设备看作传感器、编码器、I/O模块、变频器、EtherNet / IP模块、远程机架或类似的硬件部件。在以设备为中心的控制器中,这些设备就是程序和硬件之间的替代代码。采用这个方法可以对设备进行配置,并且处理控制器对硬件控制的细节,例如建立通信协议、信号交换和定义存储器要求。大部分硬件细节都是通过每个设备的配置来处理,而不是通过控制器编程来处理的。
配置完成之后
一旦配置完成,程序指令就会与设备进行通信,而不是直接与硬件通信。该指令使用定义的内存、信号交换和在设备配置期间创建的内存标志。指令还可以使用位和整数进行逻辑决策直接与内存“对话”。例如 ,该指令可以执行数学功能,并将浮点数计算结果存储在内存中。
类似串行的设备,也可直接与存储器通信。当数据流入或流出串口时,设备会处理内存中的缓冲和状态标志。该装置处理幕后细节,使编程以设备为中心,所有其它一切都围绕设备运转。
服务器也可以被认为是一个设备。服务器在后台运行,直接与硬件通信,在硬件和内存之间移动数据。Modbus TCP就是服务器的一个实例。它执行的功能,大多数情况下都在控制器程序之外,但控制器可以访问服务器。
让设备发挥效率
无论所选硬件的复杂程度如何,设备都应该能在硬件和控制器程序之间提供简洁、统一的界面。每个设备的设置方式都是相同的,例如Modbus / RTU或通用串行端口,方法是遵循自上而下的配置步骤。
一个典型的应用程序,比如箱子转向器,包含几个必须控制的硬件。该应用程序可以包括编码器,以使分流门与不同的箱子长度同步,电机由变频器控制,条码阅读器扫描被传送的箱子以确定目的地。需要输入和输出来检监测传感器、以定位箱子,并控制气压驱动器,比如提升装置。
正如箱子转向器应用程序所展示的,将几个不同的自动化硬件,通过硬件组件及其所需的定义设备,连接到同一个PLC上,这并不少见。然而,在这种情况下,一个具有自上而下配置和以设备为中心的概念的控制器,很快就可以完成配置工作,而且其中大部分工作都是自动完成的。
如果控制器缺少板载高速输入,则高速计数器模块可用于编码器正交脉冲信号的计数。此模块不是CPU配置的一部分,但它在第二步即I/O配置中自动出现。然后,第三步采用默认值,为出现的模块自动填充所需的参数。任何配置编辑任务都可以在这一步实现。PLC将自动处理新增模块的I/O映射CONTROL ENGINEERING China版权所有,并创建所需的映像寄存器地址。
控制器的以太网端口可以与变频器通信。作为CPU配置步骤的一部分,从配置列表的顶部开始,启用主以太网I/O。这需要在I/O配置中创建一个输入,可以对其进行IP配置和其它通信选项。由于其它参数(如I/O映射)都已经自动完成,因此正常情况下就不需要进行更多配置。
控制器的串行端口,利用简单的ASCII文本字符串与条形码扫描仪进行通信。在CPU配置期间,进行通用串行总线的配置,可以识别该端口,包括诸如波特率和硬件协议(如RS-232)的设置。不需要I/O和模块配置,只要提供预先配置的接口访问系统资源,就可以自动完成设备的配置。内存配置步骤自动为设备分配内存。
可采用多点离散输入、输出模块用于对传感器和气动系统进行监测和控制。这些模块的配置方法类似。这些设备中的某些选项很容易设置,而另外一些选项则比较复杂,但都使用相同的方法。配置从列表顶部开始,逐行向下,只填写在现有步骤中未自动定义的参数.
有效的指令
如图2所示,可以快速配置自上而下和以设备为中心的控制器编程平台。具有这类编程软件的控制器通常还提供更有效的功能,如比例-积分-微分(PID)回路和运动控制模块。
PID回路有成千上万的用途,所以没有一个普遍适用的解决方案。有些控制器选择有限,但另一些控制器则改进了PID指令,以通过独立、模块化、互换、实时的配置方法来提高效率,满足应用程序的需求。
效率提升,一部分得益于PID回路分解为较小模块。不是将所有PID参数,例如过滤器、缩放、斜坡表和报警处理器嵌入到同一个PID指令中,而是使用独立的指令来访问单个参数,以简化这些控制算法的定制。这些指令还包括用于显示的趋势图,便于了解控制回路的响应情况CONTROL ENGINEERING China版权所有,并帮助进行最初的调节和故障排除。
运动控制指令,可以遵循类似的方法,可根据指令的复杂程度,细分为不同的层次。简单的运动指令,用最基本的运动命令,辅以少量配置,就可以快速完成应用配置。中级运动指令,则需要提供更多的用户定义参数。高级指令,则使选择或创建客户运动路径成为可能,而这只需要一个简单的配置过程。
先进的控制器正越来越多地通过采用自上而下的配置方法和以设备为中心的概念来简化编程。 通过适当的配置,控制器软件程序和硬件之间的大部分设备接口可以自动且高效地完成工作www.cechina.cn,而无需编写代码。 更快的配置导致快速的编程,而且随着各种可用指令的增加,这一点得到了增强。(作者:Bill Dehner)