1.1    二次开发流程图

1.2    引用相关组件

找到“开发包”,引用里边的相关组件。如下图:

1.3    开发设备驱动模块

1.3.1    开发发送协议驱动

继承SuperIO.Device.DeviceSendProtocol接口,覆盖相关的FunctionXX接口函数,进行数据打包,“XX”代表16进制的数据,例如:Function31函数通过this.SendProtocol.GetSendCmdBytes(addr, new byte[] { 0x32 }, null, false)函数进行调用。

接口函数可以与接收协议中的接口函数相对应。

1.3.2    开发接收协议驱动

继承SuperIO.Device.DeviceReceiveProtocol接口,覆盖相关的FunctionXX接口函数,进行数据打包,“XX”代表16进制的数据,例如:Function31函数通过this.ReceiveProtocol.GetAnalysisData(data, null, -1)函数进行调用。

接口函数可以与发送协议中的接口函数相对应。

1.3.3    参数数据、实时数据持久化

可以继承SuperIO.Device.DeviceParameter和SuperIO.Device.DeviceRealTimeData类,在子类中增加新的属性,覆盖SaveSerializePath属性指定保存数据的路径,进行序列化和反序列化操作进行保存和获得数据。

二次开发者可以SuperIO.SerializeOperation.SerializeOperation类型自定义数据持久化类。

1.3.4    开发运行设备驱动

继承SuperIO.Device.RunDevice1抽象类,重写相应的函数接口完成相应的功能。

具体的函数功能说明请看后续的开发实例。

1.3.5    创建ContextMenu菜单

通过设备接口的ShowContextMenu函数显示上下文菜单,当在软件平台的列表中右键单击时会显示这个菜单界面。

1.4    开发图形显示模块

图形显示界面要同时继承Form窗体类和SuperIO.Show.IGraphicsShow接口,用于显示窗体和驱动数据。

可以把不同的数据信息集成到一个界面下显示,查看更直观、方便。

1.5    开发数据异出模块

对于同一类设备,在不改变设备驱动模块的情况下,输出不同格式的数据,更多的用于与其他集成系统对接。

1.6    开发服务模块

在这里可以开发针对设备、平台的各种服务,例如:平台采集完数据信息后上传到服务中心等,利用此类接口接口应用比较广泛。

1.7    调试驱动、模块

可以继承MainForm窗体,调用调试接口,在有界面的情况下进行调试;也

可以,通过DebugDevice. GetDebugInstance()获得调试实例,在无界面的情况下进行调试。

1.8    挂载驱动、模块

运行ConfigTool.exe配置工具,对开发好的驱动、模块进行挂载。如下图:

作者QQ:504547114

交流QQ群:54256083

官方网址:http://www.bmpj.net

源文章地址:http://www.bmpj.net/index.php?m=article&f=view&id=3

【工业串口和网络软件通讯平台(SuperIO)教程】三.二次开发流程的更多相关文章

  1. 【工业串口和网络软件通讯平台(SuperIO)教程】二.架构和组成部分

    1.1    架构结构图 1.1.1    层次示意图 1.1.2    模型对象示意图 1.2    IO管理器 IO管理器是对串口和网络通讯链路的管理.调度.针对串口和网络通讯链路的特点,在IO管 ...

  2. 【工业串口和网络软件通讯平台(SuperIO)教程】七.二次开发服务驱动

    SuperIO相关资料下载:http://pan.baidu.com/s/1pJ7lZWf 1.1    服务接口的作用 围绕着设备驱动模块采集的数据,根据需求提供多种应用服务,例如:数据上传服务.数 ...

  3. 【工业串口和网络软件通讯平台(SuperIO)教程】六.二次开发导出数据驱动

    SuperIO相关资料下载:http://pan.baidu.com/s/1pJ7lZWf 1.1    导出数据接口的作用 在数据集成系统项目中,要么是自已集成其他厂家的设备,要么是其他厂家集成自己 ...

  4. 【工业串口和网络软件通讯平台(SuperIO)教程】五.二次开发图形显示界面

    SuperIO相关资料下载:http://pan.baidu.com/s/1pJ7lZWf 1.1    图形显示接口的作用 用于显示采集终端设备的数据,可以把不同类型设备的数据以多种形式集成显示在不 ...

  5. 【工业串口和网络软件通讯平台(SuperIO)教程】四.开发设备驱动

    SuperIO相关资料下载:http://pan.baidu.com/s/1pJ7lZWf 1.1    开发准备 把“开发包”内的所有文件复制到项目的“bin”目录下,或项目下的专用生成目录.开发包 ...

  6. 【工业串口和网络软件通讯平台(SuperIO)教程】九.重写通讯接口函数,实现特殊通讯方式

    SuperIO相关资料下载:http://pan.baidu.com/s/1pJ7lZWf 1.1    统一的IO接口 开发一套设备驱动同时具备串口和网络通讯能力,通讯接口在逻辑上是统一的,在此基础 ...

  7. 【工业串口和网络软件通讯平台(SuperIO)教程】一.通讯机制

    1.1    应用场景 通讯平台的交互对象包括两方面:第一.与硬件产品交互.第二.与软件产品交互.基本这两方面考虑,通讯平台一般会应用在两个场景: 1)通讯平台应用在PC机上 主要应用在自动站的工控机 ...

  8. 【工业串口和网络软件通讯平台(SuperIO)教程】八.SuperIO通讯机制与设备驱动对接的说明

    SuperIO相关资料下载:http://pan.baidu.com/s/1pJ7lZWf 1.1    通讯机制说明 通讯的总体机制采用呼叫应答方式,就是上位机软件主动发送请求数据命令,下位机终端接 ...

  9. 工业串口和网络软件通讯平台(SuperIO 2.0)发布

    下载:SuperIO 2.0(开发手册.Demo.组件包) 官网:进入 交流群:54256083 SuperIO 2.0版本正式发布.把SCL正式更改名称为SuperIO. 一.此次升级主要包括两个方 ...

