任务2-5 使用SMART通过RS485采集数据_第1页
任务2-5 使用SMART通过RS485采集数据_第2页
任务2-5 使用SMART通过RS485采集数据_第3页
任务2-5 使用SMART通过RS485采集数据_第4页
任务2-5 使用SMART通过RS485采集数据_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

任务2-5使用SMART通过RS485采集数据

本节学习要点行业背景无锡地铁SCADA系统中RS485串口通信技术的应用相关知识1.RS485串口简介2.RS232与RS485的特点任务实施1.RS485温度变送器器件检测与参数设置方法2.SMART采集一个温度传感器的数据3.SMART采集两个温度传感器的数据4.组态王读取温度数值(以读取一个温度值为例)思考与练习

行业背景

在仪表选型时的一个必要条件就是要具有联网通信接口。最初是数据模拟信号输出简单过程量,后来仪表接口是RS232接口,这种接口可以实现点对点的通信方式,但不能实现联网功能。随后出现的RS485解决了这个问题。从无锡地铁SCADA系统图中可以看到,像整流变温控器、钢轨电位限位装置、负极柜和交直流屏这些变电所设备的数据都是由RS485串口通过智能测控单元采集到站级管理层的,如图2-5-1所示。

图2-5-1无锡地铁SCADA系统图中的RS485通信无锡地铁SCADA系统与400V智能单元采用RS485接口组网,通信协议采用Modbus-RTU协议。400V智能单元通过RS485总线,实现在开关柜内组网,通过安装于400V1号进线柜内的光电转换器,将电信号转换为光信号传送至控制信号盘的通信控制器上进而实现通信。SCADA系统与开关柜间采用光纤通道互联,可以增强现场实际运行中抗电磁干扰能力。接口示意图如图2-5-2所示。

图2-5-2400V智能单元RS485接口示意图智能设备智能设备智能设备后台监控SCADA控制信号盘接口分界交换机光电转换器光电转换器通信控制器智能设备RS485400V开关柜

无锡地铁SCADA系统与交直流屏、温控器、整流器、有源滤波、单相导通等智能单元采用RS485接口组网,通信协议采用Modbus-RTU协议。智能单元通过RS485总线,直接接至控制信号屏与通信控制器通信。接口示意图如图2-5-3所示。

图2-5-3SCADA智能单元RS485接口示意图交直流屏、温控器、整流器、有源滤波、单相导通等智能单元SCADA控制信号盘接口分界智能设备智能设备后台监控交换机通信端子排RS485通信控制器ST700直流微机综合保护装置的电源板模块(端子X1)如图2-5-4所示。该模块有两个RS485端口,使用起来非常灵活方便。从以上的叙述可以看出,RS485接口在SCADA系统的间隔设备层是最常使用的通信方式。

图2-5-4电源板模块(端子X1)RS485接口

相关知识

1.RS485串口简介

RS232串口通信的知识我们已经在项目1任务1-3“理解串口通信”中介绍,下面主要介绍RS485串口通信。1)RS485串口特点

RS485采用差分信号负逻辑,+2V~+6V表示“0”,-6V~-2V表示“1”。RS485有两线制和四线制两种接线,四线制只能实现点对点的通信方式,现在很少采用,目前多采用的是两线制接线方式,这种接线方式为总线式拓朴结构,在同一总线上最多可以挂接32个结点。在RS485通信网络中一般采用的是主从通信方式,即一个主机带多个从机。RS485的主要优点是两个设备之间的长距离数据传输。它们常用于电噪声工业环境。2)RS485串行通信协议RS485是一种异步串行通信协议,不需要时钟脉冲。它使用称为差分信号的技术将二进制数据从一个设备传输到另一个设备。差分信号方法通过使用±5V产生差分电压来工作。当使用两根电线时,它提供半双工通信,而全双工则需要4条电线。通过使用这种方法有以下优点:(1)与RS232相比,RS485支持最高30Mbps的更高数据传输速率。(2)提供最大的数据传输距离。它最多可传输距离为1200米。(3)RS485相对于RS232具有单个主设备的多个从设备,RS232仅支持单个从设备。(4)它最多可以有32个设备连接到RS485协议。(5)它可以免受噪声影响,因为它们使用差分信号方法进行传输。3)RS485串口接口定义

A或Data+(D+)或+:信号正。

B或Data-(D-)或-:信号负。

4)计算机与RS485串口的仪表通信

计算机自带的串口只有RS232,没有RS485,如果计算机要与RS485串口的仪表进行通信,必须使用串口转换器或装上RS485串口转换卡。2.RS232与RS485的特点

1)RS232串口通信的特点(1)以全双工方式工作。(2)传输距离有限,一般在15m以内。

(3)只能实现点对点的通讯方式。(4)在TX和RX上:逻辑电平“1”为-3V~-15V,逻辑电平“0”为+3~+15V。2)RS485串口通信的特点(1)采用平衡发送和差分接收,信号能传输上千米。(2)以半双工方式工作。(3)可实现真正的多点通讯。(4)具有良好的抗干扰能力。3.Modbus通信协议

