威尼斯人线上娱乐

贯彻种种数据类型解析,开源跨平台IOT通信框架ServerSuperIO

2 4月 , 2019  

履新内容,v四.2.二本子:
style=”font-size: 16px;”>一.充实Modbus协议读取多少个寄存器,并且按多样数据类型解析数据。
②.Modbus 塞里al和Modbus
TCP三个驱动合并成3个驱动。
style=”font-size: 1陆px;”>三.修改数据库结构,保存配置音讯。
style=”font-size: 1陆px;”>四.优化ServerSuperIO宗旨代码,应用进程中的潜在难题。

v肆.2.贰下载地址:法定下载

ServerSuperIO Designer IDE
v4.二本子更新内容:

  • style=”font-size: 1陆px;”>扩大ServerSuperIO.Host运营程序,能够选拔IDE进行测试,Host为运转环境。
  • style=”font-size: 1六px;”>针对设备驱动扩大导入监测点成效。
  • style=”font-size: 16px;”>修复OPC客户端配置后关门窗体慢的意况。
  • 修改保存Tag值为object对象。
  • 优化其余代码。

v四.二.① 更新内容:
style=”font-size: 1陆px;”>一.再次定义数据转载文本协议,使网关与ServerSuperIO以及中间可以相关交互数据。
style=”font-size: 1陆px;”>二.扩大ServerSuperIO动态数据类的法子,更灵敏。
style=”font-size: 1陆px;”>叁.修复Designer扩张转载职分的3个BUG。
四.改动数据转载客户端和服务端。
伍.扩展硬件网关驱动。

v四.2.1下载地址:合法下载

      物联网涉及到各样设施、种种传感器、种种数据源、各类协商,并且很难统1,那么就要有多个结构性的框架化解那几个标题。SSIO便是依照临时前进的阶段和切实实际情况的咬合产物。




      各个数据音讯,如下图:

 目       录

 目       录

 目       录

威尼斯人线上娱乐 1

三.
Modbus协议,读取四个寄存器,达成多样数据类型解析… 二

1.行业内部Modbus和非标准化准协议的应用、测试以及驱动开发…

2.
与硬件网关数据交互,以及进行数据转发… 二

 

3.1           概述… 2

1.1           概述… 2

2.1           概述… 2

 

三.贰           Modbus基础知识… 2

一.二           标准Modbus的应用和测试…
2

二.二           演示的架构… 二

         贯彻种种数据类型解析,开源跨平台IOT通信框架ServerSuperIO。
消除方案,协作SIO使用:

三.叁          
读取四个寄存器,四种数据类型解析… 四

一.三           非标准协议的利用和测试…

2.三           Modbus
Slave模拟传感器数据… 3

威尼斯人线上娱乐 2

三.四           达成效益突显… 6

一.4           设备驱动的开发… 贰

贰.四          
硬件网关SuperLink采集和中间转播数据… 3

一、SSIO特点

三.五           今后驱动的规划… 7


二.伍           ServerSuperIO
Designer采集数据… 伍

  • 轻型高品质通讯框架,适用于七种应用场,轮询方式、自小编控制形式、并发格局和单例方式。
  • 岂可是通讯框架,是装备驱动、IO通道、控制方式场景的和谐机制。
  • 支撑协议驱动器,能够按正式写标准协议和自定义商谈。
  • 援助发送数据缓存器,支持命令缓存重发和按优先级别发送。
  • 补助协议过滤器,按规则筛选数据,并且能够承受接口,自定义过滤格局。
  • 协助接收数据缓存器,能够缓存不合乎过滤器的多寡,和下次接收数据实行拼接。
  • 支持按设备命令优先级别举行调度设施,保障有高级别命令的驱动及时发送。
  • 扶助1个装置驱动,同时扶助串口和网络三种简报方式,能够监视IO通道数据。
  • 支撑多个设备驱动,在网络通信时方可支撑TCP
    Server和TCP Client二种工作形式。
  • 协理多设备共享同一IO通道实行广播发表。
  • 支撑定时清理超时的网络IO通道。
  • 支撑显得视图接口,满足分歧显示需要。
  • 支撑服务组件接口,能够自定义完毕OPC服务、四-20mA输出、LED大屏突显、短信服务、以及多效益网关服务。
  •  帮忙创建多服务实例,实现不一样工作的拆分。
  •  匡助跨平台布置,能够运作在Linux和Windows系统。

 

 1.1    概述

