厦门欣仰邦科技有限公司

24小时咨询电话:

0592-3564822

开发文档

欣仰邦SC3.0协议网络设备C#版SDK接口调用说明

发表时间:2021-12-17作者:xmsiyb

一、版本信息

版本 日期 修改说明
V1.0.0 2021-10-18 创建
表1.1.1

二、开发环境

.net framework 4.6

三、文件列表

文件名 描述 是否必须
RK.NetDevice.SDK.dll 开发时引用此库
RK.NetDevice.SDK.XML 描述文件
NetDeviceParam.dat 设备参数数据文件
表3.1.1

四、使用说明

1、创建项目

新建项目,选择framework版本为4.6,创建项目

2、添加引用

在新建的项目中右键,添加->引用->浏览,选择RK.NetDevice.SDK.dll 文件,确定即可

3、启动服务

1)添加命名空间引用:
using RK.NetDevice.SDK;
2)注册接收数据事件:
 //登录数据接收处理
 DeviceService.Instance.OnReceiveLoginData += Instance_OnReceiveLoginData;
 //实时数据接收处理
 DeviceService.Instance.OnReceiveRealTimeData += Instance_OnReceiveRealTimeData;
 //主动上传的存储数据接收处理
 DeviceService.Instance.OnReceiveStoreData += Instance_OnReceiveStoreData;
 //继电器操作指令应答处理
 DeviceService.Instance.OnReceiveTelecontrolAck += Instance_OnReceiveTelecontrolAck;
 //校时命令应答处理
 DeviceService.Instance.OnReceiveTimingAck += Instance_OnReceiveTimingAck;
 
3)启动监听服务:
DeviceService.Instance.Start("127.0.0.1", 2404);
 
 

五、接口说明

1、方法说明

1)设置参数文件路径

方法名: SetParamFile
参数: string fileName 设备参数文件(NetDeviceParam.dat)该文件中包含设备参数的描述,用于设备参数的读取和下发,不可修改
返回值:
方法原型:  public void SetParamFile(string fileName)
调用示例: DeviceService.Instance.SetParamFile("E:\NetDeviceParam.dat");
表5.1.1.1

2)启动监听服务

方法名: Start
参数: string ip 监听ip。多网卡的情况下可以选择监听其中一个网卡的ip,可为空,为空则监听所有网卡;
int port  监听端口
返回值: 布尔值。True:启动成功 False:启动失败
方法原型: public bool Start(string ip, int port);
调用示例: DeviceService.Instance.Start("127.0.0.1", 2404);
表5.1.2.1

3)停止监听服务

方法名: Stop
参数:
返回值: 布尔值。True:停止成功 False:停止失败
方法原型: public bool Stop();
调用示例: DeviceService.Instance.Stop();
表5.1.3.1

4)执行继电器操作

方法名: Telecontrol
参数: int deviceAddr  设备地址
short seqNum    帧序号 用来表示一次交互的消息ID,可以为0
List<TelecontrolParam> paramList 操作参数列表,参考表5.1.3.2
返回值: true:发送成功;false:发送失败
方法原型: Public bool Telecontrol(int deviceAddr, short seqNum, List<TelecontrolParam> paramList);
调用示例: DeviceService.Instance.Telecontrol(10000000, 0, paramList);
说明 设备响时触发OnReceiveTelecontrolAck 事件
表5.1.4.1
TelecontrolParam
字段名 类型 描述
RelayNo short 继电器编号
Opt short 继电器执行类型 1:代表执行继电器闭合操作;0:代表执行继电器释放操作
OptTime short 继电器执行时间,单位秒,若为0则一直吸合或者释放
表5.1.4.2
 

5)发送校时指令

方法名: Timming
参数: int deviceAddr  设备地址
short seqNum    帧序号 用来表示一次交互的消息ID,可以为0
返回值: true:发送成功;false:发送失败
方法原型: public bool Timing(int deviceAddr, short seqNum);
调用示例: DeviceService.Instance.Timing(10000000, 0);
说明 设备响应时触发OnReceiveTimingAck 事件
表5.1.5.1
 

6)手动召唤实时数据

方法名: CallRealTimeData
参数: int deviceAddr  设备地址
short seqNum    帧序号
返回值: true:发送成功;false:发送失败
方法原型: public bool CallRealTimeData(int deviceAddr, short seqNum);
调用示例: DeviceService.Instance.CallRealTimeData(10000000, 0);
说明 设备响应时触发OnReceiveRealTimeData 事件
表5.1.6.1

7)读取设备存储数据条数

