技术论坛

200smart 与V20变频器Modbus rtu通讯例子

作者 主题
至圣

经验值: 72009
发帖数: 8043
精华帖: 145
主题:【分享】200smart 与V20变频器Modbus rtu通讯例子
推荐帖


只看楼主 楼主 2021-02-26 15:22:24

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=35

侠圣

经验值: 3703
发帖数: 556
精华帖: 0
回复:200smart 与V20变频器Modbus rtu通讯例子
推荐帖


只看楼主 1楼 2021-02-26 16:35:24

感谢楼主精彩的分享,很受用,200smart的modbus rtu通讯功能很强大


 
以下网友喜欢您的帖子:

  
至圣

经验值: 13017
发帖数: 1815
精华帖: 22
回复:200smart 与V20变频器Modbus rtu通讯例子
推荐帖


只看楼主 2楼 2021-02-26 17:12:36

感谢王工分享


 
以下网友喜欢您的帖子:

  
至圣

经验值: 24887
发帖数: 4534
精华帖: 10
回复:200smart 与V20变频器Modbus rtu通讯例子
推荐帖


只看楼主 3楼 2021-02-26 18:04:02
以下是引用WWCWWC在2021-02-26 15:22:24的发言 >楼主

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指令获取数据。


楼主威武!!!


别人在休息的时候,我往前走。
以下网友喜欢您的帖子:

  
至圣

经验值: 72009
发帖数: 8043
精华帖: 145
回复:200smart 与V20变频器Modbus rtu通讯例子
推荐帖


只看楼主 楼主 4楼 2021-02-27 11:31:24

Modbus rtu通讯我做过相对比较多的项目,基本能够领悟一些其中的“要领”。

也与论坛上有经验的大侠交流过,非常有得益。

上述程序稍加修改,就可以应用于实际项目中。


 
以下网友喜欢您的帖子:

  
至圣

经验值: 12705
发帖数: 1584
精华帖: 1
回复:200smart 与V20变频器Modbus rtu通讯例子
推荐帖


只看楼主 5楼 2021-02-27 13:42:33

注意V20的P2014参数,

调试完毕一定要修改回来,千万不要设置成0ms,

否则通讯线路断线,变频器不停车!


努力学习西门子
以下网友喜欢您的帖子:

  
至圣

经验值: 72009
发帖数: 8043
精华帖: 145
回复:200smart 与V20变频器Modbus rtu通讯例子
推荐帖


只看楼主 楼主 6楼 2021-02-27 15:02:41
以下是引用zbhdm在2021-02-27 13:42:33的发言 >5楼

注意V20的P2014参数,

调试完毕一定要修改回来,千万不要设置成0ms,

否则通讯线路断线,变频器不停车!

这样啊,感谢感谢。

我200及200smart modbus通讯仅仅实际应用于各种仪表,而对应于变频器没有真正意义上的使用,只是同事拿来一个V20让我说说与V20的通讯,我就验证了一下。



 
以下网友喜欢您的帖子:

  
至圣

经验值: 12705
发帖数: 1584
精华帖: 1
回复:200smart 与V20变频器Modbus rtu通讯例子
推荐帖


只看楼主 7楼 2021-02-27 19:04:39
以下是引用zbhdm在2021-02-27 13:42:33的发言 >5楼

注意V20的P2014参数,

调试完毕一定要修改回来,千万不要设置成0ms,

否则通讯线路断线,变频器不停车!

首先说明一下,我没有在实际的项目中用过的。但是实训过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



努力学习西门子
以下网友喜欢您的帖子:

  
至圣

经验值: 72009
发帖数: 8043
精华帖: 145
回复:200smart 与V20变频器Modbus rtu通讯例子
推荐帖


只看楼主 楼主 8楼 2021-02-27 20:22:22
以下是引用zbhdm在2021-02-27 19:04:39的发言 >7楼

首先说明一下,我没有在实际的项目中用过的。但是实训过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


以下是引用zbhdm在2021-02-27 13:42:33的发言 >5楼:注意V20的P2014参...

引用5楼详细内容:

注意V20的P2014参数,

调试完毕一定要修改回来,千万不要设置成0ms,

否则通讯线路断线,变频器不停车!

确实如你描述,我在调试初期确实遇到F72报警,将P2014设置为0后,报警不再出现。我还以为这样的设置可以规避V20的F72报警。出现这样的报警主要原因还是我在调试过程中,需要对程序做稍微一些的修改,对变频器其它参数等设置问题,所以,难免会引起F72报警。


 
以下网友喜欢您的帖子:

  
至圣

经验值: 10575
发帖数: 1794
精华帖: 0
回复:200smart 与V20变频器Modbus rtu通讯例子
推荐帖


只看楼主 9楼 2021-03-10 19:55:39


谢谢分享,赞。


 
以下网友喜欢您的帖子:

  
奇侠

经验值: 5686
发帖数: 767
精华帖: 1
回复:200smart 与V20变频器Modbus rtu通讯例子


只看楼主 10楼 2021-03-10 19:57:02

不错,值得学习。


 
以下网友喜欢您的帖子:

  
新手

经验值: 17
发帖数: 1
精华帖: 0
回复:200smart 与V20变频器Modbus rtu通讯例子


只看楼主 11楼 2021-03-22 09:47:34

真心难得,值得学习哦


 
以下网友喜欢您的帖子:

  
游民

经验值: 88
发帖数: 4
精华帖: 0
回复:200smart 与V20变频器Modbus rtu通讯例子


