zoukankan      html  css  js  c++  java
  • 【工业串口和网络软件通讯平台(SuperIO)教程】一.通讯机制

    1.1    应用场景

       通讯平台的交互对象包含双方面:第一、与硬件产品交互。第二、与软件产品交互。

    基本这双方面考虑,通讯平台通常会应用在两个场景:

    1)通讯平台应用在PC机上

       主要应用在自己主动站的工控机上,通过RS485/RS232、RJ45、4-20mA等方式採集硬件设备的数据信息。

    同一时候,通讯平台与server端的软件进行交互,负责上传数据信息,以及接收控制命令等。

    2)通讯平台应用在server端上

       终端设备以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

  • 相关阅读:
    ubuntu 下redis的安装简介
    Oracle 的几种循环方式介绍
    NIO 概述 与 通信实例
    io 的一些简单说明及使用
    webSocket的 原理 及 实现
    事务 与事务的 隔离级别 简单说明
    case 函数的简单使用记录下
    java HttpClient 忽略证书的信任的实现 MySSLProtocolSocketFactory
    南京小吃八绝
    JavaScript图表库(百度)
  • 原文地址:https://www.cnblogs.com/wgwyanfs/p/7119401.html
Copyright © 2011-2022 走看看