1.C#跨平台物联网通讯框架ServerSuperIO(SSIO)介绍

《连载 | 物联网框架ServerSuperIO教程》1.4种通讯模式机制。

《连载 | 物联网框架ServerSuperIO教程》2.服务实例的配置参数说明

《连载 | 物联网框架ServerSuperIO教程》- 3.设备驱动介绍

《连载 | 物联网框架ServerSuperIO教程》-4.如开发一套设备驱动,同时支持串口和网络通讯。

《连载 | 物联网框架ServerSuperIO教程》- 5.轮询通讯模式开发及注意事项。

《连载 | 物联网框架ServerSuperIO教程》- 6.并发通讯模式开发及注意事项

《连载 | 物联网框架ServerSuperIO教程》- 7.自控通讯模式开发及注意事项

《连载 | 物联网框架ServerSuperIO教程》- 8.单例通讯模式开发及注意事项

《连载 | 物联网框架ServerSuperIO教程》- 9. 协议过滤器,解决一包多发、粘包、冗余数据

《连载 | 物联网框架ServerSuperIO教程》- 10.持续传输大块数据流的两种方式(如:文件)

《连载 | 物联网框架ServerSuperIO教程》- 11.实现设备(驱动)与设备(驱动)交互和级联控制。

《连载 | 物联网框架ServerSuperIO教程》- 12.服务接口的开发,以及与云端双向交互


目       录

13.自定义视图显示接口开发,满足不同的显示需求... 2

13.1        概述... 2

13.2        视图显示接口... 2

13.3        设备驱动开发及注意事项... 4

13.4        运行效果... 5

13.自定义视图显示接口开发,满足不同的显示需求

13.1     概述

如果ServerSuperIO部署在服务端,那么完全没有必要在SSIO视图接口上进行视图显示开发,可以用WEB端来做。如果ServerSuperIO部署在PC机端或者嵌入式主机,并且带现场显示屏幕,那么就需要有实时显示的界面,以及满足现场用户的不同需求。针对这种情况,ServerSuperIO内部提供了视图显示接口,设备驱动提取完成数据后,可以把数据实时传输给视图接口,可以立即显示,也可以先缓存数据,定时进行显示;  可以几个设备驱动的数据显示在一个视图,也可以全部设备驱动的数据显示在一个视图。示意如下图:

13.2     视图显示接口

视图抽象类GraphicsShow继承自IGraphicsShow接口,进行二次开发可以继承GraphicsShow抽象类。在ServerSuperIO上开发好视图接口后,完全可以在二次开发套件下挂载和运行(二次开发套件下载)。在进行二次开时,有几点特别需要注意:

  1. ShowGraphics(IWin32Window windows)接口,windows参数是当前显示视图的父窗体,如果父窗体设置了IsMdiContainer=true,那么可以设置当前显示视图showForm.MdiParent = (Form)windows。
  2. UpdateDevice(string devid, object obj)实时数据更新接口,如果二次开发的视图的实例增加到当前服务实例中,那么设备驱动会通过OnDeviceObjectChanged数据改变事件通知视图的UpdateDevice接口进行数据更新。OnDeviceObjectChanged何时触发,完全由二次开发者自己把控。
  3. OnGraphicsShowClosed视图关闭事件接口,当前视图进行关闭时,一定要触发这个事件,ServerSuperIO会自动释放资源,并把当前视图实例从服务实例中销毁,以便下次能够正常显示。
  4. MouseRightContextMenu上下文菜单显示接口,如果右键单击当前视图显示的某个设备视图时,可以调用这个上下文菜单接口,会调用设备驱动IRunDevice接口的ShowContextMenu函数,可以在这个函数中展示上下文菜单。这个功能特别有用,因为针对不同类型的设备驱动功能不一样,可以通过上下文菜单自定义该类型设备的功能特性。

GraphicsShow接口代码定义如下:

