首页 上一页 1 2 3 4 5 下一页 尾页

西门子200与台达变频器modbus通讯例子程序段 点击:27719 | 回复:95



秦君_1

    
  • 精华:8帖
  • 求助:22帖
  • 帖子:180帖 | 4725回
  • 年度积分:848
  • 历史总积分:28020
  • 注册:2005年6月28日
发表于:2012-12-23 14:21:21
楼主

使用200自带的modbus主站库与台达变频器通讯的例子程序段。

1

2

3

4

5



楼主最近还看过



伍琪生

  • 精华:2帖
  • 求助:0帖
  • 帖子:1120帖 | 10471回
  • 年度积分:3820
  • 历史总积分:48710
  • 注册:2006年8月05日
发表于:2012-12-29 00:47:29
1楼
对通讯口的初始化参数设定呢

芳季

  • [版主]
  • 精华:6帖
  • 求助:8帖
  • 帖子:130帖 | 5331回
  • 年度积分:0
  • 历史总积分:20053
  • 注册:2003年1月31日
发表于:2012-12-30 12:21:25
2楼

楼上。网络30就是你要找的事情。你漏眼了。

dang287275173

  • 精华:0帖
  • 求助:1帖
  • 帖子:1帖 | 7回
  • 年度积分:0
  • 历史总积分:15
  • 注册:2012年6月05日
发表于:2013-01-11 21:25:50
3楼
我用CPU224XP和格立特VC2000变频通讯也是用的MODBUSRTU怎么就通讯不成功那,MBUS_MSG老是报错误代码3,该查的都查了呀

春华★秋实

  • 精华:1帖
  • 求助:6帖
  • 帖子:136帖 | 1038回
  • 年度积分:0
  • 历史总积分:3012
  • 注册:2007年5月17日
发表于:2013-01-12 13:40:25
4楼

对这个通信不是很了解。有2个问题

1、为什么要延时通信?

2、为什么要一个参数读完再读下一个?不能直接读吗?就是M25.0/M25.1/M25.2等不要,直接连通,不行吗?

秦君_1

  • 精华:8帖
  • 求助:22帖
  • 帖子:180帖 | 4725回
  • 年度积分:848
  • 历史总积分:28020
  • 注册:2005年6月28日
发表于:2013-01-12 14:30:16
5楼
回复内容:
对:dang287275173关于我用CPU224XP和格立特VC2000变频通讯也是用的MODBUSRTU怎么就通讯不成功那,MBUS_MSG老是报错误代码3,该查的都查了呀 内容的回复:


设置无校验,波特率9600试。

星空依然蓝

  • 精华:0帖
  • 求助:1帖
  • 帖子:1帖 | 1233回
  • 年度积分:0
  • 历史总积分:2200
  • 注册:2008年11月23日
发表于:2013-01-12 16:02:10
6楼
没用到过这么高级的功能。路过了。

阿水--王者之师

  • 精华:44帖
  • 求助:508帖
  • 帖子:3327帖 | 22104回
  • 年度积分:2171
  • 历史总积分:92644
  • 注册:2007年3月22日
发表于:2013-01-14 13:14:04
7楼
   没用到过这么高级的功能。路过了。但是收藏了,以后可能会用的,与别的变频器通讯也是这样的吗?

秦君_1

  • 精华:8帖
  • 求助:22帖
  • 帖子:180帖 | 4725回
  • 年度积分:848
  • 历史总积分:28020
  • 注册:2005年6月28日
发表于:2013-01-14 13:50:36
8楼
引用 阿水--王者之师 的回复内容:   没用到过这么高级的功能。路过了。但是收藏了,以后可能会用的,与别的变频器通讯也是这样的吗?



要变频器支持MODBUS  RTU通讯协议.

芳季

  • [版主]
  • 精华:6帖
  • 求助:8帖
  • 帖子:130帖 | 5331回
  • 年度积分:0
  • 历史总积分:20053
  • 注册:2003年1月31日
发表于:2013-01-15 22:26:40
9楼

458 453 449 452

排一下序

449 452 453 458 

补上被跳过的地址。

449 (450 451)452 453 (454 455 456 457)458 

建议你用一个msg指令全部读出来。
4个只剩下一个。
EN端用(T49)驱动
first端用自己的Done位驱动并且并一个T49上升缘
其他不变。保证通讯比以前快很多。

芳季

  • [版主]
  • 精华:6帖
  • 求助:8帖
  • 帖子:130帖 | 5331回
  • 年度积分:0
  • 历史总积分:20053
  • 注册:2003年1月31日
发表于:2013-01-15 22:35:35
10楼
引用 春华★秋实 的回复内容: 对这个通信不是很了解。有2个问题1、为什么要延时通信?


第一,不知道程序的其他地方是什么。

第二,可能要等变频器启动完毕。

秦君_1

  • 精华:8帖
  • 求助:22帖
  • 帖子:180帖 | 4725回
  • 年度积分:848
  • 历史总积分:28020
  • 注册:2005年6月28日
发表于:2013-01-15 23:00:35
11楼
引用 芳季 的回复内容:458 453 449 452排一下序449 452 453 458 补上被跳过的地址。449 (450 451)452 453 (454 455 456 457)458 建议你用一个msg指令全部读出来。4个只剩下一个。EN端用(T49)驱动first端用自己的Done位驱动并且并一个T49上升缘其他不变。保证通讯比以前快很多。



