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


    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

  • 相关阅读:
    Java实现 LeetCode 416 分割等和子集
    Java实现 LeetCode 416 分割等和子集
    在Linux运行期间升级Linux系统(Uboot+kernel+Rootfs)
    【详解】嵌入式开发中固件的烧录方式
    嵌入式系统烧写uboot/bootloader/kernel的一般方法
    Linux下USB烧写uImage kernel
    Xmanager连接CentOS的远程桌面
    命令行利器Tmux
    u-boot中分区和内核MTD分区关系
    uboot环境变量与内核MTD分区关系
  • 原文地址:https://www.cnblogs.com/lsjwq/p/4734948.html
Copyright © 2020-2023  润新知