开源跨平台IOT通信框架ServerSuperIO,IDE使用教程

履新内容,v4.2.2版本:
开源跨平台IOT通信框架ServerSuperIO,IDE使用教程。 style=”font-size: 16px;”>1.扩展Modbus协议读取多个寄存器,并且按八种数据类型解析数据。
2.Modbus Serial和Modbus
TCP八个驱动合并成一个驱动。
style=”font-size: 16px;”>3.修改数据库结构,保存配置新闻。
style=”font-size: 16px;”>4.优化ServerSuperIO大旨代码,应用进度中的潜在难点。

v4.2.2
下载地址:合法下载

ServerSuperIO Designer IDE
v4.2版本更新内容:

  • style=”font-size: 16px;”>扩展ServerSuperIO.Host运转程序,能够运用IDE举办测试,Host为运维条件。
  • style=”font-size: 16px;”>针对设备驱动扩展导入监测点功效。
  • style=”font-size: 16px;”>修复OPC客户端配置后关门窗体慢的地方。
  • 修改保存Tag值为object对象。
  • 优化别的代码。

v4.2.1 更新内容:
style=”font-size: 16px;”>1.再度定义数据转发文本协议,使网关与ServerSuperIO以及中间能够相关交互数据。
style=”font-size: 16px;”>2.扩大ServerSuperIO动态数据类的不二法门,更灵敏。
style=”font-size: 16px;”>3.修复Designer扩张转载职责的多个BUG。
4.改动数据转载客户端和服务端。
5.日增硬件网关驱动。

v4.2.1
下载地址:官方下载

      物联网涉及到各个设备、各个传感器、各个数据源、各个协商,并且很难统一,那么就要有2个结构性的框架消除这么些难题。SSIO正是遵照一时半刻进步的等级和求实实况的组合产物。




      各样数据消息,如下图:

 目       录

 目       录

 目       录

亚洲必赢官网 1

3.
Modbus协议,读取八个寄存器,实现各种数据类型解析… 2

1.正式Modbus和非标准化准协议的施用、测试以及驱动开发…
2

2.
与硬件网关数据交互,以及开始展览数量转载… 2

 

3.1           概述… 2

1.1           概述… 2

2.1           概述… 2

 

3.2           Modbus基础知识… 2

1.2           标准Modbus的施用和测试…
2

2.2           演示的架构… 2

         
消除方案,协作SIO使用:

3.3          
读取多个寄存器,三种数据类型解析… 4

1.3           非标准化准协议的运用和测试…
2

2.3           Modbus
Slave模拟传感器数据… 3

亚洲必赢官网 2

3.4           落成效益体现… 6

1.4           设备驱动的开发… 2

2.4          
硬件网关SuperLink采集和转化数据… 3

一、SSIO特点

3.5           以后驱动的规划… 7


2.5           ServerSuperIO
Designer采集数据… 5

  • 轻型高品质通讯框架,适用于二种应用场,轮询形式、自小编控制形式、并发方式和单例格局。
  • 不不过通信框架,是装备驱动、IO通道、控制格局场景的和谐机制。
  • 辅助协议驱动器,能够按正统写标准协议和自定义协和。
  • 支撑发送数据缓存器,帮忙命令缓存重发和按事先级别发送。
  • 支撑协议过滤器,按规则筛选数据,并且可以继承接口,自定义过滤格局。
  • 帮衬接收数据缓存器,可以缓存不切合过滤器的数额,和下次接收数据实行拼接。
  • 协助按设备命令优先级别实行调度设施,保险有高级别命令的驱动及时发送。
  • 支撑多少个配备驱动,同时补助串口和互联网二种简报格局,能够监视IO通道数据。
  • 支撑2个装置驱动,在网络通信时得以补助TCP
    Server和TCP Client三种工作方式。
  • 帮助多配备共享同一IO通道举行电视发表。
  • 支撑定时清理超时的互连网IO通道。
  • 支撑显得视图接口,满足差别呈现须要。
  • 支撑服务组件接口,能够自定义达成OPC服务、4-20mA输出、LED大屏展现、短信服务、以及多效益网关服务。
  •  支持创立多服务实例,达成区别工作的拆分。
  •  协助跨平台安顿,能够运转在Linux和Windows系统。

 

 1.1    概述

