台达DOP------GETCHARS指令 点击:1373 | 回复:6



teamo.wan

    
  • 精华:1帖
  • 求助:0帖
  • 帖子:40帖 | 442回
  • 年度积分:0
  • 历史总积分:732
  • 注册:2005年12月13日
发表于:2006-10-17 22:59:00
楼主
  在使用台达DOP控制西门子MM420变频器时,通讯口与通讯格式都设置正确了,而且通过指令PUTCHARS也已经能够控制变频器的启动、停止及频率的改变。但用GETCHARS指令读取变频器回传的数据时,读到的数据十分混乱,且不断变化;而我用PC端的软件则可以正确的读取变频器回传的数据。
 不知道是我对这个GETCHARS指令用法不对,还是怎么回事?
 $410=GETCHARS($700,8,100),我的理解是:将从通讯端口接受到的8个字节数据放在以$700为起始地址的寄存器中,最大通讯时间为100MS。
 请教各位高手。



一点意见

  • 精华:0帖
  • 求助:0帖
  • 帖子:6帖 | 895回
  • 年度积分:0
  • 历史总积分:1187
  • 注册:2002年7月29日
发表于:2006-10-19 08:31:00
1楼
这样理解没有错,只是反馈上来的是完整的反馈信息,而不单是需要读取的寄存器的数值。

teamo.wan

  • 精华:1帖
  • 求助:0帖
  • 帖子:40帖 | 442回
  • 年度积分:0
  • 历史总积分:732
  • 注册:2005年12月13日
发表于:2006-10-19 09:47:00
2楼
但这信息不对啊,每按一次按钮,变频器回的信息不变,但$700-$703的数据却不停的变化.肯定不对啊.
还有,TO 竹根:昨天给你传真过去的程序管不管用? GETCHARS指令的问题有没有解决?

一点意见

  • 精华:0帖
  • 求助:0帖
  • 帖子:6帖 | 895回
  • 年度积分:0
  • 历史总积分:1187
  • 注册:2002年7月29日
发表于:2006-10-19 15:00:00
3楼
真是一语惊醒梦中人^_^,特别谢谢!
GETCHARS指令在这个用户没有用到。但是我用台达plc做过测试,读取连续两个word的值,ASCII模式。将数值显示格式设为Hex,是按标准modbus协议返回完整的一串字符,就如通过PLC通讯时返回的格式一样。

teamo.wan

  • 精华:1帖
  • 求助:0帖
  • 帖子:40帖 | 442回
  • 年度积分:0
  • 历史总积分:732
  • 注册:2005年12月13日
发表于:2006-10-19 20:29:00
4楼
你的意思是用DOP通过GETCHARS指令来读取台达PLC的两个WORD,结果发现读到的数据是符合MODBUS协议的?

一点意见

  • 精华:0帖
  • 求助:0帖
  • 帖子:6帖 | 895回
  • 年度积分:0
  • 历史总积分:1187
  • 注册:2002年7月29日
发表于:2006-10-20 09:33:00
5楼
是。我用delta的协议做了比对。
发送指令读取D1,D2的数值,在PLC中对D1,D2分别赋值为K100,K200.使用$200 = GETCHARS($210, 18, 500)指令,返回的字符为:
$210=303AH
$211=3031H
$212=3033H
$213=3034H
$214=3630H
$215=3034H
$216=4330H
$217=4338H
$218=0D43H

转化成协议格式::010304006400C8CC0D

piziy

  • 精华:2帖
  • 求助:0帖
  • 帖子:46帖 | 188回
  • 年度积分:0
  • 历史总积分:0
  • 注册:1900年1月01日
发表于:2006-10-24 10:49:00
6楼
ASCII码如同王母的裹脚带,为何不用HEX

热门招聘
相关主题

官方公众号

智造工程师