电子开发 | 基础入门 | 电路原理图 | 濮婎垰鑸伴崶鎯х杽娓氾拷 | PLC閸╄櫣顢�   閵嗗﹤顩ч弸婊冩灘濞嗐垺婀扮粩娆欑礉鐠囬攱瀵� Ctrl+D 閹靛濮╅弨鎯版閿涗焦鍔呯拫銏″亶閻ㄥ嫭鏁幐浣碘偓锟�娑撯偓鐠у嘲顒熸稊鐘辩鐠х柉绻樺銉礉閻㈤潧鐡欏鈧崣鎴犲竾濞嗐垼绻嬮幃顭掔磼.

电子开发网

电子开发网电子设计 | 电子开发网Rss 2.0 会员中心 会员注册

閳藉懐鏁哥捄顖氬彆瀵繑澧滈崘宀嬬礉閺堚偓閺傛壆澧楅妴濠勬暩鐎涙劗鏁哥捄顖氬彆瀵繗顓哥粻妤€娅掗妴瀣剁礉閻絻鐭鹃崗顒€绱¢弻銉嚄閹靛鍞� 閻絻鐭鹃崗顒€绱$拋锛勭暬閸c劊鈧劗鏁哥€涙劒绮犳稉姘眽閸涙ê绻€婢跺洦澧滈崘灞烩偓锟�
閳藉棗宕勬径鈺侇劅娴兼艾宕熼悧鍥ㄦ簚鐎圭偘绶�100 c鐠囶叀鈻� chm閺嶇厧绱¢妴鍌濈カ閺傛瑥鍞寸€圭顕涚紒鍡礉鐟曞棛娲婃笟瀣摍婢舵熬绱濋崘鍛啇楠炶¥鈧劗鏁哥€涙劒绮犳稉姘眽閸涙ê绻€婢跺洦澧滈崘灞烩偓锟�
搜索: 您现在的位置: 电子开发网 >> 电子开发 >> 梯形图实例 >> 正文

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

作者:佚名    文章来源:本站原创    点击数:9688    更新时间:2022/8/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
请文明参与讨论,禁止漫骂攻击,不要恶意评论、违禁词语。 昵称:
1分 2分 3分 4分 5分

还可以输入 200 个字
[ 查看全部 ] 网友评论
    没有任何评论