二.6           ServerSuperIO
Designer转载数据… 七

二、SSIO发布到NuGet平台

2.1    概述

     
在发布《正规Modbus和非标准化准协议的施用、测试以及驱动开发》之后,某些网上好友反映在Modbus协议驱动方面是或不是足以兑现读七个寄存器和按二种数据类型解析数据。一是平常工作相比较忙,二是有个别犯懒。在传感器及仪器仪表行业用到Modbus协议的情形相比多,然则多数利用都相比较简单,恐怕往往只要求一个下令读取数据,对回到数据举行分析。作者认为针对那种场馆开发八个差不离的驱动格外简单,加之网络好友的档次参差,也远非针对性网络好友的举报实行主动的答疑。不过从叁个成品的角度思虑,确实应该展开完善,也实在有商场方面包车型客车必要,有无数商户是借鉴Modbus协议格局展开自定义协议,意况相比复杂。所以,利用出差的那段时间,针对Modbus驱动实现读取四个寄存器和按三种数据类型解析数据,以满意分裂应用现场的供给。

       Designer
IDE完全是在ServerSuperIO基础上进展支付,当然一次开发者也能够付出本人的IDE环境,应用到铺子的出品和项目中。此前开发过八个IDE环境,不过离产品化还相比远。Designer
IDE的框架相对比较成熟,并且扩展性相比好,能够运用Designer
IDE进行系统开发和安排,使用ServerSuperIO.Host正式安顿运营。

2.七           达成的全景效果… 八

威尼斯人线上娱乐 3

二.二    Modbus基础知识

     
Modbus采纳的报纸发表机制为呼叫应答格局,或叫主从格局(master/slave)。主机发送请求命令,从机接到命令后进行校验数据的完整性,以及鲜明是不是发放本身的一声令下,校验成功后,重回钦点的数量新闻,实现贰遍完整的通信。呼叫应答通信机制如下图:

威尼斯人线上娱乐 4

      
Modbus协议依靠网络传输层定义了1个简易的数量传输协议,串口通信(Modbus
塞里al)的奥迪Q3TU和ASCII形式以及网络通信(Modbus
TCP)格局在商业事务编码和操作方面有所差别。基本协议格式如下图:

威尼斯人线上娱乐 5

      下位机地址和成效码,示意图:

威尼斯人线上娱乐 6

 

      
白皮书介绍:下载地址威尼斯人线上娱乐 ,。

      
现在还会与Web组态对接,用于图形化建立模型,从头部传感器到云端监测快速完结“即接即突显”,通信和图纸建立模型丰富解耦,是昨天一点也不慢网络(例如五G)环境建设的发展趋势。同时,为中型小型集团售前设计、项目布局和实行提供一切的消除方案。全部的应用,希望对于商户和人个都会有本质的升级。

2.1    概述

三、搜索SSIO

二.三    读取三个寄存器,三种数据类型解析

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

威尼斯人线上娱乐 7

       
二个寄存器个数代码三个字节,转换到字节数的公式为:读取数据字节数=寄存器个数*贰,依据实况设置。

       
解析数据格局为2四种,首要针对short、ushort、int、uint、float和double数据类型举办辨析,由于传感器与电脑的高低位排序有所差异,所以针对同壹种数据类型分分歧的解析方法。解析数据方式,如下图:

威尼斯人线上娱乐 8

       ServerSuperIO Designer IDE 4.2
下载:。

      
工业现场(物联网)使用硬件网关(SuperLink)的场所比较常见,首要思量多区域场景和互连网条件限制意况下的施用和布置,具体依据实地的运用场景。网关两大主导职能:数据收集和数码转载,在档次系列建设中起到承上启下的效率。

威尼斯人线上娱乐 9

