《物联网框架ServerSuperIO教程》-20.网络通讯控制器分组,进步交互的负载平衡能力。v3.6.6 版本发表

20.1     概述

    
ServerSuperIO原来在网络通讯方式下,只有一个网络控制器,在约束情势、并发格局和单例格局下时都是异步处理回来的多寡,并不会油可是生性能问题。可是在轮询情势下,一个网络控制器要按顺序依次操作设备驱动的出殡和吸纳,这样就会冒出轮询周期过长,达不到读取数据频率的情形。

    
为了化解上述问题,现在对设备驱动的参数增添了网络控制器分组功用,网络决定器会依据设备参数设置的分组名称控制设施驱动。例如轮询格局下,有1000个装备驱动,可以每10个设施驱动装置同样的分组名称,这10个设备驱动受控于同一个网络控制器,假如每间隔1s读取一回数据,那么每个设备驱动的轮询周期是10s钟,其他网络控制器类似。

20.2     网络控制器示意图

 图片 1

     
遵照设置设备驱动网络参数的ControllerGroup,可以把装备驱动分配到不同的网络决定中运行,并且适用于轮询、自控、并发和单例控制格局。

20.3     串口控制器示意图

 图片 2

        
顺便提一下串口控制器,通过安装设备驱动的串口号决定被分配到不同的串口控制器,该控制器只好适用于轮询控制情势。

20.4     设备驱动网络控制器分组示例代码

        static void Main(string[] args)
        {
            string deviceID = "2";
            DeviceDriver dev3 = new DeviceDriver();
            dev3.DeviceParameter.DeviceName = "设备2";
            dev3.DeviceParameter.DeviceAddr = 0;
            dev3.DeviceParameter.DeviceID = deviceID;
            dev3.DeviceParameter.DeviceCode = deviceID;
            dev3.DeviceDynamic.DeviceID = deviceID;
            dev3.DeviceParameter.NET.RemoteIP = "127.0.0.1";
            dev3.DeviceParameter.NET.RemotePort = 9600;
            dev3.DeviceParameter.NET.ControllerGroup = "G2";
            dev3.CommunicateType = CommunicateType.NET;
            dev3.DeviceParameter.NET.WorkMode = WorkMode.TcpServer;
            dev3.Initialize(deviceID);

            deviceID = "3";
            DeviceDriver dev4 = new DeviceDriver();
            dev4.DeviceParameter.DeviceName = "设备3";
            dev4.DeviceParameter.DeviceAddr = 0;
            dev4.DeviceParameter.DeviceID = deviceID;
            dev4.DeviceParameter.DeviceCode = deviceID;
            dev4.DeviceDynamic.DeviceID = deviceID;
            dev4.DeviceParameter.NET.RemoteIP = "127.0.0.1";
            dev4.DeviceParameter.NET.RemotePort = 9600;
            dev4.DeviceParameter.NET.ControllerGroup = "G3";
            dev4.CommunicateType = CommunicateType.NET;
            dev4.Initialize(deviceID);

            IServer server = new ServerManager().CreateServer(new ServerConfig()
            {
                ServerName = "服务1",
                ComReadTimeout = 1000,
                ComWriteTimeout = 1000,
                NetReceiveTimeout = 1000,
                NetSendTimeout = 1000,
                ControlMode = ControlMode.Loop,
                SocketMode = SocketMode.Tcp,
                StartReceiveDataFliter = false,
                ClearSocketSession = true,
                StartCheckPackageLength = false,
                CheckSameSocketSession = false,
            });

            server.AddDeviceCompleted += server_AddDeviceCompleted;
            server.DeleteDeviceCompleted += server_DeleteDeviceCompleted;
            server.SocketConnected+=server_SocketConnected;
            server.SocketClosed+=server_SocketClosed;
            server.Start();

            server.AddDevice(dev3);
            server.AddDevice(dev4);

            while ("exit"==Console.ReadLine())
            {
                 server.Stop();
            }
        }

 


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群:54256083 

下载地址:http://www.bmpj.net/thread-14-1-1.html


 

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.劳动接口的支付,以及与云端双向互动

《连载 | 物联网框架ServerSuperIO教程》-
13.自定义视图呈现接口开发,满意不同的来得需求

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

《连载 | 物联网框架ServerSuperIO教程》-
15.多少持久化接口的使用

《连载 | 物联网框架ServerSuperIO教程》- 16.OPC
Server的利用手续

《连载 | 物联网框架ServerSuperIO教程》-
17.支撑实时数据库,高并发保存测点数据

《连载 | 物联网框架ServerSuperIO教程》- 18.集成OPC
Client,及采用手续

《连载 | 物联网框架ServerSuperIO教程》-19.装置驱动和OPC
Client协助mysql、oracle、sqlite、sqlserver的持久化

 

网站地图xml地图