S7-200 Modbus指令问题 点击:1025 | 回复:15



夜猫353

    
  • 精华:0帖
  • 求助:17帖
  • 帖子:34帖 | 151回
  • 年度积分:89
  • 历史总积分:21374
  • 注册:2012年3月10日
发表于:2012-06-20 10:53:21
楼主
求助帖5分-已结帖
假如我要和一个变频器通信,变频器站号是:01,变频器运行是:2000H,正转是:0001H,在这个指令里面该怎样写进去啊?我想请教一下我所想的和你们是不是对的?谢谢啊


楼主最近还看过



ye_w

  • 精华:23帖
  • 求助:1帖
  • 帖子:84帖 | 5217回
  • 年度积分:0
  • 历史总积分:46739
  • 注册:2002年4月17日
发表于:2012-06-20 11:30:24
1楼
关键是需要知道变频器地址对应的modbus地址是多少

夜猫353

  • 精华:0帖
  • 求助:18帖
  • 帖子:38帖 | 157回
  • 年度积分:9
  • 历史总积分:21452
  • 注册:2012年3月10日
发表于:2012-06-20 14:00:58
2楼
回复内容:
对:ye_w关于关键是需要知道变频器地址对应的modbus地址是多少 内容的回复:


2000H,这个就是 啊

老愚者

  • 精华:1帖
  • 求助:0帖
  • 帖子:10帖 | 2253回
  • 年度积分:0
  • 历史总积分:10007
  • 注册:2006年8月20日
发表于:2012-06-20 15:51:10
3楼
2000H等于十进制的8192,  modbus地址8192+1=8193

EBN战略军团-棋影

  • [版主]
  • 精华:5帖
  • 求助:23帖
  • 帖子:748帖 | 5676回
  • 年度积分:53
  • 历史总积分:88538
  • 注册:2004年5月28日
发表于:2012-06-21 10:09:34
4楼
楼主,你简直愚不可及,前几天都回答你了,连程序都给你编写好了,都不知道你怎么试的,肯定是没使出来,自己又不懂就又怀疑我给你说的不对!又在这里浪费工控论坛资源,提问一次好了!都回答你了,回答那么详细!

EBN战略军团-棋影

  • [版主]
  • 精华:5帖
  • 求助:23帖
  • 帖子:748帖 | 5676回
  • 年度积分:53
  • 历史总积分:88538
  • 注册:2004年5月28日
发表于:2012-06-21 10:10:07
5楼
Slave:从站地址
RW:读写标志,0为读;1为写
Addr:要读写的寄存器起始地址
Count:要读写的寄存器个数
DataPtr:缓冲区地址指针
变频器地址是2000H,换算为10进制就是8192,然后加上40001,那就是48193!
怎么说呢
40001、40002等是MODBUS的寄存器编号,而对应在BUS上实际地址就是0000H、0001H
所以在已知BUS实际地址的情况下,要换算这个实际地址对应的MODBUS编号的话
就应该把这个实际地址换算为10进制,然后用这个10进制加上40001,
当然这里是针对保持寄存器而言的!对于只读寄存器,就是加30001了
对于线圈就是加00001,对于开关量输入就是加上10001
另外一个,功能码的说明
如果你这里是写标志的话,并且你写的个数是1,那么实际你用串口监视的话,功能码不是05就是06,这个取决于你的寄存器类型是0x还是4x;如果写的个数超过1个,那么功能码就是15或者16,取决于寄存器类型是0x还是4x

如果是读标志的话 那么根据寄存器类型 就可以区分是01 02 03 04这几个功能码了

EBN战略军团-棋影

  • [版主]
  • 精华:5帖
  • 求助:23帖
  • 帖子:748帖 | 5676回
  • 年度积分:53
  • 历史总积分:88538
  • 注册:2004年5月28日
发表于:2012-06-21 10:12:26
6楼
按照下面的程序你试试,程序没有问题的!关键你变频器各种参数要设置正确!
而且PLC做MODBUS RTU通信的话 还有一个主站初始化的问题
包括波特率 数据位 停止位 校验位 从站响应延时的最大时间等

EBN战略军团-棋影

  • [版主]
  • 精华:5帖
  • 求助:23帖
  • 帖子:748帖 | 5676回
  • 年度积分:53
  • 历史总积分:88538
  • 注册:2004年5月28日
发表于:2012-06-21 10:18:00
7楼
如果再替您老人家加上主站初始化的话,就是如下所示:

EBN战略军团-棋影

  • [版主]
  • 精华:5帖
  • 求助:23帖
  • 帖子:748帖 | 5676回
  • 年度积分:53
  • 历史总积分:88538
  • 注册:2004年5月28日
发表于:2012-06-21 10:19:05
8楼

影响通信成功的因素很多的,不光是程序,还有硬件接线,你的变频器设置等等诸多问题!
好好学吧!

EBN战略军团-棋影

  • [版主]
  • 精华:5帖
  • 求助:23帖
  • 帖子:748帖 | 5676回
  • 年度积分:53
  • 历史总积分:88538
  • 注册:2004年5月28日
发表于:2012-06-21 10:22:27
9楼

而且你使用这个MODBUS RTU库 还要给这个库分配一个存储区的
硬件接线的话:
西门子200PLC的通信口:
3:RS485发送和接收+
8:RS485发送和接收-
1:信号地
我不知道你变频器的品牌,只能说这么多,如果你还是不明白,建议你从头学学这个通信吧!

沧海一粟——王者之师

  • 精华:1帖
  • 求助:1帖
  • 帖子:9帖 | 1264回
  • 年度积分:0
  • 历史总积分:8209
  • 注册:2007年10月17日
发表于:2012-06-21 16:06:18
10楼
不错。。。。。。详细

华信电子22

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 65回
  • 年度积分:0
  • 历史总积分:1
  • 注册:2016年2月14日
发表于:2016-04-12 20:06:14
11楼

学习。。。。。。。。。。。。。。。。。。

电气工

  • 精华:0帖
  • 求助:0帖
  • 帖子:1帖 | 105回
  • 年度积分:0
  • 历史总积分:164
  • 注册:2011年9月02日
发表于:2017-12-04 15:21:08
12楼

西门子的这库软件现在也很少用了吧一般都找不到了,我现在换国产了用这个有技术支持的还有专门的文件的比较好,我也是做电气的,我的微信号是13588284471一起交流下

yongheng0231

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 5回
  • 年度积分:0
  • 历史总积分:5
  • 注册:2011年4月22日
发表于:2017-12-07 10:29:03
13楼

回复的不错,学习了。

丁小先森

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 62回
  • 年度积分:0
  • 历史总积分:104
  • 注册:2017年12月14日
发表于:2017-12-22 17:04:07
14楼

感谢感谢感谢个

卷卷卷

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 51回
  • 年度积分:0
  • 历史总积分:111
  • 注册:2018年2月03日
发表于:2018-02-03 22:38:19
15楼

好东西,谢谢楼主分享,我菜鸟要好好学习天天向上


热门招聘
相关主题

官方公众号

智造工程师