当前位置:首页 > 通信技术 > 通信技术
[导读]随着3C 技术迅速发展, 网络集成信息自动化正迅速应用到现场设备、控制中, 现场总线控制系统正逐步取代传统的集散控制系统, 其中Modbus 现场总线协议在基于PLC 的控制系统中得到了越来越广泛的应用. 在本系统中, 以PL

随着3C 技术迅速发展, 网络集成信息自动化正迅速应用到现场设备、控制中, 现场总线控制系统正逐步取代传统的集散控制系统, 其中Modbus 现场总线协议在基于PLC 的控制系统中得到了越来越广泛的应用. 在本系统中, 以PLC 为主机、温度采集模块为从机, 完成对生产过程的自动控制、工业流程及工艺参数的显示、修改, 根据PLC 的无协议通信功能, 用Modbus 现场总线协议实现主机与从机的通讯。

  本文基于某监控系统的设计, 实现了三菱FX2N 系列PLC 在无协议通信方式下与DS18b20型数字温度传感器的采集模块以Mo dbus 协议通信, 在电炉熔化工作过程中, 对电炉、电容、冷却水等100 多点的温度实现巡检。

  1 系统硬件组成

  温度监控部分系统的硬件由DS18b20 型数字温度传感器、采集模块、FX2N 系列PLC、FX2N-485-BD、HITECH 触摸屏组成, 其结构如图1 所示。

 


图1 系统硬件组成

  DS18b20 是世界上首个支持单线总线接口( 1w ire bus inter face) 的数字化温度传感器, 单总线接口便于构建分布式的温度测控网络, 数字化的输出提高了信号传输的可靠性, 而且使外围电路大为简化。 DS18b20 具有很高的适应性和性价比, 其测温范围为- 55~ 125 ℃  , 测温精度为±0. 5℃ , 测温距离最大为200 m , 测温方式使用3 线制, 本系统使用的传感器排序方式为指定排序。

  DS18b20 内部主要有3 个数字部件: 1 个温度传感器、1 个64 位的激光刻蚀ROM、9 字节高速暂存器Scratchpad RAM 和3 字节EERAM. ROM 上64 位数据是传感器的序列号。暂存器确保数据的完整性, 数据先被写入暂存器, 并可以被读回. 数据经校验后, 可以由拷贝暂存器命令传输到EERAM, 以确保更改存储器时数据的完整性。暂存器为9 个字节, 第0 和第1 字节是温度编码的低字节和高字节.

  第2 和第3 字节是温度编码的低字节和高字节的拷贝, 第4 字节是配置寄存器, 其值决定温度转换的分辨率。

  本系统采用的STA-D 温度采集模块, 是一种远程数字化温度采集系统, 有10 个通道, 每个通道最多可以挂接16 个DS18b20 型数字温度传感器,总共可以监控160 个点的温度, 以RS485 方式同上位机通讯, 通信协议为标准Modbus 协议, 波特率为9 600 bps, 与上位机通信距离最大为1 200 m, 工作电源为12 ~ 24 V, 工作温度为- 20 ~ 75 ℃。 与FX2N??485??BD 采用两线制的485 连线方式( 图2) ,接线要使用规范的屏蔽线。

 


图2 485 连接图

  台湾HITECH 公司触摸屏PWS 系列是专为PLC 设计的互动式工作站, 用232 直接与PLC 连接, 可以直接读取PLC 的数据寄存器, 具有良好的人机界面, 操作人员通过它可设置所有参数, 控制系统自动运行。并且编程简便, 运行稳定, 可设置不同的管理权限, 适合于本系统使用。

  2 Modbus 协议

  标准的Modbus 口是使用RS??232C 兼容串行接口, 它定义了连接口的针脚、电缆、信号位、传输波特率、奇偶校验, 控制器能直接或经由Mo dem 组网. 控制器通信使用主! 从技术, 即仅一设备( 主设备) 能初始化传输( 查询) , 其它设备( 从设备) 根据主设备查询提供的数据作出相应反应。

