Skip to content

5.3 实战:点击按钮控制设备 ​

场景:在画面上放一个按钮,点一下把 PLC 的 Y0 输出点置 1(启动);再放一个文本, 实时显示 Y0 当前是 0 还是 1。最后发布出去,用发布的网址控制设备、看设备数据。

本节的每一步都在真机上走过一遍,截图就是实际操作过程中截的。

第 1 步 · 新建一个组态 ​

登录后进入左侧「组态管理」,点右上角「+ 新建组态」。

组态管理页面,右上角是新建组态入口

模板对话框里选「空白」,点「下一步配置组态」,填组态工程名称后点「确定」,直接进入设计器。

下次打开它走「操作 → 编辑」

新建时会直接进设计器;之后要再改这个工程,回组态管理,点卡片上的「操作」,在弹出的 「组态操作」对话框里选「编辑」。注意「删除」与「编辑」相邻,请勿误点。

组态操作对话框:编辑 / 删除 / 发布 / 二维码

第 2 步 · 认识设计器 ​

进来是三栏:左边组件库、中间画板、右边属性面板。顶部是撤销/恢复/清空画布/保存/预览/查找/网格/吸附。 空白模板的画板默认 300×600px,靠画布左上角,右侧「页面」页签里能看到 #1 · 0 个组件 · 300×600px。

设计器三栏布局

第 3 步 · 拖一个按钮到画板 ​

左侧「基本组件」→「输入控件」分组里第一个就是按钮。

组件库的输入控件分组:按钮 / 输入框 / 开关

把它拖到画板上(也可以在组件上右键「加入到画板」)。放好后画板上出现一个绿色按钮, 右侧「页面元素」计数变成 1。

按钮已经放到画板上

拖的时候注意落点

画板只有 300px 宽,位置偏左。往画布中间空白处拖是拖不进去的——那里已经在画板外面, 松手之后什么都不会出现,组件计数还是 0。

第 4 步 · 配置点击事件写 Y0 ​

选中画板上的按钮,右侧属性面板会从「页面」切到控件属性,标题显示「按钮 ID: lp1」, 下面依次是:控件属性、显示事件、点击事件、动态管线、操作权限。

选中按钮后的属性面板

展开「点击事件」,点「+ 添加事件」,在弹出的下拉菜单里选设定数据。 (菜单里还有 跳转画面 / 执行脚本 / 转到组态 / 全屏切换 / 打开模态窗口 等)

加出来的事件卡片有三处要填:

  • 触发模式(卡片右上角):点击 / 按下 / 松开,默认「点击」
  • 数据对象:要写的目标
  • 要求写入值:1

配置好的设定数据事件

「数据对象」这一栏点一下会弹出「选择变量」对话框,四个页签对应四种变量来源: 内部变量、项目变量、设备变量、MQTT变量。要直接操作某台设备的寄存器就选「设备变量」。

选择变量对话框的设备变量页签

三项选完,下面会实时给出变量名预览:

  • 数据类型:BIT(位)。Y0 是输出点,位类型
  • 设备:下拉里列出您名下所有 PLC 设备,后面标着在线/离线,选目标设备
  • 寄存器:类型下拉选 Y (输出),编号填 0

选好之后预览出 @79473578.Y0.BIT

点「确定」,数据对象栏里就是 @79473578.Y0.BIT。这个格式是 @设备序列号.寄存器.数据类型,数据类型可选 BIT / S16 / S32 / FLOAT / DOUBLE。 不写后缀也兼容(旧格式 @序列号.Y0,按 S16 处理),但位寄存器建议显式写 BIT。

为什么不是 device1.Y0

不带前缀的名字(如 pump1.run_status)是项目变量,读的是服务器实时数据库里的点位, 得先有对应的点位或订阅才行。要直接点对点操作某台设备的寄存器,用 @ 前缀最直接, 不需要提前建数据点。四种前缀的区别见 6.1 设备与数据点的关系。

第 5 步 · 保存 ​

