控制器嵌入编程效率

封面故事:PLC编程:选择正确的控制器和附带的编程软件可以提高控制器编程过程的效率。

通过比尔•德恩 2017年7月7日

可编程逻辑控制器(PLC)或其他控制器是根据其应用进行选择的,但选择时应考虑配套控制器编程软件平台的功能,因为这将对快速高效编码产生很大影响。

可以启动开发平台,创建一个新项目,并使用任何控制器编程软件包从头开始编写梯形代码,但这种方法需要动态配置,并且不如其他方法有效。然而,一些控制器编程软件平台具有内置的效率。根据设计,这些平台引导开发人员沿着正确的路径,减少了完成程序所需的努力。

一种方法结合了两种更有效的编程方法:自顶向下配置和以设备为中心的概念(图1)。自顶向下配置通过显示配置PLC项目时需要什么和不需要什么,为程序员提供了一个清晰的路径,所有这些都基于菜单驱动的选择。以设备为中心的概念让设备在“幕后”处理常见功能,将程序员从这些任务中解放出来。

自顶向下配置和以设备为中心的编程的示例和解释可以提高编程效率。

自上而下的配置

对于某些控制器,使用自顶向下的方法简化配置(表)。在表中,任务的顺序是按优先级排列的,列表中的每个项都取决于它上面的项。例如,CPU配置以下的所有内容取决于CPU的配置方式。串口、端口类型、以太网输入/输出(I/O)主选项和服务器选项(如Modbus/TCP和Ethernet /IP显式消息传递)通常是CPU配置期间可用的配置选择。(EtherNet/IP是来自ODVA的工业以太网协议。)这些选择将必要的参数添加到CPU配置下面的某些或所有项中。

表:自顶向下配置步骤
1.CPU配置
2.I / O配置
3.模块配置
4.设备配置
5.I / O映射
6.内存配置

以适当的顺序配置控制器可以帮助它下面的所有东西都就位,简化并自动化一些软件开发。例如,仅将CPU配置为Modbus RTU客户端,仅通过暴露适当的参数选项来影响以下项目,简化了后续步骤。

Device-centric概念

有序配置实现的开发效率直接导致以设备为中心的概念。有了这些概念,梯形代码与中间的设备对话,而不是直接与硬件本身对话(图2)。设备类似于PC上的打印机驱动程序,其中驱动程序(设备)处理所有底层细节,因此程序员可以将数据发送到打印机,而不用担心打印机编程。

程序员可能认为设备是传感器、编码器、I/O模块、变频驱动器(VFD)、以太网/IP模块、远程机架或类似的硬件。在以设备为中心的控制器中,设备是程序和硬件之间的一段代码。使用这个概念,设备被配置,它处理控制器控制硬件的细节,比如建立通信协议、握手和定义内存需求。许多硬件细节是通过每个设备的配置来处理的,而不是通过控制器编程。

配置后

一旦配置了设备,程序指令就会与设备对话,而不是直接与硬件对话。该指令使用在设备配置过程中创建的已定义内存、握手位和内存标志。该指令还可以使用位和整数直接与内存进行对话以做出逻辑决策。例如,该指令还可以执行数学函数并将浮点结果放回内存。

一个设备,例如串行端口,也直接与内存通信。当数据流入或流出串口时,设备在内存中处理缓冲和状态标志。处理幕后细节的设备使编程以设备为中心,一切都围绕着设备。

服务器也可以看作是一个设备。它在后台运行,直接与硬件通信,并在硬件和内存之间移动数据。Modbus TCP就是一个服务器的例子。它的大部分功能都在控制器程序之外,但可以被控制器程序访问。

用设备把效率付诸行动

无论所选硬件的复杂性如何,该设备在硬件和控制器程序之间提供了一个干净、统一的接口。每个设备都以相同的方式设置,例如Modbus/RTU或通用串行端口,遵循自顶向下的配置步骤,这需要选择功能并填写一些空白。

