如何将多个PLC连接到HMI

描述

大多数控制系统入门级培训包括可编程逻辑控制器 (PLC) —梯形图编程、接线输入和输出,以及标签数据库和各种数据类型。人机界面 (HMI)编程是 PLC 知识之上的一个层次,但了解各种 PLC 中的那些标签数据库可以简化 HMI 设计过程。

在我自己的控制系统设置中,我最喜欢的“实验”项目之一是找到一个新设备并弄清楚如何将它连接到一个更大的系统中。显然,这些设备来自各种各样的供应商,并且都必须协同工作。

大多数常见的触摸屏HMI 专为此类应用而设计,允许多个系统同时操作并在中央操作员屏幕上显示数据。

编程

图 1.多个 PLC 与单个 HMI 联网

对 HMI 进行编程涉及两个主要组件。首先,也许是最关键的,是理解图形对象,例如按钮、数字和文本输入字段、图形数据显示等。遵循此步骤的在线教程通常相当简单。

另一个步骤是我们可能称之为“幕后”的步骤,屏幕上的对象实际读取或操作 PLC 内部的标签。这可能不是那么简单,因为每个 PLC 都有不同的标签数据库结构。

HMI 数据类型

每个 PLC 都可以访问主要的“原子”数据类型,但它们的外观可能不同。

从布尔值或 BOOL 类型开始。这是单个位,通常是内部状态,可能是定时器或计数器终止位,或输入/输出标签。

离散数据类型只是一个布尔值,不需要控制器进一步寻址。如果这个 bool 被称为“Temp_Alarm_Status”,它只能是 ON 或 OFF。但是,任何整数也可以描述布尔数据位。在这种情况下,我们不仅必须指定整数的名称(或内存位置),而且还必须指定整数的哪些位是必需的。

尽管每个整数都可以分解为其组成位,但并非所有整数都应以这种方式使用。考虑这种差异的一种方法是整数是否代表一个值,例如模拟温度或压力。如果是这样,则没有理由在其布尔组件中使用此整数。但是,如果整数是一串离散的信息位,例如来自网络连接的数据,或者由许多布尔值组成的 I/O 模块,那么考虑每个离散位的重要性是有意义的。

编程

图 2.在 HMI 软件(左)中定义的名为“Current_Temp”的 32 位 DINT,在 RSLogix 控制器标签中定义类似(右)

浮点(实数)和字符(字符串)值不能表示为单独的位。尽管它们在技术上是由 32 位或 8 位构成的,但它们不再将每个位用作单独的二进制位值,就像在整数中一样。不会从这些数据类型的布尔值中提取任何有意义的信息。

自然地,这些整数、浮点数和字符串在 HMI 程序中随处使用,贡献值。

PLC 通信注意事项

在一篇文章的范围内,我无法为每个 HMI 环境和每个主题 PLC 提供教程。但是,无论您使用哪种软件,都有许多类似的注意事项。

第一:通讯协议。HMI 设计有各种各样的网络接口——标准是以太网、RS-232 或 RS-485,但通常带有用于其他几个的适配器。您必须能够选择自己的 PLC 并了解其网络连接协议。最后,大多数屏幕都限制了同时连接的数量,但它们通常允许不止一个。

目标 PLC 将使用各种方法描述其标签。标签(在 PLC 中创建的变量)存储在编号的寄存器地址中,并且可能是该寄存器中的单个位。一些 PLC 品种要求您知道这个特定的地址编号。

西门子就是一个例子。要指向单个布尔值,您需要指定输入、输出或内存,然后是寄存器地址(可能是 15),然后是该寄存器中的位(如 3)。在本例中,布尔值为 M15.3。整数不包括位本身,因此它可能只是 M15。

某些 PLC 可能具有为每个新创建的标签分配数值的有序方法。它们可能都有一个前缀来表示数据类型。此类结构的一个示例来自Automation Direct Productivity PLC系列,其中第一个创建的布尔值将是 C-000001(C 是布尔值的指示符)。一个 32 位整数可能是 S32-000001 等。

在 Allen Bradley Compact/ControlLogix 体系结构中,结构是按标签名称。用户创建的每个标签都有一个唯一的名称,而不是一个数字。这可以简化流程,只要 PLC 设计者为标签分配逻辑名称。图 2 说明了这种标签名称方法的一个示例。

编程

图 4.网络交换机允许多台机器通过一个以太网端口连接到 HMI

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分