只看楼主 12楼 2021-04-01 17:58:58




学习学习。谢谢


 
以下网友喜欢您的帖子:

  
至圣

经验值: 12573
发帖数: 2503
精华帖: 31
回复:200smart 与V20变频器Modbus rtu通讯例子


只看楼主 13楼 2021-04-02 10:00:56
以下是引用zbhdm在2021-02-27 19:04:39的发言 >7楼

首先说明一下,我没有在实际的项目中用过的。但是实训过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


以下是引用zbhdm在2021-02-27 13:42:33的发言 >5楼:注意V20的P2014参...

引用5楼详细内容:

注意V20的P2014参数,

调试完毕一定要修改回来,千万不要设置成0ms,

否则通讯线路断线,变频器不停车!

P2014这个参数的作用是:在通讯应用中用来判断变频器间隔多长时间接收不到通讯数据帧时报警,以实现控制器通讯中断后变频器该如何动作。这个功能就类似你的手机多久没接收到你触屏动作后就自己进入熄屏休眠一样的道理。

单纯的通讯控制应用中,这功能启用有风险、不启用也有风险,所以我都不敢在实际项目中只纯粹的使用通讯控制,毕竟风险太大了。比如,当PLC死机后变频器接收不到通讯了肯定要停车的,但是如果通讯是由于线路问题导致的变频器私自停车这是灾难啊,但是如果真是PLC死机了不停车又是灾难啊。而且啊,纯通讯设定的参数,记得以前的MM4变频器是掉电不保存的,超坑人,坑死人不偿命的。所以,打死不用这种纯粹的通讯应用。哪怕别人再怎么吹得天花乱坠,我依然选择IO控制,省心安心放心舒心清心。



 
以下网友喜欢您的帖子:

  
至圣

经验值: 15531
发帖数: 1735
精华帖: 0
回复:200smart 与V20变频器Modbus rtu通讯例子


只看楼主 14楼 2021-04-02 10:49:33
以下是引用WWCWWC在2021-02-26 15:22:24的发言 >楼主

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指令获取数据。


一篇切实际的范文,精彩的分享,受用!




海纳百川,厚德务实!
以下网友喜欢您的帖子:

  
至圣

经验值: 67523
发帖数: 14779
精华帖: 100
回复:200smart 与V20变频器Modbus rtu通讯例子


只看楼主 15楼 2021-04-02 10:53:53

这个2014功能我只要是但凡通讯我都用上。有没有用都用上。起码知道线路有没有问题。如果你用输入输出点,确实何必用这个功能,用上了通讯,又何必存在各种IO。除了急停。这等于你用IO控制,突然我把IO线都剪了,那驱动器要动不?要停不?

接线上用常闭触点就是为了防止断线。在通讯上用这个超时,一样是防止断线。用IO的当然不用费那个心。用通讯也当然不用费这个心。对等的。

只要轮训是连续不间断的,设定50毫秒超时也不影响通讯。一旦通讯失败,几乎立即停机。这里可能有人有个错觉,觉得几个驱动器轮训一次都要几百毫秒,为何要50毫秒可以?V90我没用过我不知道,我用过的说,这个参数是指线路安静的时间。并不是指主站跟自己通讯的间隔时间。所以即使主站启动了某个驱动器后再也不通讯了,但是只要这个驱动器还能检测到线路上不安静,那么驱动器就知道自己没有掉线。(人也是一样啊)

幼儿园老师带着一班小宝宝外出游玩,掉了哪一个,都要整个班等着。难道一个驱动器掉了,你还敢继续运行吗?如果你是这样想的话……


 
以下网友喜欢您的帖子:

  
游民

经验值: 109
发帖数: 6
精华帖: 0
回复:200smart 与V20变频器Modbus rtu通讯例子


只看楼主 16楼 2021-04-12 14:56:20

非常谢谢楼主


 
以下网友喜欢您的帖子:

  
至圣

经验值: 72009
发帖数: 8043
精华帖: 145
回复:200smart 与V20变频器Modbus rtu通讯例子


只看楼主 楼主 17楼 2021-04-12 15:12:13
以下是引用xuhailin1185在2021-04-12 14:56:20的发言 >16楼

非常谢谢楼主

上面的例子,我仅仅只写了其中一台V20变频器的通讯,如果项目中有多台,可以在这样的样例中,继续写MSG指令,不同的是从站地址而已。

如果的西门子变频器,如V20、G120的建议USS通讯也可以试试,也非常方便的,自家的产品,自家的通讯当然简单了。这个例子我仍然有,也是单台的样例。


 
以下网友喜欢您的帖子:

  
新手

经验值: 36
发帖数: 1
精华帖: 0
回复:200smart 与V20变频器Modbus rtu通讯例子


只看楼主 18楼 2021-05-17 08:33:29

兄弟我按编写了为什么编译时出错。求教




 
以下网友喜欢您的帖子:

  
至圣

经验值: 72009
发帖数: 8043
精华帖: 145
回复:200smart 与V20变频器Modbus rtu通讯例子


只看楼主 楼主 19楼 2021-05-17 09:22:29
以下是引用手机用户20210516400126在2021-05-17 08:33:29的发言 >18楼

兄弟我按编写了为什么编译时出错。求教



这个问题,你需要给库指令分配一串V存储区的地址。


 
以下网友喜欢您的帖子:

  
收起
200smart 与V20变频器Modbus rtu通讯例子
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。