百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术分类 > 正文

适用于PLC/DCS应用,支持HART和Modbus连接的模拟I/O系统

ztj100 2024-10-27 18:32 14 浏览 0 评论

评估和设计支持

电路评估板

CN-0414电路评估板(EVAL-CN0414-ARDZ)

CN-0418电路评估板(EVAL-CN0418-ARDZ)

CN-0416电路评估板(EVAL-CN0416-ARDZ)

ADALM-UARTJTAG板

Arduino尺寸开发平台(EVAL-ADICUP3029)

设计和集成文件

PLC/DCS Wiki用户指南

原理图、布局文件、物料清单、软件

电路功能与优势

可编程逻辑控制器(PLC)和分布式控制系统(DCS)被用于监测和控制工业自动化应用中的智能(支持HART)和模拟现场仪器仪表。

图1所示的电路是一个简单的DCS系统,由一台主机、一个单节点、两个4通道隔离模拟输入板和两个4通道隔离模拟输出板组成,这些板由Arduino尺寸基板在本地管控。RS-485收发器连接至PC或其他主机,如此,用户可以使用Modbus协议与节点交换数据。

模拟输入数据从本地读取,通过使用行业标准Modbus协议的串行接口提供,确保在一系列软件应用和库中,保证数据完整性和可兼容性。同样地,模拟输出通过向Modbus寄存器写入来置位,然后被转换为模拟电压或电流信号。

每个节点可以支持4个模拟输入和输出板的组合。如图2所示,最多16个节点的多节点系统在设计时,可以使用提供的硬件和软件基础架构。该电路支持点对点HART通信,可以扩展为多分转站HART网络,在同一通道上集成多个HART器件。

每个板(4个一组)的模拟输入和模拟输出都实施电气隔离,模拟输入支持开路检测,简化了故障检测和诊断过程。在严峻的工业自动化环境中使用时,这些功能可以增强可靠性和耐用性。



图1.PLC(或单节点DCS)Modbus系统功能框图

图2.多节点DCS Modbus系统功能框图

电路描述

该应用侧重于展示受Modbus主机管控的PLC/DCS系统的开发,并且通过示例说明如何使用重要组件的最新功能。单节点系统通常被称为PLC,更大型的系统则通常被称为DCS。

每个节点可以管控多达16个模拟现场器件、传感器或驱动器(兼容HART或仅支持模拟),系统可以扩展,最多包含16个单独的节点。该系统也可用于通用精密模拟数据采集应用,例如仪器仪表、模拟数据记录,或测试和测量。

PLC/DCS拓扑

支持多个连接拓扑。在单节点(PLC,或单节点DCS)系统中,主机可利用micro-USB电缆,直接连接至EVAL-ADICUP3029平台板的USB串行端口,非常适合要求主机和节点之间距离小于2米的实验室测试和测量应用。

在这个点对点拓扑中,电路板四个一组的模拟输入和输出仍然与主机保持隔离。虽然一般来说与实验室设备不相关,但Modbus协议提供一种方便、标准的与节点通信的方法。HART连接支持对智能传感器和驱动器实施配置。

主机和节点之间的距离增大到2米以上时,信号完整度、噪音拾取和电气故障会成为更严重的隐患。在这些情况下,EVAL-CN0416-ARDZ为主机提供可靠的RS-485连接。在单节点、点对点系统中,支持在1 km以上距离中进行全双工或半双工通信,具体由波特率决定。

对于多节点系统(称为DCS更加合适),EVAL-CN0416- ARDZ提供菊花链端口,支持可切换的半/全双工操作和可切换的端电极,因此系统可以集成2到16个节点。

因为Modbus被用作串行通信协议,以通过串行链路,在器件之间发送信息,因此无论规模大小,都可以实现简单、可靠且耐用的系统。PLC/DCS应用的硬件协议栈包含三个不同的参考设计。

模拟输入板

图3所示的CN-0414用于测量4个全差分信号,或者测量8个单端电压和4个电流信号。该电路的核心是AD4111低功耗、低噪声24位Σ-Δ模数转换器(ADC),集成了±10 V和20 mA模拟前端。

