电子开发 | 基础入门 | 电路原理图 | 濠殿喖饪撮崹浼存嚋娴兼潙鐐婇柟顖嗗懏婢栨繛鎾寸啲閹凤拷 | PLC闂佺硶鏅炲▍锝夈€侀敓锟�   闂侀潧妫楅敃銈夈€呰瀵ǹ饪伴崘鈺冧粧濠电偛妫庨崹鍝勶耿閹殿喚鍗氭繛鍡樼懅缁€澶愭偣閸ヮ剚鏁遍悗纰夋嫹 Ctrl+D 闂佸綊娼ч鍛叏閳哄懎缁╅柟顖滃椤ユ垿鏌ㄥ☉妤冨妽闁告柨鎳愰幏顐﹀閳ュ厖鎲鹃梺姹囧妼鐎氼參寮鈧獮鎰媴绾版ê浜鹃柨鐕傛嫹婵炴垶鎸撮崑鎾绘偣瑜嶉崲鏌ヮ敆閻斿摜鈻曢柣妯夸含椤忛亶鎮硅閺屽鎹㈠Ο渚桨闁靛鍨崇粈澶愭煟閵忋倖娑ч柣鈩冪懃椤曪綁鍩€椤掑嫬鐭楅柟瀵稿Т缁旂偓绻涢崱鎰伇缂佽顑夐獮鍐€﹂幒鏃傦紲.

电子开发网

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

闁宠棄鎳愰弫鍝ユ崉椤栨艾褰嗙€殿喖绻戞晶婊堝礃瀹€瀣闁哄牃鍋撻柡鍌涘婢ф濡存繝鍕毄閻庢稒鍔楅弫鍝ユ崉椤栨艾褰嗙€殿喖绻楅鍝ョ不濡も偓濞呮帡濡寸€e墎绀夐柣顫祷閻箖宕楅鈧槐锟犲蓟閵夘煈鍤勯柟闈涱儏閸烇拷 闁活澀绲婚惌楣冨礂椤掆偓缁憋紕鎷嬮敍鍕毈闁革絻鍔婇埀顒佸姉閺佸摜鈧稒鍔掔划鐘崇▔濮橆偅鐪介柛娑櫭换鈧璺烘处婢ф粓宕樼仦鐑╁亾閿燂拷
闁宠棄妫楀畷鍕緞閳轰緡鍔呭ù鍏艰壘瀹曠喖鎮ч崶銊︾皻閻庡湱鍋樼欢锟�100 c閻犲浂鍙€閳伙拷 chm闁哄秶鍘х槐锟犲Υ閸屾繄銈柡鍌涚懃閸炲鈧湱顢婇娑氱磼閸☆厾绀夐悷鏇炴濞插﹥绗熺€n亞鎽嶅鑸电啲缁辨繈宕橀崨顓у晣妤犵偠锟ラ埀顒佸姉閺佸摜鈧稒鍔掔划鐘崇▔濮橆偅鐪介柛娑櫭换鈧璺烘处婢ф粓宕樼仦鐑╁亾閿燂拷
搜索: 您现在的位置: 电子开发网 >> 电子开发 >> 梯形图实例 >> 正文

主站从站实例_两台西门子plc S7-200实现MODBUS RTU通讯_mbus_init指令说明

作者:佚名    文章来源:本站原创    点击数:6315    更新时间:2023/3/5

两台S7-200通过Modbus实现通讯

从站设置:

需要使用MBUS_INIT、MBUS_SLAVE即可;

MBUS_INIT指令被用于启用和初始化或禁止Modbus通讯。(这一步在程序的前面,配置类的程序基本都放在程序前面)。在S7-200中,通讯的程序块调用都需要设定完成为,确保通讯的完整性,只有把完整的数据格式发送或接收,才可以实现通讯,因此完成位是必须要有的。在每次扫描且EN输入打开时执行该指令。应当在每次通讯状态改变时执行 MBUS_INIT指令。一般程序设计仅在首次扫描时执行。功能块图如下:

 

MODE:模式选择位,1表示将port0指定给Modbus协议并启用协议;0表示将port0指定给PPI;

!!!注意:指定给Modbus后,该端口不可以下载上传程序,因此在程序设计中,可以加入控制位,串联给I点即可,例程中未加入,可以自己尝试;

Addr:从站地址1~247;