2.6           ServerSuperIO
Designer转载数据… 7

二、SSIO发布到NuGet平台

2.1    概述

     
在发布《专业Modbus和非标准化准协议的运用、测试以及驱动开发》之后,有个别网上好友反映在Modbus协议驱动方面是还是不是足以兑现读多少个寄存器和按多样数据类型解析数据。一是通常做事相比较忙,二是有个别犯懒。在传感器及仪器仪表行业用到Modbus协议的景观相比多,不过多数接纳都相比较简单,或然往往只须求贰个命令读取数据,对回到数据进行分析。作者认为针对那种场所开发一个简易的驱动分外简单,加之网上朋友的品位参差,也从没针对性网上好友的申报举行主动的应对。不过从二个产品的角度考虑,确实应该展开完善,也真的有市镇方面包车型大巴须求,有好多专营商是借鉴Modbus协议情势进行自定义协和式飞机,情况比较复杂。所以,利用出差的这段时间,针对Modbus驱动达成读取八个寄存器和按各种数据类型解析数据,以满意区别应用现场的供给。

       Designer
IDE完全是在ServerSuperIO基础上进展支付,当然三遍开发者也得以支付协调的IDE环境,应用到商店的出品和连串中。在此之前开发过三个IDE环境,可是离产品化还比较远。Designer
IDE的框架相对相比早熟,并且扩大性相比好,能够选取Designer
IDE进行系统开发和布署,使用ServerSuperIO.Host正式计划运维。

2.7           完结的全景效果… 8

亚洲必赢官网 3

2.2    Modbus基础知识

     
Modbus接纳的报纸发表机制为呼叫应答方式,或叫主从格局(master/slave)。主机发送请求命令,从机接到指令后举办校验数据的完整性,以及明确是否发放自身的通令,校验成功后,重返钦点的多少音讯,完结一回完整的广播发表。呼叫应答通信机制如下图:

亚洲必赢官网 4

      
Modbus协议依靠互联网传输层定义了二个大致的多少传输协议,串口通信(Modbus
Serial)的翼虎TU和ASCII情势以及网络通信(Modbus
TCP)方式在协商编码和操作方面有所不同。基本协议格式如下图:

亚洲必赢官网 5

      下位机地址和作用码,示意图:

亚洲必赢官网 6

 

      
白皮书介绍:下载地址。

      
今后还会与Web组态对接,用于图形化建模,从尾部传感器到云端监测快CRIDER成“即接即显示”,通信和图片建立模型丰富解耦,是今后高速互连网(例如5G)环境建设的发展趋势。同时,为中型小型集团售前设计、项目计划和执行提供全套的化解方案。全体的接纳,希望对于店铺和人个都会有实质的升级换代。

2.1    概述

三、搜索SSIO

2.3    读取八个寄存器,多样数据类型解析

      
主要针对【寄存器个数】和【解析数据格局】七个挑大选行升级,在设施驱动中追加监测点的时候,能够选用那两项内容。如下图:

亚洲必赢官网 7

       
3个寄存器个数代码一个字节,转换来字节数的公式为:读取数据字节数=寄存器个数*2,根据实际境况设置。

       
解析数据格局为24种,主要针对short、ushort、int、uint、float和double数据类型实行剖析,由于传感器与电脑的高低位排序有所差距,所以针对同一种数据类型分差异的分析方法。解析数据情势,如下图:

亚洲必赢官网 8

       ServerSuperIO Designer IDE 4.2
下载:。

      
工业现场(物联网)使用硬件网关(SuperLink)的光景相比较广泛,主要考虑多区域场景和网络条件限制情况下的应用和布局,具体依照现场的利用场景。网关两大基本职能:数据搜集和数量转载,在类型种类建设中起到承上启下的职能。

亚洲必赢官网 9

2.4    落成效益展示

       使用Modbus TCP举办出现说法,连接Modbus
