在ignition8.1版 Vision 中Chart Custom Properties Data 与PLC的生产时间及产量绑定起来,脚本如何编写
时间: 2024-03-27 21:41:17 浏览: 208
在 Ignition 8.1 版本中,您可以通过 Python 编写脚本来将 Chart Custom Properties Data 与 PLC 的生产时间及产量绑定起来。
以下是一些基本的 Python 脚本代码示例,可以帮助您实现此目标:
1. 获取数据源
您需要先从 PLC 获取数据。可以使用 Ignition 提供的 OPC UA 客户端来连接 PLC 并获取数据。以下是一个示例代码:
```
from com.inductiveautomation.ignition.common import BasicDataset
from com.inductiveautomation.ignition.common.sqltags.parser import TagPathParser
from com.inductiveautomation.ignition.client.gateway_interface import GatewayConnectionManager
# 获取GatewayConnectionManager实例
gcm = GatewayConnectionManager.get()
# 连接并获取 OPC UA 服务器
conn = gcm.getConnection("opcua:localhost:IA")
if conn:
# 获取 Tag 数据源
tagPath = TagPathParser.parse("[default]Path/To/Tag")
tag = conn.getTag(tagPath)
# 获取数据
data = tag.value
# 将数据转换为 BasicDataset
dataset = BasicDataset(data)
else:
print "连接 OPC UA 服务器失败!"
```
2. 处理数据
获取数据后,您需要将其处理为 Chart Custom Properties Data 所需的格式。以下是一个示例代码:
```
# 处理数据
chartData = []
for row in dataset:
chartData.append({"time": row[0], "value": row[1]})
# 将数据设置为 Chart Custom Properties Data
event.source.custom.chartData = chartData
```
3. 触发脚本
最后,您需要将 Python 脚本与 Ignition Vision 中的 Chart 组件相关联。可以使用 Ignition 提供的事件来触发脚本。以下是一个示例代码:
```
# 在组件的 propertyChange 事件中触发脚本
if event.propertyName == "data":
# 获取数据源
dataset = event.newValue
# 处理数据
chartData = []
for row in dataset:
chartData.append({"time": row[0], "value": row[1]})
# 将数据设置为 Chart Custom Properties Data
event.source.custom.chartData = chartData
```
请注意,这些示例代码仅供参考。您需要根据实际情况进行修改和调整。如果您需要更多帮助,请查阅 Ignition 文档或联系 Ignition 支持团队。
阅读全文