【发布】工业串口和网络软件通讯平台(SuperIO v2.2.4)
更新说明:
1.修复无法把数据输出给IAppService的问题,以及无法触发删除操作事件。
2.侦听端口,可以设置。
3.设备接口,增加Object属性,方便平台使用。
4.中断时间改为轮询模式中断时间。
转载地址:http://www.bmpj.net/article-1-1.html
一、SuperIO 的特点:
1)支持二次开发,快速构建自己的通讯数据采集平台软件
2)快速构建设备驱动、协议驱动、命令缓冲、自定义参数和实时数据
3)快速二次开发图形显示、数据输出、服务驱动
4)一个设备驱动,同时支持串口(COM)和网络(TCP Server/Tcp Client)通讯机制,可以自由切换
5)内置协议驱动,可以把第三方协议转换成自定义的协议
6)内置设备命令缓冲器,可以设置命令发送的优先级别
7)以插件的方式挂载设备驱动、显示、输出、服务模块等
8)以服务驱动方式(IAppService)二次开发OPC服务、4-20mA输出、LED大屏显示、短信服务等
9)快速开发、运行稳定、扩展性强大
10)适用工业上位机软件,以及系统集成中采集远程设备数据
11)支持Windows XP/7/8/8.1、Windows Server 2008/2012
二、SuperIO 的设计思想:
公司的硬件产品分类比较多,早期的时候,每一个硬件产品都对应一个上位机软件,都有专人维护。而客户的需求日益变化,造成维护成本比较高。也没打算用组态软件进行开发,因为组态软件的费用比较高,有些特殊的业务或复杂的业务无法完成。
基于现实情况,打算开发一个平台性质的软件,核心部分是数据采集部分,相对来说比较固定,把数据展示、数据导出等类似业务功能设计灵活,变化比较多、比较大。最终实现大家都能在同一平台下进行开发工作,专人维护核心部分
三、SuperIO 开发背景和应用场景:
在工业领域,经常遇到软硬件之间的交互,面临着复杂的现场环境,例如:(1)复杂的、多样的通讯协议。有标准的Modbus协议,也有很多是自定义协议,
并且千差万别。对于不好的软件架构,疲于应对,增加设备或协议要对整个软件进行梳理,往往在此过程中出现新的问题或BUG。(2)不同用户对软件界面或功
能的要求有很大不同,使之满足不同用户的显示要求。(3)在做集成项目的时候,输入输出数据的多样性。首先我们要集成其他厂家的设备,要在平台软件上很方
便的进行接入。其次,还有很多是其他厂家要集成自己家的设备,就涉及的输出数据的问题。没有统一的标准,也是千差万别。(4)通讯链路的多种性,对于同一
个设备可能要支持RS232/RS485/RS422、RJ45、3G/4G等通讯方式,所以对于一个设备要对应多种通讯方式,也给我们的开发造成很大的
障碍。(5)一种类型的设备对应一套软件,在早期的时候,公司可能一个类型的软件对应一套软件,不同的人员在维护不同的设备软件,造成很高的维护成本、人
员成本以及时间成本。这些情况造成我们的软件版本兼容性很差,管理起来比较麻烦。
为了解决以上诸多问题,开发一个软件框架,支持二次开发。在不对软件框架改动的情况下,能够很方便的接入设备、维护设备、集成设备、处理设备业务数据等。软件框架是相对稳定的,把不稳定的部分完全以灵活的方式进行设计。
四、SuperIO 开发事例程序



增加设备

系统配制工具
方便开发者对系统进行管理,配制包括:系统参数、设备挂载配制、设备展示挂载配制、输出数据挂载配制。

