签到有奖
消息提醒
运维工程师专区
官方商城
扫码分享好友 任选多种周边
200smart 与V20变频器Modbus rtu通讯例子
基于上次200smart 与V20变频器的USS通讯验证之际,我就有心想测试一下Modbus rtu方式连接V20变频器,毕竟,硬件接线基本就绪着的,只是控制程序及V20变频器参数稍微有一些区别而已。
测试硬件:
1) cpu 200smart SR30;6ES7 288-1SR30-0AA0
2) V20变频器;6SL3210-5BE23-0UV0
3) DP插头;6ES7 972-0BB12-0XA0
4) 编程软件,STEP7 MicroWIN SMART V2.4
5) 连接导线若干
V20变频器参数设置:
1) P0010 = 30 P0970 = 21设置回工厂设置
2) P0003 = 3 (专家参数)
3) 设置V20 Modbus rtu宏参数Cn011
4) 设置与变频器连接的电机参数P0100开始,省略
5) 其中:有关通讯参数部分
P0700 = 5
P2010[0] = 6 9600bps
P2014[0] = 100 mS,修改为0 mS
P2021 = 1 Modbus rtu从站地址
P2022 = 1000 应答超时
P2023 = 2 RS485通讯协议
P2034 = 2 偶校验
P2035 = 1 一个停止位
设置好宏参数及修改部分参数后,给变频器重新断电再上电,使设置生效。
6) 编辑熟悉了的Modbus rtu程序:
7) 初始化:
轮询:
V20控制字:
其中,40100的控制字数据含义:
16#047E:V20变频器准备
16#047F:正转
16#0C7F:反转
16#057E:正向点动
16#067E:反向点动
16#04FE:故障确认
40101,频率设置:VD10
读V20变频器状态字及频率:
读取实际频率:
V20变频器的频率值,由16384对应P1082变频器最大频率(按50Hz计算获取)
8) 编译、下载用户程序,连接通讯,在线测试:
V20变频器频率设置VD10的数据,由V20变频器反馈到40111 = VW106,经过计算获得数据存放到VD14 = 24.99,基本接近频率设置VD10的数据。
读、写其它V20变频器数据,可以在此程序基础上扩展MSG指令获取数据。
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
帖子链接:https://www.ad.siemens.com.cn/club/bbs/post.aspx?a_id=1683043&b_id=64&s_id=80&num=36
感谢楼主精彩的分享,很受用,200smart的modbus rtu通讯功能很强大
感谢王工分享
楼主威武!!!
Modbus rtu通讯我做过相对比较多的项目,基本能够领悟一些其中的“要领”。
也与论坛上有经验的大侠交流过,非常有得益。
上述程序稍加修改,就可以应用于实际项目中。
注意V20的P2014参数,
调试完毕一定要修改回来,千万不要设置成0ms,
否则通讯线路断线,变频器不停车!
这样啊,感谢感谢。
我200及200smart modbus通讯仅仅实际应用于各种仪表,而对应于变频器没有真正意义上的使用,只是同事拿来一个V20让我说说与V20的通讯,我就验证了一下。
首先说明一下,我没有在实际的项目中用过的。但是实训过200smartPLC与V20进行过modbus-RTU通讯。个人感觉是:
P2014[0]变频器接收数据时间。这个参数最好是在设备调试的时候,将其设置为0,如果不设置为0,V20总是报F72的错误,即为讨厌。在设备调试结束后,再将其恢复。
P2014[0]在Cn011中默认是100ms(在Cn010中默认是500ms),也就是变频器在100ms内,未能接收到PLC的信息,就会报F72故障(貌似这个含义,因为通讯底层的东东,我一窍不通)。如果按照默认进行设置,变频器仍会出现F72的错误,我的理解是可以加长这个时间。设置为零,有些不妥的。
大神帮我解答一下我的贴子:http://www.ad.siemens.com.cn/club/bbs/post.aspx?a_id=1683362&b_id=4&r_id=1683372#tr_1683372
引用5楼详细内容:
确实如你描述,我在调试初期确实遇到F72报警,将P2014设置为0后,报警不再出现。我还以为这样的设置可以规避V20的F72报警。出现这样的报警主要原因还是我在调试过程中,需要对程序做稍微一些的修改,对变频器其它参数等设置问题,所以,难免会引起F72报警。
谢谢分享,赞。
不错,值得学习。
真心难得,值得学习哦
学习学习。谢谢
P2014这个参数的作用是:在通讯应用中用来判断变频器间隔多长时间接收不到通讯数据帧时报警,以实现控制器通讯中断后变频器该如何动作。这个功能就类似你的手机多久没接收到你触屏动作后就自己进入熄屏休眠一样的道理。
单纯的通讯控制应用中,这功能启用有风险、不启用也有风险,所以我都不敢在实际项目中只纯粹的使用通讯控制,毕竟风险太大了。比如,当PLC死机后变频器接收不到通讯了肯定要停车的,但是如果通讯是由于线路问题导致的变频器私自停车这是灾难啊,但是如果真是PLC死机了不停车又是灾难啊。而且啊,纯通讯设定的参数,记得以前的MM4变频器是掉电不保存的,超坑人,坑死人不偿命的。所以,打死不用这种纯粹的通讯应用。哪怕别人再怎么吹得天花乱坠,我依然选择IO控制,省心安心放心舒心清心。
一篇切实际的范文,精彩的分享,受用!
这个2014功能我只要是但凡通讯我都用上。有没有用都用上。起码知道线路有没有问题。如果你用输入输出点,确实何必用这个功能,用上了通讯,又何必存在各种IO。除了急停。这等于你用IO控制,突然我把IO线都剪了,那驱动器要动不?要停不?
接线上用常闭触点就是为了防止断线。在通讯上用这个超时,一样是防止断线。用IO的当然不用费那个心。用通讯也当然不用费这个心。对等的。
只要轮训是连续不间断的,设定50毫秒超时也不影响通讯。一旦通讯失败,几乎立即停机。这里可能有人有个错觉,觉得几个驱动器轮训一次都要几百毫秒,为何要50毫秒可以?V90我没用过我不知道,我用过的说,这个参数是指线路安静的时间。并不是指主站跟自己通讯的间隔时间。所以即使主站启动了某个驱动器后再也不通讯了,但是只要这个驱动器还能检测到线路上不安静,那么驱动器就知道自己没有掉线。(人也是一样啊)
幼儿园老师带着一班小宝宝外出游玩,掉了哪一个,都要整个班等着。难道一个驱动器掉了,你还敢继续运行吗?如果你是这样想的话……
非常谢谢楼主
上面的例子,我仅仅只写了其中一台V20变频器的通讯,如果项目中有多台,可以在这样的样例中,继续写MSG指令,不同的是从站地址而已。
如果的西门子变频器,如V20、G120的建议USS通讯也可以试试,也非常方便的,自家的产品,自家的通讯当然简单了。这个例子我仍然有,也是单台的样例。
兄弟我按编写了为什么编译时出错。求教
这个问题,你需要给库指令分配一串V存储区的地址。
分享
扫码分享好友 任选多种好礼
收藏
有帮助
欢迎您访问支持中心!
丰富的视频,全方位的文档,大量的网友交流精华……
为了更好的完善这些内容,我们诚邀您在浏览结束后,花20秒左右的时间,完成一个用户在线调查!
感谢您的支持!
密码至少8位,包含大、小写字母,数字和符号至少三种。
允许邮箱和手机接收来自支持中心网站的信息
我已同意《支持中心网站注册协议和隐私政策》
微信登录扫码一键登录
验证码登录
密码登录
二维码失效点击重试
打开微信扫一扫,快速登录/注册
未注册手机验证后自动登录,注册即代表同意《支持中心网站注册协议和隐私政策》
三日内免验证登录
短信登录
登录