如何实现S7-200用485总线控制多台变频器 点击:2502 | 回复:5



xiaoweny

    
  • 精华:0帖
  • 求助:0帖
  • 帖子:14帖 | 106回
  • 年度积分:0
  • 历史总积分:623
  • 注册:2010年3月09日
发表于:2010-05-05 20:22:51
楼主
有多台变频器,欲挂到S7-200的485总线上,用MODBUS RTU主站指令,请教具体该怎么编程?找不到具体的例子,自己的程序又连不变频器,干着急呢。用其他指令如XMT又不熟悉,时间又紧,没办法,只能请各位大虾帮忙了!!!



zhb040

  • 精华:0帖
  • 求助:0帖
  • 帖子:1帖 | 40回
  • 年度积分:0
  • 历史总积分:99
  • 注册:2006年7月05日
发表于:2010-05-06 19:51:17
1楼

山人行

  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 8回
  • 年度积分:0
  • 历史总积分:26
  • 注册:2005年4月20日
发表于:2010-05-15 10:30:56
2楼

伙家,我刚做了个S7-200与台达VFD-B的MODBUS RTU控制程序,与大家共享一下.不用主站程序也可以的,仅用CRC校验库程序即TITLE=子程序注释
Network 1 // 网络标题
// 网络注释
LD SM0.0
INCW VW48 //通讯地址自循环
LDW>= VW48, VW30 //vw30通讯地址总数
MOVW +1, VW48



Network 2
// 变频器控制字及给定值循环计算 实际参数从vw1100开始
LD SM0.0 //在变频器正确设定情况下:19.2K 8位 偶校验等
MOVD &VB1000, VD100 //初始化程序中MOVB, 16#45, SMB30 ENI
MOVD +0, VD90 //19.2K 8位 偶校验
MOVW VW48, VW92 //可以输入3000(30HZ)至vw1102
*I +100, VW92 //输入12h至vw1100实验一下程序
+D VD100, VD90 //movw 1 vw48 movd vd1100 vd90

Network 3 //
// s7-200与台达变频器vfd-b通讯地址参数 2000H :停止:01H 。 启动:2H。 正转:12H 。 反转:22H 。 2001H: 频率命令。
LD SM0.0
MOVB 11, VB200 //校验字节数
MOVB VB49, VB201 //从站地址vb49
MOVB 16#10, VB202 //功能码
MOVD 16#20000002, VD203 //通讯地址及字数
MOVB 4, VB207 //通讯字节数
MOVD *VD90, VD208 //控制字及给定值


Network 4
// 调用modbus-crc16库
LD SM0.0
CALL SBR12, &VB200, 1, 1, VW216

Network 5
// 发送准备
LD SM0.0
MOVB 13, VB200 //发送字节13BYTE

Network 6
// 其他用途
LD SM0.0
MOVW +4, VW54
MOVW +0, VW56
MOVW VW32, VW58
+I +2, VW58


Network 7
// 发送至变频器
LD SM0.0
XMT VB200, 0


Network 8
Network 9
Network 10 可.别的牌子变频器需要改变通讯地址等,应该不是什么大不了问题.祝好运.

[三分明月]

  • 精华:3帖
  • 求助:0帖
  • 帖子:114帖 | 3593回
  • 年度积分:0
  • 历史总积分:7688
  • 注册:2008年3月16日
发表于:2010-05-15 10:51:18
3楼

很简单的,S7-200虽是一个小东西,但485/MODBUS

协议支持的非常好!主站/从站都支持,很管用。

  • 精华:0帖
  • 求助:0帖
  • 帖子:1帖 | 14回
  • 年度积分:0
  • 历史总积分:6
  • 注册:2008年2月29日
发表于:2015-06-14 18:05:59
4楼

做出来了吗,怎么估和气职轼

glenxu

  • 精华:0帖
  • 求助:2帖
  • 帖子:28帖 | 592回
  • 年度积分:0
  • 历史总积分:1862
  • 注册:2004年1月13日
发表于:2015-06-15 20:52:00
5楼

用MODBUS库做,很简单


热门招聘
相关主题

官方公众号

智造工程师