Slave,127.0.0.1:502,读取一个数据点,按“short,2字节,顺序:先高后低”解析数据,如下图:

亚洲必赢官网 10

1.2    标准Modbus的使用和测试

      
ServerSuperIO今后合龙了硬件网关(SuperLink),完结了在项目建设进程中别的节点的数额收集与转会,并且形成级连布署。能够一本万利的与工业互连网平台或工业余大学数量平台对接;可能承担建设自个儿的云端平台,整合行业财富,形成以集团产品为主的生态建设。

style=”font-size: 18px;”>四、安装SSIO

2.5    未来驱动的设计

      
ServerSuperIO约等于系统建设中多少交互的灵魂,将来对下接二连三各类PLC及传感器,也在主动筹划开发基于各样PLC的驱动;对上接连WEB组态以及管理连串。全数都经过计划达成,为中型小型公司提供一站式的档次化解方案,下跌本钱、提升作用。

       近期进口自主安全可控的redcore
browser浏览器融通资金2.八个亿,实际上利用是的谷歌(Google)的开源内核,如果有“创新”的成份,推测也只是蜻蜓点水。固然ServerSuperIO算不上伟大上,不过也毕竟积累了10年的做事经验,算是真正的独立自主安全可控。哈哈……。


 1.[连载]《C#通信(串口和互联网)框架的布置与达成》

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

 2.采取SuperIO(SIO)和开源跨平台物联网框架ServerSuperIO(SSIO)创设系统的一体化方案

 3.C#工业物联网和集成系统化解方案的技术途径(数据源、数据收集、数据上传与选用、ActiveMQ、Mongodb、WebApi、手提式有线电话机App)

 5.github地址:

 6.助力中小企级连云端,促进工业互连网平台蓬勃发展,全套化解方案。

 物联网&集成技术 QQ群:54256083 

      
有许多配备或传感器号称是Modbus协议,不过事实上中对专业的Modbus协议进行修改,那种情景多多,本质上自定义协议。

2.2    演示的架构

亚洲必赢官网 11

(1)下载Modbus
Slave,并开始展览设置

      演示大体包含3有个别:

5、事例代码(德姆o)

    
自行百度下载,首要用以模拟使用Modbus协议的顶峰设备和传感器。不知道Modbus协议的仇人们,先补补课。完毕运维效果,如下图:

   (1)传感器层,使用Modbus
Slave进行效仿,相然能够是别的PLC、传感器等;

   
德姆o下载地址:

亚洲必赢官网 12

  
(2)硬件网关(SuperLink)实时采集传感器层的多少音信,并且展开数据转载、集聚;

1.客户端(发送文书)

     步骤一:接下去对Modbus
Slave实行设置,采纳【Setup】->【Slave Definition】,
对从机地址、功能码、寄存器初始地址和数目实行设置,如下图:

  
(3)ServerSuperIO实时接收网关层的多少音信,相当于数据交互中央,ServerSuperIO同样有着转载能力,可以更进一步转载给上一层数据基本的ServerSuperIO,形成级连数据传递。结构如下图:

 

亚洲必赢官网 13

