【工业串口和网络软件通讯平台(SuperIO)教程】三.二次开发流程-阿里云开发者社区

开发者社区> 唯笑志在> 正文

【工业串口和网络软件通讯平台(SuperIO)教程】三.二次开发流程

简介: 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.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

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
分享录制的正则表达式入门、高阶以及使用 .NET 实现网络爬虫视频教程
我发布的「正则表达式入门以及高阶教程」,欢迎学习。 课程简介 正则表达式是软件开发必须掌握的一门语言,掌握后才能很好地理解到它的威力; 课程采用概念和实验操作 4/6 分隔,帮助大家理解概念后再使用大量的实例加深对概念的理解; 实例操作是对概念最好的理解,也是学习新语言最有效的办法; 在课程中也穿插着大量软件开发的技巧和大家分享; 应该是把晦涩的正则表达式讲解的最生动的课程; 掌握了正则表达式后,您一定会觉得这是一门最值得掌握的语言。
932 0
ECS云服务器初学者体验以及链接流程
云服务器,可以说与我们的生活息息相关,网络中的不少数据与网站都是存储在云端之中,平常我们或多或少都听过“云服务器”这个词,但是接触且了解它的人却也不多。而正逢我们专业老师要求我们运用Python以及django搭建一个小型网站,为此我们特意了解了云服务器以及得知阿里云“飞天加速计划·高校学生在家实践”活动。在学习ECS的云服务器搭建中,我们更了解了“云端”这一概念,学习了不少也收获了不少。
173 0
网络IO和磁盘IO详解
1. 缓存IO          缓存I/O又被称作标准I/O,大多数文件系统的默认I/O操作都是缓存I/O。在Linux的缓存I/O机制中,数据先从磁盘复制到内核空间的缓冲区,然后从内核空间缓冲区复制到应用程序的地址空间。
2502 0
Android官方开发文档Training系列课程中文版:连接无线设备之通过P2P搜索网络服务
原文地址:http://android.xsoftlab.net/training/connect-devices-wirelessly/nsd-wifi-direct.html 本阶段的第一节课 Using Network Service Discovery 展示了如何搜索本地网络服务。
867 0
迄今为止最好用的Flink SQL教程:Flink SQL Cookbook on Zeppelin
无需写任何代码,只要照着这篇文章轻松几步就能跑各种类型的 Flink SQL 语句。
1680 0
《计算机网络课程设计(第2版)》——1.2节计算机网络课程的实验教学与课程设计的关系
本节书摘来自华章社区《计算机网络课程设计(第2版)》一书中的第1章,第1.2节计算机网络课程的实验教学与课程设计的关系,作者:吴功宜 吴 英 ,更多章节内容可以访问云栖社区“华章社区”公众号查看
1296 0
Apache Flink 零基础入门教程(六):状态管理及容错机制
本文主要分享内容如下:状态管理的基本概念;状态的类型与使用示例;容错机制与故障恢复;
5155 0
Apache Flink 零基础入门教程(六):状态管理及容错机制
本文主要分享内容如下: - 状态管理的基本概念; - 状态的类型与使用示例; - 容错机制与故障恢复;
1015 0
+关注
唯笑志在
系统架构师、物联网方面专业顾问;10年工业领域开发和管理经验,煤炭、电力、环保和节能、冶金行业等企业;对物联网和系统集成有丰富理论知识和行业背景经验;现从事工业领域大数据平台的建设工作;开源ServerSuperIO物联网框架,解决多设备、多协议、多通信、多数据等,构建物联网平台
105
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载