表1 Modbus 部分功能码定义

 


  Modbus 通讯协议有两种传送方式? RT U 方式和ASCII 方式。 本系统使用RTU 模式, 这种方式的主要优点是: 在同样的波特率下, 可比ASCII 方式传送更多的数据。

  使用RTU 模式时, 消息发送至少要以3. 5 个字符时间的停顿间隔开始, 如图3 的T1- T 2- T 3- T 4 所示。 传输的第一个域是设备地址, 可以使用的传输字符是十六进制数值。 通信期间, 网络设备不断侦测网络总线, 包括停顿间隔时间内, 当第一个域( 地址域) 接收到, 每个设备都进行解码以判断是否发往自己的。 在最后一个传输字符之后, 至少要有3. 5 个字符时间的停顿以标定消息的结束, 之后可开始新的消息传输。典型的消息帧如图3 所示。 使用RT U 模式, 消息包括了一个基于CRC 方法的错误检测域. CRC 域检测了整个消息的内容。

 


图3 M odbus 消息帧结构

  CRC 域是两个字节, 包含一个16 位的二进制值。它由传输设备计算后加入到消息中。 接收设备重新计算收到消息的CRC, 并与接收到的CRC 域中的值比较, 如果两值不同, 则有误, 后面将具体讲述CRC 算法的实现。3  系统软件构成

  考虑到操作的方便性, 在系统初次安装时, 先在PC 机上用上位机软件将所有传感器的ID 搜索出来, 然后按实际安装位置给每个传感器编号, 读温度测试传感器是否工作正常。在PLC 上使用Mo dbus协议通信时首先要对通信格式进行设定, 即对D8120 寄存器进行写操作, 在本系统条件下设置为0C87 , 即数据长度为8 位, 无校验, 无起始位与停止位, 波特率9 600 bps。 修改D8120 设置后, 确保通断PLC 电源一次。 再用RS 指令进行数据的传输, 相关程序格式如图4 所示。

 


图4 RS 指令程序格式

  按照上述程序格式, 即可在数据发送区写入指令进行相应的操作。

  1) 读取温度, 其指令格式: [ 设备地址] [ 命令号] [ 通道号] [ 传感器编号] [ 读取个数高8 位] [ 低8位] [ CRC 低8 位] [ CRC 高8 位] , 其中CRC 校验字节以子程序形式调用. 设备响应: [ 设备地址] [ 命令号] [ 返回的字节个数] [ 数据1] [ 数据2] . . . [ 数据n] [ CRC 低8 位] [ CRC 高8 位] 。

  每个18b20 读取温度的返回值占用两个字节.

  转换方法: 将实际温度扩大100 倍, 再将此数值分为两个字节传送出来即可. 例如, 实测出来温度是28.65℃ , 扩大100 倍即2 865, 则发送的第一个字节是2 865/ 256 即是11, 第二个字节是2 865% 256 即49, 那么传送的两个字节为0×0B 和0×31。

  需要注意的是, 由于采用两线制的485 连线方式, 会产生回波通信, 即接收端会先接收到自己发送出去的数据, 但数据还是会正常发送给采集模块, 此时接收端则应该避开前面的无用数据, 接收后面模块响应的有效数据。

  2) 在系统运行后, 若需更换传感器, 则需执行以下两条指令, 首先, 搜索ID, [ 01] [ 06] [ 0c] [ 00][ 00] [ 00] [ CRC 低] [ CRC 高] , 此指令为搜索模块1上各个通道的所有传感器。 然后写编号, 例如: [ 01][ 06] [ 09] [ 05] [ 00] [ 05] [ CRC 低] [ CRC 高] , 表示将第9 通道的原来编号为05 的传感器更换后重新设定为05, 执行此两条指令后, 方可重新读取温度。

  3) CRC 校验字节的生成是比较关键的一步,其过程比较复杂, 步骤如下:

  ①预置一个16 位CRC 寄存器为十六进制FFFF, 即所有数位均为1。

  ②该16 位寄存器的低8 位字节与信息帧的第一个字节的低8 位进行& 异或?运算. 运算结果放入这个16 位寄存器。

  ③ 把这个16 寄存器向右移一位, 用0 填补高位。

  ④若向右( 标记位) 移出的数位是1, 则生成多项式A001( 1010000000000001) 和这个寄存器进行“异或”运算; 若向右移出的数位是0, 则返回③。

  ⑤重复③ 和④, 直至移出8 位。

  ⑥重复③ ~⑤, 直至该报文所有字节均与16 位寄存器进行& 异或?运算, 并移位8 次。

  ⑦将得到的l6 位CRC 寄存器的高、低位字节进行, 即2 字节CRC, 加到报文。

  其程序流程如图5, 以上面的温度读取指令为例, 其CRC 校验梯形图如图6。

 