Modbus是一种串行通信协议,是Modicon公司(现在的施耐德电气SchneiderElectric)于1979年为使用可编程逻辑控制器(PLC)通信而发表。Modbus已经成为工业领域通信协议的业界标准,并且现在是工业电子设备之间常用的连接方式。Modbus允许多个(大约240个)设备连接在同一个网络上进行通信。在数据采集与监视控制系统(SCADA)中,Modbus通常用来连接监控计算机和远程终端控制系统(RTU)。Modbus的串行连接,有两个模式,它们只是在数值数据表示和协议细节上略有不同。ModbusRTU采用二进制表示数据,ModbusASCII是一种用ASCII字符表示数据的方式。Modbus的TCP/IP(例如以太网)的连接,存在多个Modbus/TCP模式,这种方式不需要校验和计算。一个Modbus命令包含了要执行该命令的设备的Modbus地址。所有设备都会收到命令,但只有与命令地址相同的设备才会执行及回应指令(地址0例外,指定地址0的指令是广播指令,所有收到指令的设备都会执行指令,但不回应指令)。所有的Modbus命令都包含了校验码,以确定到达的命令没有被破坏。基本的Modbus命令能改变RTU中某个寄存器的值,控制或者读取一个I/O端口,以及要求设备回送一个或者多个寄存器中的数据。

1)通讯基本参数

通讯基本参数如表2-5-1所示。表2-5-1通讯基本参数编码8位二进制数据位8位奇偶校验位无停止位1位错误校验CRC(冗余循环码)波特率2400b/s、4800b/s、9600b/s可设,出厂默认为4800b/s2)数据帧格式定义

无论是ASCII模式还是RTU模式,Modbus信息以帧的方式传输,每帧有确定的起始点和结束点,接收设备在信息的起点开始读地址,并确定要寻址的设备,以及信息传输的结束时间。可检测部分信息,错误可作为一种结果设定。RS485通信采用Modbus-RTU通讯格式如下表2-5-2所示。下表2-5-2Modbus-RTU通信规约初始结构:大于4字节的时间。结束结构:大于4字节的时间。地址码:为变送器的地址,在通讯网络中是唯一的(出厂默认0x01)。功能码:主机所发指令功能指示,本变送器只用到功能码0x03(读取寄存器数据)。数据区:数据区是具体通讯数据,CRC码:二字节的校验码,注意16bits数据高字节在前。初始结构地址码功能码数据区错误校验结束结构4字节的时间1字节1字节N字节16位CRC码4字节的时间主机问询帧结构:地址码地址码功能码寄存器起始地址寄存器长度校验码低位校验码高位1字节1字节2字节2字节1字节1字节地址码功能码有效字节数数据一区第二数据区第N数据区校验码1字节1字节1字节2字节2字节2字节2字节从机应答帧结构:地址码3)寄存器地址Modbus地址通常包含数据类型和偏移量5个字符值。第一个字符确定数据类型,后面4个字符确定数据类型内的正确数值。Modbus从站指令支持以下地址:00001~00128是实际输出,对应于Q0.0~Q15.7;10001~10128是实际输入,对应于I0.0~I15.7;30001~30032是模拟输入寄存器,对应于AIW0~AIW62;40001~4xxxx是保持寄存器,对应于V区。RS485温度变送器寄存器地址含义:

寄存地址为0,对应Modbus通讯里的40001,内容为保留数据。寄存地址为1,对应Modbus通讯里的40002,内容为实时温度值。寄存器地址(16进制)寄存器地址(10进制)PLC或组态地址(10进制)内容操作0000H040001保留只读0001H140002温度(是实际温度的10倍)只读4)通讯协议示例以及解释

(1)读取设备地址0x01(十进制地址为1)的温度值。问询帧(16进制):地址码功能码起始地址数据长度校验码低位校验码高位0x010x030x00

0x000x000x020xC40x0B地址码功能码有效字节数保留温度值校验码低位校验码高位0x010x030x040x00

0x000xFF

0x9B0xFA0x68应答帧(16进制):例如读到温度为-10.1℃温度计算:当温度低于0℃时温度数据以补码形式上传。温度:FF9BH(十六进制)=-101意思是温度为-10.1℃。(2)读取设备地址0x43(十进制地址为67)的温度值。询问帧(16进制)地址码功能码起始地址数据长度校验码低位校验码高位0x430x030x000x000x000x020xCB0x29地址码功能码返回有效字节数保留温度值校验码低位校验码高位0x430x030x040x000x000x010x0d0x580x62应答帧(16进制):(例如读到温度为26.9℃)温度:10DH(十六进制)=269意思是温度为26.9℃。

任务实施

1.RS485温度变送器器件检测与参数设置方法