亚洲必赢官网 14

        static void SendFile()
        {
            if (!System.IO.File.Exists(_file))
            {
                Console.WriteLine("文件不存在:"+_file);
                return;
            }

            FileStream fs = null;
            try
            {
                Console.WriteLine("开始传输>>");

                string fileName=DateTime.Now.ToString("yyMMddHHmmss") + ".txt";
                int bufferSize = _sendBufferSize;
                byte[] sendBuffer = new byte[bufferSize];
                fs = new FileStream(_file, FileMode.Open,FileAccess.Read,FileShare.Read);

                long length = fs.Length;
                int count = 0;
                Stopwatch watch = new Stopwatch();
                watch.Start();
                while (length > 0)
                {
                    int sendNum = fs.Read(sendBuffer, 0, sendBuffer.Length);

                    byte[] package = GetDataPackage(fileName,sendBuffer, sendNum);

                    count+=_tcpClient.Client.Send(package, 0, package.Length, SocketFlags.None);

                    length -= sendNum;

                    float percent = ((fs.Length - length)/(float) fs.Length)*100.0f;
                    Console.WriteLine("已传:" + percent.ToString("0.00")  + "%");
                }
                watch.Stop();

                Console.WriteLine("传输完毕!总数:" + count.ToString()+",耗时:"+ watch.Elapsed.TotalSeconds.ToString(CultureInfo.InvariantCulture));
            }
            catch
            {
                throw;
            }
            finally
            {
                if (fs != null)
                {
                    fs.Close();
                    fs.Dispose();
                }
            }
        }

        static byte[] GetDataPackage(string fileName,byte[] sendBuffer, int sendNum)
        {
            byte[] sendPackage = new byte[sendNum + 24];
            sendPackage[0] = 0x35;
            sendPackage[1] = 0x35;

            string code = "0001";
            byte[] codeBytes = System.Text.Encoding.ASCII.GetBytes(code);
            Buffer.BlockCopy(codeBytes, 0, sendPackage, 2, 4);

            byte[] fileBytes= System.Text.Encoding.ASCII.GetBytes(fileName);
            Buffer.BlockCopy(fileBytes, 0, sendPackage, 6, 16);

            Buffer.BlockCopy(sendBuffer, 0, sendPackage, 22, sendNum);

            sendPackage[sendPackage.Length - 2] = 0x33;
            sendPackage[sendPackage.Length - 1] = 0x33;

            return sendPackage;
        }

     步骤二:下载Virtual Serial Port
Driver虚拟串口软件,完结COM1与COM2的杜撰连接。如下图:

2.3    Modbus Slave模拟传感器数据

 

亚洲必赢官网 15

       
为了有利于起见,将来仿效三个数据点,非凡能够更加多。操作进程不具体介绍,请参见《业内Modbus和非标准化准协议的施用、测试以及驱动开发》。如下图:

 2.装置驱动

    
步骤三:选取【Connection】->【Connect】,对电视发表的机要参数进行安装,如下图:

亚洲必赢官网 16

//设备驱动
 public class ReceiveFileDriver:RunDevice
    {
        private Dynamic _Dyn;
        private Parameter _Parameter;
        private Protocol _Protocol;
        public ReceiveFileDriver() : base()
        {
            _Dyn = new Dynamic();
            _Parameter = new Parameter();
            _Protocol = new Protocol();
        }

        public override void Initialize(int devid)
        {
            this.Protocol.InitDriver(this, new FixedHeadAndEndReceiveFliter(TransFileDriver.Protocol.Head, TransFileDriver.Protocol.End));    //初始化协议驱动
        }

        //省略......
}

//协议驱动,并处理数据
public class Command : ProtocolCommand
{
        public Command()
        {
        }
        public override string Name
        {
            get { return "writefile"; }
        }
        public override object Analysis(byte[] data, object obj)
        {
            try
            {
               //count += data.Length - 24;
               //Console.WriteLine(count.ToString()+","+data[0].ToString() + "," + data[data.Length - 1].ToString());

                string path = Path.Combine(Environment.CurrentDirectory, "rev");
                if (!System.IO.Directory.Exists(path))
                {
                    System.IO.Directory.CreateDirectory(path);
                }
                string fileName = System.Text.Encoding.ASCII.GetString(data, 6, 16);
                path=Path.Combine(path, fileName);
                using (FileStream fs = new FileStream(path, FileMode.OpenOrCreate, FileAccess.Write, FileShare.Write))
                {
                    fs.Seek(fs.Length, SeekOrigin.Current);
                    byte[] content = new byte[data.Length - 24];
                    Buffer.BlockCopy(data, 22, content, 0, content.Length);
                    fs.Write(content, 0, content.Length);
                    fs.Flush();
                }

            }
            catch
            {
                return -1;
            }
            return 0;
        }

        public override byte[] Package(string code, object obj)
        {
            throw new NotImplementedException();
        }
    }

亚洲必赢官网 17

2.4    硬件网关SuperLink采集和转载数量

 3.宿主程序

          
