温湿度传感器程序 实例:S7-200 SMART通过Modbus-RTU读取温湿度传感器数据
实例:S7-200 SMART通过Modbus-RTU读取温湿度传感器数据
本实例我们介绍下西门子S7-200 SMART PLC如何通过Modbus-RTU协议读取温湿度传感器的数值。实例使用的硬件如下:
S7-200 SMART CPU ST20;温湿度传感器(支持Modbus-RTU协议);
本文包括如下几个主题:
1、温湿度传感器外观、接线及通信参数介绍
2、CPU ST20与温湿度传感器的接线;
3、CPU ST20的编程;
1、温湿度传感器外观、接线及通信参数介绍
本例程使用的温湿度传感器能检测的温度范围为:-40℃~120℃,湿度范围为:0%~100% rh,其外观如下图所示:
该温湿度传感器有四条线,颜色分别是:红、黑、黄、绿,各线的定义如下:
该温湿度传感器支持Modbus-RTU协议,相关通信参数如下:
支持的波特率:1200bps、2400bps、4800bps、9600bps、19200bps,默认为9600bps;通信设置:起始位1位,数据位8位,停止位1位,无校验位;支持站地址范围:1~247,默认为1;支持Modbus功能码0x03读取数据,数据格式如下表所示:
支持Modbus功能码0x10或者0x06修改传感器的站地址或者波特率,数据格式如下表所示:
①0=1200bps;1=2400bps;2=4800bps;3=9600bps;4=19200bps;
2、CPU ST20与温湿度传感器的接线
本例程使用CPU ST20本体集成的串口(编号:Port0)连接温湿度传感器。Port0针脚定义如下表所示:
需要说明的是,西门子RS485信号线定义与很多厂家不同:多数厂家定义RS485信号A线为正极,信号B线为负极;但是西门子定义A线为负极,信号B线为正极。
因此,在本例程中,温湿度传感器的黄线(RS485+)应该与CPU ST20本体串口Port0的3号引脚相连;同时,温湿度传感器的绿线(RS485-)应该与Port0的8号引脚相连;
3、CPU ST20的编程
使用S7-200 SMART的库指令【Modbus RTU Master】中的MBUS_CTRL指令和MBUS_MSG指令来与温湿度传感器进行Modbus-RTU通信。
MBUS_CTRL指令用来配置Modbus主站的通信参数,需要在每个扫描周期都调用。指令各参数含义如下:
Mode:通信协议的类型;0=PPI协议;1=Modbus协议;Baud:波特率;Parity:校验位,0=无校验,1=奇校验,2=偶校验;Port:端口号,CPU本体串口编号为0,通信板编号为1;Timeout:超时的时间值,单位为毫秒;Done:指令是否完成;Error:指令执行的状态值,0=没有错误;
指令执行在线状态如下图所示:
MBUS_MSG指令用来与子站进行数据交换,其各参数含义如下:
First:请求数据交换,需要上升沿信号;Slave:从站地址;RW:读取或写入数据,0=读取,1=写入;Addr:Modbus寄存器地址;Count:要读取的数据长度;DataPtr:数据的存放地址;Done:指令是否执行完成,1=完成;Error:指令执行的状态值,0=没有错误;
指令执行在线状态如下图所示:
通过状态图表,可以监控到读取的数值为293和639,分别表示温度为29.3℃和63.9%rh的湿度,如下图所示:
好了,这就是CPU ST20通过Modbus-RTU协议读取温湿度传感器数值的例程。我的新书《西门子S7-200 SMART PLC应用技术——编程、通信、装调、案例》有更多通信的内容介绍,点击下面的链接查看关于该书的介绍。
#pgc-card .pgc-card-href { text-decoration: none; outline: none; display: block; width: 100%; height: 100%; } #pgc-card .pgc-card-href:hover { text-decoration: none; } /*pc 样式*/ .pgc-card { box-sizing: border-box; height: 164px; border: 1px solid #e8e8e8; position: relative; padding: 20px 94px 12px 180px; overflow: hidden; } .pgc-card::after { content: " "; display: block; border-left: 1px solid #e8e8e8; height: 120px; position: absolute; right: 76px; top: 20px; } .pgc-cover { position: absolute; width: 162px; height: 162px; top: 0; left: 0; background-size: cover; } .pgc-content { overflow: hidden; position: relative; top: 50%; -webkit-transform: translateY(-50%); transform: translateY(-50%); } .pgc-content-title { font-size: 18px; color: #222; line-height: 1; font-weight: bold; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .pgc-content-desc { font-size: 14px; color: #444; overflow: hidden; text-overflow: ellipsis; padding-top: 9px; overflow: hidden; line-height: 1.2em; display: -webkit-inline-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; } .pgc-content-price { font-size: 22px; color: #f85959; padding-top: 18px; line-height: 1em; } .pgc-card-buy { width: 75px; position: absolute; right: 0; top: 50px; color: #406599; font-size: 14px; text-align: center; } .pgc-buy-text { padding-top: 10px; } .pgc-icon-buy { height: 23px; width: 20px; display: inline-block; background: url(https://lf6-cdn-tos.bytescm.com/obj/cdn-static-resource/pgc/v2/pgc_tpl/static/image/commodity_buy_f2b4d1a.png); } S7-200 SMART应用技术 ¥87.1 购买
温湿度传感器与S7-1200 PLC通讯读取温湿度案例
1 硬件组态
添加S7-1200CPU(1214C DC/DC/DC)
添加通信板CB1241(RS485)
2 MODBUS通讯指令介绍
2.1 主站初始化指令
EN----使能端(仅需在第一个扫描周期接通一次即可)
REQ----在上升沿执行该指令,请求将数据发送/读取到Modbus主站(为1或者TURE均可)
PORT----端口号(添加RS485通讯板之后,编写指令时,可在下拉菜单选择相应硬件端口号)
BAUD----波特率(须要与子站通讯率一致)
PARITY----奇偶校验(0无校验,1奇校验,2偶校验)
MB_DB----“MB_MASTER”或“MB_SLAVE”指令的背景数据块的引用。在程序中插入“MB_SLAVE”或“MB_MASTER”之后,数据块标识符会显示在 MB_DB 框连接的下拉列表中。
DONE----完成位 ERROR----错误 STATUS----错误代码(数据类型WORD)
2.2 主站指令
EN----使能端
REQ----在上升沿执行该指令,请求将数据发送/读取到Modbus主站(为1或者TURE均可)
MD_ADDR----子站地址(为1-247)
MODE----模式(是从子站读取数据,还是将数据写入子站。0读取,1写入。)
DATA_ADDR----需要读取子站数据的寄存器地址(可从温湿度传感器说明书上查询)
DATA_LEN----读取数据的长度
DATA_PTR----从子站读取的温度值存放位置
DONE----完成位
BUSY----繁忙(0:当前没有“MB_MASTER”事务正在处理中;1:“MB_MASTER”事务正在处理中)
ERROR----错误
STATUS----错误代码(数据类型WORD)
相关问答
honeywell 温湿度传感器 说明书①.选择温湿度传感器的测量范围与测量重量、温度的方法一致,使用湿度传感器步要确定测量它的范围。除了气象以及科研部门,进行温湿度测控的通常情况下不需...
温湿度传感器 怎么用?①.选择温湿度传感器的测量范围与测量重量、温度的方法一致,使用湿度传感器步要确定测量它的范围。除了气象以及科研部门,进行温湿度测控的通常情况下不需要...
求一份霍尼韦尔 温湿度 控制器使用说明?_住范儿家装官网Honeywell-T9275A操作说明1、后按UP或DOWN键,可设定温度1℃(连续按2秒,连续快速变化)按ENTER键一次,数字闪烁表示完成。2、按SELECT键,选取其...
aqara 温湿度传感器 怎么连接?要连接Aqara温湿度传感器,您需要按照以下步骤进行操作:1.首先,确保您已经安装了Aqara智能家居APP,并完成了账号注册和登录。2.打开AqaraAPP,点击右上角的...
rotronic 温湿度传感器 使用说明书?RoTronic温湿度传感器通常有多种型号和配置,因此具体的使用说明可能略有不同。以下是一般性的使用流程:1.确认传感器型号和规格:通过查看产品标签或技术手册...
温湿度传感器 接线的方法是怎样的?_住范儿家装官网从总体角度来说这个设计主要涉及有温度、湿度的测量,显示以及简单的控制。分为三个部分,即AT89C51单片机为主控部分、SHT11温湿度传感器部分、LCD16...
485 温湿度传感器 说明书?485温湿度传感器的说明书:温湿度传感器多以温湿度一体式的探头作为测温元件,将温度和湿度信号采集出来,经过稳压滤波、运算放大、非线性校正、V/I转换、恒流...
温湿度传感器 原理?温湿度传感器是传感器其中的一种,是把空气中的温湿度通过一定检测装置,测量到温湿度后,按一定的规律变换成电信号或其他所需形式的信息输出,用以满足用户需求...
温湿度传感器 和显示器怎么用?1、按功能选择键进入温度上限设置状态,此刻上屏显示设定值,下屏显示“1、H”,上限值通过增加或减小设置,50摄氏度到99摄氏度可调,出厂设置上限为30摄氏度;...
汽车加装 温湿度传感器 怎样装?要加装温湿度传感器到汽车上,通常需要一定的专业知识和技能。以下是一般性的步骤和注意事项:1.确定传感器安装位置:首先,确定要安装温湿度传感器的位置。传...