Skip to content

脚本

什么是脚本?

大多数时候,当我们在WAGO SCADA中谈论“脚本”时,我们主要指的是JavaScript(JS)脚本。JavaScript(简称“JS”)是一种具有函数优先的轻量级,解释型或即时编译型的编程语言。虽然它是作为开发Web页面的脚本语言而出名,但是它也被用到了很多非浏览器环境中,JavaScript基于原型编程、多范式的动态脚本语言,并且支持面向对象、命令式、声明式、函数式编程范式。

在WAGO SCADA中,您将把核心JS 语言与对其他组件和各种内置系统函数的引用混合在一起。

您可以在“脚本”菜单下,创建各种类型的脚本。

alt text

脚本的安全性

在WAGO SCADA中,脚本是一种高级功能,可以为复杂的组态场景提供最大的灵活性和便利性,比如需要进行复杂的逻辑运算或者操作本地资源(读写文件等)。正是其这种开放的能力,导致其可能存在一定的安全风险,比如组态工程师不小心编写了一段恶意代码。但不管如何,能在WAGO SCADA中编写脚本的一定是WAGO SCADA的合法用户,所以您可以认为WAGO SCADA仅提供了一个脚本编程工具,而是否会编写出恶意代码,取决于编写代码的人,WAGO SCADA自身不会对脚本内容进行管控。

脚本功能允许用户自定义逻辑、数据处理、事件响应和界面交互,极大提升了系统的灵活性和自动化能力。但若管理不当,也可能带来严重的安全和运行风险,所以我们建议:

  1. 仅授权可信用户编辑脚本权限(可通过角色权限控制)
  2. 部署前必须审查脚本内容,防止恶意或错误代码
  3. 不要向访客或低权限账户开放脚本编辑权限
  4. 建立审查和修改批准流程,定期审计脚本是否被修改
  5. 尽可能先在测试环境验证脚本行为
  6. 结合AI工具辅助判断是否存在安全风险

它易于使用吗?

幸运的是,JS 是一种简单的入门语言。我们在 WAGO SCADA 中提供了大量函数,可以在一行代码中完成一些常见任务。这些系统功能在键入时可用。只需从“System”开始,然后按“.”即可查看可用功能列表。当您继续键入时,该列表将自行过滤。

alt text

脚本在哪里使用?

JS 在WAGO SCADA的许多地方都有使用。每个位置都有自己的事件,这些事件会触发脚本运行,并以不同的方式向项目添加功能。

以下是常用的使用场景:

  • 控件:向按钮等控件添加动作,自定义图表和表格的外观,甚至设置自定义导航架构。
  • 生命周期:在控件或者画面加载/卸载的时候触发脚本运行。
  • 时间表:定时执行脚本。
  • 自定义函数:允许用户自己定义函数,来在脚本中快捷选择函数来使用。