3. FactoryTalk View ME与PanelView Plus基础
FactoryTalk View Studio for Machine Edition(简称 View ME)是面向 PanelView Plus 系列终端的人机界面组态软件。它的核心工作可以概括为三件事:在画面上放置图形对象、为对象绑定变量、把工程下载到终端运行。而“绑定变量”这一步,正是 HMI 与 ControlLogix 建立数据联系的关键。本节以一个最小的电机启停监控画面为例,走通从新建工程到标签通信的完整链路。
一、先理清通信链路:HMI 到底在和谁说话
PanelView Plus 终端本身不直接“认识”ControlLogix 控制器里的标签名。它通过 RSLinx Enterprise(在较新版本中为 FactoryTalk Linx)提供的通信服务,经由 EtherNet/IP 网络访问控制器。因此一条完整的数据路径是:画面对象 → 标签引用 → FactoryTalk Linx 通信服务 → EtherNet/IP → ControlLogix 控制器标签。理解这条链路,才能明白为什么“画面画好了却读不到数”往往不是画面的问题,而是通信配置或标签路径的问题。
二、新建工程与通信设置
打开 FactoryTalk View Studio,选择 Machine Edition 类型,新建工程并命名(示例:MotorHMI)。工程创建后,第一件该做的事不是画画面,而是配置通信。在工程浏览器中展开 RSLinx Enterprise(或 FactoryTalk Linx)节点,打开 Communication Setup。
在 Communication Setup 中需要完成两件事:一是添加网络节点,二是建立设备短名。以 EtherNet/IP 为例,在左侧网络树中展开 EtherNet,添加目标控制器所在的以太网路径,输入控制器的 IP 地址(示例:192.168.1.10)。随后在右侧 Device Shortcuts 区域新建一个短名,例如 PLC1,并将其指向刚才添加的控制器。这个短名就是后续所有标签引用的“前缀”。
三、创建第一个画面
在 Graphics 节点下新建一个 Display,命名为 Main。画面属性中可设置尺寸(示例:800×480,匹配 PanelView Plus 7 常见分辨率)和背景色。接下来放置三个对象:
- 启动按钮:从工具箱拖入 Momentary Push Button,用于置位启动命令。
- 停止按钮:同样使用 Momentary Push Button,用于复位启动命令。
- 运行指示灯:使用圆形图形或 Multistate Indicator,用于显示电机运行状态。
对象放置完成后,逐个双击打开属性对话框,在 Connections 选项卡中绑定标签。按钮的 Value 连接填写 {::[PLC1]Start_PB} 和 {::[PLC1]Stop_PB},指示灯的 Value 连接填写 {::[PLC1]Motor_Run}。这里的标签名必须与 ControlLogix 工程中实际存在的标签一致,大小写敏感。
四、ControlLogix 侧的标签准备
HMI 能读到什么,取决于控制器里有什么。在 Studio 5000 中,需要为上述交互建立对应的标签。一个最小可用的示例是:
Start_PB BOOL // HMI 启动按钮写入
Stop_PB BOOL // HMI 停止按钮写入
Motor_Run BOOL // 控制器输出,HMI 读取显示
Motor_Start BOOL // 内部启动保持位
梯形图逻辑可以写成:Start_PB 与 Motor_Start 并联后串接 Stop_PB 的常闭触点,驱动 Motor_Start 线圈;再用 Motor_Start 驱动 Motor_Run 输出。这样 HMI 按下启动按钮时,控制器内部保持启动状态,指示灯随之点亮;按下停止按钮则复位。注意:HMI 的按钮是“点动”写入,真正的自保持逻辑必须放在控制器中,这是 HMI 与 PLC 分工的基本原则。
五、测试与验证
在下载到 PanelView Plus 之前,可以先用 FactoryTalk View Studio 的 Test Display 功能在电脑上模拟运行。测试时观察三点:按下启动按钮后 Motor_Run 是否变为 1、指示灯是否变色、按下停止按钮后是否复位。如果按钮无反应,优先检查标签引用中的设备短名是否与 Communication Setup 中一致;如果指示灯状态与控制器不一致,检查标签是否被正确写入或是否存在地址冲突。
六、下载到 PanelView Plus
确认测试通过后,将工程下载到 PanelView Plus 终端。在 View Studio 中选择 Create Runtime Application 生成 .mer 文件,然后通过 Transfer Utility 经以太网将文件传输到终端。终端重启后会自动运行该应用。此时 HMI 与 ControlLogix 之间的数据链路正式建立:画面对象通过标签引用,经 FactoryTalk Linx 和 EtherNet/IP,读写控制器中的标签值。
回顾整个过程,真正决定成败的不是画面画得多漂亮,而是三件事是否对齐:通信短名与标签引用一致、HMI 标签名与控制器标签名一致、控制逻辑放在控制器而非 HMI。把这三点做扎实,后续再增加画面、报警、趋势,都只是在这个基础上的扩展。