变量绑定
乐吾乐2D可视化组态编辑器demo:https://2d.le5le.com/
什么是绑定变量?
绑定变量是指把虚拟的图元与真实设备数据关联的一个过程。【注意】只是建立一个数据模型的关联,数据源后面设置。
为什么不直接设置数据源?
- 方便批量生产,提高生产效率。具体来说就是把业务与具体设备解耦,使一个解决方案可以用在多个不同的项目中,只需要底层设备是相同批次型号即可。
- 性能更高。和现在工业场景普遍采用Modbus等协议原因一样,一个通信已经能满足一个场景数据交互。大量多个通信只会导致更高延迟甚至消息阻塞。
绑定单数据点
一个数据点绑定一个属性。注意:dataIds 是对象,不能是数组
const pen = {
name: "rectangle",
text: "矩形",
x: 100,
y: 100,
width: 100,
height: 100,
form: [
{
key: "text",
dataIds: {
dataId: "d-3-a-001",
// name: "户数", // 显示名称,非必要
},
},
],
};
meta2d.addPen(pen);
// 发送数据示例
// {
// dataId: "d-3-a-001", // 变量标识
// value: 80, // 值
// }
绑定多数据点
一个属性绑定多个数据点,例如:图表。需要自行实现 pen.onBinds 生命周期函数。不常用。
const pen = {
name: "echarts",
x: 100,
y: 100,
width: 400,
height: 300,
externElement: true,
disableAnchor: true,
echarts: {
option: {
xAxis: {
type: "category",
data: ["电流", "电压"],
},
yAxis: {
type: "value",
},
series: [
{
data: [820, 932, 901],
type: "line",
},
],
},
max: 5000,
replaceMode: 1,
},
form: [
{
key: "dataY",
dataIds: [
{ dataId: "d-3-b-001", name: "电压" },
{ dataId: "d-3-b-002", name: "电流" },
],
},
],
};
meta2d.addPen(pen);
// 发送数据格式
[
{ "dataId": "d-3-b-001", "value": 8 },
{ "dataId": "d-3-b-002", "value": 0.6}
]