其电压输入支持最高±10 V的输入范围。AD4111具有独特的特性,支持在±10 V电压输入上进行开路检测,同时采用5 V或3.3 V单电源供电,而之前的解决方案一般都需要大于±10 V的电源。

电流输入支持0 mA至24 mA输入范围。电路的输入阻抗为250 Ω(AD4111内部为60 Ω),所有输入都以绝缘接地为基准。电流输入上需要250 Ω输入电阻,以使符合HART要求的AD5700-1调制解调器可与AD4111配合使用。

电路的模拟前端AD4111和AD5700-1通过ADuM5411和ADuM3151与处理侧隔离,相比基于分立式变压器的解决方案,能够节省大量空间。

CN-0414板由9.5 V至36 V直流电源供电,这在工业自动化系统中非常典型,因此能够轻松集成到您的系统之中。

图3.模拟输入板

模拟输出板

图4所示的CN-0418是一款4通道电压和电流输出板,以具备动态功率控制功能的AD5755-1 DAC为基础构建。

此电路提供4 mA至20 mA电流输出,以及单极性或双极性电压输出(±10 V)。此板还配有AD5700-1 HART调制解调器,提供完整的支持HART连接的模拟输出解决方案。 同时还包括外部瞬变保护电路,这对恶劣工业环境中的应用极其重要。

电流输出和电压输出通过独立引脚提供,一次仅一个输出处于有效状态,因而允许将两个输出引脚连在一起并接到单个端口上。模拟输出受短路和开路保护。

AD5755-1集成基于DC-DC升压转换器电路的动态电源控制功能,在电流输出模式下可降低功耗。

AD5755-1有四个CHART引脚,分别对应于四个输出通道。HART信号可以耦合至这些引脚,并出现在对应的输出端(如果该输出已使能)。

图4.模拟输出板

RS-485收发器板

图5所示的CN-0416是一款隔离和非隔离式RS-485收发器板,能够在多个系统或节点之间轻松实施数据传输,尤其是在长距离下。

该电路使用ADM2682E RS-485收发器来进行隔离通信,使用LTC2865 RS-485来进行非隔离通信。 这两种器件都可以配置进行全双工或半双工操作,具备开路或端接传输线。

该电路采用板载式RJ-45插孔,因此能够使用常用的CAT5以太网电缆,快速和节点物理连接。端电极电阻被默认设置为CAT5电缆的特性阻抗100 Ω,但在配置之后,可以支持标准RS-485电缆的120 Ω阻抗。

ADM2682E的数据速率可以达到16 Mbps,提供真正安全的接收器输入和经过调整的差动电压阈值。它使用iCoupler数据通道,提供5 kV信号隔离,利用isoPower集成式DC-DC转换器,提供5 kV电源隔离。

LTC2865的数据速率可以达到20 Mbps,提供真正安全的接收器输入。由一个内部窗口比较器确定安全状况,无需调节差动输入电压阈值。

图5.RS-485收发器板

兼容HART的现场器件的接线

图6.兼容HART的现场器件的接线

HART网络

HART器件可在点对点或多分转站这两种网络配置中的一种运行。

在点对点模式下,4 mA至20 mA信号被用于传输一个过程变量,而额外的过程变量、配置参数和其他器件数据则通过HART协议以数字方式传输。4 mA至20 mA模拟信号不会受到HART信号影响,可用于实施控制。HART协议提供访问辅助变量和其他数据的权限,这些数据可用于实施操作、调试、维护和诊断。

Modbus协议

在EVAL-ADICUP3029上运行的软件采用Modbus协议——一种事实上的开放型工业通信标准。Modbus提供一种与单个节点交换数据的可靠方式,通过CRC误差检测来确保数据的完整性。作为一项开放标准,存在众多可用的开放源和商用Modbus软件库,适用于各种平台(例如Windows?、Linux?、嵌入式平台等)。

这些软件也提供简单的命令行接口(CLI)模式,使系统能够从串行端口手动验证,无需主机上装载任何额外的软件。

硬件和软件协议栈

PLC/DCS节点系统软件和硬件协议栈如图7所示。

图7.PLC/DCS节点系统软件和硬件协议栈

