电子开发网

电子开发网电子设计 | 电子开发网Rss 2.0 会员中心 会员注册
搜索: 您现在的位置: 电子开发网 >> 电子开发 >> 梯形图实例 >> 正文

西门子plc SMART200 通过Modbus读取温湿度传感器数据梯形图实例

作者:佚名    文章来源:本站原创    点击数:    更新时间:2022-08-19

文章目录

  • 前言
  • 一、温湿度传感器
  • 二、传感器与Smart200接线
  • 三、PLC程序
  • 四、读取数据
    • 以16位整数形式读取数据
    • 以32位浮点形式读取数据
  • 五、参考文献


前言

正在学习西门子plc SMART200的Modbus通讯,手里正好有一块淘宝买的温湿度传感器,型号是SD123-T10,故拿来试试学习成果。


一、温湿度传感器

1、外观及引脚
温湿度传感器 
2、默认通讯参数
查询随机资料,波特率:9600;无奇偶校验,8位数据位,停止位1位。
温湿度传感器的功能码列表 
本次,我们分别用整型和浮点型从设备读取数据。

二、传感器与Smart200接线

1、西门子Port 0口
SMART200 的Port 0口可以支持Modbus RTU协议,作为Modbus主站,对传感器进行读写。这里,我们把PLC当作主站,传感器当作从站。
2、西门子 Port 0 口引脚
rs485接口管脚定义 
这里我们要注意下,温度传感器的3号引脚(RS485-A)对应西门子连接器3号端口(RS485-B),而温度传感器的4号引脚(RS485-B)却对应西门子连接器的8号端口(RS485-A)。

三、PLC程序

1、调用主站通讯
西门子在 STEP 7-Micro/WIN SMART 中正式推出 Modbus RTU 主站协议库,见下图:
 
这里有两组通讯库,一个Master,一个Master2,我这里用的是第一个,另外一个小伙伴们可以试试。
2、 MBUS_CTRL主站初始化和控制子程序引脚说明
MBUS_CTRL主站初始化和控制子程序引脚说明 
根据上述引脚说明,MBUS_CTRL程序为:
MBUS_CTRL主站初始化和控制子程序引脚说明 
3、主站读写子程序MBUS_MSG,引脚说明
主站读写子程序MBUS_MSG,引脚说明 
根据上述引脚说明,MBUS_MSG程序为:
 
这里的几个参数要重点说下

  • Slave是温湿度传感器的站号,也叫地址,从样本上可以查到。
  • Addr是要读取参数的地址,在样本上也能查到,如16位温度地址40513。
  • Count,是读取数据个数,比如,要同时读取16位的温度和湿度,你这里就给赋值2,如果只读一个参数,这里赋值就是1。也就是说,当Count=2时,系统从从40513开始,往下再多读取一个,读到40514停止。如果count是3,那么从40513开始,再读取40514和40515,以此类推。
  • DataPtr 是读取数据指针,指针指向读取数据的地址。这里只能用字节,所以要读取实际数据,还得进行拼接。

四、读取数据

以16位整数形式读取数据

读取整形16位数据就按上述程序来即可,数据指针为&VB100,因为指针对应8位,所以需要2个8位字节组成一个自字来装载数据,也就是VW100是设备内温度的实际读取值,然后再除以10,得到实际温度值。
如果同时读取了湿度,也就是count参数为2是,那么湿度就是VW102,再除以10后,得到实际湿度值,读取值见下图:
 
根据上图,实际温度值为VW100/10=17°,实际湿度值VW102/10=35%

以32位浮点形式读取数据

根据设备样本,温度和湿度数值可以以浮点形式读取,那么程序要进行修改。
MBUS_CTRL 不需要修改。
MBUS_MSG 修改如下:
a)仅读取浮点温度
Addr :40516 count =2, 因为浮点32位,需要读取2个字的地址组成一个双字代表一个浮点。所以count=2. 其他不变。
b) 读取浮点温度和湿度
Addr :40516 count =4, 因为浮点32位,需要读取4个字的地址代表两个32位浮点。所以count=4. 其他不变。
重点:
当你用VD100和VD104 读取出数据的时候,你发现不对,见下图:

那是因为如果MODBUS tcp对方不是西门子设备时候,读上来的连续2个字要交换高低字。也就是说:
原来VD100=VW100+VW102,但是对方因为是非西门子产品,高地位要换位,即VD100=VW102+VW100。程序见下图:

 

五、参考文献

1、http://www.ad.siemens.com.cn/productportal/prods/s7-200-smart-portal/200smarttop/smartsms/020.html
2、https://zhuanlan.zhihu.com/p/161890397
3、http://www.ad.siemens.com.cn/club/bbs/post.aspx?a_id=1578456&b_id=64

Tags:Modbus,西门子plc,梯形图实例  
责任编辑:admin
相关文章列表
MODBUS调试工具(modscan32)使用说明-MODBUS调试工具(modscan32)如
RS-485终端电阻怎么接?485终端电阻接法解析
modbus通讯 RS-485终端电阻的重要性
Modbus功能码详解
modbus协议地址和常用功能码,modbus详解
西门子plc S7-200系列PLC实例:时钟指令进阶练习 时间日期梯形图
西门子plc程序实例:水塔水位控制系统设计 梯形图实例
西门子plc实现流水彩灯控制的梯形图程序及接线图 跑马灯梯形图实
Modbus功能码介绍
西门子plc功能指令一览表
西门子PLC梯形图:按钮计数控制,按三次亮,再按两次灭。 数值比
Modbus网关的概念/功能/作用/特点
Modbus-RTU通讯协议03功能码详解——小白一看就会的协议解析
学习西门子S7-200系列PLC不得不掌握的数据类型
你知道西门子PLC用什么组态软件? WinCC软件
西门子plc S7-200 SMART PLC的数据分类 内部数据存储区
西门子plc smart 200数据存取区及数据类型入门
数字量输入和输出映象区 _详解西门子S7-200PLC的数据区
西门子PLC通过RS485串口连接维特智能Modbus协议角度姿态传感器HW
实现PLC与多台变频器的MODBUS/RTU通信   MODBUS协议报文格式
西门子PLC S7-300 结构原理及选型  S7-300选型
西门子plc 比较指令控制货物进出的梯形图实例 CTUD
西门子PLC s7-200 中断指令的用法与步骤 ATCH和ENI
西门子plc S7-200 断开延时定时器指令:TOF指令
西门子plc  S7系列 关断延时定时器  Off - Delay Timer
西门子plc S7-200上升沿中断初始化程序实例 ATCH和DTCH
西门子PLC原理图到程序的经典实例——车库自动门控制梯形图实例
西门子PLC原理图到程序的经典实例——多级传送带控制梯形图实例输
西门子plc S7-200 PLC对电动机Y-△减压启动控制 星三角启动梯形图
西门子plc s7-200自动售货机设计的PLC梯形图实例
请文明参与讨论,禁止漫骂攻击,不要恶意评论、违禁词语。 昵称:
1分 2分 3分 4分 5分

还可以输入 200 个字
[ 查看全部 ] 网友评论
推荐文章
最新推荐
关于我们 - 联系我们 - 广告服务 - 友情链接 - 网站地图 - 版权声明 - 在线帮助 - 文章列表
返回顶部
刷新页面
下到页底
晶体管查询