点顶部「保存」。屏幕中间会盖一层「正在检查并保存」,存完弹一条「保存成功」。 看到「保存成功」才算真的存进云端。

没保存就发布 = 发布的是旧画面

「发布」用的是云端已保存的组态数据,不是您屏幕上的当前状态。改完一定先保存。

第 6 步 · 加一个文本,把 Y0 采上来显示 ​

只有按钮的话,您只能"发出去",看不到设备现在什么状态。再从「基本组件 → 数据显示」 拖一个文本到画板,选中它,展开右侧「显示事件」→「+ 添加事件」→ 显示值。

「表达式」栏和第 4 步一样:点一下弹「选择变量」,选设备变量 → BIT → 设备 → Y + 0。 「单位」可以留空。

配好后再点一次「保存」。

配了「显示值」之后控件文字会变成实时值,这是正常的

「显示值」是直接把取到的值写进控件文字的:取不到数时显示 --,取到了显示数值。 这只影响显示,不会覆盖您在「控件属性 → 文本」里配的文字——保存时存的还是您配的文字, 把这条显示事件删掉,控件立刻显示回原来的文字。

第 7 步 · 发布,然后真的去控制设备 ​

回到「组态管理」,点卡片上的「操作」,在「组态操作」对话框里点发布。

组态操作对话框里的发布

浏览器会新开一个标签页打开运行画面,地址形如 .../#/lprun?lp=xxxxx。 这个网址就是发布结果,复制给谁都能打开(手机扫「二维码」也是同一个地址)。

在运行画面上点按钮,Y0 被置 1;下面的文本会跟着显示 1。 从设备侧或别的工具把 Y0 改回 0,文本会自动变回 0——控制和采集都通了。

运行画面:按钮控制 Y0,文本显示 Y0 当前值

设备必须在线

写下去要有接收方。在「设备管理 → PLC设备」里确认目标设备是「在线」。 「选择变量」对话框的设备下拉里也直接标了在线/离线。

第 8 步 · 补成一个真正能用的画面 ​

上面那套只有「按钮 + 数值」,够验证通路,但交给现场用还差点意思。一个最小可用的 远程控制画面应该有四样东西:

组件放在哪怎么配
页面标题基本组件 → 数据显示 → 文本控件属性「文本」写标题,字体大小调到 22,再用「通用属性 → 宽100%」撑满居中
状态指示灯基本组件 → 数据显示 → 指示灯控件属性「绑定数据」→ 选择变量 → 设备变量 → Y0
打开按钮基本组件 → 输入控件 → 按钮文本「打开 Y0」,点击事件 → 设定数据 → Y0 = 1
关闭按钮同上文本「关闭 Y0」,点击事件 → 设定数据 → Y0 = 0

指示灯和前面的文本不一样:它不用配显示事件,直接在「控件属性 → 绑定数据」里选变量, 弹的是同一个「选择变量」对话框。

指示灯的绑定数据就在控件属性里

标题为什么要「宽100%」

文本组件默认 160×40 px,16px 字号够放一行 10 个汉字;但标题字号调到 22 之后还是会折行。 选中文本 → 右侧「通用属性」页签 → 尺寸与位置 → 自适应大小「宽100%」, 撑满画板宽度后,文本默认居中对齐,标题就正了。

做完的画板长这样:

最小可用组态在设计器里

保存、发布,运行画面上:点「打开 Y0」指示灯亮起,点「关闭 Y0」指示灯灭。 指示灯是「动图切换」样式,值为真显示亮的图、为假显示灭的图,不用自己配颜色。

最小可用组态的运行画面

扩展 ​

  • 一个按钮当自复位点动用:把触发模式分别设成「按下」写 1、「松开」写 0
  • 一个按钮同时控制多个点:在同一个点击事件里加多条「设定数据」
  • 想要颜色随数值区间变(比如温度高变红):用显示事件 → 背景色,按区间配颜色
  • 需要显示具体数值(不只是开/关):用显示事件 → 显示值,还能填单位

LPPLC 工业物联网云平台 · 软硬件与云平台全栈自研