图5  CRC 校验流程

 

图6 CRC 校验程序

  在读取温度时, 应严格遵守DS18b20 的读写时序, 否则就会出现错误, 丢帧等, 若用脉冲信号定时读取, 则间隔应不小于100 ms. 一般出现错误帧时数据显示为0℃, 此时可以进行简单的滤波, 例如传回值为0 时不显示数据, 或者多组数据取平均值后再显示, 以避免温度显示的大幅度跳动。 DS18b20的初始化温度显示为85℃, 若一直不变, 则此传感器可能已经损坏或是接线不良, 应进行相应的检查。

  4  结束语

  该系统应用于生产过程实时监控中, PLC 既作为现场控制机完成对生产过程的自动控制, 又作为主从通信的主机, 与相关仪表连接, 实现与基于Modbus 现场总线协议的DS18b20 型数字温度传感器的采集模块的主从通信, 并通过PLC 高速实时网络实现对其的远程监控。 该系统目前处于试运行阶段, 表现较为稳定, 通信可靠, 效果良好。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

新品播报!米尔电子发布了基于海思Hi3093高性能MPU的MYC-LHi3093核心板及开发板, 此款核心板支持openEuler embedded OS欧拉系统,丰富生态,可实现100%全国产自主可控。不仅如此,米尔基...

关键字: 核心板 PLC 开发板

在现代工业自动化领域,可编程逻辑控制器(PLC)扮演着至关重要的角色。作为工业控制系统的核心,PLC负责处理各种输入信号,执行逻辑运算,并输出控制信号以驱动执行机构,从而实现自动化生产流程的控制。而PLC的稳定运行离不开...

关键字: 可编程逻辑控制器 工业控制 PLC

随着电子技术的飞速发展,串行RapidIO(SRIO)作为一种高效、灵活的通信协议,在嵌入式系统、数据中心和通信网络中得到了广泛应用。SRIO 2.0作为SRIO协议的新一代标准,对阻抗要求有着更为严格的规定。本文详细论...

关键字: 串行RapidIO 通信协议 通信网络

单片机和PLC将是下述内容的主要介绍对象,通过这篇文章,小编希望大家可以对二者的相关情况以及信息有所认识和了解,详细内容如下。

关键字: PLC 单片机

为增进大家对工控机的认识,本文将对工控机的主要分类、工控机的应用领域予以介绍。

关键字: 工控机 指数 PLC

RS-485通讯是一种在工业控制环境中常用的通讯协议,也被称为ANSI/TIA/EIA-485或简称为485通信协议。它是由美国电子工业协会(EIA)制定的通信标准,旨在解决串行通信距离短、通信速率低、干扰抗性弱等问题。

关键字: rs-485 PLC

在这篇文章中,小编将为大家带来可编程控制器的相关报道。如果你对本文即将要讲解的内容存在一定兴趣,不妨继续往下阅读哦。

关键字: 可编程控制器 PLC

今天,小编将在这篇文章中为大家带来可编程逻辑控制器的有关报道,通过阅读这篇文章,大家可以对可编程逻辑控制器具备清晰的认识,主要内容如下。

关键字: 可编程逻辑控制器 PLC

PLC将是下述内容的主要介绍对象,通过这篇文章,小编希望大家可以对PLC的相关情况以及信息有所认识和了解,详细内容如下。

关键字: PLC 可编程逻辑控制器

一直以来,可编程逻辑控制器都是大家的关注焦点之一。因此针对大家的兴趣点所在,小编将为大家带来可编程逻辑控制器的相关介绍,详细内容请看下文。

关键字: 可编程逻辑控制器 控制器 PLC
关闭
关闭