下载:SuperIO 2.0(开发手册、Demo、组件包)

官网:进入

交流群:54256083

SuperIO 2.0版本正式发布。把SCL正式更改名称为SuperIO。

一、此次升级主要包括两个方面:

  • 构架的软件界面更友好。
  • 修改核心代码,包括:设备管理器、IO管理器和控制器、设备调度管理器等重构。

二、SuperIO 2.0版本升级内容包括:

  • 代码的整体架构更清晰、合理;
  • 运行效率和性能方面有了很大提升;
  • 更方便的用C#进行二次开发;
  • TCP通讯方式的时间,增加了并发模式,同时支持并发和轮询两种通讯机制。

三、 SuperIO 2.0的特点:

  • 能够很快的构建自己的通讯平台软件,包括主程序。
  • 设备模块化开发,通过配制文件挂载,即可在平台软件下运行。
  • 设备模块同时支持COM和TCP两种通讯方式,可以自由切换。
  • 设备协议无关性,可以把第三方协议转换成自定义的协议方式。
  • 设备命令缓冲器,可以设置命令发送的优先级别。
  • 接口自定义输出数据格式,供自己或其他厂家进行数据集成。
  • 接口自定义UI展示,以表格、动态图形化显示数据。
  • 软件信息、安装信息、通讯参数等可配制。
  • 设备挂载、UI菜单展示、数据输出等信息可配制。
  • 提供OPC服务、2-40mA输出、LED大屏显示和短信操作类库。

四、SuperIO 2.0的设计思想:

  • 公司的硬件产品分类比较多,早期的时候,每一个硬件产品都对应一个上位机软件,都有专人维护。而客户的需求日益变化,造成维护成本比较高。也没打算用组态软件进行开发,因为组态软件的费用比较高,有些特殊的业务或复杂的业务无法完成。
  • 基于现实情况,打算开发一个平台性质的软件,核心部分是数据采集部分,相对来说比较固定,把数据展示、数据导出等类似业务功能设计灵活,变化比较多、比较大。最终实现大家都能在同一平台下进行开发工作,专人维护核心部分。

五、开发背景和应用场景:

在工业领域,经常遇到软硬件之间的交互,面临着复杂的现场环境,例如:(1)复杂的、多样的通讯协议。有标准的Modbus协议,也有很多是自定义协议,并且千差万别。对于不好的软件架构,疲于应对,增加设备或协议要对整个软件进行梳理,往往在此过程中出现新的问题或BUG。(2)不同用户对软件界面或功能的要求有很大不同,使之满足不同用户的显示要求。(3)在做集成项目的时候,输入输出数据的多样性。首先我们要集成其他厂家的设备,要在平台软件上很方便的进行接入。其次,还有很多是其他厂家要集成自己家的设备,就涉及的输出数据的问题。没有统一的标准,也是千差万别。(4)通讯链路的多种性,对于同一个设备可能要支持RS232/RS485/RS422、RJ45、3G/4G等通讯方式,所以对于一个设备要对应多种通讯方式,也给我们的开发造成很大的障碍。(5)一种类型的设备对应一套软件,在早期的时候,公司可能一个类型的软件对应一套软件,不同的人员在维护不同的设备软件,造成很高的维护成本、人员成本以及时间成本。这些情况造成我们的软件版本兼容性很差,管理起来比较麻烦。

为了解决以上诸多问题,开发一个软件框架,支持二次开发。在不对软件框架改动的情况下,能够很方便的接入设备、维护设备、集成设备、处理设备业务数据等。软件框架是相对稳定的,把不稳定的部分完全以灵活的方式进行设计。

希望在大家支持下,多提宝贵建议,能够进一步完善平台软件,供大家应用。

六、SuperIO 2.0二次开发界面:

二次开发的主界面窗体。

自定义开发设备显示界面,以及测试。

内置登陆和权限控制。不需要自己开发。

增加设备,支持普通设备和虚拟设备。同一设备模块支持COM和TCP通讯。

七、配制工具

网络通讯的时候,支持轮询方式和并发方式与硬件通讯。

