物联网云平台-协议开发指南(modbus)
目前市场上有很多网关产品。一般有两种类型:透明网关和单协议网关。透明传输方式没有解析功能,单协议网关只支持一种协议,导致开发者每次都要寻找不同的协议网关来解决问题。但是,至于北京智宇IOT科技有限公司提供的智能网关,是用。net core 2.0对于ARM架构来说,这个问题是可以解决的。网关可以支持多种协议。
工业物联网需要大量的协议通信。如何快速连接设备的对应协议?智宇IOT提供一整套解决方案。使用智宇IOT的智能网关(支持OPC UA)和协议开发套件,可以快速开发出自己想要的协议。网关提供RS485、RS232、以太网等标准工业总线接口。通过协议开发包,开发者只需要关注协议分析部分,快速开发协议,无需考虑接口问题。因此,一个网关可以支持多种协议,智宇IOT云平台也提供了web配置功能。良好的图形界面使开发监控系统变得更加容易。
开发基于智宇平台协议接口的新型通信协议。本文档基于创建MODBUS协议,并解释如何创建和使用新的自定义协议。
其中,协议实现的模型图如下图所示:
所有协议都是从协议中实现的。接口协议接口。
要创建一个新的自由协议,应该创建两个类库。
Xxxx.Protocol.{name}和xxxx.Protocol.{name}。配置
第一类库主要涉及协议内通信的功能,第二类库主要用于为要实现的协议设置配置参数。
1: xxxx。协议。{name}库中的主要必需类
1): {name} protocolexception类:(根据具体要求,该类是可选的)
它主要在这个协议下实现各种错误类型,在编写特定的协议通信代码时根据错误类型创建这样的对象。方便记录。
2): {name}协议类:
特定的协议类,也就是协议实现的类,需要继承IProtocol接口。
IProtocol接口需要提前以下方法:
包运行条目:
///param名称='channel '通道配置/param
///参数名称='canceltoken '取消标识/参数
void Run(Channelchannel,canceltiontoken source canceltoken);
异步读取变量:
void AsyncReadValue();
异步写变量:
///param name='stagnames '要写入的变量名/param
///参数名='ovalues '要写入的变量值/参数
///param name=' server operationcontext '服务器上下文/param
void AsyncWriteValue(字符串[]stagnames,对象[] ovalues,objectserver operationcontext);
获取可变信息的方法:
PData[]GetVaLue();
四个委员会
public delegatevapdataveragechanged(pdatachageddata);
publicdelegatevoutpdataawritecomplete(Pdata complete data);
public delegatevapdataareadcomplete(Pdata complete data);
public delegatevoidopdataalive
d(PData aliveddata);四个事件:
///<summary>
///变量值改变后,触发此事件
///</summary>
eventPDataValueChanged ValueChanged;
///<summary>
///异步写入完成后,触发此事件
///</summary>
eventPDataWriteComplete WriteComplete;
///<summary>
///异步读取变量完成后,触发此事件
///</summary>
eventPDataReadComplete ReadComplete;
///<summary>
///每与变量通讯一次,触发此事件
///</summary>
eventPDataAlived Alived;
xxxx.Protocol.{name}.Config类库:
该类库主要为自定义协议中的协议通道和协议设备根据需求设置配置参数。
要实现的类:
{name}SerialChannel类:
协议串口配置信息,该类需要继承SerialChannel类其中在SerialChannel类中已存在的配置参数有:
可根据需求创建自己需要的协议属性,以ModBus协议为参考:
{name}EthernetChannel类:
协议网口配置类,此类需要继承EthernetChannel类,此类中已经实现的配置项有:
以ModBus协议为例:
{name}Device类:
协议设备类,在该协议通道下创建新的协议设备时,设备所需配置的参数,该类需要继承Device类,以ModBus协议为例:
modbus 解析网上文章很多这里就不详细说了
以上就是利用智雨物联云平台的协议开发包开发modbus协议的过程,用户利用协议开发包开发各种协议就可以在智雨物联云平台设计自己的监控系统了!
更多案例请登陆www.krmes.com qq:553016857