首页 上一页 1 2 下一页 尾页

S7-200与台达B系列变频器MODBUS通讯 点击:5711 | 回复:23



LN368

    
  • 精华:0帖
  • 求助:40帖
  • 帖子:306帖 | 1715回
  • 年度积分:0
  • 历史总积分:6747
  • 注册:2004年9月09日
发表于:2013-06-19 18:21:00
楼主
求助帖10分-未结帖

想做一个S7-200控制台达变频器的程序,看台达B系列手册上的地址是2000H .200PLC中MODBUS地址怎么算?直接是2000H还是40000+2000H?

然后变频器的控制全部用通讯实现,大概8台变频器左右。会延时大概会有多长?




ye_w

  • 精华:21帖
  • 求助:1帖
  • 帖子:69帖 | 5217回
  • 年度积分:0
  • 历史总积分:46739
  • 注册:2002年4月17日
发表于:2013-06-19 21:16:07
1楼

变频器参数设置

1)操作方式参数

参数02-00 设为04

参数02-01 设为03

2)通讯参数设定

参数 09-00 设为 01(出厂值是1,请根据需要实际需要修改)

参数 09-01 设为 01 Baud rate 9600(传输速度,位∕秒)(这个也需要根据需要修改)

参数 09-02 设为 01警告并减速停车

参数 09-03 设为 0.0无传输超时检出

参数 09-04 设为 04 8,E,1 for RTU (这个也需要根据需要修改)


3)MODBUS地址定义

如:频率命令地址是2001H,2001H转为十进制为8193,40001+8193=48194。则频率命令MODBUS地址为48194。

驱动器内部参数地址定义:

如:加速时间地址是01-09,0109H转为十进制为265,40001+265=40266 。则加减速时间设

定MODBUS地址为40266。





ye_w

  • 精华:21帖
  • 求助:1帖
  • 帖子:69帖 | 5217回
  • 年度积分:0
  • 历史总积分:46739
  • 注册:2002年4月17日
发表于:2013-06-19 21:19:39
2楼

你说的2000H的Modbus地址是多少,就请你自己计算。


8台有一定的延时,程序调用指令的时候请控制一定的时序,轮询8台。具体多少延时需要看程序的编写技巧以及控制要求。

LN368

  • 精华:0帖
  • 求助:40帖
  • 帖子:306帖 | 1715回
  • 年度积分:0
  • 历史总积分:6747
  • 注册:2004年9月09日
发表于:2013-06-19 22:11:05
3楼

版主讲得很详细。谢谢。

读的时候是轮询8台,如果有一个数据要写入的话,那读数据要暂停一下,是这个思路不?

ye_w

  • 精华:21帖
  • 求助:1帖
  • 帖子:69帖 | 5217回
  • 年度积分:0
  • 历史总积分:46739
  • 注册:2002年4月17日
发表于:2013-06-20 11:50:07
4楼

回复内容:

对: LN368 版主讲得很详细。谢谢。读的时候是轮询8台,如果有一个数... 内容的回复!



暂停?


通常读取指令的done作为下一条指令是触发位。。。。

LN368

  • 精华:0帖
  • 求助:40帖
  • 帖子:306帖 | 1715回
  • 年度积分:0
  • 历史总积分:6747
  • 注册:2004年9月09日
发表于:2013-06-20 12:00:56
5楼

嗯,这个我知道,但是平常是在循环读数据,如果频率等有变化时才要写入,那就要插队了吧?这个插入写指令怎么样实现的?

我没有做过这种程序,我想用读取指令的done来移位或计数,在有写指令要求时停止移位或计数,这样就不会触发下一条读指令,然后这个时段的读指令又完成了就可以写了。这样是不是有点麻烦?通常写指令都是怎么样做的?不会也跟读一起轮询一直执行吧?

ye_w

  • 精华:21帖
  • 求助:1帖
  • 帖子:69帖 | 5217回
  • 年度积分:0
  • 历史总积分:46739
  • 注册:2002年4月17日
发表于:2013-06-20 14:52:35
6楼

不管指令如何做,但必须考虑在同一时刻只能执行一个读或写的功能。

LN368

  • 精华:0帖
  • 求助:40帖
  • 帖子:306帖 | 1715回
  • 年度积分:0
  • 历史总积分:6747
  • 注册:2004年9月09日
发表于:2013-06-26 08:33:23
7楼

轮询程序已经做出来了,采用INC计数的方式,就是写指令也参与轮询,当VW400=一定的值时,再判断频率/启停按钮 有没有变化,如果有变化就写,如果无变化就直接INC VW400.

这样做就是在设定频率或启停控制的时候,一定要等到轮询到它的时候才能写入。有没有更好的办法?我想写个插入的但逻辑有点复杂。