Baud:波特率设置1200、2400、4800、9600、19200、38400、57600或 115200;

Parity:校验位0- 无校验,1- 奇数校验,2- 偶数校验;

Delay:时延,通过将指定的毫秒数增加至标准 Modbus信息超时的方法延长标准Modbus信息结束超时条件。该参数的典型数值在有线网络上应为 0。如果您在使用带有纠错功能的调制解调器,将时延设为50至100毫秒的数值。如果您在使用扩展频谱无线电,将时延设为10至100毫秒的数值。数值可以是0至32767毫秒。

MaxIQ:参数将供 Modbus地址 00xxxx 和 01xxxx 使用的I和Q点数设为0至128之间的数值。数值0禁止所有向输入和输出的读取。建议使用的MaxIQ数值是128,该数值可在S7-200中存取所有的I和Q点。

MaxAI:参数将供 Modbus地址 03xxx 使用的字输入(AI)寄存器数目设为0至32之间的数值。数值0禁止模拟输入的读数。建议使用的 MaxAI数值如下,这些数值可允许存取所有的S7-200模拟输入。0 用于 CPU 221,16 用于 CPU 222,32 用于 CPU 224、 226 和 226XM;

MaxHold:参数设定供 Modbus地址04xxx使用的V内存中的字保持寄存器数目。例如,为了允许主设备存取200字节的V内存,将MaxHold设为100个字的数值(保持寄存器);

HoldStart: 参数是V内存中保持寄存器的起始地址。该数值一般被设为VB0,因此 HoldStart 参数被设为&VB0(VB0地址)。其他V内存地址可指定为保持寄存器的起始地址,以便在项目的其他地方使用VB0。Modbus主设备可存取V内存MaxHold个字数,从 HoldStart开始。

Done:完成标志位;

Error:错误代码,字节;

MBUS_SLAVE 指令被用于为Modbus主设备发出的请求服务,并且必须在每次扫描时执行,以便允许该指令检查和回答Modbus请求。在每次扫描且EN输入开启时执行该指令。MBUS_SLAVE指令无输入参数。当MBUS_SLAVE指令对Modbus请求作出应答时, " 完成"输出打开。如果没有需要服务的请求时, "完成"输出关闭。"错误"输出包含执行该指令的结果。该输出只有在"完成"打开时才有效。如果"完成"关闭,错误参数不会改变。

 

通俗讲法:将程序写在这个地方就可以了。

测试Network程序:

 

主站设置:

主站的设置通过MBUS_CTRL和MBUS_MSG子程序实现通讯;

MBUS_CTRL如下

 

Mode模式:为 1 时,使能 Modbus 协议功能;为 0 时恢复为系统 PPI 协议

Baud波特率:支持的通讯波特率为1200240048009600192003840057600115200

Parity校验:校验方式选择

0=无校验

1=奇较验

2=偶较验

Timeout超时:主站等待从站响应的时间,以毫秒为单位,典型的设置值为 1000 毫秒(1 秒),允许设置的范围为 1 - 32767

注意: 这个值必须设置足够大以保证从站有时间响应。

Done完成位:初始化完成,此位会自动置1。可以用该位启动 MBUS_MSG 读写操作(见例程)

Error初始化错误代码(只有在 Done 位为1时有效):

0 无错误

1 校验选择非法

2 波特率选择非法

3 模式选择非法

MBUS_MSG:

 

EN使能:同一时刻只能有一个读写功能(即 MBUS_MSG)使能

注意:建议每一个读写功能(即 MBUS_MSG)都用上一个 MBUS_MSG 指令的 Done 完成位来激活,以保证所有读写指令循环进行(见例程)。

First读写请求位:每一个新的读写请求必须使用脉冲触发

Slave从站地址:可选择的范围 1 - 247

RW从站地址:0 读, 1

注意:

1. 开关量输出和保持寄存器支持读和写功能

2. 开关量输入和模拟量输入只支持读功能

Addr读写从站的数据地址:

选择读写的数据类型

00001 0xxxx - 开关量输出

10001 1xxxx - 开关量输入

30001 3xxxx - 模拟量输入

40001 4xxxx - 保持寄存器

Count数据个数

通讯的数据个数(位或字的个数)

注意: Modbus主站可读/写的最大数据量为120个字(是指每一个 MBUS_MSG 指令)