随机推荐

  1. AngularJs之一

    在讲正题之前,先说一下有关angular简介方面的信息: 1. angularJS  诞生于2009年,由Misko Hevery 等人创建,后为Google所收购.是一款优秀的前端JS框架,已经被用 ...

  2. webpack摸索(一)webpack-dev-server热模块替换

    webpack-dev-server 是生成在内存中的 本地开发: index.html <!DOCTYPE html> <html lang="en"> ...

  3. UpdateData(TRUE)与UpdateData(FALSE)的使用

    二者是更新对话框的控件与变量. 1.先要建立对应关系 如 编辑框IDC_Edit  和 变量 m_name DDX_Text(pDX, IDC_EDIT, m_name); 2.若是在编辑框输入名字 ...

  4. c#利用泛型集合,为自己偷偷懒。

    有人说"越懒"的程序员进步的越快!其实还挺有道理.亲身体验,从刚出来工作到现在,自己变"懒"了许多,但感觉写出来的代码确有了不少提升.刚开始啊,同样的代码,赋值 ...

  5. 【转】SQL删除重复数据方法,留着备用

    感谢孙潇楠前辈的总结,地址http://www.cnblogs.com/sunxiaonan/archive/2009/11/24/1609439.html 例如: id           name ...

  6. .Net 转战 Android 4.4 日常笔记(4)--按钮事件和国际化

    我们知道资源被注册到R.java我们通过R.java就可以读取到界面中的组件.跟我们.net一样,通过ID来读取组件 知识点: 通过R.java读取组件 MainActivity.java通过find ...

  7. Neutron 如何支持多种 network provider - 每天5分钟玩转 OpenStack(70)

    Neutron 的架构是非常开放的,可以支持多种 network provider,只要遵循一定的设计原则和规范.本节我们将开始讨论这个主题. 先讨论一个简单的场景:在 Neutorn 中使用 lin ...

  8. 记一次ASP.NET MVC性能优化(实际项目中)

    前言 在开发中为了紧赶项目进度而未去关注性能的问题,在项目逐渐稳定下来后发现性能令人感到有点忧伤,于是开始去关注这方面,本篇为记录在开发中遇到的问题并解决,不喜勿喷.注意:以下问题都是在移动端上出现, ...

  9. 如何远程备份MySQL binlog

    以前备份binlog时,都是先在本地进行备份压缩,然后发送到远程服务器中.但是这其中还是有一定风险的,因为日志的备份都是周期性的,如果在某个周期中,服务器宕机了,硬盘损坏了,就可能导致这段时间的bin ...

  10. 关于MyCAT字符集的验证

    MyCAT默认字符集是UTF8 下面通过查看日志来验证不同的MySQL客户端字符集和服务器字符集对于MyCAT的影响. 日志中与字符集有关的主要有三部分: 1. 初始化MyCAT连接池 2. 心跳检测 ...