还有变频器2000H=2启动,=1就停止,还是还要考滤2000H中其它的位?其它位的参数不想做更改。只想控制启动或停止。

LN368

  • 精华:0帖
  • 求助:40帖
  • 帖子:306帖 | 1715回
  • 年度积分:0
  • 历史总积分:6747
  • 注册:2004年9月09日
发表于:2013-06-26 08:40:27
8楼

通常读取指令的done作为下一条指令的触发位   ,

但是看到有资料说MODBUS RTU要求两条指令间隔时间要在50MS以上。这样行不行?

小迷糊虫

  • 精华:0帖
  • 求助:1帖
  • 帖子:50帖 | 132回
  • 年度积分:12
  • 历史总积分:1220
  • 注册:2011年9月27日
发表于:2013-06-28 08:54:28
9楼

通讯延时一般说的是最大延时,通常情况下不会到50ms,一般在100ms左右

ARIOSFATE1

  • 精华:0帖
  • 求助:1帖
  • 帖子:1帖 | 8回
  • 年度积分:0
  • 历史总积分:10
  • 注册:2012年9月01日
发表于:2013-10-27 16:40:28
10楼

有没有具体的程序例子呢   我正搞得头都大呢!!!

北极星的电力

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 161回
  • 年度积分:0
  • 历史总积分:50
  • 注册:2014年1月04日
发表于:2014-01-06 16:14:56
11楼

引用 LN368 的回复内容: 轮询程序已经做出来了,采用INC计数的方式,就是写指令...



  • 精华:0帖
  • 求助:0帖
  • 帖子:3帖 | 22回
  • 年度积分:0
  • 历史总积分:19
  • 注册:2006年12月06日
发表于:2014-01-19 19:26:24
12楼

能看到程序吗,我比较感兴趣

邵-王者之师

  • 精华:1帖
  • 求助:39帖
  • 帖子:81帖 | 861回
  • 年度积分:0
  • 历史总积分:2844
  • 注册:2011年3月24日
发表于:2014-01-20 23:09:33
13楼

楼主,你说的算地址是用MOD库编程吧。

库虽然帮你把所有的东西都集成好了,但是不是很灵活。建议用自由口,编写轮询。

2000H是16进制,要换算成10进制,同时库的地址是40001开始的,所以要加上1 。

还有就是台达的地址还比较低,如果遇到3000H就用不了库了。。。

 

yeliyun

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 23回
  • 年度积分:0
  • 历史总积分:95
  • 注册:2010年11月02日
发表于:2014-12-19 22:29:11
14楼

楼主说的很详细,谢谢分享啦!

建议的

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 48回
  • 年度积分:0
  • 历史总积分:0
  • 注册:2013年7月17日
发表于:2016-01-16 11:40:41
15楼

谢谢,哥们分享不知加了注释吗

小小渔夫1

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 94回
  • 年度积分:0
  • 历史总积分:100
  • 注册:2014年5月04日
发表于:2018-03-26 09:51:07
16楼

谢谢,一直在找加减速时间通讯地址!!!!

小小渔夫1

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 94回
  • 年度积分:0
  • 历史总积分:100
  • 注册:2014年5月04日
发表于:2018-03-26 09:52:33
17楼


回复内容:

对: 邵-王者之师 楼主,你说的算地址是用MOD库编程吧。库虽然帮你把所有... 内容的回复!

3000H也可以的,直接输入16#3000.或者400001加16位转10进制。

小小渔夫1

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 94回
  • 年度积分:0
  • 历史总积分:100
  • 注册:2014年5月04日
发表于:2018-03-26 09:55:11
18楼


回复内容:

对: LN368 轮询程序已经做出来了,采用INC计数的方式,就是写指令... 内容的回复!

可否分享下计数器轮训。我现在用的普通轮训。带2变频器,2仪表。稳定有待提高。需要的话我可以把程序给你。

小小渔夫1

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 94回
  • 年度积分:0
  • 历史总积分:100
  • 注册:2014年5月04日
发表于:2018-03-26 11:34:01
19楼


回复内容:

对: ye_w 变频器参数设置 1)操作方式参数参数02-00 设为0... 内容的回复!

刚刚试过了,不是这么转的。问过台达客服。

小小渔夫1

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 94回
  • 年度积分:0
  • 历史总积分:100
  • 注册:2014年5月04日
发表于:2018-03-26 11:43:05
20楼

正确的方法是01-09转成16进制为16#01+16#09=16#0109,再转成10进制265,再加40001.我刚刚是的MS300的加减速是01-12和01-13.超出10了。是16#01+16#0C=16#010C=10#268.地址是40001+268=40269根40270.通讯成功。为方便大家,分享给大家。少走弯路。


热门招聘
相关主题

官方公众号

智造工程师
    首页 上一页 1 2 下一页 尾页