一个典型的应用程序,如盒式分流器,包含几个必须控制的硬件。该应用程序可以包括编码器,将分流门同步到不同的盒子长度,由VFD控制的电机,以及条形码阅读器,扫描传送的盒子以确定其目的地。输入和输出也将需要监测传感器盒检测,并控制气动执行器,如升降机。

正如这个箱体分流器应用程序所演示的那样,将几个不同的自动化硬件连接到PLC上并不罕见,每个硬件组件及其所需的连接都定义了设备。但是,在这种情况下,可以快速配置具有自顶向下配置和以设备为中心概念的控制器,其中大部分工作是自动执行的。

如果控制器缺乏板上高速输入,高速计数器模块可用于计数编码器正交脉冲。这个模块不是CPU配置的一部分,但它会在第二步I/O配置中自动发现。第三步,模块配置,将使用发现模块的默认值自动填充所需的参数。在此步骤中,可以对所需配置进行任何编辑。PLC将自动处理添加模块的I/O映射,并创建所需的映像寄存器地址。

控制器以太网端口与VFD通信。从配置列表的顶部开始,以太网I/O Master作为CPU配置步骤的一部分启用。这将在I/O配置中创建一个条目,允许IP配置和其他通信选项。这个设备的配置通常不需要更多的参数,因为其他参数,如I/O映射,都是自动完成的。

控制器的串行端口用于使用简单的ASCII文本字符串与条形码扫描仪通信。该端口在配置CPU时被识别,配置通用串口,包括波特率等设置,RS-232等硬件协议。不需要I/O和模块配置,设备配置是自动创建的,提供了一个预配置的接口,可以访问系统资源。配置内存步骤为设备自动分配内存。

采用多点离散输入输出模块对传感器和气动进行监控。这些模块以类似的方式配置。这些设备有些很容易设置,有些更复杂,但都使用相同的方法。配置从表列表的顶部开始,向下工作,只填写在前面步骤中没有自动定义的参数。

有效的指导

如上例所示,快速配置了自顶向下和以设备为中心的控制器编程平台。具有这类编程软件的控制器通常还提供更有效的指令,如比例-积分-导数(PID)回路和运动控制块。PID循环有成千上万种用途,所以没有一刀切的解决方案。一些控制器的选项有限,但其他控制器改进了PID指令,通过提供独立的、模块化的、可互换的和运行时可配置的方法来提高效率,以满足应用程序的需求。

这种效率提高的部分原因是将PID循环分解成更小的部分。而不是将所有的PID参数,如过滤器,缩放,斜坡浸泡表和报警处理程序,在一个PID指令中,使用单独的指令分别访问参数,以简化这些控制算法的定制。这些说明还可以包括用于显示的趋势视图,以帮助理解控制循环响应,并帮助进行初始调优和故障排除。

运动控制指令可以遵循类似的路径,分解为不同的指令复杂度级别。简单的运动指令允许快速应用基本的移动命令与最低要求的配置。中级运动指令提供更多用户定义的参数。高级指令允许选择或创建自定义移动配置文件,通常通过一个简单的配置过程。

更新、先进的控制器通过强制执行更自上而下的方法和使用以设备为中心的概念来简化编程。通过适当的配置,控制器软件程序和硬件之间的大部分设备接口都是自动和有效地发生的,而不需要编写代码。更快的配置导致更快的编程,而这一点通过更广泛的可用指令得到增强。

比尔•德恩他是AutomationDirect的技术营销工程师;由内容经理马克·霍斯克编辑,控制工程, CFE传媒,mhoske@cfemedia.com

更多的建议

关键概念

  • PLC架构可以简化编程。
  • 自上而下的配置和以设备为中心的编程有助于PLC编程。
  • 各种设备可以类似地编程。

考虑一下这个

减少节目编排更少的配置有助于您的下一个项目?