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

【工业串口和网络软件通讯平台(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    开发准备 把“开发包”内的所有文件复制到项目的“bin”目录下,或项目下的专用生成目录.开发包 ...

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

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

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

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

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

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

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

    1.1    二次开发流程图 1.2    引用相关组件 找到“开发包”,引用里边的相关组件.如下图: 1.3    开发设备驱动模块 1.3.1    开发发送协议驱动 继承SuperIO.Devi ...

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

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

随机推荐

  1. Java static 的一两点使用

    这篇文章是关于Java static关键字的使用,主要会介绍以下的内容: static 的概念 static的各种应用 总结 static 是什么 static 顾名思义是静态的意思.与this相对, ...

  2. Andrew Ng机器学习公开课笔记 -- 学习理论

    网易公开课,第9,10课 notes,http://cs229.stanford.edu/notes/cs229-notes4.pdf 这章要讨论的问题是,如何去评价和选择学习算法   Bias/va ...

  3. 【PRINCE2是什么】PRINCE2认证之七大原则(4)

    我们先来回顾一下,PRINCE2七大原则分别是持续的业务验证,经验学习,角色与责任,按阶段管理,例外管理,关注产品,剪裁. 第四个原则:按阶段管理. 阶段管理其实是给高层提供了项目生命周期中相对应的控 ...

  4. 没有水果机的也来体验下Visual Studio for Mac

    在去年微软已经宣布.NET将实现真正的跨平台,并且发布了Mac和Linux版的Visual Studio Code编辑器,但强大的Visual Studio确只有Windows版. 还坚守.NET开发 ...

  5. 数据结构与算法JavaScript (五) 串(经典KMP算法)

    KMP算法和BM算法 KMP是前缀匹配和BM后缀匹配的经典算法,看得出来前缀匹配和后缀匹配的区别就仅仅在于比较的顺序不同 前缀匹配是指:模式串和母串的比较从左到右,模式串的移动也是从 左到右 后缀匹配 ...

  6. 解密jQuery事件核心 - 自定义设计(三)

    接上文http://www.cnblogs.com/aaronjs/p/3447483.html 本文重点:自定义事件 “通过事件机制,可以将类设计为独立的模块,通过事件对外通信,提高了程序的开发效率 ...

  7. 12款非常精致的免费 HTML5 & CSS3 网站模板

    01. Joefrey Mahusay 很炫的单页网站模板,基于 HTML5 & CSS3 制作,适合用于设计师个人简历.摄影师和平面设计师的个人作品展示. 演示  下载 02. Folder ...

  8. Textbox.Visible=False隐藏方式导致的问题

    今天公司的正式环境有个功能不好使,但是测试环境没有问题,经过和同事的研讨,发现应该是我在写代码的时候把Textbox的visible属性设置为false导致的. 当时的需求是需要在发邮件的时候加上“相 ...

  9. py2exe使用中遇到的几个问题

    问题: 在使用py2exe对所写的python脚本打包成.exe可执行程序时,遇到两个问题: 问题1: RuntimeError: maximum recursion depth exceeded w ...

  10. ASP.NET MVC5 网站开发实践(二) Member区域 - 用户部分(2)用户登录、注销

    上次实现了用户注册,这次来实现用户登录,用到IAuthenticationManager的SignOut.SignIn方法和基于声明的标识.最后修改用户注册代码实现注册成功后直接登录. 目录: ASP ...