public interface IGraphicsShow : IPlugin
{
/// <summary>
/// 视图Key,要求唯一
/// </summary>
string ShowKey { get;} /// <summary>
/// 视图名称
/// </summary>
string ShowName { get; } /// <summary>
/// 显示窗体
/// </summary>
/// <param name="windows"></param>
void ShowGraphics(IWin32Window windows); /// <summary>
///
/// </summary>
void CloseGraphics(); /// <summary>
/// 更新设备
/// </summary>
/// <param name="devCode">设备code</param>
/// <param name="obj">设备对象</param>
void UpdateDevice(string devCode, object obj); /// <summary>
/// 移除设备
/// </summary>
/// <param name="devCode">设备code</param>
void RemoveDevice(string devCode); /// <summary>
/// 关闭窗体事件时发生
/// </summary>
event GraphicsShowClosedHandler GraphicsShowClosed; /// <summary>
/// 单击右键,调用上下文菜单
/// </summary>
event MouseRightContextMenuHandler MouseRightContextMenu; /// <summary> /// 是否被释放
/// </summary>
bool IsDisposed { get; }
}

13.3     设备驱动开发及注意事项

  1. 给视图实例传递数据信息,通过OnDeviceObjectChanged事件。代码如下:
List<string> list = new List<string>();
list.Add(_devicePara.DeviceCode);
list.Add(_devicePara.DeviceName);
list.Add(_deviceDyn.Dyn.Flow.ToString());
list.Add(_deviceDyn.Dyn.Signal.ToString());
OnDeviceObjectChanged(list.ToArray());

2.显示上下文菜单,视图接口的MouseRightContextMenu会调用设备驱动的ShowContextMenu接口函数。代码如下:

 public override void ShowContextMenu()
{
this._contextMenuComponent.ContextMenuStrip.Show(Cursor.Position);
}

13.4     运行效果


1.[连载]《C#通讯(串口和网络)框架的设计与实现》

2.[开源]C#跨平台物联网通讯框架ServerSuperIO(SSIO)介绍

2.应用SuperIO(SIO)和开源跨平台物联网框架ServerSuperIO(SSIO)构建系统的整体方案

3.C#工业物联网和集成系统解决方案的技术路线(数据源、数据采集、数据上传与接收、ActiveMQ、Mongodb、WebApi、手机App)

5.ServerSuperIO开源地址:https://github.com/wxzz/ServerSuperIO

物联网&集成技术(.NET) QQ群