方法名: ReadStoreDataCount
参数: int deviceAddr  设备地址
short seqNum    帧序号
返回值: true:发送成功;false:发送失败
方法原型: public bool ReadStoreDataCount(int deviceAddr, short seqNum);
调用示例: DeviceService.Instance.ReadStoreDataCount(10000000, 0);
说明 设备响应时触发OnReceiveStoreDataCount事件
表5.1.7.1

8)读取设备存储数据

方法名: ReadStoreData
参数: int deviceAddr  设备地址
short seqNum    帧序号
返回值: true:发送成功;false:发送失败
方法原型: public bool ReadStoreData(int deviceAddr, short seqNum);
调用示例: DeviceService.Instance.ReadStoreData(10000000, 0);
说明 设备响应时触发OnReceiveStoreDataAck事件
表5.1.8.1

9)读取设备参数列表

方法名: ReadParamItemsIds
参数: int deviceAddr  设备地址
short seqNum    帧序号
返回值: true:发送成功;false:发送失败
方法原型: public bool ReadParamItemsIds (int deviceAddr, short seqNum);
调用示例: DeviceService.Instance.ReadParamItemsIds(10000000, 0);
说明: 设备响应时触发OnReceiveParamIds事件
表5.1.9.1

10)读取设备参数

方法名: ReadParamItems
参数: int deviceAddr  设备地址
short seqNum    帧序号
List<short> paramIds设备参数编号。由ReadDictItemsIds方法获得
返回值: true:发送成功;false:发送失败
方法原型: public bool ReadParamItems(int deviceAddr,short seqNum,List<short> paramIds);
调用示例: DeviceService.Instance.ReadParamItems(10000000, 0, paramIds);
说明: 设备响应时触发OnReceiveParamItems事件
表5.1.10.1

11)下发设备参数

方法名: WriteParamItems
参数: int deviceAddr  设备地址
short seqNum    帧序号
List< ParamItem> paramItems设备参数值,参考表5.3.7.2
返回值: true:发送成功;false:发送失败
方法原型: public bool WriteParamItems (int deviceAddr, short seqNum, List< ParamItem> paramItems);
调用示例: DeviceService.Instance. WriteParamItems(10000000, 0, paramItems);
说明: 设备响应时触发OnReceiveAffectedParamItems事件
表5.1.11.1

2、事件说明

1)OnReceiveLoginData

 
事件: OnReceiveLoginData
描述: 设备发送登录数据时触发此事件
参数: LoginData data 登录数据 参考表5.3.1.1
表5.2.1.1
 

2)OnReceiveRealTimeData

 
事件: OnReceiveRealTimeData
描述: 设备发送实时数据时触发此事件
参数: RealTimeData data 实时数据 参考表5.3.2.1
表5.2.2.1
 

3)OnReceiveStoreData

 
事件: OnReceiveStoreData
描述: 设备主动上传已存储数据时触发此事件
参数: StoreData data 存储数据 参考表5.3.3.1
表5.2.3.1
 

4)OnReceiveTelecontrolAck

 
事件: OnReceiveTelecontrolAck
描述: 设备应答继电器操作时触发此事件
参数: TelecontrolAck ack设备响应数据 参考表5.3.9.1
表5.2.4.1

5)OnReceiveTimingAck

 
事件: OnReceiveTimingAck
描述: 设备应答校时结果时触发此事件
参数: TimingAck ack 校时结果 参考表5.3.10.1
表5.2.5.1

6)OnReceiveParamIds

 
事件: OnReceiveParamIds
描述: 设备应答读取参数字典编号时触发此事件
参数: ParamIds ack 参考表5.3.5.1
表5.2.6.1

7)OnReceiveParamItems

 
事件: OnReceiveParamItems
描述: 终端响应下载参数命令时触发此事件
参数: ParamItems ack 参考表5.3.7.1
表5.2.7.1

8)OnReceiveAffectedParamItems

 
事件: OnReceiveAffectedParamItems
描述: 设备应答写入参数结果时触发此事件
参数: AffectedParamItems ack 参考表5.3.8.1
表5.2.8.1

9)OnReceiveStoreDataCount

 
事件: OnReceiveStoreDataCount
描述: 设备应答读取已存储数据条数时触发此事件
参数: StoreDataCount ack 参考表5.3.4.1
表5.2.9.1

10)OnReceiveStoreDataAck

 
事件: OnReceiveStoreDataAck
描述: 设备应答读取已存储数据时触发此事件
参数: StoreDataAck ack 参考表5.3.5.1
表5.2.10.1