【发布】工业串口和网络软件通讯平台(SuperIO v2.2.4)的更多相关文章
- 【工业串口和网络软件通讯平台(SuperIO)教程】七.二次开发服务驱动
SuperIO相关资料下载:http://pan.baidu.com/s/1pJ7lZWf 1.1 服务接口的作用 围绕着设备驱动模块采集的数据,根据需求提供多种应用服务,例如:数据上传服务.数 ...
- 【工业串口和网络软件通讯平台(SuperIO)教程】六.二次开发导出数据驱动
SuperIO相关资料下载:http://pan.baidu.com/s/1pJ7lZWf 1.1 导出数据接口的作用 在数据集成系统项目中,要么是自已集成其他厂家的设备,要么是其他厂家集成自己 ...
- 【工业串口和网络软件通讯平台(SuperIO)教程】五.二次开发图形显示界面
SuperIO相关资料下载:http://pan.baidu.com/s/1pJ7lZWf 1.1 图形显示接口的作用 用于显示采集终端设备的数据,可以把不同类型设备的数据以多种形式集成显示在不 ...
- 【工业串口和网络软件通讯平台(SuperIO)教程】四.开发设备驱动
SuperIO相关资料下载:http://pan.baidu.com/s/1pJ7lZWf 1.1 开发准备 把“开发包”内的所有文件复制到项目的“bin”目录下,或项目下的专用生成目录.开发包 ...
- 【工业串口和网络软件通讯平台(SuperIO)教程】二.架构和组成部分
1.1 架构结构图 1.1.1 层次示意图 1.1.2 模型对象示意图 1.2 IO管理器 IO管理器是对串口和网络通讯链路的管理.调度.针对串口和网络通讯链路的特点,在IO管 ...
- 【工业串口和网络软件通讯平台(SuperIO)教程】九.重写通讯接口函数,实现特殊通讯方式
SuperIO相关资料下载:http://pan.baidu.com/s/1pJ7lZWf 1.1 统一的IO接口 开发一套设备驱动同时具备串口和网络通讯能力,通讯接口在逻辑上是统一的,在此基础 ...
- 【工业串口和网络软件通讯平台(SuperIO)教程】一.通讯机制
1.1 应用场景 通讯平台的交互对象包括两方面:第一.与硬件产品交互.第二.与软件产品交互.基本这两方面考虑,通讯平台一般会应用在两个场景: 1)通讯平台应用在PC机上 主要应用在自动站的工控机 ...
- 【工业串口和网络软件通讯平台(SuperIO)教程】八.SuperIO通讯机制与设备驱动对接的说明
SuperIO相关资料下载:http://pan.baidu.com/s/1pJ7lZWf 1.1 通讯机制说明 通讯的总体机制采用呼叫应答方式,就是上位机软件主动发送请求数据命令,下位机终端接 ...
- 【工业串口和网络软件通讯平台(SuperIO)教程】三.二次开发流程
1.1 二次开发流程图 1.2 引用相关组件 找到“开发包”,引用里边的相关组件.如下图: 1.3 开发设备驱动模块 1.3.1 开发发送协议驱动 继承SuperIO.Devi ...
- 工业串口和网络软件通讯平台(SuperIO 2.0)发布
下载:SuperIO 2.0(开发手册.Demo.组件包) 官网:进入 交流群:54256083 SuperIO 2.0版本正式发布.把SCL正式更改名称为SuperIO. 一.此次升级主要包括两个方 ...
随机推荐
- 《Entity Framework 6 Recipes》中文翻译系列 (33) ------ 第六章 继承与建模高级应用之TPH与TPT (2)
翻译的初衷以及为什么选择<Entity Framework 6 Recipes>来学习,请看本系列开篇 6-8 嵌套的TPH建模 问题 你想使用超过一层的TPH继承映射为一张表建模. 解 ...
- 解密jQuery内核 Sizzle引擎筛选器 - 位置伪类(一)
本章开始分析过滤器,根据API的顺序来 主要涉及的知识点 jQuery的组成 pushStack方法的作用 sizzle伪类选择器 首页我们知道jQuery对象是一个数组对象 内部结构 jQuery的 ...
- JavaScript 开发技巧 || 返回有效值
<script type="text/javascript">var objOne = undefined || "" || null || 1 | ...
- Web APi之认证(Authentication)及授权(Authorization)【一】(十二)
前言 无论是ASP.NET MVC还是Web API框架,在从请求到响应这一过程中对于请求信息的认证以及认证成功过后对于访问页面的授权是极其重要的,用两节来重点来讲述这二者,这一节首先讲述一下关于这二 ...
- 基于Bootstrap里面的Button dropdown打造自定义select
最近工作非常的忙,在对一个系统进行改版.项目后台是MVC1.0开发的,但是前端部分已经改过几个版本,而已之前的设计师很强大,又做设计又做前端开发.而已很时尚和前沿,使用了一直都很热门的Bootstra ...
- MySQL学习笔记十二:数据备份与恢复
数据备份 1.物理备份与逻辑备份 物理备份 物理备份就是将数据库的数据文件,配置文件,日志文件等复制一份到其他路径上,这种备份速度一般较快,因为只有I/O操作.进行物理备份时,一般都需要关闭mysql ...
- iOS开发之微信聊天页面实现
在上篇博客(iOS开发之微信聊天工具栏的封装)中对微信聊天页面下方的工具栏进行了封装,本篇博客中就使用之前封装的工具栏来进行聊天页面的编写.在聊天页面中主要用到了TableView的知识,还有如何在俩 ...
- T-Sql(五)xml操作
t-sql中的xml操作在我们平时做项目的过程中用的很少,因为我们处理的数据量很少,除非一些用到xml的地方,t-sql中xml操作一般用在数据量很大,性能优化的地方,当然我在平时做项目的时候也是没用 ...
- Lua 学习笔记(五)函数
函数的定义:在Lua中,函数是一种对语句和表达式进行抽象的主要机制. 一.函数基本用法 在Lua中, 1.函数既可以完成某项特定的任务.(被视为一条语句) 2.也可以 ...
- Unicode与JavaScript详解
本文为转载内容 一.Unicode是什么? Unicode源于一个很简单的想法:将全世界所有的字符包含在一个集合里,计算机只要支持这一个字符集,就能显示所有的字符,再也不会有乱码了. 它从0开始,为每 ...