至此,模拟数据源终端安装实现。

      
网关帮忙100各类协议,包蕴国际标准协议和国内行业标准协议,涉及到:电力、煤矿、钢铁、智能楼宇、环境保护等。硬件外观如下图:

 static void Main(string[] args)
{

            ReceiveFileDriver dev = new ReceiveFileDriver();
            dev.DeviceParameter.DeviceName = "设备4";
            dev.DeviceParameter.DeviceAddr = 0;
            dev.DeviceParameter.DeviceCode = "0001";
            dev.DeviceParameter.DeviceID = 0;
            dev.DeviceDynamic.DeviceID = 0;
            dev.DeviceParameter.NET.RemoteIP = "127.0.0.1";
            dev.DeviceParameter.NET.RemotePort = 9600;
            dev.CommunicateType = CommunicateType.NET;
            dev.Initialize(0);

            IServer server = new ServerFactory().CreateServer(new ServerConfig()
            {
                ServerName = "接收文件服务",
                ListenPort = 6699,
                NetReceiveBufferSize = 2048,
                ControlMode = ControlMode.Self,
                SocketMode = SocketMode.Tcp,
                DeliveryMode = DeliveryMode.DeviceCode,
                StartReceiveDataFliter = true,
                ClearSocketSession = false,
            });

            server.AddDeviceCompleted += server_AddDeviceCompleted;
            server.DeleteDeviceCompleted += server_DeleteDeviceCompleted;
            server.Start();

            server.AddDevice(dev);

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

(2)铺排Designer
IDE,并展开安装,完成与Modbus Slave通信

亚洲必赢官网 18

 六 、实验效果

      步骤一:安顿Designer
IDE,最新版本是v4.2,下载地址:,具体陈设请参见:《布局手册.docx》。运行ServerSuperIO.Designer.exe主界面,如下图:

         
网关通过C/S结构的软件拓展布置,方便、易用。数据收集配置能够单点配置和批量导入。采集Modbus
Slave数据的布局,如下图:

 

亚洲必赢官网 19

亚洲必赢官网 20

      二日的时光,将近3GB的数量音讯,稳定性、扩大性都十一分正确。

    
步骤二:右键单击【服务实例】->【扩张服务实例】,对劳务的基本参数举行安装,其余参数能够保持不变,假若有情状必要高级参数设置,那么需求视情状而定。三个劳务实例能够挂载多少个设备驱动、服务插件等。如下图:

         
网关采集上来的数目,能够实时通过有线互连网或3G/4G进行数据转载,具体布置信息和自定义转载的数据点,如下图:

亚洲必赢官网 21

亚洲必赢官网 22

亚洲必赢官网 23

 

    
步骤三:在刚刚创设的劳务实例,右键单击选取【设备驱动管理】,能够见到左侧的区域有装备管理和相应设备的监测点管理。如下图:

亚洲必赢官网 24

2.5    ServerSuperIO Designer采集数据

      
Designer是在ServerSuperIO的根基上付出的,是一个安顿和调节和测试环境,正式生产环境的运行可以运用Host控制台程序。

     
扩张运维的劳动实例,相当于运作设备驱动的容器,因为网关是按统一标准协议积极上传数据。在安排参数的时候接纳DeviceCode数据分发情势,与网关配置的“站点编号”相呼应;此外采用Self(自笔者控制格局)控制方式,在代码三遍开发层面能够选拔主动发送请求数据或被动接收数据,没有兑现主动发送请求数据,如下图:

亚洲必赢官网 25

         
扩大设备驱动的时候,“设备编码”对应的是“站点编号”,选用NET通信类型,选用SuperLink网关通信驱动,如下图:

亚洲必赢官网 26

         
数据搜集之后,通过设备驱动保存到mysql数据库中,实际运营效果,如下图:

亚洲必赢官网 27

2.6    ServerSuperIO Designer转载数据

      
ServerSuperIO同样支撑客户端和服务端格局的数据转载功效,协理SuperLink与ServerSuperIO之间数据传递的协商,也正是ServerSuperIO与ServerSuperIO之间可以Infiniti级的连接数据,在品种建设中开始展览灵活布署。数据转载配置,如下图:

亚洲必赢官网 28

2.7    完毕的全景效果

       
按演示的架构最后兑现的功能,如下图:

亚洲必赢官网 29

 

v4.2.1
下载地址:官方下载


1.[连载]《C#简报(串口和网络)框架的筹划与落到实处》

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

2.采用SuperIO(SIO)和开源跨平台物联网框架ServerSuperIO(SSIO)创设系统的完整方案

3.C#工业物联网和集成系统消除方案的技术途径(数据源、数据搜集、数据上传与吸纳、ActiveMQ、Mongodb、WebApi、手提式有线电话机App)

5.github地址:

6.助力中型小型公司级连云端,促进工业互连网平台蓬勃发展,全套解决方案。

物联网&集成技术 QQ群:54256083 

 

亚洲必赢官网 30

1.[连载]《C#简报(串口和互联网)框架的陈设与贯彻》

    
步骤四:选拔【扩大设备驱动】,以设备基本参数和通信参数实行设置,如下图:

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

亚洲必赢官网 31

2.使用SuperIO(SIO)和开源跨平台物联网框架ServerSuperIO(SSIO)塑造系统的全部方案

    
步骤五:接纳刚刚扩大的配备驱动,并且在最左边区域选择【扩充监测点】,对应Modbus
Slave举办设置和布署,读取八个监测点的数额音讯。

3.C#工业物联网和集成系统解决方案的技艺途径(数据源、数据收集、数据上传与吸收、ActiveMQ、Mongodb、WebApi、手提式有线电话机App)

         
读取第三个寄存器数据的设置,如下图:

5.ServerSuperIO开源地址:

亚洲必赢官网 32

物联网&集成技术(.NET) QQ群亚洲必赢官网,54256083

         
读取第四个寄存器数据的安装,如下图:

亚洲必赢官网 33

     步骤六:接纳【调试】->【运转】,实际运作效果能够把传感器的七个寄存器数据读取上来,如下图:

亚洲必赢官网 34

1.3    非标准化准协议的采纳和测试

       
非标准协议的利用和测试与Modbus的操作进度一致,可是采取扩充设备驱动和配备扩大监测点要根据真实情况而定。该驱动的商业事务,参见:《如开发一套设备驱动,同时协助串口和网络通信》发送和接受协议章节。

(1)配置设施驱动和监测点

        
步骤一:增添设备驱动,如下图:

亚洲必赢官网 35

       
步骤二:扩张监测点,如下图:

亚洲必赢官网 36

 (2)运转模拟终端

   在测试工具目录中运作【TestDevice(模拟终端设备).exe】程序,并且配备串口参数,如下图:

亚洲必赢官网 37

(3)接纳【调节和测试】->【运维】,实现运维效果,如下图:

亚洲必赢官网 38

1.4    设备驱动的支出

      
标准Modbus设备驱动事例下载:。

      
非标准化准配备驱动事例下载:。

      
开发设备驱动进程参见:《如开发一套设备驱动,同时帮忙串口和网络通信》,或者在接口方法有所变动,结合Modbus设备驱动事例开发本人的装置驱动就行了。其它,开发设备驱动相比较灵活,不必然非要配置监测点,能够把多少存款和储蓄操作也写在装备驱动里,可是要考虑到对数码处理的封堵景况,不要影响ServerSuperIO对设施驱动的完好调度。

       使用Designer
IDE配置并测试好系统后,能够接纳【运转控制台】,作为运维时环境,效果如下图:

亚洲必赢官网 39


1.[连载]《C#报纸发表(串口和网络)框架的统一筹划与贯彻》

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

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

3.C#工业物联网和集成系统化解方案的技巧途径(数据源、数据搜集、数据上传与接收、ActiveMQ、Mongodb、WebApi、手提式有线电话机App)

5.github地址:

6.助力中型小型集团级连云端,促进工业网络平台蓬勃发展,全套化解方案。

物联网&集成技术 QQ群:54256083 

 

网站地图xml地图