11)OnReceiveDataTransAck

 
事件: OnReceiveDataTransAck
描述: 设备应答数据透传结果时触发此事件
参数: DataTransAck ack 参考表5.3.11.1
表5.2.10.1
 

3、数据类

 

1)登录数据 LoginData

 
字段名 类型 描述
DeviceAddr int 设备地址
SeqNum short 帧序号,与设备一次交互的唯一标识,应答方须复制此值进行应答。下同
表5.3.1.1
 
 

2)实时数据RealTimeData

 
字段名 类型 描述
DeviceAddr int 设备地址
SeqNum short 帧序号
NodeDataList List<NodeData> 节点数据列表。NodeData参考表5.3.2.2
表5.3.2.1
NodeData
字段名 类型 描述
NodeId short 节点编号
RecordTime DateTime 时间
DataType DataTypes 数据类型
Analog1 float 模拟量1值
Analog2 float 模拟量2值
IntData int 整形值
FloatData float 浮点型值
DoubleData double 双精度值
SwitchData Int 开关量值, 0代表无效;1代表闭合;2代表断开
StringData String 字符串值
CoordinateType int 0代表为上送的百度经纬度
1代表基站为中国联通
2代表基站为中国移动
03代表GPS经纬度信息
Lng Float 经度
Lat float 纬度
Data string 转换后的数据,模拟量1和模拟量2的数据用英文逗号分隔
表5.3.2.2
 

3)主动上传的存储数据StoreData

 
字段名 类型 描述
DeviceAddr int 设备地址
SeqNum short 帧序号
NodeDataList List<NodeData> 节点数据列表。NodeData参考表5.3.2.2
表5.3.3.1
 

4)设备已存储数据的条数StoreDataCount

 
字段名 类型 描述
DeviceAddr int 设备地址
SeqNum short 帧序号
Count int 已存储数据条数
表5.3.4.1

5)召唤的已存储数据StoreDataAck

 
字段名 类型 描述
DeviceAddr int 设备地址
SeqNum short 帧序号
TotalCount int 设备上已存储数据总条数
SurplusCount int 设备上已存储数据剩余条数
NodeDataList List<NodeData> 节点数据列表。NodeData参考表5.3.2.2
表5.3.5.1

6)设备字典编号列表ParamIds

 
字段名 类型 描述
DeviceAddr int 设备地址
SeqNum short 帧序号
TotalDictCount int 本设备所有字典总数
IdList List<short> 设备字典列表
表5.3.6.1

7)设备参数ParamItems

 
字段名 类型 描述
DeviceAddr int 设备地址
SeqNum short 帧序号
ParamItemList List<Paramtem> 设备参数列表参考表5.3.7.2
表5.3.7.1
ParamItem
字段名 类型 描述
ParamId short 参数编号
ParamValueType ParamValueTypes 参数值类型
ParamName string 参数名称
Value string 参数值
MaxStrLength int 字符串类型的字典值最大长度
MinValue int 数值类型的最小值
MaxValue int 数值类型的最大值
ValueDescription Dictionary<string, string> 数值描述
方法 参数 描述
Create short paramId 设备参数编号string value 参数值 创建ParamItem类,用于下发参数
表5.3.7.2
 

8)下发设备参数应答AffectedParamItems

 
字段名 类型 描述
DeviceAddr int 设备地址
SeqNum short 帧序号
ParamIdList List<short> 受影响的参数字典编号
表5.3.8.1

9)继电器操作应答TelecontrolAck

 
字段名 类型 描述
DeviceAddr int 设备地址
SeqNum short 帧序号
RelayStatusList List<RelayStatus> 继电器状态列表参考表5.3.9.2
表5.3.9.1
 
RelayStatus
字段名 类型 描述
RelayNo short 继电器编号
ExecResult int 执行情况 成功1,失败2,未知错误3
CurrStatus int 当前状态 0断开,1吸合
表5.3.9.2

10)校时指令应答TimingAck

 
字段名 类型 描述
DeviceAddr int 设备地址
SeqNum short 帧序号
ExecResult int 执行结果 1执行成功 其他执行失败
表5.3.10.1

11)透传数据应答DataTransAck

 
字段名 类型 描述
DeviceAddr int 设备地址
SeqNum short 帧序号
ChannelNo int 通道编号
TransData byte[] 透传数据
表5.3.11.1

相关资讯 17850532774

全国服务电话:0592-3564822

Copyright © 2021 厦门欣仰邦科技有限公司 版权所有

地址:厦门市集美区软件园三期B区04栋

备案号:闽ICP备18009268号-1