推荐文章
鐢靛瓙寮€鍙戠綉锛氭眹闆嗙患鍚堝悇绫荤數瀛愬埗浣滀笌鐢佃矾鍥剧殑缃戠珯锛宲lc宸ユ帶鎶€鏈�,妯$數鏁扮數鐭ヨ瘑,鍗曠墖鏈篍DA绛夌瓑锛佽崯钀冪數璺浘缃戠珯绮惧崕锛屼负宸ョ▼甯堝垱閫犱环鍊笺€傛杩庡叧娉ㄥ井淇″叕浼楀彿锛氱數瀛愬紑鍙戠綉锛�
最新推荐
璧勬枡鍖呬笅杞�
 [闂佸憡顨嗗ú婊勬櫠閺嶎厼瀚夊Δ锕佹硶閵堫偊鏌¢崒锔藉]闂佸憡銇炵粈渚€濡垫径灞稿亾濞戝磭绱扮紒鍙樺嵆瀹曪繝寮撮悩宸毈闂佸搫鐗嗛幖顐︽偪閸曨剛鐟归柨鐕傛嫹100 c闁荤姴娴勯幏锟�
 [闁哄鍎愰崹顖氣枎閵忋垻灏甸柨鐕傛嫹]婵炴垶鎸搁ˇ瀹犮亹缁€鐑睠闁诲孩鍐荤紓姘卞姬閸曨剛顩烽悹鎭掑妽閸╁倿寮堕悜鍡楃仧婵炲棭鏁-TR
 [闂佹椿婢€缁插鎯岄悙顒傤浄閻犳亽鍔嶉崺鍌炴偣娴g懓绀冩い鎿勬嫹]LM324闁哄鏅滈崝鏍棘閿燂拷4~20mA闁哄鍎戦幏锟�1~5V闂佹眹鍨归悘姘辩矈閿燂拷
 [闂佹椿婢€缁插鎯岄悙顒傤浄閻犳亽鍔嶉崺鍌炴偣娴g懓绀冩い鎿勬嫹]LM386婵$偛婀辩划顖炴倵椤掍焦濯撮柟鎹愵嚙椤斿﹪鏌涜箛鎿冨剶妞ゃ儲鎹囧銊╁箚瑜嬫禍锝夋煕閿濆啫濡奸悽顖ゆ嫹
 [闂佹椿婢€缁插鎯岄悙顒傤浄閻犳亽鍔嶉崺鍌炴偣娴g懓绀冩い鎿勬嫹]936闂佺粯甯掗敃銈堛亹閹绢喗鍋ㄥù锝呭暟閻斿懘鏌涘Ο鐓庢灁闁诡喖锕畷鍫曟晸閿燂拷
 [闂佸憡顨嗗ú婊勬櫠閺嶎厼瀚夊Δ锕佹硶閵堫偊鏌¢崒锔藉]闁烩剝甯掗幊搴ㄦ晬閹邦兘鏋栭柕蹇ョ磿閵堟挳鎮归悮瀛樺+濠电偞鎸撮弲娑氣偓鐧告嫹+闂佺缈伴崕鎾敆閻斿吋鍎嶉柛鏇ㄥ亜缁€锟�
 [闂備緡鍋呭銊╁极閵堝鍋ㄩ梻鍫熺〒閹藉秹鎮规担鐟扮妞ゆ挸鎲″ḿ顏堫敍濞嗘劦鍋�]S7-200PLC闂佹眹鍔岀€氼亞鎸掗姀銈嗗剳闁绘梹妲掗幏顐⒚归悪鍛 S7_2
 [闁哄鍎愰崹顖氣枎閵忋垻灏甸柨鐕傛嫹]S7-200闁圭厧鐡ㄩ幐濠氬几閸愨晝顩烽悹浣告贡缁€鍕煕韫囷絿鍘滅紒鎲嬫嫹,STEP7
 [闁哄鍎愰崹顖氣枎閵忋垻灏甸柨鐕傛嫹]ModbusPoll闂佸憡绮岄鐖媎busSalve闂佺ǹ楠忛幏锟�
 [闁哄鍎愰崹顖氣枎閵忋垻灏甸柨鐕傛嫹]STEP7濠碘槅鍨崜婵堚偓姘懇閺屽矁绠涢弬璺ㄦ▌婵炲濮伴崐鏇犺姳閿燂拷 Smart_
 [闁哄鍎愰崹顖氣枎閵忋垻灏甸柨鐕傛嫹]Modbus闁荤姴顑呴崯鎶芥儊椤栨粌鍨濋柛鎾楀倻瑙� v1.024 缂傚倷绶ら幏锟�
 [闁哄鍎愰崹顖氣枎閵忋垻灏甸柨鐕傛嫹]Modscan32闂佸憡绮岄鐖媎sim32,modb
 [闂佹椿婢€缁插鎯岄悙顒傤浄閻犳亽鍔嶉崺鍌炴偣娴g懓绀冩い鎿勬嫹]89c51闂佺ǹ绻愰ˇ閬嶆偟濞戙垹妫橀梺顐g闂嗗綊鏌i鍡楁珢缂佽鲸鐛otues
 [闂佹椿婢€缁插鎯岄悙顒傤浄閻犳亽鍔嶉崺鍌炴偣娴g懓绀冩い鎿勬嫹]婵炴垶鎸稿ú銈夊礋妤e啫鍌ㄩ柛鐐村Оotues婵炲濮惧▔鏇烇耿閿涘嫮鐭欓悗锝庝簽绾板秵绻濊閸旀鎮ラ敓锟�
 [闂佹椿婢€缁插鎯岄悙顒傤浄閻犳亽鍔嶉崺鍌炴偣娴g懓绀冩い鎿勬嫹]51闂佸憡顨嗗ú婊勬櫠閺嶎厼瀚夐柛婵嗗閸у﹦绱掔€h埖瀚� protues婵炲濮惧▔鏇烇耿閿燂拷
鏈€鏂版枃绔�
关于我们 - 联系我们 - 广告服务 - 友情链接 - 网站地图 - 版权声明 - 在线帮助 - 文章列表
返回顶部
刷新页面
下到页底
晶体管查询