1)配置软件选择 如果需要修改设备地址或波特率,可以通过按键设置,也可以使用配置软件设置。打开RS485温度变送器厂家提供的资料包,选择“调试软件”文件夹,打开“485参数配置软件”,(找到,双击打开即可)。注意:在使用该配置软件更改地址和波特率的时候只能接一台设备。如图2-5-5所示。

图2-5-5RS485温度变送器参数设置电路连接2)电路连接

图2-5-5所示为厂家给出的电路连接实物图,图中的“485转换器”可以直接使用USB转RS485转换器。如果手头只有TTL转RS485转换器,可以再使用一个USB转TTL转换器与之连接,其RS485温度变送器与电脑接线图如图2-5-6所示。图2-5-6RS485温度变送器与电脑接线图3)串口通信参数设置

(1)选择正确的COM口(右击“我的电脑”→“属性”→“设备管理器”→“端口”里面查看COM端口)。(2)单独只接一台设备并上电,点击软件的测试波特率,软件会测试出当前设备的波特率以及地址,默认波特率为4800b/s,默认地址为0x01。(3)根据使用需要修改地址以及波特率,同时可查询设备的当前功能状态。(4)如果测试不成功,请重新检查设备接线及RS485驱动安装情况。4)用RS485温度变送器配置软件测试器件参数

图2-5-7所示为RS485温度变送器配置软件界面,在此界面可以更改设备地址,设备波特率及观察温度值,还可以监测设备通信情况。

图2-5-7RS485温度变送器配置软件界面操作时需先打开软件,再插上器件,否则会提示串口打不开。要正确选择串口号,正常情况下可以显示设备地址、波特率和温度值。如果没有显示设备地址、波特率和温度值,先按“测试波特率”按钮,再按温度值的“查询”按钮。

2.SMART采集一个温度传感器的数据

1)硬件设备

一个支持Modbus协议的温度传感器实物如图2-5-8所示。

图2-5-8RS485温度传感器实物2)温湿度传感器参数厂家一般都会配一个修改软件,这里不做修改,使用其默认值。波特率:9600b/s。数据格式:8位数据位、无校验。通讯方式:标准ModbusRTU。通讯地址:2。3)SMART与温度变送器端口连接将温度变送器与SMART的DB9接口连接,接线图如图2-5-9所示。

图2-5-9S7-200SMART与RS485接口温度变送器接线图4)程序编写

网络1如图2-5-10所示。初始化主设备命令MBUS_CTRL用于S7-200端口0,可初始化、监视或禁用Modbus通信。在使用MBUS_MSG命令之前,必须正确执行MBUS_CTRL命令,此命令执行完成后,立即设定“完成”位,才能继续执行下一条命令。

图2-5-10网络1程序程序解析:“模式”(Mode)输入的值用于选择通信协议。输入值为1时,将CPU端口分配给Modbus协议并启用该协议。参数“奇偶校验”(Parity)应与Modbus从站设备的奇偶校验相匹配。(0为无奇偶校验)参数“端口”(Port)设置为物理通信端口(0=CPU中集成的RS485)。参数“超时”(Timeout)设为等待从站做出响应的毫秒数。典型值是1000ms。当MBUS_CTRL指令完成时,指令将“真”(TURE)返回给“完成”(Done)输出。“错误”(Error)输出包含指令执行的结果。网络2如图2-5-11所示。MBUS_MSG命令用于启动对Modbus从站的请求,并处理应答。当“EN”输入和“First”输入打开时,MBUS_MSG命令启动对Modbus从站的请求。发送请求、等待应答并处理应答。EN输入必须打开,以启用请求的发送,并保持打开,直到“完成”位被置位。此命令在一个程序中可以执行多次。

图2-5-11网络2程序程序解析:参数“从站”(Slave)是Modbus从站设备的地址。允许范围为0至247。地址0是广播地址。仅将地址0用于写入请求。系统不会响应对地址0的广播请求。并非所有从站设备都支持广播地址,如S7-200SMARTModbus从站库不支持广播地址。使用参数“RW”指示是读取还是写入该消息,0读取。参数地址(Addr)是起始Modbus地址。寄存器地址为0,对应Modbus通讯里的地址40001。参数“计数”(Count)用于分配要在该请求中读取或写入的数据元素数。读取仪表中保持寄存器字数。参数“DataPtr”是间接地址指针,指向CPU中与读请求相关的数据的V存储器。将DataPtr设置为用于存储从Modbus从站读取的数据的第一个CPU存储单元。地址1的温度数据被存入到以VW100为起始的两个字,即VW100为保留数据,VW102为实时温度值,这里要注意,整数转为实数后再除以10,就是最后的温度值。5)程序调试

网络1初始化主站指令程序如图2-5-12所示。

图2-5-12初始化主站指令程序调试网络2~3显示温度值程序调试如图2-5-13所示。

图2-5-13显示温度值调试程序3.SMART采集两个温度传感器的数据

1)SMART与温度变送器端口连接

S7-200SMAR

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论