工业串口和网络软件通讯平台(SuperIO 2.0)发布的更多相关文章

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

    SuperIO相关资料下载:http://pan.baidu.com/s/1pJ7lZWf 1.1    服务接口的作用 围绕着设备驱动模块采集的数据,根据需求提供多种应用服务,例如:数据上传服务.数 ...

  2. 【工业串口和网络软件通讯平台(SuperIO)教程】六.二次开发导出数据驱动

    SuperIO相关资料下载:http://pan.baidu.com/s/1pJ7lZWf 1.1    导出数据接口的作用 在数据集成系统项目中,要么是自已集成其他厂家的设备,要么是其他厂家集成自己 ...

  3. 【工业串口和网络软件通讯平台(SuperIO)教程】五.二次开发图形显示界面

    SuperIO相关资料下载:http://pan.baidu.com/s/1pJ7lZWf 1.1    图形显示接口的作用 用于显示采集终端设备的数据,可以把不同类型设备的数据以多种形式集成显示在不 ...

  4. 【工业串口和网络软件通讯平台(SuperIO)教程】四.开发设备驱动

    SuperIO相关资料下载:http://pan.baidu.com/s/1pJ7lZWf 1.1    开发准备 把“开发包”内的所有文件复制到项目的“bin”目录下,或项目下的专用生成目录.开发包 ...

  5. 【工业串口和网络软件通讯平台(SuperIO)教程】二.架构和组成部分

    1.1    架构结构图 1.1.1    层次示意图 1.1.2    模型对象示意图 1.2    IO管理器 IO管理器是对串口和网络通讯链路的管理.调度.针对串口和网络通讯链路的特点,在IO管 ...

  6. 【工业串口和网络软件通讯平台(SuperIO)教程】九.重写通讯接口函数,实现特殊通讯方式

    SuperIO相关资料下载:http://pan.baidu.com/s/1pJ7lZWf 1.1    统一的IO接口 开发一套设备驱动同时具备串口和网络通讯能力,通讯接口在逻辑上是统一的,在此基础 ...

  7. 【工业串口和网络软件通讯平台(SuperIO)教程】一.通讯机制

    1.1    应用场景 通讯平台的交互对象包括两方面:第一.与硬件产品交互.第二.与软件产品交互.基本这两方面考虑,通讯平台一般会应用在两个场景: 1)通讯平台应用在PC机上 主要应用在自动站的工控机 ...

  8. 【工业串口和网络软件通讯平台(SuperIO)教程】八.SuperIO通讯机制与设备驱动对接的说明

    SuperIO相关资料下载:http://pan.baidu.com/s/1pJ7lZWf 1.1    通讯机制说明 通讯的总体机制采用呼叫应答方式,就是上位机软件主动发送请求数据命令,下位机终端接 ...

  9. 【工业串口和网络软件通讯平台(SuperIO)教程】三.二次开发流程

    1.1    二次开发流程图 1.2    引用相关组件 找到“开发包”,引用里边的相关组件.如下图: 1.3    开发设备驱动模块 1.3.1    开发发送协议驱动 继承SuperIO.Devi ...

随机推荐

  1. Atitit 分区后的查询  mysql分区记录的流程与原理

    Atitit 分区后的查询  mysql分区记录的流程与原理 1.1.1. ibd是MySQL数据文件.索引文件1 1.2. 已经又数据了,如何分区? 给已有的表加上分区 ]1 1.3. 分成4个区, ...

  2. C#设计模式-建造者模式

    在软件系统中,有时需要创建一个复杂对象,并且这个复杂对象由其各部分子对象通过一定的步骤组合而成. 例如一个采购系统中,如果需要采购员去采购一批电脑时,在这个实际需求中,电脑就是一个复杂的对象,它是由C ...

  3. 在Eclipse中对包进行增删改查

    package com.hanqi.test; import java.sql.Connection; import java.sql.DriverManager; import java.sql.R ...

  4. jQuery源码分析系列(31) : Ajax deferred实现

    AJAX的底层实现都是浏览器提供的,所以任何基于api上面的框架或者库,都只是说对于功能的灵活与兼容维护性做出最优的扩展 ajax请求的流程: 1.通过 new XMLHttpRequest 或其它的 ...

  5. 创建 flat network - 每天5分钟玩转 OpenStack(87)

    上一节我们讨论了 flat network 的原理,今天就来创建 "flat_net" 并分析底层网络的实现. 打开菜单 Admin -> Networks,点击 “Crea ...

  6. 应用程序框架实战三十四:数据传输对象(DTO)介绍及各类型实体比较

    本文将介绍DDD分层架构中广泛使用的数据传输对象Dto,并且与领域实体Entity,查询实体QueryObject,视图实体ViewModel等几种实体进行比较. 领域实体为何不能一统江湖? 当你阅读 ...

  7. 【重磅开源】Hawk-数据抓取工具:简明教程

    Hawk-数据抓取工具:简明教程 标签(空格分隔): Hawk Hawk: Advanced Crawler& ETL tool written in C#/WPF 1.软件介绍 HAWK是一 ...

  8. 使用CSS3 Media Queries实现网页自适应

    原文来源:http://webdesignerwall.com 翻译:http://xinyo.org 当今银屏分辨率从 320px (iPhone)到 2560px (大屏显示器)或者更大.人们也不 ...

  9. angularjs与jquery特效slidetoggle结合

    之前使用jquery的slidetoggle方法,可以轻易的实现元素的收缩展开:使用angularjs后,没有找到相关的方法,通过多方面查资料,自己写了个demo,展示slidetoggle的angu ...

  10. Objective-C中的属性机制

    Objective-C 2.0中的属性机制为我们提供了便捷的获取和设置实例变量的方式,也可以说属性为我们提供了一个默认的设置器和访问器的实现.在学习OC中属性之前我们先要知道为什么要为变量实现gett ...