芳侠此招高!再次受教了。多谢!11楼您的猜测没错。我当时的实际想法就是想让200一通电就与变频器建立通讯,结果用SM0.1激发通讯开始,不论是变频器先通电PLC后通电还是两者同时通电都不能正常启动通讯轮询。怎样激活开始通讯轮询,当时着实想了很久,最后还是在“技术论坛中”(那个地方你应该不陌生。)得到高手指点采用开机延时解决了。

秦君_1

  • 精华:8帖
  • 求助:22帖
  • 帖子:180帖 | 4725回
  • 年度积分:848
  • 历史总积分:28020
  • 注册:2005年6月28日
发表于:2013-01-15 23:16:41
12楼

奥,忘了!再次请教芳侠:

200与台达变频器通讯,我当时试过奇校验、偶校验都不行。最后采用无校验立马通讯上了。不知道怎么回事。这个问题记得当时也发帖了,但是一直没有解决。给我留下的阴影就是但凡遇到通讯首先考虑无校验试。所以有了6楼的提示。

不知道芳侠对此有何看法?

说实话,做这个程序的时侯也是我对200开始学习的起步阶段。做完那个项目觉得对200有了一个大概的认识,可惜此后却与200绝缘了。有三年没有摸过200了,怪想念那时那刻的时光。

那是一个机器的控制系统,200+变频器+文本。有PID调节,模拟量采集,MODBUS通讯,用224XP编程,差一点容量不够,上手就得到了锻炼,确实机会不易啊!唯一遗憾就是那段时间可能太闷头工作了,落了一个“颈椎病”,现在老是头晕。

纵横军团—ww19830217

  • 精华:0帖
  • 求助:7帖
  • 帖子:96帖 | 4442回
  • 年度积分:45
  • 历史总积分:14557
  • 注册:2006年12月16日
发表于:2013-01-15 23:26:54
13楼

围观学习。。。。。。。。。

芳季

  • [版主]
  • 精华:6帖
  • 求助:8帖
  • 帖子:130帖 | 5331回
  • 年度积分:0
  • 历史总积分:20053
  • 注册:2003年1月31日
发表于:2013-01-19 12:29:09
14楼
要校验什么,是通讯的双方配对的。当有一方不可以设定的时候另外一方就要迁就他,设置成跟他一样的。而不是说应该奇或者应该偶。

芳季

  • [版主]
  • 精华:6帖
  • 求助:8帖
  • 帖子:130帖 | 5331回
  • 年度积分:0
  • 历史总积分:20053
  • 注册:2003年1月31日
发表于:2013-01-19 12:50:00
15楼

通讯初期的失败只要不是程序错误,都有返回码的。可以根据返回码尝试等待,等变频器准备完成。延时的做法相当于:我是主,你是副。你一定要准备好了等我来。这对人来说显然是不太礼貌了。做主的应该先到,迎接来宾。来宾没到,打个电话问一下。重复发起通讯请求。200有完善的MODBUS库应该好搞。延时是可以解决很多通讯上不同步的问题。但是这是个消极的做法,只会延长通讯周期。

假如,你现在只需要写速度给定。这样你可以尽管写就是了(最好想从机不需要应答)。但是写的频率太高了。从机没来得及应答又收到新信息了,就会双方都出错。这个时候你插入一个20毫秒的延时。事情是解决了。但是,其实从机只需要9毫秒就应答完成了。这样你的通讯就白白浪费了11毫秒的时间。

做法应该是判断从机的应答,然后就可以立即发送了。时间省很多。

秦君_1

  • 精华:8帖
  • 求助:22帖
  • 帖子:180帖 | 4725回
  • 年度积分:848
  • 历史总积分:28020
  • 注册:2005年6月28日
发表于:2013-01-19 13:39:51
16楼
引用 芳季 的回复内容:要校验什么,是通讯的双方配对的。当有一方不可以设定的时候另外一方就要迁就他,设置成跟他一样的。而不是说应该奇或者应该偶。



台达变频器中奇、偶、无校验都可以设置。200的MODBUS库中同样也可以设置奇、偶、无校验。但是当时就是奇、偶、都试过,不通。最后通讯双方都设置成无校验,通讯成功。所以我在想:双方均能提供三种设置,那么他们是应该对三种校验方式都支持的,为什么偏偏它俩通讯时就只能支持无校验了,不能有校验位?真是这样吗?还是我当时搞得的时候那里有错?程序就是上面的程序,无非就是改动一下那个校验位参数。

qq176156511

  • 精华:0帖
  • 求助:2帖
  • 帖子:2帖 | 54回
  • 年度积分:0
  • 历史总积分:75
  • 注册:2008年12月21日
发表于:2013-04-12 16:57:01
17楼

非常感谢 楼主    

fyc871356965

  • 精华:1帖
  • 求助:3帖
  • 帖子:14帖 | 1802回
  • 年度积分:0
  • 历史总积分:2312
  • 注册:2012年1月09日
发表于:2013-04-12 17:28:56
18楼

引用 芳季 的回复内容: 458 453 449 452排一下序449 452 ... 


 芳大哥,什么意思,没懂???求解

chen994621

  • 精华:0帖
  • 求助:1帖
  • 帖子:4帖 | 67回
  • 年度积分:6
  • 历史总积分:102
  • 注册:2012年7月22日
发表于:2013-04-12 20:15:37
19楼

路过!学习了!以后多来点这样的帖子!

qq176156511

  • 精华:0帖
  • 求助:2帖
  • 帖子:2帖 | 54回
  • 年度积分:0
  • 历史总积分:75
  • 注册:2008年12月21日
发表于:2013-04-13 10:42:35
20楼

一直没搞懂  +1是为啥,


相关主题

官方公众号

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