关于通讯数据的提取 点击:974 | 回复:9



简单控制

    
  • 精华:1帖
  • 求助:1帖
  • 帖子:40帖 | 196回
  • 年度积分:28
  • 历史总积分:478
  • 注册:2004年12月08日
发表于:2006-05-02 20:30:00
楼主
    我用台达的PLC与一个设备通讯,用RS指令,已经通讯上可是通讯返回的数据反馈的不对,有谁知道如何正确将数据提出?
    用总线监测,PLC的发出指令和设备的返回数据是正确的!



变频器

  • 精华:1帖
  • 求助:0帖
  • 帖子:14帖 | 147回
  • 年度积分:0
  • 历史总积分:296
  • 注册:2003年4月14日
发表于:2006-05-04 21:31:00
1楼
我想问一下如何进行总线监测?

简单控制

  • 精华:1帖
  • 求助:1帖
  • 帖子:40帖 | 196回
  • 年度积分:28
  • 历史总积分:478
  • 注册:2004年12月08日
发表于:2006-05-05 11:05:00
2楼
我是用一个专业的软件做的监测

teamo.wan

  • 精华:1帖
  • 求助:0帖
  • 帖子:40帖 | 442回
  • 年度积分:0
  • 历史总积分:732
  • 注册:2005年12月13日
发表于:2006-05-08 15:09:00
3楼
应该是因为你的RS指令中,数据的组数不对.
比如,RS S M D N.如果 M 或 N 不对的话,PLC发送或接收的数据就不对,但总线上的数据是正确的.

yangyfeng

  • 精华:4帖
  • 求助:0帖
  • 帖子:37帖 | 764回
  • 年度积分:0
  • 历史总积分:0
  • 注册:1900年1月01日
发表于:2006-05-10 11:01:00
4楼
用串口监控软件呀,其实台达的变频器专用监控软件CVFD就可很方便抓取总线上的数据,我们一般都用这个来抓数据,不过需要一个RS485转RS232的通讯模块,我们用的是台达IFD8500。下载网址:http://www.delta.com.tw/ch/product/em/ac_motor/ac_motor_software.asp

简单控制

  • 精华:1帖
  • 求助:1帖
  • 帖子:40帖 | 196回
  • 年度积分:28
  • 历史总积分:478
  • 注册:2004年12月08日
发表于:2006-05-10 20:04:00
5楼
现在数据的提取已经解决了,可是我在进行整数运算时,MUL D113 K256 D500为什么当D113的数值为130左右时,D500 的结果为负数。

lesing

  • 精华:1帖
  • 求助:0帖
  • 帖子:76帖 | 3076回
  • 年度积分:0
  • 历史总积分:5728
  • 注册:2005年4月13日
发表于:2006-05-11 08:06:00
6楼
因为你使用的是16位指令,所以该指令的操作数的D装置均为16bits,因此D500的最大值不能超过32767,当超过32767时,会显示负数,但如果你监控D500的32bit值就会发现它不是负数。仍然是正数。

piziy

  • 精华:2帖
  • 求助:0帖
  • 帖子:46帖 | 188回
  • 年度积分:0
  • 历史总积分:0
  • 注册:1900年1月01日
发表于:2006-05-12 19:11:00
7楼
楼上兄弟说的很对,乘出来的结果高位在D501

简单控制

  • 精华:1帖
  • 求助:1帖
  • 帖子:40帖 | 196回
  • 年度积分:28
  • 历史总积分:478
  • 注册:2004年12月08日
发表于:2006-05-14 15:17:00
8楼
我做的通讯是这样的:
 RS D100 K8 D110 K100
MUL D113 K256 D200
ADD D200 D114 D400
DIV D400 K100 D500
读取的寄存器是高低为互换的,成对出现,界面里显示D500的值
请问该如何处理?

新 手

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 48回
  • 年度积分:0
  • 历史总积分:90
  • 注册:2006年5月25日
发表于:2008-10-24 12:58:46
9楼

数值大于 32767(FFFF)了


热门招聘
相关主题

官方公众号

智造工程师