资讯专栏INFORMATION COLUMN

02_基于西门子CM1241的ModbusRTU串口通讯实现

不知名网友 / 2867人阅读

摘要:但是我对此协议并不熟悉,本文便以测试为目的基于西门子模块主站,采用通讯协议与温湿度传感器从站通讯获取数据。


前言

最近作者在了解工业边缘计算的时候发现,Modbus通讯(ModbusRTU&ModbusTCP)应用的很多,而且是现场网关(Gateway)的一种常用基础协议。

但是我对此协议并不熟悉,本文便以测试为目的基于西门子RS485模块CM1241(主站),采用ModbusRTU通讯协议与温湿度传感器(从站)通讯获取数据。

关键词:ModbusRTU、西门子自动化、TIA Portal、温湿度传感器、OPCUA



一、前期准备

为了能够测试ModbusRTU通讯,购买物料并搭建实验架,总架构如下:

 关于远程链接如何搭建,请参考文章:

01_基于蒲公英R300A的异地组网PLC调试实现

在现场的Simatic S7-1200站点的网络构架详情如下:

ModbusRTU主站选用的是西门子CM1241 RS422/485模块,订货号为6ES7 241-1CH32-0XB0,建议官方渠道购买。

温湿度传感器用的是性价比较高的妙昕TH10S-B,京东购买链接为:

妙昕TH10S-B温湿度传感器变送器RS485采集器模块modbus 实时监控防水高温防尘5-12V TH10S-B【图片 价格 品牌 报价】-京东妙昕TH10S-B温湿度传感器变送器RS485采集器模块modbus 实时监控防水高温防尘5-12V TH10S-B图片、价格、品牌样样齐全!【京东正品行货,全国配送,心动不如行动,立即购买享受更多优惠哦!】https://item.jd.com/29339601357.html#crumb-wrap

其中,CM1241的DB9接头的引脚含义如下:

妙昕TH10S-B的接线方式如下:

 按照西门子官方手册和妙昕传感器所提供手册,完成接线和连接操作,上电后利用TIA Portal V17编写通讯程序。


二、编写通讯程序


1.通讯测试工具和软件

建议在正式编写TIA Portal程序之前,先用Modbus RTU通讯测试工具测试,保证可读取性。测试工具为RS485转USB线缆,所用工具的购买链接为:

【胜为ML-2010B】胜为(shengwei)USB转485串口线 工业级usb转rs485九针com口串口转换器 电脑扩展接口通信 ML-2010B【行情 报价 价格 评测】-京东【胜为ML-2010B】京东JD.COM提供胜为ML-2010B正品行货,并包括shengweiML-2010B网购指南,以及胜为ML-2010B图片、ML-2010B参数、ML-2010B评论、ML-2010B心得、ML-2010B技巧等信息,网购胜为ML-2010B上京东,放心又轻松https://item.jd.com/100006345678.html#none

所用的测试软件为:JCBustszs串口调试助手。

该温湿度传感器的读操作指令为:

01 03 00 00 00 02 C4 0B (地址为1,读温度湿度值)

结果返回为:

01 03 04 00 B8 03 3F 3A F6 (对应温度:18.4℃,湿度83.1%)

测试过程截图如下:

2.编写TIA Portal程序

参考西门子手册以及妙昕传感器所提供手册,结合上述内容,调用Modbus_Comm_Load的TIA Portal关键程序如下:

 读写完成后利用TIA Portal的Trace内容查看如下(用手握测试):

 温湿度的分辨率分别为0.1℃和0.1RH,数据刷新频率可自定义,还可以。

我认为该信号的获取有两个关键作用:

1.为后续工厂关键设备(如变频器)的监控提供思路;

2.为现场级通讯和现场与云交互通讯提供参考。


三、基于OPC UA的通讯传输

西门子1200PLC从Firmware V4.4之后开始支持OPC UA通讯,这为我们提供了与上位机交互的思路:利用OPC UA实现跨平台的通讯传输(如将这些信号传输至Linux下的HDFS集群进行存储或传输至基于Linux编写的UI画面进行实时呈现等),开放接口如下:

PLC1200开放OPC UA接口操作参考资料:

UA_Serverhttp://www.ad.siemens.com.cn/productportal/Prods/S7-1200_PLC_EASY_PLUS/11-Comm/05-OPC/05-OPC_UA/02-UA_Server.html最终该站点更新为如下的网络架构:

该update将在后续文章中陆续更新,敬请期待。


总结

随着“工业4.0”的演变,工业数据、工厂数据的价值会更加凸显。那么数据的获取、存档、分析就至关重要。本文以目前工业边缘网关中使用较多的ModbusRTU为例,阐述了如何测试链接、如何验证通讯结果,希望能够以此为例,帮助大家解决类似通讯问题。

Last but not least,只是完成工业现场级的通讯是远远不够的,还需要与尚未系统进一步通讯产生数据交互,以进行存储和呈现,本文以OPC UA为例解释了一种可能性,update将在后续文章中更新。

如上为本人的第二篇CSDN文章,如有侵权将及时删除,如有数字化相关的问题可随时邮件或私信交流,邮件地址为:aolus1992@163.com。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/125581.html

相关文章

  • 基于UCOSIIRS485通信(STM32F107)

    摘要:为了可靠工作,在总线状态切换时需要做适当延时,再进行数据收发。 一、实现效果         基于ucosii实时操作系统的RS485通信,采用USART + DMA进行收发,  二、开发环境 开发工具:KEIL V5开发板: STM32f107RC采用方式:USART + DMA使用系统:...

    verano 评论0 收藏0
  • 工创赛基于stm32f103HAL库全向麦轮四个7路寻迹传感器智能款采集程序

    摘要:灰度传感器利用不同颜色的检测面对光的反射程度不同的原理进行颜色深浅检测。这就是我们用的数字量灰度传感器。数字量的灰度传感器如果加入的是单片机处理数据,那么可以把得到的原始数据加入滤波算法数据混合算法得到一个波动小适应环境强的数字传感器。 文章目录 引言 1.寻迹传感器工作原理介绍 2.使用方...

    hersion 评论0 收藏0
  • EC20模组使用MQTT库对接EMQX,基于STM32F407

    摘要:一说明本库基于编译,其他的内核也支持,采用串口和模组通信。使用时添加文件到工程中,头文件引用即可。此外,需要外部实现模组的复位操作,一般是对管脚拉高一段时间,复位函数需要指定函数为。四实例以下为使用的库,实现对接自建。 一、说明 本lib库基于STM32F407编译,其他的cortexM4内...

    whatsns 评论0 收藏0
  • 串口实现双机通信

    摘要:利用总线可以实现全双工通信,在多数情况下主要使用主通道。在一般应用中,使用条条信号线就可以实现全双工通信,如采用三条信号线接收线发送线和信号地能实现简单的全双工通信过程。 ...

    zombieda 评论0 收藏0

发表评论

0条评论

不知名网友

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<