【工业串口和网络软件通讯平台(SuperIO)教程】一.通讯机制
1.1 应用场景
通讯平台的交互对象包括两方面:第一、与硬件产品交互。第二、与软件产品交互。基本这两方面考虑,通讯平台一般会应用在两个场景:
1)通讯平台应用在PC机上
主要应用在自动站的工控机上,通过RS485/RS232、RJ45、4-20mA等方式采集硬件设备的数据信息。同时,通讯平台与服务器端的软件进行交互,负责上传数据信息,以及接收控制命令等。
2)通讯平台应用在服务器端上
终端设备以3G/4G、有线专网、卫星等与通讯平台连接,进行数据交互,终端设备包括:PC机、移动终端(手机)、监测设备等。

1.2 通讯机制概述
对于通讯平台来说,通讯部分始终是软件的核心,要求高实时性、高稳定性。软件架构决定了软件运行的稳定性,以及以后的扩展性,所以需要对通讯机制、控制方式进行良好的设计。
一般采用的通讯机制为呼叫应答方式,或叫主从方式。主机发送请求命令,从机接到命令后进行校验数据的完整性,以及确定是否发给自己的命令,校验成功后,返回指定的数据信息,完成一次完整的通讯。
呼叫应答通讯机制如下图:

1.3 串口、网络的整合
在开发设备驱动或协议驱动的时候,对于同一个驱动模块要同时支持RS485/RS232和RJ45通讯方式,避免因为协议的不同或是通讯方式的不同进行多次重复性的开发。保证业务逻辑统一的情况下,尽量减少工作量。所以,在通讯方式方面要在逻辑上统一接口,以保证整个通讯平台的通用性。
接口设计如下图:

1.4 串口通讯机制
由于串口通讯的特性限制,避免多个硬件设备连接到串口总线出现数据混乱现象,主要采用轮询模式的呼叫应答通迅机制。
(1) 轮询模式
当有多个设备连接到通讯平台时,通讯平台会轮询调度设备进行通讯任务。某一时刻只能有一个设备进行发送请求命令、等待接收返回数据,这个设备完成发送、接收后,下一个设备才进行通讯任务,依次轮询设备。如下图:

1.5 网络通讯机制
轮询通讯机制是保证数据有序的发送、接收,避免并发数据在总线上出现混乱,但是这种通讯机制是以降低性能为代价的,适用于串口通讯,在以太网通讯中显然无法充分利用网络通讯的优势。
以太网是独立信道、可以全双工通讯。为了充分发挥以太网的优势,在轮询通讯机制的基础上增加了并发通讯模式、自控通讯模式通迅机制。一是为了提高通讯的性能,二是为了二次开发有更多自主控制权。
(1) 轮询模式
以太网轮询通讯模式与串口通讯模式一致,如下图:

(2) 并发模式
并发通讯模式是集中发送所有设备的请求指令,硬件设备接收到指令后进行校验,校验成功后返回对应指令的数据,通讯平台监听到数据信息后,进行接收操作,然后再进行数据的分发、处理等。如下图:

(3) 自控模式
自控通讯模式与并发通讯模式类似,区别在于发送指令操作交给设备本身,或者说交给二次开发者,二次开发者可以自主通过事件驱动发送指令。硬件设备接收到指令后进行校验,校验成功后返回对应指令的数据,通讯平台监听到数据信息后,进行接收操作,然后再进行数据的分发、处理等。
自控通讯模式可以为二次开发者提供精确的定时请求实时数据机制,使通讯机制更灵活。也可以利用自控通讯模式,在不发送任何数据的情况下,进行被动接收数据。如下图:

作者QQ:504547114
交流QQ群:54256083
官方网址:http://www.bmpj.net
源网址:http://www.bmpj.net/index.php?m=article&f=view&id=1
【工业串口和网络软件通讯平台(SuperIO)教程】一.通讯机制的更多相关文章
- 【工业串口和网络软件通讯平台(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通讯机制与设备驱动对接的说明
SuperIO相关资料下载:http://pan.baidu.com/s/1pJ7lZWf 1.1 通讯机制说明 通讯的总体机制采用呼叫应答方式,就是上位机软件主动发送请求数据命令,下位机终端接 ...
- 【工业串口和网络软件通讯平台(SuperIO)教程】九.重写通讯接口函数,实现特殊通讯方式
SuperIO相关资料下载:http://pan.baidu.com/s/1pJ7lZWf 1.1 统一的IO接口 开发一套设备驱动同时具备串口和网络通讯能力,通讯接口在逻辑上是统一的,在此基础 ...
- 【工业串口和网络软件通讯平台(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. 一.此次升级主要包括两个方 ...
随机推荐
- Stop Googling!
http://www.experts-exchange.com/Programming/Languages/Java
- 2013 duilib入门简明教程 -- 响应按钮事件(4)
上一个Hello World的教程里有一句代码是这样的:CControlUI *pWnd = new CButtonUI; 也就是说,其实那整块绿色背景区域都是按钮的区域.(这里简要介 ...
- Viewport---响应式 Web 设计----在路上(13)
什么是 Viewport? viewport 是用户网页的可视区域. viewport 翻译为中文可以叫做"视区". 手机浏览器是把页面放在一个虚拟的"窗口"( ...
- C#设计模式系列:外观模式(Facade)
外观模式主要解决的问题是:当我们有多个类要处理时,往往要一个类一个类地区调用,没有复用性和扩展性.外观模式通过定义一个界面,把处理子类的过程封装成操作,主要就把用户从复杂的调用过程中解放出来. 1.外 ...
- 深入理解脚本化CSS系列第六篇——脚本化伪元素的6种方法
× 目录 [1]动态样式 [2]CSS类[3]setAttribute()[4]CSSRule对象添加[5]空样式覆盖[6]CSSRule对象删除 前面的话 我们可以通过计算样式来读取伪元素的样式信息 ...
- MySQL学习笔记八:日期/时间的处理
MySQL日期时间的处理,在其官网文档上都有详细的阐述,想了解更多的同学可自行查阅. 1.查询当前日期时间:函数有now(),localtime(),current_timestamp(),sysda ...
- WebService 学习之路(一):了解并使用webService
webService主要用于向其他系统提供接口以便调用,系统间可能开发语言等完全不同,根据约定的接口规范,调用者传递相关参数进行接口调用,服务方根据传入的条件进行业务处理并进行结果返回. webSer ...
- C# 将PDF文件转换为word格式
Pdf(Portable Document Format)意为“便携式文档格式”,是现在最流行的文件格式之一,它有很多优点如:尺寸较小.阅读方便.操作系统平台通用等,非常适合在网络上传播和使用.如今在 ...
- 相克军_Oracle体系_随堂笔记012-undo
undo表空间中undo段是自动生成的,oracle自动使用undo表空间的undo段. 作为高级DBA,需要了解Oracle是如何使用undo段的.这样出了性能问题才能够解决. 1.Undo表空 ...
- 【JUC】JDK1.8源码分析之LinkedBlockingQueue(四)
一.前言 分析完了ArrayBlockingQueue后,接着分析LinkedBlockingQueue,与ArrayBlockingQueue不相同,LinkedBlockingQueue底层采用的 ...