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. JSP的基本语法

    JSP的基本语法 一.JSP页面中的JAVA代码 二.JSP页面中的指令 三.JSP页面中的隐含对象(九大内置对象) 目录 一.JSP页面中的JAVA代码 JSP表达式(方便输出) JSP小脚本(完成 ...

  2. MySQL_01之MySQL数据库基础

    1.通过SQL(结构化查询语言)操作数据库: DDL:数据定义语言,创建库,创建表,选择: DML:数据操作语言,完成数据增删改: DQL:数据查询语言,完成数据查询: DCL:数据控制语言,授权.回 ...

  3. Python 学习之路 (前言)

    为什么要学Python  1,脚本语言本身很方便简洁,未来会有趋势 2,web 方向 3,运维方向 我是学静态语言出身的,java,毕业后从事android 应用开发,曾在工作期间学习过linux,想 ...

  4. Caffe学习笔记1--Ubuntu 14.04 64bit caffe安装

    本篇博客主要用于记录Ubuntu 14.04 64bit操作系统搭建caffe环境,目前针对的的是CPU版本: 1.安装依赖库 sudo apt-get install libprotobuf-dev ...

  5. g++编译流程

    测试程序test.cpp如下所示: #include <iostream> using namespace std; #define MAX 9 int main() { //just f ...

  6. 区分元素特性attribute和对象属性property

    × 目录 [1]定义 [2]共有 [3]例外[4]特殊[5]自定义[6]混淆[7]总结 前面的话 其实attribute和property两个单词,翻译出来都是属性,但是<javascript高 ...

  7. 被嫌弃的eval和with

    × 目录 [1]eval [2]with 前面的话 eval和with经常被嫌弃,好像它们的存在就是错误.在CSS中,表格被嫌弃,在网页中只是用表格来展示数据,而不是做布局,都可能被斥为不规范,矫枉过 ...

  8. Android NDK开发Hello Word!

    在之前的博客中已经为大家介绍了,如何在win环境下配置DNK程序,本篇我将带大家实现一个简单的Hello jni程序,让大家真正感受一下NDK开发的魅力.这里我们选择使用C+JAVA开发Android ...

  9. 创建第一个 vlan network "vlan100" - 每天5分钟玩转 OpenStack(94)

    上一节我们在 ML2 配置中 enable 了 vlan network,今天将创建 vlan100 并讨论底层网络变化. 打开菜单 Admin -> Networks,点击 “Create N ...

  10. AngularJS之Scope及Controller(一)

    前言 之前有接触过基本的AngularJS,未过多涉及,于是乎本系列我们来着重讲讲AngularJS,对AngularJS中重要的几大内容进行梳理并进行一些小的例子的书写.在之前项目过程中用到过ava ...