2.4    达成效益突显

       使用Modbus TCP举行出现说法,连接Modbus
Slave,1二七.0.0.壹:502,读取3个数据点,按“short,2字节,顺序:先高后低”解析数据,如下图:

威尼斯人线上娱乐 10

一.二    标准Modbus的选择和测试

      
ServerSuperIO今后合龙了硬件网关(SuperLink),完成了在项目建设进度中其他节点的数码收集与转会,并且形成级连安排。能够1本万利的与工业互连网平台或工业余大学数量平台对接;只怕承担建设自个儿的云端平台,整合行业财富,形成以公司产品为主的生态建设。

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

二.5    未来驱动的统一筹划

      
ServerSuperIO也正是系统建设中数据交互的命脉,以往对下延续种种PLC及传感器,也在积极筹划开发基于各样PLC的驱动;对上接连WEB组态以及管理种类。全部都由此安插实现,为中型小型公司提供一站式的类型消除方案,降低资金、提升功用。

       如今国产自主安全可控的redcore
browser浏览器融通资金2.5个亿,实际上采纳是的谷歌的开源内核,借使有“立异”的成分,预计也只是轻描淡写。固然ServerSuperIO算不上巨大上,不过也究竟积累了十年的行事经历,算是真正的自主安全可控。哈哈……。


 1.[连载]《C#报纸发表(串口和互连网)框架的布置与落到实处》

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

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

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

 5.github地址:

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

 物联网&集成技术 QQ群:542560捌3 

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

二.二    演示的架构

威尼斯人线上娱乐 11

(一)下载Modbus
Slave,并拓展安装

      演示大体包涵3有个别:

5、事例代码(德姆o)

    
自行百度下载,重要用来模拟使用Modbus协议的顶点设备和传感器。不通晓Modbus协议的对象们,先补补课。实现运营效果,如下图:

   (一)传感器层,使用Modbus
Slave进行模拟,相然能够是其余PLC、传感器等;

   
德姆o下载地址:

威尼斯人线上娱乐 12

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

一.客户端(发送文书)

     步骤一:接下去对Modbus
Slave进行安装,采取【Setup】->【Slave Definition】,
对从机地址、作用码、寄存器开始地址和数码实行安装,如下图:

  
(三)ServerSuperIO实时接收网关层的数据新闻,也就是数据交互中央,ServerSuperIO同样拥有转载能力,可以更进一步转载给上1层数据基本的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虚拟串口软件,达成COM一与COM二的杜撰连接。如下图:

2.三    Modbus Slave模拟传感器数据

 

威尼斯人线上娱乐 15

       
为了有利于起见,以往画虎类犬一个数据点,十分可以越多。操作进程不现实介绍,请参见《标准Modbus和非标准化准协议的选拔、测试以及驱动开发》。如下图:

 二.配备驱动

    
步骤3:采纳【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

二.四    硬件网关SuperLink采集和中间转播数量

 3.宿主程序

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

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

 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();
            }
}

(二)安插Designer
IDE,并展开安装,达成与Modbus Slave通信

威尼斯人线上娱乐 18

 6、实验效果

      步骤一:计划Designer
IDE,最新版本是v4.二,下载地址:,具体安插请参见:《计划手册.docx》。运行ServerSuperIO.Designer.exe主界面,如下图:

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

 

威尼斯人线上娱乐 19

威尼斯人线上娱乐 20

      两天的岁月,将近三GB的数额新闻,稳定性、扩张性都10分科学。

    
步骤2:右键单击【服务实例】->【增添服务实例】,对劳动的基本参数举办安装,其余参数可以维持不变,假设有场景需求高级参数设置,那么要求视意况而定。1个劳动实例能够挂载几个装备驱动、服务插件等。如下图:

         
网关采集上来的多少,能够实时通过有线网络或三G/四G进行多少转载,具体配置音讯和自定义转载的数据点,如下图:

威尼斯人线上娱乐 21

威尼斯人线上娱乐 22