配置PLC/DCS硬件之后,用户一般会根据语言(例如C、Python、MATLAB)和主机平台(例如Linux、Windows、嵌入式平台)选择适用的Modbus库。然后,必须编写简单的测试应用程序,将模拟和HART参数转化为Modbus寄存器地址和值。

CN-0435用户指南提供此应用程序的Modbus寄存器映射的完整描述,并使用开源Modbus调试器来验证Modbus的合规性。

此外,还提供多个基于开源Modbus库的顶层应用,包括:

检测系统配置:查询所有Modbus节点,显示配置。

读写输出保持寄存器:检查或更改所有受检测板的输出保持寄存器的状态。

读取模拟输入寄存器:检查所有受检测板的输入寄存器的状态。

读取模拟数据:读取单个模拟输入或所有模拟输入,在控制台显示数据。

写入模拟数据:写入模拟输出,以产生电压或电流。

模拟回波:读取模拟输入板的模拟电压或电流,然后将相同数值的模拟电压或电流写入模拟输出板。

常见变化

CN-0435软件读取模拟输入值和写入模拟输出值,无需实施本地处理。该软件可以扩展包含故障检测和响应等功能,或者包含闭环PID控制环路,从主机上卸载这些功能,节省通信总线的带宽。

树莓派可以用作结构紧凑、价格低廉的主机解决方案。树莓派提供有线或无线以太网连接,可以直接连接至EVAL-ADICUP3029的USB-UART。

如今最常用的三种Modbus版本分别为:Modbus ASCII、Modbus RTU和Modbus TCP。所有Modbus消息都采用相同格式发送。这三种Modbus类型的唯一区别在于消息的编码方式。

可以通过Modbus连接的器件的数量由物理层和数据协议决定。如果RS-485物理层和Modbus RTU或Modbus ASCII数据协议一起使用,那么可以寻址的节点的最大数量为32,但是,如果以太网物理层和Modbus TCP数据协议一起使用,则可以寻址的节点为247个。

器件的地址是从0至247的数字。发送至地址0的消息(广播消息)会被所有从机接受,但1到247这些数值是特定器件的地址。

CN-0414和CN-0418的Arduino尺寸确保与支持广泛的其他自动化通信协议的开发平台兼容,包括过程现场网(PROFINET)、过程现场总线(PROFIBUS)、控制自动化技术的以太网(EtherCAT)、EtherNet/IP、Modbus Plus,以及其他协议。

电路评估与测试

以下部分将介绍采用参考演示所需的设备和一般步骤。可使用软件的CLI选项,来装配DCS系统并测试其基本功能。如需查看完整说明和附加信息,请参阅分布式控制系统(DCS)演示Wiki用户指南。

设备要求

需要以下设备:

具有USB端口和Windows 7(32位)或更高版本的PC

串行终端程序,如TeraTerm或Putty

一个或多个EVAL-CN0414-ARDZ电路评估板,和/或一个或多个EVAL-CN0418-ARDZ电路评估板,适用于每个节点

一个或多个EVAL-CN0416-ARDZ电路板,适用于Modbus接口,另一个EVAL- CN0416-ARDZ板,适用于每个节点

一个ADALM-UARTJTAG评估板,带有一个附加EVAL-CN0416-ARDZ板(或其他半双工RS-485适配器)

一个EVAL-ADICUP3029评估板,适用于每个节点

Micro USB电缆

一根RJ-45电缆,用于RS-485接口,另一根电缆用于每个节点

PLC系统软件或预置的十六进制文件

1 A电源时采用24 V直流电压

开始使用

以下是基本设置步骤:

将EVAL-ADICUP3029的USB电缆插入PC,然后将固件闪存到使用的每个电路板上。

配置硬件。遵循分布式控制系统(DCS)演示Wiki用户指南。确保正确设置每块板上的跳线和开关。或者,对于模拟输入板,连接传感器或信号源,对于模拟输出板,则连接执行器或万用表。

对于每个节点,按以下顺序将平台和扩展板堆叠在一起:

EVAL-CN0416-ARDZ(顶部)

EVAL-CN0414-ARDZ或EVAL-CN0418-ARDZ(可选)

