1. 通讯组态平台简介
      通讯组态平台是通过对硬件的驱动及控制,按照通讯协议将硬件采集和输出数据与组态平台相连,通过算法模型计算和图形界面操作,实现对硬件的智能优化控制。平台中硬件的主要功能是数据采集和控制。数据采集是指从传感器和其它待测设备等模拟和数字被测单元中自动采集非电量或者电量信号,送到采集模块中进行分析和处理,基于计算机或者专用通讯组态软件,实现灵活的、用户自定义的测量与控制要求。 互联网高速发展的今天,数据采集已经被广泛应用于工业、商业及人工智能领域,大数据的分析更加促使数据采集成为硬件组态的核心功能。下面主要介绍本软件平台与国内标准厂商提供的硬件系统的软件驱动组态。
2. 通信程序
      本通讯组态软硬件平台中采用其它厂商设备时,为了更好兼容其通信协议要求,已单独编写了许多兼容本通讯接口的标准运行程序库,主要有以下几种:OPC客户端程序,即通过连接其它厂商的OPC服务器将数据连接入本组态系统中。TCP/UDP服务端程序,根据其它厂商或标准的TCP/UDP数据格式进行数据接入,但由于数据帧格式不同,需要根据具体要求进行定制,ModBus_TCP也属于此类通讯协议要求,数据帧格式需要定制开发。RS485串口通信接口程序,需要安装RS485通信卡或配套硬件,根据厂商的串口通信命令集单独定制,ModBus_RTU属于此类通讯方式,建议通过串口服务器转换为标准TCP/UDP协议。
3. 数据通讯
      数据通讯是将外部数据定时采集进模型变量中,模型可设定的采集周期从0.25s到5s之间,考虑到与实际硬件采集时间上的偏差,设定异步方式与外部数据连接。举例如模型运行周期设定为0.25s,硬件采集周期是1s,即模型在1s内引入硬件数据4次,其中3次的数据相同。相反若模型设定的运行周期大于硬件采集周期,则可能发主丢失数据现象,两者的时间设为相同最好。
      由于硬件采集类型及通讯方式的不同,采集来的数据格式差异较大,对于不同的通讯方式应采用不同的独立软件驱动运行,主要有以下几类通讯协议:
      1)TCP/UDP协议:是目前主流的通讯方式,尤其以UDP为主,符合实时性要求。本系统自主的硬件模块与外界通讯主要以UDP为主,硬件部分会对通讯协议说明。
      UDP(User Data Protocol)用户数据报协议,UDP不提供可靠性,它只是把应用程序传给IP层的数据报发送出去,并不能保证它们能到达目的地。由于UDP在传输数据报前不用在客户和服务器之间建立一个连接,且没有超时重发等机制,故而传输速度很快,UDP协议具有更好的实时性,工作效率要比TCP高效。
      TCP(Transmission Control Protocol)传输控制协议,提供的是面向连接、可靠的字节流服务。当客户和服务器彼此交换数据前,必须先在双方之间建立一个TCP连接,之后才能传输数据。TCP提供超时重发、丢弃重复数据、检验数据、流量控制等功能,保证数据能从一端传到另一端,TCP在数据包接收无序、丢失或在交付期间被破坏时,负责数据恢复。但TCP占用资源较大,实时性较差。
      2)OPC协议,在数据采集软件中广泛应用。现在众多硬件厂商提供的产品均带有标准的OPC接口,OPC实现了应用程序和工业控制设备之间高效、灵活的数据读写。
      OPC全称是OLE for Process Control,它的出现为基于Windows的应用程序和现场过程控制应用建立了桥梁。由于现场设备的种类繁多,且产品的不断升级,往往给用户和软件开发商带来了巨大的工作负担。通常这样也不能满足工作的实际需要,系统集成商和开发商急切需要一种具有高效性、可靠性、开放性、可互操作性的即插即用的设备驱动程序。在这种情况下,OPC标准应运而生。OPC标准以微软公司的OLE技术为基础,它的制定是通过提供一套标准的OLE/COM接口完成的。
      3)RS485或ModBus协议:RS-485采用平衡发送和差分接收,具有抑制共模干扰的能力,发器具有高灵敏度,能检测低至200mv的电压,故传输信号能在千米以外得到恢复。有些RS-485收发器修改输入阻抗以便允许将多达8倍以上的节点数连接到相同总线。RS-485最常见的应用是在工业环境下可编程逻辑控制器内部之间的通信。 MODBUS是基于RS485通讯和一种固定格式协议,是现在流行的一种布网方式,实施简单方便 ,是Modicon公司于1979年为使用可编程逻辑控制器(PLC)通信而发表。Modbus已经成为工业领域通信协议的业界标准,是工业电子设备之间常用的连接方式,其中通过以太网的Modbus_Tcp协议渐渐成为通讯主流。
      4)CAN总线,是高可靠性通讯的串口协议,目前主要应用于汽车行业,本软件平台自主的硬件模块间的内部通讯,都基于CAN总线方式,硬件部分会说明。
      5)文本流通讯以动态文件方式进行数据交换,主要为了与其它特定的算法软件进行数据连接,比如具有独立产权的自主算法软件输出,技术保密的应用软件及Python类软件的接口等应用较多。
      通过以上通讯协议及软件驱动,与相应的硬件设备接口,对采集变量设置,配置成点表文件,使启动运行后在系统中映像出共享的变量空间,供本系统组态平台实时读写和操作。
      【数据分组】里通过组选择,可以设定该组不同的硬件通讯协议。
      【名字路径】是对应的点表名字文件路径,点表文件由硬件通讯按固定格式生成。
      【通讯方式】设定该组中通讯数据与组态平台之间的连接方式,主要有内存变量映像,文本文件流和二进制文件流及UDP方式。
      【定时设置】对组态软件的采集周期进行设定,目前最小设置为0.25s。对于高速采集数据来说,重新设定模块的[模型循次]会达到提高采集周期的要求,但硬件通讯的采集性能也要配套实现,才能实现双向高速异步通讯及模型同步计算的能力。
      【连接/断开】用于组态软件对采集数据源的连接或中断,通常用于硬件未连接或中断条件下,若该项勾选,模型中采集的数据变量可能为零或处于异常状态。
      【测试】用于对硬件采集数据的实时检测,验证通讯数据是否正常。
      【模型变量设置】用于添加和编辑平台中对应的ID变量清单,左侧为采集的点表清单,两者之间的序号和数量应完全相同并对应。[选择确定]对勾选的变量读写状态进行设定保存。