威尼斯人线上娱乐 23

 

    
步骤3:在刚刚成立的服务实例,右键单击选用【设备驱动管理】,能够看看右侧的区域有设施管理和呼应设施的监测点管理。如下图:

威尼斯人线上娱乐 24

2.五    ServerSuperIO Designer采集数据

      
Designer是在ServerSuperIO的基本功上开发的,是一个配置和调节环境,正式生产环境的运行能够行使Host控制台程序。

     
扩充运营的劳务实例,也正是运作设备驱动的器皿,因为网关是按统一标准协议积极上传数据。在布局参数的时候选取DeviceCode数据分发格局,与网关配置的“站点编号”相呼应;别的选拔Self(自小编控制形式)控制方式,在代码三回开发层面能够选用主动发送请求数据或被动接收数据,没有落到实处主动发送请求数据,如下图:

威尼斯人线上娱乐 25

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

威尼斯人线上娱乐 26

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

威尼斯人线上娱乐 27

2.陆    ServerSuperIO Designer转载数据

      
ServerSuperIO同样援助客户端和服务端情势的多少转载功效,援助SuperLink与ServerSuperIO之间数据传递的商业事务,也正是ServerSuperIO与ServerSuperIO之间能够Infiniti级的连通数据,在类型建设中开始展览灵活配置。数据转载配置,如下图:

威尼斯人线上娱乐 28

二.柒    完结的全景效果

       
按演示的架构最终促成的功力,如下图:

威尼斯人线上娱乐 29

 

v四.二.壹下载地址:合法下载


1.[连载]《C#通信(串口和互联网)框架的布署性与落实》

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

2.利用SuperIO(SIO)和开源跨平台物联网框架ServerSuperIO(SSIO)创设系统的欧洲经济共同体方案

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

5.github地址:

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

物联网&集成技术 QQ群:542560捌3 

 

威尼斯人线上娱乐 30

1.[连载]《C#通信(串口和网络)框架的布置性与落到实处》

    
步骤4:选拔【增添设备驱动】,以设施基本参数和电视发表参数实行安装,如下图:

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

威尼斯人线上娱乐 31

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

    
步骤伍:选拔刚刚扩大的装备驱动,并且在最左边区域采纳【扩充监测点】,对应Modbus
Slave实行设置和布局,读取两个监测点的数额信息。

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

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

5.ServerSuperIO开源地址:

威尼斯人线上娱乐 32

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

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

威尼斯人线上娱乐 33

     步骤陆:选拔【调节和测试】->【运维】,实际运作效果能够把传感器的三个寄存器数据读取上来,如下图:

威尼斯人线上娱乐 34

一.叁    非标准化准协议的采取和测试

       
非标准化准协议的采用和测试与Modbus的操作进程一致,但是选拔增多设备驱动和陈设增添监测点要遵照实际情形而定。该驱动的磋商,参见:《如开发1套装置驱动,同时帮助串口和互联网通信》发送和接到协议章节。

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

        
步骤一:扩张设备驱动,如下图:

威尼斯人线上娱乐 35

       
步骤2:扩充监测点,如下图:

威尼斯人线上娱乐 36

 (二)运转模拟终端

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

威尼斯人线上娱乐 37

(3)选择【调节和测试】->【运营】,完成运营效果,如下图:

威尼斯人线上娱乐 38

一.肆    设备驱动的花费

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

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

      
开发设备驱动进度参见:《如开发1套设备驱动,同时扶助串口和互联网通信》,只怕在接口方法有所改观,结合Modbus设备驱动事例开发协调的装备驱动就行了。其余,开发设备驱动相比较灵敏,不必然非要配置监测点,能够把多少存款和储蓄操作也写在装置驱动里,可是要考虑到对数码处理的隔离意况,不要影响ServerSuperIO对配备驱动的全部调度。

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

威尼斯人线上娱乐 39


1.[连载]《C#通信(串口和互连网)框架的宏图与贯彻》

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

2.选拔SuperIO(SIO)和开源跨平台物联网框架ServerSuperIO(SSIO)营造系统的总体方案

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

5.github地址:

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

物联网&集成技术 QQ群:542560八叁 

 


相关文章

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图