下载: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. T型及Fly_by拓扑之应用总结

    前面的文章有分别介绍过T型拓扑及Fly_by拓扑结构,这两种拓扑结构应用最多的应该是在DDR3里面,说到这里,小编又想开始聊聊DDR3的设计了,我想很多人都比较有兴趣. 因为DDR3的设计还是比较复杂 ...

  2. iOS开发-应用崩溃日志揭秘(一)

    作为一名应用开发者,你是否有过如下经历? 为确保你的应用正确无误,在将其提交到应用商店之前,你必定进行了大量的测试工作.它在你的设备上也运行得很好,但是,上了应用商店后,还是有用户抱怨会闪退 ! 如果 ...

  3. Redux

    redux是Flux的一种实现方式,但还是和Flux有些不同. React控制视图层,要想做一个完整的数据流,必须要用react-redux. 官方demo,自己收集了一下: demo1http:// ...

  4. 【初恋】vue单页应用开发总结

    vue新人,没有高级技巧 本文主要总结了使用vue-cli脚手架安装开发环境,使用vue.js等进行单页应用开发所遇问题的总结. 技术栈: Vue v1.0.21, vue-resource v0.9 ...

  5. 外接程序“VMDebugger”未能加载或者导致了异常。是否希望移除该外接程序?

    收工~

  6. OpenCascade Primitives BRep-Cylinder

    OpenCascade Primitives BRep-Cylinder eryar@163.com Abstract. BRep is short for Boundary Representati ...

  7. NodeJS POST Request Over JSON-RPC

    1.npm install art-template2.npm  install request3.在app.js中加入以下代码转html: var template = require('art-t ...

  8. IOS数据存储之Sqlite数据库

    前言: 之前学习了数据存储的NSUserDefaults,归档和解档,沙盒文件存储,但是对于数据量比较大,需要频繁查询,删除,更新等操作的时候无论从效率上还是性能上,上述三种明显不能满足我们的日常开发 ...

  9. MySQL数据库实例参数对比脚本

    如何对比两个MySQL实例的参数情况,生产中常会有这样的需求,最近写了个python脚本,可基本实现该需求. 脚本 #!/usr/bin/python import MySQLdb,sys def f ...

  10. 如何在制作jar包时引用第三方jar包

    我用的是Eclipse打包,但在CMD窗口执行的时候报“ActiveMQ.jar中没有主清单属性”错误. 在网上搜了下,这个与MANIFEST.MF文件有关,该文件没有定义MAIN方法所在类的路径,利 ...