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

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

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

简介: SuperIO相关资料下载:http://pan.baidu.com/s/1pJ7lZWf 1.1    服务接口的作用  围绕着设备驱动模块采集的数据,根据需求提供多种应用服务,例如:数据上传服务、数据请求服务、4-20mA服务、短信服务、LED服务以及OPC服务等。
+关注继续查看

SuperIO相关资料下载:http://pan.baidu.com/s/1pJ7lZWf

1.1    服务接口的作用

 围绕着设备驱动模块采集的数据,根据需求提供多种应用服务,例如:数据上传服务、数据请求服务、4-20mA服务、短信服务、LED服务以及OPC服务等。保障数据实时性、稳定性的前提下,服务接口可以提供丰富的功能服务机制,方便开发者进行二次开发。

1.2    接口功能说明

开发设备输出接口,主要考虑到在集成项目中,集成过程中或被集成过程的各种数据格式的输出。需要继承SuperIO.Export.IExportData接口,接口包括:

1)         StartService

当服务的启动方式(IsAutoStart)为"自动启动"的时候,平台加载服务的时候,会自动调用这个接口函数。

2)         ReleaseService

释放服务资源接口。

3)         OnClick

当服务类型(ServiceType)为“显示模式“的时候,服务的名称会显示在”服务“菜单里,当单击服务菜单项的时候,会调用这个单击接口函数,可以在这个接口函数里调用窗体。

4)         WriteLogHandler

日志事件接口,可以通过此事件,把日志信息显示在”运行监视器“里。

5)         ServiceType

服务类型,分为:显示模式和隐藏模式。显示模块的服务会在”服务“菜单中显示服务名称;隐藏模式在”菜单“菜单中不会显示,可以把此类服务设置为自动启动,软件在加载过程中会自动启动服务。

6)         IsAutoStart

服务启动类型,标识是否自动启动。

7)         ThisKey

返回窗体ID,且唯一,如果有相同的窗体存在,不会再次显示该窗体了。

8)         ThisName

窗体名称。

9)         UpdateDevice

更新设备数据,接收设备OnDeviceObjectChangedHandler事件传入的对象实例。

10)     RemoveDevice

移除设备,当删除设备的时候会调用这个函数接口。

11)     Dispose

释放资源函数。

1.3    开发服务驱动

1)增加对SuperIO组件的引用。

2)新建类,继承SuperIO.Services.AppService抽象类,并且实现接口功能。

3)可以通过UpdateDevice接口函数更新设备的缓存数据。

1.4    调试服务驱动

界面方式测试是有窗体界面的,必须继承“SuperIO.UI .MainForm”类,并用代码把软件平台设置成调试模式“SuperIO.Device.DebugDevice.IsDebug = true;”,如图:


在Form_Load中初始化实例,并且加载调试图形显示模块,主要是创建实例,如:this.DebugAppService((SuperIO.Services.IAppService)_service)语句。如下图:


1.5    挂载服务驱动

在“工业串口和网络软件通讯平台_SuperIO”目录下找到【ConfigTool.exe】应用程序,选择【服务配置】选卡,单击【挂载服务】按钮,把刚才开发的服务驱动模块挂载到平台下。如下图:


1.6    在软件平台下运行

服务类型和启动类型配合使用,服务类型为显示模式,手动启动和自动启动模式均可以;服务类型为隐藏模式,设置为自动启动模式,以便在程序在加载过程中自动启动服务。

如下图:

 

作者QQ:504547114

交流QQ群:54256083

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

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

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

相关文章
通过RDP远程桌面登陆到一台通过无线网络连接的电脑总是自动断开
本来通过RDP远程登陆到一台电脑后总是自动断开,该电脑为无线网络连接,尝试修改电源设置也不不起作用。发现和802.1X协议有关,后来经如下尝试后成功解决:
2023 0
分享录制的正则表达式入门、高阶以及使用 .NET 实现网络爬虫视频教程
我发布的「正则表达式入门以及高阶教程」,欢迎学习。 课程简介 正则表达式是软件开发必须掌握的一门语言,掌握后才能很好地理解到它的威力; 课程采用概念和实验操作 4/6 分隔,帮助大家理解概念后再使用大量的实例加深对概念的理解; 实例操作是对概念最好的理解,也是学习新语言最有效的办法; 在课程中也穿插着大量软件开发的技巧和大家分享; 应该是把晦涩的正则表达式讲解的最生动的课程; 掌握了正则表达式后,您一定会觉得这是一门最值得掌握的语言。
921 0
网络IO和磁盘IO详解
1. 缓存IO          缓存I/O又被称作标准I/O,大多数文件系统的默认I/O操作都是缓存I/O。在Linux的缓存I/O机制中,数据先从磁盘复制到内核空间的缓冲区,然后从内核空间缓冲区复制到应用程序的地址空间。
2461 0
《计算机网络课程设计(第2版)》——1.2节计算机网络课程的实验教学与课程设计的关系
本节书摘来自华章社区《计算机网络课程设计(第2版)》一书中的第1章,第1.2节计算机网络课程的实验教学与课程设计的关系,作者:吴功宜 吴 英 ,更多章节内容可以访问云栖社区“华章社区”公众号查看
1295 0
Linux内核分析(四)----进程管理|网络子系统|虚拟文件系统|驱动简介
原文:Linux内核分析(四)----进程管理|网络子系统|虚拟文件系统|驱动简介 Linux内核分析(四) 两天没有更新了,上次博文我们分析了linux的内存管理子系统,本来我不想对接下来的进程管理子系统、网络子系统、虚拟文件系统在这个阶段进行分析的,但是为了让大家对内核有个整体的把握,今天还是简单的介绍一下剩余的几个子系统,我们对这几个子系统的分析,只要了解其作用和部分内容即可,不必深究,等我们写上几个驱动,到时候按照驱动再来分析这几个子系统我们就清晰多了。
948 0
+关注
唯笑志在
系统架构师、物联网方面专业顾问;10年工业领域开发和管理经验,煤炭、电力、环保和节能、冶金行业等企业;对物联网和系统集成有丰富理论知识和行业背景经验;现从事工业领域大数据平台的建设工作;开源ServerSuperIO物联网框架,解决多设备、多协议、多通信、多数据等,构建物联网平台
105
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载