DataPtr数据指针:1. 如果是读指令,读回的数据放到这个数据区中

2. 如果是写指令,要写出的数据放到这个数据区中

Done完成位读写功能完成位

Error错误代码:

只有在 Done 位为1时,错误代码才有效

0 无错误

1 响应校验错误

2 未用

3 接收超时(从站无响应)

4 请求参数错误(slave address, Modbus address, count, RW

5 Modbus/自由口未使能

6 Modbus正在忙于其它请求

7 响应错误(响应不是请求的操作)

8 响应CRC校验和错误

-

101 从站不支持请求的功能

102 从站不支持数据地址

103 从站不支持此种数据类型

104 从站设备故障

105 从站接受了信息,但是响应被延迟

106 从站忙,拒绝了该信息

107 从站拒绝了信息

108 从站存储器奇偶错误

常见的错误:

  • 如果多个 MBUS_MSG 指令同时使能会造成 6 号错误
  • 库存储区被程序其它地方复用,有时也会造成6 号错误
  • 从站 delay 参数设的时间过长会造成主站 3 号错误
  • 从站掉电或不运行,网络故障都会造成主站 3 号错误

例程:

 

 

 

 


Tags:MBUS_INIT,指令,西门子plc,s7-200  
责任编辑:admin
  • 上一篇文章:
  • 下一篇文章: 没有了
  • 相关文章列表
    西门子S7-200 PLC的MBUS_INIT指令
    西门子plc S7-200SMART 实时时钟如何在昆仑通态MCGS触摸屏上显示
    西门子plc Smart 200主从站之间RS485通讯实例_从站主站读写程序
    西门子plc 200smart模拟量运用接线及梯形图(热电阻RTD、热电偶T
    西门子PLC S7-200 smart模拟量扩展模块及接线方式
    西门子S7-200PLC有哪些扩展模块?西门子plc扩展模块该怎么用?
    西门子plc S7-200的4到20ma模拟量转换公式,Scale_I_to_R和Scale
    西门子PLC S7-200与变频器模拟量控制_西门子MM440变频器
    西门子plc  变频器端子启停与通信设定频率详解(附梯形图程序)
    西门子plc S7-200SMART PLC与HD20变频器模拟量控制,S_RTI和S_IT
    详解西门子200smartPLC以太网组网及编程_西门子plc 200Smart以太
    西门子PLC S7-200指令详解——比较指令_plc比较指令
    西门子plc S7-200多个寄存器累加程序梯形图实例
    西门子plc S7-200 PLC的左移和右移指令梯形图实例
    西门子plc之间的通讯_两台西门子S7-200 SMART PLC如何通过Modbus
    西门子PLC怎么入门?6个程序启保停、一键启停、灯自动闪烁、立方
    学习西门子PLC?西门子PLC的这些知识你知道后才能更容易
    分分钟玩转通讯!西门子plc的Modbus通讯MBUS_CTRL 、MBUS_MSG和M
    一篇文章彻底搞定西门子PLC存储器精华知识(图文并茂,良心整理)
    西门子plc S7-200Smart_西门子S7-200 SMART编程实例,整数运算指
    西门子plc smart软元件寄存器存储器_西门子PLC先从S7-200 SMART 
    西门子plc smart模拟量常见问题_西门子S7-200SMART 模拟量等常见
    西门子SMART PLC 常见问题,必备知识点!西门子plc smart常见问题
    西门子plc smart选型_西门子Smart 200 PLC实际项目中的选型应用
    西门子plc RS触发器指令的分类与用法 _ SR触发器用法
    西门子plc S7-200  FOR语句循环问题_西门子FOR循环
    西门子PLC 200Smart 编程中如何用FOR循环指令轻松实现多个数据按
    西门子Plc计数器指令的程序代码示例_产品数量检测梯形图
    西门子s7-200系列plc实例:抢答器控制程序,三路抢答器设计
    西门子PLC模拟量转换scale模块公式代码分析S_ITR  模拟量子程序计
    请文明参与讨论,禁止漫骂攻击,不要恶意评论、违禁词语。 昵称:
    1分 2分 3分 4分 5分

    还可以输入 200 个字
    [ 查看全部 ] 网友评论
        没有任何评论
    推荐文章
    閻㈤潧鐡欏鈧崣鎴犵秹閿涙碍鐪归梿鍡欐偅閸氬牆鎮囩猾鑽ゆ暩鐎涙劕鍩楁担婊€绗岄悽浣冪熅閸ュ墽娈戠純鎴犵彲閿涘lc瀹搞儲甯堕幎鈧張锟�,濡紕鏁搁弫鎵暩閻儴鐦�,閸楁洜澧栭張绡岲A缁涘鐡戦敍浣藉疮閽€鍐暩鐠侯垰娴樼純鎴犵彲缁儳宕曢敍灞艰礋瀹搞儳鈻肩敮鍫濆灡闁姳鐜崐绗衡偓鍌涱偨鏉╁骸鍙у▔銊ヤ簳娣団€冲彆娴兼褰块敍姘辨暩鐎涙劕绱戦崣鎴犵秹閿涳拷
    最新推荐
    鐠у嫭鏋¢崠鍛瑓鏉烇拷
     [闂備礁鎲¢〃鍡椕哄⿰鍕珷闁哄稁鍘肩€氬螖閿曚焦纭堕柕鍫亰閺岋繝宕掗敂钘夘伓]闂備礁鎲¢妵鐐电矆娓氣偓婵″灚寰勭仦绋夸壕婵炴垵纾槐鎵磼閸欐ê宓嗙€规洩绻濆鎾偐瀹割喗姣堥梻浣告惈閻楀棝骞栭锔藉仾闁告洦鍓涢悷褰掓煥閻曞倹瀚�100 c闂佽崵濮村ù鍕箯閿燂拷
     [闂佸搫顦遍崕鎰板垂椤栨埃鏋庨柕蹇嬪灮鐏忕敻鏌ㄩ悤鍌涘]濠电偞鍨堕幐鎼佀囩€圭姰浜圭紒鈧悜鐫犻梺璇插閸愯崵绱撳鍗炲К闁告洦鍓涢々鐑芥偣閹帒濡介柛鈺佸€垮鍫曟倻閸℃浠у┑鐐叉-閺侇煝-TR
     [闂備焦妞垮鈧紒鎻掝煼閹矂鎮欓鍌ゆ祫闁荤姵浜介崝宥夊春閸岀偞鍋eù锝囨嚀缁€鍐┿亜閹垮嫭瀚�]LM324闂佸搫顦弲婊堝礉閺嶎厼妫橀柨鐕傛嫹4~20mA闂佸搫顦遍崕鎴﹀箯閿燂拷1~5V闂備焦鐪归崹褰掓倶濮樿京鐭堥柨鐕傛嫹
     [闂備焦妞垮鈧紒鎻掝煼閹矂鎮欓鍌ゆ祫闁荤姵浜介崝宥夊春閸岀偞鍋eù锝囨嚀缁€鍐┿亜閹垮嫭瀚�]LM386濠碉紕鍋涘﹢杈╁垝椤栫偞鍊垫い鎺嶇劍婵挳鏌熼幑鎰靛殭妞ゆ柨锕弻娑滅疀閹垮啫鍓跺銈冨劜閹瑰洤顕i妸鈺佺畾鐟滃绂嶉敐澶嬬厱闁挎繂鍟俊濂告偨椤栥倖瀚�
     [闂備焦妞垮鈧紒鎻掝煼閹矂鎮欓鍌ゆ祫闁荤姵浜介崝宥夊春閸岀偞鍋eù锝囨嚀缁€鍐┿亜閹垮嫭瀚�]936闂備胶绮敮鎺楁晝閵堝牄浜归柟缁㈠枟閸嬨劌霉閿濆懎鏆熼柣鏂挎嚇閺屾稑螣閻撳孩鐏侀梺璇″枛閿曨亜鐣烽崼鏇熸櫢闁跨噦鎷�
     [闂備礁鎲¢〃鍡椕哄⿰鍕珷闁哄稁鍘肩€氬螖閿曚焦纭堕柕鍫亰閺岋繝宕掗敂钘夘伓]闂佺儵鍓濈敮鎺楀箠鎼淬劍鏅柟閭﹀厴閺嬫牠鏌曡箛銉х?闁靛牊鎸抽幃褰掓偖鐎涙ê顏�+婵犵數鍋為幐鎾疾濞戞埃鍋撻惂鍛婂+闂備胶顢婄紙浼村磿閹绢噮鏁嗛柣鏂垮悑閸庡秹鏌涢弴銊ヤ簻缂佲偓閿燂拷
     [闂傚倷绶¢崑鍛潩閵娾晛鏋侀柕鍫濐槹閸嬨劑姊婚崼鐔恒€掗柟钘夌Ч閹鎷呴悷鎵槰濡炪倖鎸搁幉鈥翅缚椤忓牜鏁嶆繛鍡樺姦閸嬶拷]S7-200PLC闂備焦鐪归崝宀€鈧凹浜為幐鎺楀閵堝棗鍓抽梺缁樻⒐濡叉帡骞忛鈷氬綊鎮崨顔碱伓 S7_2
     [闂佸搫顦遍崕鎰板垂椤栨埃鏋庨柕蹇嬪灮鐏忕敻鏌ㄩ悤鍌涘]S7-200闂佸湱鍘ч悺銊╁箰婵犳艾鍑犻柛鎰ㄦ櫇椤╃兘鎮规担鍛婅础缂佲偓閸曨垱鐓曢煫鍥风悼閸樻粎绱掗幉瀣,STEP7
     [闂佸搫顦遍崕鎰板垂椤栨埃鏋庨柕蹇嬪灮鐏忕敻鏌ㄩ悤鍌涘]ModbusPoll闂備礁鎲$划宀勵敆閻栧獛busSalve闂備胶枪妤犲繘骞忛敓锟�
     [闂佸搫顦遍崕鎰板垂椤栨埃鏋庨柕蹇嬪灮鐏忕敻鏌ㄩ悤鍌涘]STEP7婵犵妲呴崹顏堝礈濠靛牃鍋撳顓犳噰闁哄苯鐭佺粻娑㈠棘鐠恒劍鈻屽┑鐐差嚟婵即宕愰弴鐘哄С闁跨噦鎷� Smart_
     [闂佸搫顦遍崕鎰板垂椤栨埃鏋庨柕蹇嬪灮鐏忕敻鏌ㄩ悤鍌涘]Modbus闂佽崵濮撮鍛村疮閹惰姤鍎婃い鏍ㄧ矊閸ㄦ繈鏌涢幘妤€鍊荤憴锟� v1.024 缂傚倸鍊风欢銈夊箯閿燂拷
     [闂佸搫顦遍崕鎰板垂椤栨埃鏋庨柕蹇嬪灮鐏忕敻鏌ㄩ悤鍌涘]Modscan32闂備礁鎲$划宀勵敆閻栧獛sim32,modb
     [闂備焦妞垮鈧紒鎻掝煼閹矂鎮欓鍌ゆ祫闁荤姵浜介崝宥夊春閸岀偞鍋eù锝囨嚀缁€鍐┿亜閹垮嫭瀚�]89c51闂備胶枪缁绘劙藝闁秵鍋熸繛鎴欏灩濡﹢姊洪锝囶灱闂傚棗缍婇弻锝夘敂閸℃鐝㈢紓浣介哺閻涱槝otues
     [闂備焦妞垮鈧紒鎻掝煼閹矂鎮欓鍌ゆ祫闁荤姵浜介崝宥夊春閸岀偞鍋eù锝囨嚀缁€鍐┿亜閹垮嫭瀚�]濠电偞鍨堕幐绋棵洪妶澶婄濡わ絽鍟崒銊╂煕閻愭潙袨otues濠电偛顕慨鎯р枖閺囩儑鑰块柨娑樺閻瑩鎮楅敐搴濈敖缁炬澘绉电换婵婎槼闁告梹顨婇幃銉╂晸閿燂拷
     [闂備焦妞垮鈧紒鎻掝煼閹矂鎮欓鍌ゆ祫闁荤姵浜介崝宥夊春閸岀偞鍋eù锝囨嚀缁€鍐┿亜閹垮嫭瀚�]51闂備礁鎲¢〃鍡椕哄⿰鍕珷闁哄稁鍘肩€氬鏌涘┑鍡楊仼闁秆冿功缁辨帞鈧綀鍩栫€氾拷 protues濠电偛顕慨鎯р枖閺囩儑鑰块柨鐕傛嫹
    閺堚偓閺傜増鏋冪粩锟�
    关于我们 - 联系我们 - 广告服务 - 友情链接 - 网站地图 - 版权声明 - 在线帮助 - 文章列表
    返回顶部
    刷新页面
    下到页底
    晶体管查询