《连载 | 物联网框架ServerSuperIO教程》- 13.自定义视图显示接口开发,满足不同的显示需求的更多相关文章

  1. 《连载 | 物联网框架ServerSuperIO教程》- 8.单例通讯模式开发及注意事项

    1.C#跨平台物联网通讯框架ServerSuperIO(SSIO)介绍 <连载 | 物联网框架ServerSuperIO教程>1.4种通讯模式机制. <连载 | 物联网框架Serve ...

  2. 《连载 | 物联网框架ServerSuperIO教程》- 5.轮询通讯模式开发及注意事项。附:网友制作的类库说明(CHM)

    1.C#跨平台物联网通讯框架ServerSuperIO(SSIO)介绍 <连载 | 物联网框架ServerSuperIO教程>1.4种通讯模式机制. <连载 | 物联网框架Serve ...

  3. 《连载 | 物联网框架ServerSuperIO教程》- 14.配制工具介绍,以及设备驱动、视图驱动、服务实例的挂载

    注:ServerSuperIO二次开发套件授权码申请---截止到:2016-12-09 1.C#跨平台物联网通讯框架ServerSuperIO(SSIO)介绍 <连载 | 物联网框架Server ...

  4. 《连载 | 物联网框架ServerSuperIO教程》- 15.数据持久化接口的使用。附:3.2发布与版本更新说明。

    1.C#跨平台物联网通讯框架ServerSuperIO(SSIO)介绍 <连载 | 物联网框架ServerSuperIO教程>1.4种通讯模式机制. <连载 | 物联网框架Serve ...

  5. 《连载 | 物联网框架ServerSuperIO教程》- 18.集成OPC Client,及使用步骤

    1.C#跨平台物联网通讯框架ServerSuperIO(SSIO)介绍 <连载 | 物联网框架ServerSuperIO教程>1.4种通讯模式机制. <连载 | 物联网框架Serve ...

  6. 《连载 | 物联网框架ServerSuperIO教程》- 16.OPC Server的使用步骤。附:3.3 发布与版本更新说明。

    1.C#跨平台物联网通讯框架ServerSuperIO(SSIO)介绍 <连载 | 物联网框架ServerSuperIO教程>1.4种通讯模式机制. <连载 | 物联网框架Serve ...

  7. 《连载 | 物联网框架ServerSuperIO教程》- 17.支持实时数据库,高并发保存测点数据。附:3.4 发布与版本更新说明。

    1.C#跨平台物联网通讯框架ServerSuperIO(SSIO)介绍 <连载 | 物联网框架ServerSuperIO教程>1.4种通讯模式机制. <连载 | 物联网框架Serve ...

  8. 《连载 | 物联网框架ServerSuperIO教程》- 17.集成Golden实时数据库,高并发保存测点数据。附:3.4 发布与版本更新说明。

    1.C#跨平台物联网通讯框架ServerSuperIO(SSIO)介绍 <连载 | 物联网框架ServerSuperIO教程>1.4种通讯模式机制. <连载 | 物联网框架Serve ...

  9. 《连载 | 物联网框架ServerSuperIO教程》- 16.集成OPC Server,及使用步骤。附:3.3 发布与版本更新说明。

    1.C#跨平台物联网通讯框架ServerSuperIO(SSIO)介绍 <连载 | 物联网框架ServerSuperIO教程>1.4种通讯模式机制. <连载 | 物联网框架Serve ...

随机推荐

  1. scala练习题1 基础知识

    1, 在scala REPL中输入3. 然后按下tab键,有哪些方法可以被调用? 24个方法可以被调用, 8个基本类型: 基本的操作符, 等:     2,在scala REPL中,计算3的平方根,然 ...

  2. SAP CRM 用户界面对象类型和设计对象

    在CRM中的用户界面对象类型的帮助下,我们可以做这些工作: 进行不同的视图配置 创建动态导航 从设计层控制字段标签.值帮助 控制BOL对象的属性的可视性 从导航栏访问自定义组件 一个用户界面对象类型之 ...

  3. Git的四个基本概念及 git的工作流程

  4. 如何理解MySQL中auto_increment?

    1.auto_increment用于主键自动增长.比如从1开始增长,当把第一条数据删除,再插入第二条数据时,主键值为2,不是1.

  5. linux练习题

    观察系统当前进程的运行情况的命令是( ):A.freeB.dmesgC.topD.last 答案:http://hovertree.com/tiku/bjag/foxg5n0q.htm Linux系统 ...

  6. 为什么 Android Studio 工程文件夹占用空间这么大?我们来给它减减肥

    偶然中发现Android Studio的工程文件夹比ADT Bundle的大很多.用Android Studio新建一个空工程,工程文件夹大小为30M,运行一次后大小为40M.同样用ADT Bundl ...

  7. linux-centos6.5之ssh配置

    查询\安装SSH服务 #rpm -qa |grep ssh 检查是否装了SSH包 #yum install openssh-server 没有的话,安装SSH服务 #chkconfig --list ...

  8. Java中的进程与线程(总结篇)

    详细文档: Java中的进程与线程.rar 474KB 1/7/2017 6:21:15 PM 概述: 几乎任何的操作系统都支持运行多个任务,通常一个任务就是一个程序,而一个程序就是一个进程.当一个进 ...

  9. Fedora 22中的用户和用户组管理

    The control of users and groups is a core element of Fedora system administration. This chapter expl ...

  10. Web API 强势入门指南

    Web API是一个比较宽泛的概念.这里我们提到Web API特指ASP.NET Web API. 这篇文章中我们主要介绍Web API的主要功能以及与其他同类型框架的对比,最后通过一些相对复杂的实例 ...