任何自动化项目中最具挑战性的部分之一是让所有设备相互通信。正如许多人所知,尝试让来自两个不同制造商的两个设备进行通信可能会给原本顺利的项目带来许多麻烦和问题。在本文中,我将向您展示通过以太网将RS PRO HMI连接到S7-1200或S7-1500PLC 是多么容易。
在接下来的 10 分钟内,我们将在TIA Portal中配置和编程 PLC,在 piStudio 中创建和配置HMI应用程序,并测试两个设备之间的连接。
让我们开始在TIA Portal中配置 PLC 。
PLC配置
在 TIA Portal 中,我创建了一个新项目并向该项目添加了S7-1211 PLC。我使用了 S7-1211 PLC,因为这是我的实验室中可用的。如果您在家中实验,则可以使用任何类型的S7-1200或 S7-1500 PLC。
在设备和网络编辑器中,我选择 PLC 以访问 PLC 的属性配置。
由于PLC将通过基于以太网的网络与HMI进行通信,因此我需要为PLC配置一个IP地址,该地址与HMI位于同一子网中。
为了配置 PLC 的 IP 地址,我向下滚动到PROFINET 接口 [X1] > 以太网地址,并将 IP 地址 192.168.1.100 分配给 PLC。
除了配置PLC的IP地址之外,我还必须允许外部设备访问PLC的数据,并启用用于在PLC和HMI之间交换数据的通信协议。
为此,我向下滚动到PLC 属性的“保护和安全”部分。
在此文件夹中,我将访问级别设置为“完全访问”。这允许外部设备读取和写入 PLC 中的所有数据。
最后,我需要在 PLC 中启用 PUT/GET 通信。这是用于 PLC 和 RS PRO HMI 之间通信的通信协议。
为了启用 PUT/GET 通信,我打开“连接机制”页面并激活“允许从远程合作伙伴通过 PUT/GET 通信进行访问”选项。
现在 PLC 已配置完毕,我们可以编写一些简单的逻辑,稍后将使用它们来测试 HMI 通信。
PLC编程
我双击主 OB 以打开该对象。
打开后,我将编写一个简单的电路,如下所示,具有一个许可条件和两个互锁条件。
编程完成后,我可以为我的项目定义标签。为了展示 RS PRO HMI 如何与 S7 PLC 中不同类型的标签进行交互,我们将使用内存、全局输出和全局输入标签的组合。
在此示例中,我的进程可以使用标签hmiStart和hmiStop从 HMI 启动或停止。这些标签的地址分别是M0.0和M0.1。
该过程也可以通过物理停止按钮停止。该停止按钮连接到 PLC 的输入 I0.0,我为此输入创建一个名为btnStop的标签。
最后,当进程运行时,PLC 打开与标签bcnRunning关联的物理输出 Q0.0。
完成逻辑配置后,我编译项目并将其下载到 PLC。
至此,我们已经完成了PLC的编程,我们可以将注意力转向piStudio,RS PRO HMI的开发环境。
配置人机界面
我在 piStudio 中创建一个新项目。
在新项目对话框中,我指定项目名称、使用的 RS PRO HMI 类型以及通信配置。在此示例中,我想使用以太网连接与西门子 S7-1200 PLC 进行通信。
配置完这些设置后,我单击“完成”以创建项目。
在项目中,我需要指定HMI将与之通信的PLC的IP地址。我在项目的通信配置中执行此操作。
要打开通信配置,请激活工具栏中的“项目”选项卡,然后单击“通信”。
在通讯对话框中,点击设备 IP 字段旁边的设置,设置 HMI 将与之通讯的 PLC 的 IP 地址。请注意,我仅更新 IP 地址,并将其他选项保留为默认值。
配置完成后,我在两个对话框上单击“确定”以存储配置并关闭对话框。
我们还需要指定HMI的IP地址。
为此,请单击项目设置并在HMI IP选项卡中配置 HMI 的 IP 地址。
现在 HMI 已配置完毕,我们可以构建 HMI 应用程序了。
构建 HMI 应用程序
将对象添加到 HMI 屏幕
我们可以通过将对象从工具箱拖放到画布上来将对象添加到 HMI 屏幕。
我将首先向画布添加一个位开关,如下所示。
将对象放置在画布上后,我可以双击该对象以打开其配置菜单。
对于位开关对象,我需要配置它写入 PLC 中的标签。要指定标签,我可以单击“写入地址”字段旁边的“编辑”按钮。
在打开的对话框中,我将PLC标签的地址设置为M0.0,这是hmiStart标签的地址。
我单击“确定”两次来存储配置,并重复该过程,为地址为 M0.1 的 hmiStop 标签添加第二个位开关对象。
我还需要指定这个位开关的模式。在“模式”下,我选择“瞬时”。当位开关在瞬时模式下运行时,它会在开关处于活动状态时将值 True 写入其关联标签。
除了通过从 HMI 写入标签来控制标签的值外,我们还可以通过读取标签的值来可视化标签的状态。
我从工具箱中添加了一个位灯对象来可视化 PLC 中布尔标签的状态。
我可以再次双击该对象以打开其配置对话框,并且可以定义该对象将读取的标签的地址。这里我从地址 I0.0 读取,这是物理停止按钮的地址。
我重复此过程以添加另一个从地址 Q0.0 读取的位灯,这是进程运行时打开的输出。
添加文本标签
到了这个阶段,我们的HMI就差不多完成了。我要做的最后一件事是添加一些文本标签来解释 HMI 上的对象的用途。
为此,我激活工具箱中的Common Object文件夹,并将 Text 对象拖动到 hmiStart 位开关上方的画布上。
我双击该对象以打开其配置对话框并将文本更新为HMI Start。
我复制并粘贴此文本对象以将标签添加到画布上的其他对象。
如果需要,我可以使用工具栏上提供的定位工具来定位和对齐画布上的对象,如下所示。
现在HMI开发已经完成,我们可以使用工具栏上的编译按钮编译HMI并将应用程序下载到HMI。
下载应用程序后,我们可以测试通信以确保一切按预期工作。
测试通讯
在我的 HMI 上,我打开 HMI 启动位开关。当此开关打开时,它将值 True 写入 PLC 中的 hmiStart 标签,并且输出 bcnRunning 变为 True。
我可以看到标签 bcnRunning 为 True,因为运行位灯的外观已更新。
我关闭 HMI 启动位开关并激活 HMI 停止位开关。这会将值 True 写入 hmiStop 标签,该标签是进程的互锁。
不出所料,bcnRunning 标签变为 False,从 Running Bit Lamp 的出现我们可以看到进程已经停止。
最后,我可以切换 PLC 的物理输入 I0.0。我可以从 HMI 上的停止按钮位灯看到物理输入值的变化。
至此,我们可以自信地说PLC与HMI之间的通讯正常了。
总结
在本文中,我向您展示了使用 TIA Portal 和 piStudio 在西门子 S7-1200 PLC 和 RS PRO HMI 之间建立通信是多么容易。
具体来说,我们学习了如何为 PLC 指定 IP 地址、配置 PLC 的访问级别以及启用 PUT/GET 通信。
PLC 配置完成后,我们学习了如何配置与 HMI 通信的 PLC 的 IP 地址以及如何将 HMI 对象映射到 PLC 中的标签。