| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 |
- package protocol
- type Packet struct {
- Code uint8 `json:"code"`
- Addr uint16 `json:"addr"`
- Quantity uint16 `json:"quantity"`
- Resplen uint `json:"resplen"`
- Cycle uint `json:"cycle"` //采集周期
- }
- //遥测、遥信
- type DataUp struct {
- SID uint16 `json:"sid"`
- Name string `json:"name"` //英文名称
- NameZh string `json:"namezh"` //中文名称
- Unit string `json:"unit"` //单位
- Endian uint8 `json:"endian"` //大小端规则,0,大端,1小端
- Type uint8 `json:"type"` //数据类型,0:uint; 1:int; 2:float; 3:double;4 string
- Ratio float32 `json:"ratio"` //比率系数
- Base float32 `json:"base"` //基数
- UpLimit float32 `json:"uplimit"` //上限,用于告警判断
- LowLimit float32 `json:"lowlimit"` //下限,用于告警判断
- Cid uint8 `json:"cid"` //采集命令
- Start uint8 `json:"start"` //从返回的数据0字节开始算起的字节数
- Len uint8 `json:"len"` //数据项占几个字节
- Alarm uint8 `json:"alarm"` //是否告警,0,不告警;1,告警
- Duration uint8 `json:"duration"` //持续时间才告警,防止误判
- Desc map[uint8]string `json:"desc,omitempty"` //遥信用,状态描述,类似0表示开,1表示关之类的描述
- Bit uint8 `json:"bit"` //遥信用,该字节的多少位
- }
- //遥调、遥控
- type DataDown struct {
- SID uint16 `json:"sid"`
- Name string `json:"name"`
- NameZh string `json:"namezh"` //中文名称
- Unit string `json:"unit"`
- Endian uint8 `json:"endian"` //大小端规则,0,大端,1小端
- Type uint8 `json:"type"` //数据类型,0:uint; 1:int; 2:float; 3:double;4 string
- Ratio float32 `json:"ratio"` //比率系数
- Base float32 `json:"base"` //基数
- Code uint8 `json:"code"` //功能码
- Addr uint16 `json:"addr"` //地址
- Quantity uint16 `json:"quantity"` //数量
- Vallen uint8 `json:"vallen"` //字节数
- Maxval float32 `json:"maxval"`
- Minval float32 `json:"minval"`
- Desc string `json:"desc"`
- }
- type IotModel struct {
- TID uint16 `json:"tid"` //物模型ID
- Version uint8 `json:"version"` //物模型版本
- Device string `json:"device"` //设备名称
- Model string `json:"model"` //设备型号
- Protocol string `json:"protocol"` //协议类型,一般为modbus-RTU
- Packet map[uint8]Packet `json:"packet,omitempty"` //cid->采集命令,下发给设备的命令
- DataUp []DataUp `json:"DataUp"` //数据解析及上传至平台
- DataDown map[uint16]DataDown `json:"DataDown,omitempty"` //数据解析及下发给设备
- }
|