Delphi与仪表之间的MODBUS通讯

Delphi与仪表之间的MODBUS通讯
    【摘 要】在工控领域,经常会遇到各式各样的现场仪表,这些仪表分散在现场的各个位置,这样的话对管理人员和现场操作人员来说都非常不方便,那如何解决这个问题呢?此时就会用到一种方案,那就是配置上位机,用来集中控制这些仪表,这就是所谓的集散系统。那么如何通过上位机与现场仪表通讯来获取仪表的数据,同时又能对仪表进行远程操作呢?这也就是今天要论述的课题。在进行通信程序编写之前,我们首先得对现场仪表有一定的了解,最起码地是应该知道现场仪表支持什么通讯协议,需要设置哪些参数,然后才能展开下一步的工作。
桡骨  【关键词】Delphi;ModBus;集散系统;多线程
yezoe 
  一、MODBUS通讯协议
  MODBUS是由莫迪康(现为施耐德公司的一个品牌)在1979年发明的,是全球第一个真正用于工业现场的总线协议。MODBUS协议是应用于电子控制器上的一种通用语言,通过它,控
制器之间或其他设备之间可以通信,它已经成为一通用工业标准。有了它,不同厂商生产的控制设备可以连成工业网络,进行集中监控。它定义了一个控制器能认识使用的消息结构,而不管它们是经过何种网络进行通信的。它描述了一控制器请求访问其它设备的过程,如何回应来自其它设备的请求,以及怎样侦测错误并记录。它制定了消息域格局和内容的公共格式。当在一Modbus网络上通信时,此协议决定了每个控制器须要知道它们的设备地址,识别按地址发来的消息,决定要产生何种行动。如果需要回应,控制器将生成反馈信息并用Modbus协议发出。在其它网络上,包含了Modbus协议的消息转换为在此网络上使用的帧或包结构。这种转换也扩展了根据具体的网络解决节地址、路由路径及错误检测的方法。
  二、VSD-6仪表简介
  VSD-6仪表是某厂家自己制作的一款仪表,它具有一个标准的MODBUS端口(二线制的RS485接囗),在一条RS485总线上可接入接出1至16台VSD-6控制仪表,可方便地同各种组态软件(如:组态王、WINCC、昆仑通态)直接连接通讯,也可以按照标准MODBUS(RTU)通讯协议自编程。此处需要注意的是MODBUS通讯协议还分RTU协议和A
SCII协议,VSD-6仪表支持的是MODBUS(RTU)通讯协议,若理解错了将导致无法与VSD-6仪表正常连接通讯。关于该仪表的通讯参数主要有:Adr-仪表通讯地址、Com-通讯串口号、Baud-通讯波特率,当要通讯之前首先得设置好通讯串口号和通讯波特率,这个对于每台仪表来讲是一样对待的,而通讯地址就是惟一用来区分仪表的参数,每台仪表应该设置不同的通讯地址,否则将造成程序无法判断是哪台仪表。
  三、上位机与仪表通讯
  上位机与VSD-6仪表通讯有很多种方法,最简单地做法是通过组态软件,但是通过组态软件在工业控制方面,由于速度的要求,达不到用户的要求,所以我们用Delphi自身的SpComm控件来实现Delphi与VSD-6的仪表通讯。今天就着重讲述下自己编程来实现MODBUS通讯。
国家杜马
  本系统采用的上位机编程软件是Delphi,首先我们需要安装支持Delphi的通信组件SpComm,具体的安装方法网上有很多介绍,此处就不再讲述了,下面进入正题。
  1、首先要根据VSD-6仪表的通讯协议在Delphi程序中设置通信口参数。如:波特率9600,偶校验,一位起始位、八位数据位、一位停止位,数据都为8位二进制(RTU)码。 轻工科技
重庆朝天门火灾
  2、编写通讯程序。
  本程序主要要实现的功能是监视到VSD-6仪表的一些数据,如:仪表的当前状态、流量、设定量和皮重等,同时当VSD-6仪表打到远程控制状态时,可以在上位机上对VSD-6仪表进行远程操作。对于本通讯程序来讲,主要是如何来做MODBUS通讯,给出的代码也是具有代表性的一部分。难点主要有以下几点:第一,延时和多线程,为的是让串口来得及处理所有的操作;第二,校验,为的是扔掉乱码;第三,通讯,为的是监视数据和修改数据。下面是上位机与一台仪表进行通讯的代码示例,与多台仪表进行通讯的代码也是如此。 pku苯丙酮尿症
  procedure TfrmMain.
  Comm1ReceiveData(Sender: TObject; Buffer: Pointer;
  BufferLength: Word);
  {接收数据}
  var
  rBuff:array[1..3] of byte;
  begin
  move(buffer^,rBuff,BufferLength);
  EdtAdr.Text:=inttohex(rBuff[1],2); //VSD仪表地址

本文发布于:2024-09-22 19:36:14,感谢您对本站的认可!

本文链接:https://www.17tex.com/xueshu/230846.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:仪表   协议   现场   控制器
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议