svg的json结构说明

svg的json结构说明

更新日志
文档内容
json结构文件
json说明–js属性
json说明–TEXT属性
json说明–DO属性
json说明–DI属性
json说明–Btn属性
json说明–RECT属性

更新日志
更新时间:2020年8月15日
更新内容:
文档创建。
添加DO\DI\Btn\RECT\ARC操作说明。

文档内容
主要描述svg的配置文件。
并对关键属性进行说明。

如果svg未铺满显示,请修改svg文件:

json结构文件

{
“sys”: {
“ver”: “1.1”
},
“HELP”: {
“TEXT”: “建议在span中定义”,
“DO”: “建议创建do0 do1 各自的动画图,然后各自group,最后整体两个group,do0在do1下面”,
“DI”: “建议DO相同”,
“RECT”: “group+变化层+不变化的遮盖顶层.”,
“01”: “页面创建完毕之后,建议将所有的可编辑的对象,放在独立的一层,或者依次放到最顶层,优点是配置比较集中”,
“02”: “”
},
“JS”: [{
“id”: “id”,
“opr”: “svg”,
“js”: “$UI/cloud/equip/Default/svg/pump3/PCsvg/pump3.svg.js”,
“mark”: “ui处理 .init() 在初始化中调用, .modbus_rcv()在接收到modbus 信息调用 .model_rcv() 在接收到设备信息调用 http://192.168.1.12:8081/pump3/PCsvg/pump3.svg.js”
}],
“TEXT”: [{
“id”: “level”,
“unid”: “”,
“regtype”: “ai”,
“io”: 0,
“name”: “”,
“unit”: “米”
}],
“DO”: [{
“id”: “do1”,
“unid”: “”,
“regtype”: “do”,
“io”: 0,
“time”: 0
}, {
“id”: “do2”,
“unid”: “”,
“regtype”: “do”,
“io”: 1,
“time”: 0
}, {
“id”: “do3”,
“unid”: “”,
“regtype”: “do”,
“io”: 2,
“time”: 0
}],
“DI”: [{
“id”: “kg1”,
“unid”: “”,
“regtype”: “do”,
“io”: 0
},
{
“id”: “kg2”,
“unid”: “”,
“regtype”: “do”,
“io”: 1
},
{
“id”: “kg3”,
“unid”: “”,
“regtype”: “do”,
“io”: 2
}
],
“Btn”: [{
“id”: “button1”,
“opr”: [{
“unid”: “”,
“operator”: “equip_do”,
“oprtype”: “OPEN”,
“io”: 0,
“help”: “打开继电器 io = 0 代表第一个通道”
}]
}],
“RECT”: [{
“id”: “p_wendu1”,
“unid”: “”,
“regtype”: “ai”,
“io”: 0,
“rect”: {
“opr”: “scaleY”
}
}],
“ARC”: [{
“id”: “yali1”,
“unid”: “”,
“regtype”: “ai”,
“io”: 0,
“arc”: {
“opr”: “rotate”,
“cx”: 15,
“cy”: 8,
“begin”: 0,
“end”: 180
}
}]
}

json说明–js属性
“JS”: [{
“id”: “id”,
“opr”: “svg”,
“js”: "KaTeX parse error: Expected 'EOF', got '}' at position 78: …"mark": "" }̲], 主要属性为id、js. …UI"开头,认为时本地文件,可以访问已有的文件。
以"http"或者"https"开头,认为是网络文件,可以访问远端服务器文件。(提示远端服务器允许跨域访问,否则会加载失败)
其它格式,认为是云端文件格式,自动加载(用户可上传自定义文件)。
"js"文件格式模板参考如下:

define(function(require) {
var jysvgmethord = require("$UI/cloud/lib/svg/jysvgmethord");

var model = function() {};

//---------------------必要属性

//加载时进行调用
model.prototype.Init = function(fEquipInfo) {
    console.log("svg custom Init");
};

//接收到modbus 信息时进行调用
model.prototype.ShowModbusReg = function(mbreg, jysvg, jydam) {
    console.log("svg custom ShowModbusReg");
};

//接收到设备信息信息时进行调用
model.prototype.ShowNowInfo = function(fInfo, jysvg, jydam) {

    var draw = jysvg.svgdraw;
    var fEquipInfo = jysvg.fEquipInfo;
    var nowjson = jysvg.nowjson;


    if (draw == null) return;
    if (fEquipInfo == null) return;
    if (jydam == null) return;
    if (nowjson == null) return;

    debugger;

    var element_water = SVG("#water");

    if (this.water_x == undefined) {
        this.water_x = element_water.transform("translateX");
    }

    if (this.water_y == undefined) {
        this.water_y = element_water.transform("translateY");
    }

    var water_ratio = jydam.getairatio("", 0);
    var height = 120;
    element_water.transform({
        translate: [this.water_x, this.water_y - height * water_ratio]
    }, false);
};

//扩展预留
model.prototype.onOprSendEvent = function(opr, jysvg, jydam) {
    console.log("svg custom onOprSendEvent");
};

return new model();

});

可以用require方式,加载外部文件,并直接访问。

json说明–TEXT属性
json结构
“TEXT”: [{
“id”: “level”,
“unid”: “”,
“regtype”: “ai”,
“io”: 0,
“name”: “”,
“unit”: “米”
}]

svg文件


处理过程
json处理
id为svg文件的id,名称需要相同。
undi为空,代表当前设备。
regtype:“ai”:代表ai数据
预计后期支持
“ao”:代表ao数据
“data”:日期
“time”:时间
io: 0代表第一个通道
name:名称 可为空
unit:单位 可为空
显示内容: name+数值+unit

json说明–DO属性
json结构
“DO”: [{
“id”: “do1”,
“unid”: “”,
“regtype”: “do”,
“io”: 0,
“time”: 0
}, {
“id”: “do2”,
“unid”: “”,
“regtype”: “do”,
“io”: 1,
“time”: 0
}],

svg文件








处理过程
json处理
id为 do1 为按钮id do1_1为打开按钮 ,绑定关闭操作 do1_0为显示关闭按钮,绑定打开操作
undi为空,代表当前设备。
regtype:“do”:代表继电器
io: 0代表第一个通道
time: ==0忽略 >0代表延迟时间

json说明–DI属性
json结构
“DI”: [{
“id”: “kg1”,
“unid”: “”,
“regtype”: “do”,
“io”: 0
},
{
“id”: “kg2”,
“unid”: “”,
“regtype”: “di”,
“io”: 1
},
{
“id”: “kg3”,
“unid”: “”,
“regtype”: “do”,
“io”: 2
}
],

svg文件








处理过程
json处理
id为 kg1为按钮id id="kg1_0"为状态为0时进行显示 为1时进行隐藏。 id="kg1_1"为状态为0时进行显示 为1时进行隐藏。
undi为空,代表当前设备。
regtype:“do”:代表继电器通道, “di”:代表DI通道
io: 0代表第一个通道

json说明–Btn属性
json结构
“Btn”: [{
“id”: “button1”,
“opr”: [{
“unid”: “”,
“operator”: “equip_do”,
“oprtype”: “OPEN”,
“io”: 0,
“help”: “打开继电器 io = 0 代表第一个通道”
}]
},
{
“id”: “button2”,
“opr”: [{
“unid”: “”,
“operator”: “equip_do”,
“oprtype”: “OPEN”,
“io”: 0,
“help”: “打开继电器 io = 0 代表第一个通道”
},
{
“unid”: “”,
“operator”: “equip_do”,
“oprtype”: “CLOSE”,
“io”: 0,
“help”: “关闭继电器 io = 0 代表第一个通道”
},
{
“unid”: “”,
“operator”: “equip_do”,
“oprtype”: “AOPEN”,
“help”: "打开所有继电器 "
},
{
“unid”: “”,
“operator”: “equip_do”,
“oprtype”: “ACLOSE”,
“help”: “关闭所有继电器 io = 0 代表第一个通道”
},
{
“unid”: “”,
“operator”: “equip_do”,
“oprtype”: “OPENONE”,
“io”: 0,
“timer1”: 10,
“help”: “打开一段时间后关闭 time = 10 代表打开1 .0 秒后关闭”
},
{
“unid”: “”,
“operator”: “equip_do”,
“oprtype”: “CLOSEONE”,
“io”: 0,
“timer1”: 10,
“help”: “关闭一段时间后打开 time = 10 代表打开1 .0 秒后关闭”
},
{
“unid”: “”,
“operator”: “equip_do”,
“oprtype”: “OPRMORE”,
“io”: 0,
“cnt”: 0,
“timer1”: 10,
“timer2”: 20,
“help”: “循环打开关闭 cnt:循环次数 timer1:打开时间 timer2:关闭时间 有效数值范围:0~65535”
},
{
“unid”: “”,
“operator”: “equip_do”,
“oprtype”: “READ”,
“help”: “获取设备最新状态”
},
{
“unid”: “”,
“operator”: “equip_mb”,
“oprtype”: “RDO”,
“regstart”: 0,
“regnum”: 10,
“help”: “获取DO状态 获取reg0~9之间的寄存器信息”
},
{
“unid”: “”,
“operator”: “equip_mb”,
“oprtype”: “RDI”,
“regstart”: 0,
“regnum”: 10,
“help”: “获取DI状态”
},
{
“unid”: “”,
“operator”: “equip_mb”,
“oprtype”: “RAI”,
“regstart”: 0,
“regnum”: 10,
“help”: “获取AI状态”
},
{
“unid”: “”,
“operator”: “equip_mb”,
“oprtype”: “RAO”,
“regstart”: 0,
“regnum”: 10,
“help”: “获取AO状态”
},
{
“unid”: “”,
“operator”: “equip_mb”,
“oprtype”: “WDO”,
“regstart”: 0,
“reginfo”: “0120111”,
“help”: “控制DO状态 regstart【0代表从第一个通道开始】 reginfo【0代表关闭 1代表打开 2代表忽略】”
},
{
“unid”: “”,
“operator”: “equip_mb”,
“oprtype”: “WAO”,
“regstart”: 0,
“reginfo”: “134_456_789”,
“help”: “控制DO状态 regstart【0代表从第一个通道开始】 reginfo【134_456_789 代表连续写3个寄存器数据,依次为134,456,789】”
},
{
“unid”: “”,
“operator”: “equip_mb”,
“oprtype”: “WAOHEX”,
“regstart”: 0,
“reginfo”: “12345678abcd”,
“help”: “控制DO状态 regstart【0代表从第一个通道开始】 reginfo【12345678abcd 代表连续写3个寄存器数据,依次为0x1234,0x5678,0xabcd】”
}
]
}
],

svg文件

处理过程
支持按键button触发多个动作执行

json说明–RECT属性
json结构
“RECT”: [{
“id”: “p_wendu1”,
“unid”: “”,
“regtype”: “ai”,
“io”: 0,
“rect”: {
“opr”: “scaleY”,
“L”:0,
“H”:100
}
}]

svg文件

处理过程
json处理
id为 kg1为按钮id id=“p_wendu1” 相对应
undi为空,代表当前设备。
regtype:“ai”:代表AI通道
io: 0代表第一个通道

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值