EVAL-CN0414-ARDZ或EVAL-CN0418-ARDZ(可选)

EVAL-CN0414-ARDZ或EVAL-CN0418-ARDZ(可选)

EVAL-CN0414-ARDZ或EVAL-CN0418-ARDZ(可选)

EVAL-ADICUP3029(底部)

4.在节点和RS-485适配器(可能是ADALM-UARTJTAG和EVAL-CN0416-ARDZ)之间连接RJ-45电缆。

5.将RS-485适配器连接至主机。

6.按3029_Reset按钮,或重新启动系统。

如需查看完整细节,请参阅分布式控制系统(DCS)演示Wiki用户指南。

功能框图

图8.单节点PLC模拟I/O系统


图9.DCS模拟I/O系统

相关推荐

如何将数据仓库迁移到阿里云 AnalyticDB for PostgreSQL

阿里云AnalyticDBforPostgreSQL(以下简称ADBPG,即原HybridDBforPostgreSQL)为基于PostgreSQL内核的MPP架构的实时数据仓库服务,可以...

Python数据分析:探索性分析

写在前面如果你忘记了前面的文章,可以看看加深印象:Python数据处理...

CSP-J/S冲奖第21天:插入排序

...

C++基础语法梳理:算法丨十大排序算法(二)

本期是C++基础语法分享的第十六节,今天给大家来梳理一下十大排序算法后五个!归并排序...

C 语言的标准库有哪些

C语言的标准库并不是一个单一的实体,而是由一系列头文件(headerfiles)组成的集合。每个头文件声明了一组相关的函数、宏、类型和常量。程序员通过在代码中使用#include<...

[深度学习] ncnn安装和调用基础教程

1介绍ncnn是腾讯开发的一个为手机端极致优化的高性能神经网络前向计算框架,无第三方依赖,跨平台,但是通常都需要protobuf和opencv。ncnn目前已在腾讯多款应用中使用,如QQ,Qzon...

用rust实现经典的冒泡排序和快速排序

1.假设待排序数组如下letmutarr=[5,3,8,4,2,7,1];...

ncnn+PPYOLOv2首次结合!全网最详细代码解读来了

编辑:好困LRS【新智元导读】今天给大家安利一个宝藏仓库miemiedetection,该仓库集合了PPYOLO、PPYOLOv2、PPYOLOE三个算法pytorch实现三合一,其中的PPYOL...

C++特性使用建议

1.引用参数使用引用替代指针且所有不变的引用参数必须加上const。在C语言中,如果函数需要修改变量的值,参数必须为指针,如...

Qt4/5升级到Qt6吐血经验总结V202308

00:直观总结增加了很多轮子,同时原有模块拆分的也更细致,估计为了方便拓展个管理。把一些过度封装的东西移除了(比如同样的功能有多个函数),保证了只有一个函数执行该功能。把一些Qt5中兼容Qt4的方法废...

到底什么是C++11新特性,请看下文

C++11是一个比较大的更新,引入了很多新特性,以下是对这些特性的详细解释,帮助您快速理解C++11的内容1.自动类型推导(auto和decltype)...

掌握C++11这些特性,代码简洁性、安全性和性能轻松跃升!

C++11(又称C++0x)是C++编程语言的一次重大更新,引入了许多新特性,显著提升了代码简洁性、安全性和性能。以下是主要特性的分类介绍及示例:一、核心语言特性1.自动类型推导(auto)编译器自...

经典算法——凸包算法

凸包算法(ConvexHull)一、概念与问题描述凸包是指在平面上给定一组点,找到包含这些点的最小面积或最小周长的凸多边形。这个多边形没有任何内凹部分,即从一个多边形内的任意一点画一条线到多边形边界...

一起学习c++11——c++11中的新增的容器

c++11新增的容器1:array当时的初衷是希望提供一个在栈上分配的,定长数组,而且可以使用stl中的模板算法。array的用法如下:#include<string>#includ...

C++ 编程中的一些最佳实践

1.遵循代码简洁原则尽量避免冗余代码,通过模块化设计、清晰的命名和良好的结构,让代码更易于阅读和维护...

取消回复欢迎 发表评论: