求助--Modbus通讯协议下,上位机监控软件采集时间不正常 点击:2504 | 回复:3



meirenyu

    
  • 精华:0帖
  • 求助:0帖
  • 帖子:1帖 | 3回
  • 年度积分:0
  • 历史总积分:16
  • 注册:2011年7月21日
发表于:2012-10-27 17:05:14
楼主

逛工控网有一阵子了,深知坛子里面大牛很多,小弟碰到一个蹊跷事,向各位大神求助。第一次发帖,描述可能不够精简,内容有点多,还请看客耐心看看,^_^

问题描述:

1.背景

我在做一个电机特性测试的项目。下位机选用西门子S7-200PLC,用于采集扭矩和转速信号,采用Step7-Micro/Win编写下位机的梯形图控制程序;上位机选用西门子工控机,在VS2010平台下采用C#编写监控界面。RS485的串口,Modbus通讯协议找人用C#编的。

2.问题由来

我在上位机软件中设置每隔1秒向PLC读取一次数据并添加到动态曲线控件中去,实现动态显示功能。蹊跷的是,我发现,实际的显示效果是1s1s1s1.5s1s1s1s1.5s1s... ...。也就是说,动态显示曲线时没有严格地按照程序代码里面设定的一秒采集一次的规则,出现了1.5s这种异常。后来我索性把采集时间改为2s,结果还是2s2s2s3s2s... ...这样地动态显示。

3.导致后果

这倒好了,我现在用万用表测测PLC输出给驱动器的电压,发现那个电压竟然也是在每隔几秒跳变一下,这直接就导致无刷直流电机转速忽快忽慢的。

写了这么多,我现在都不知道我要问什么了,凌乱啊。

总之,电机忽快忽慢是不正常的,我用Step7-Micro/Win的在线监控功能直接给PLC发命令的时候,电机就乖乖地稳定旋转,工作正常,不知道为什么到了上位机监控软件上来就出问题了。

求问:这种采集时间突变是怎么回事?

p.s. Modbus协议测试过了,应该没问题,而且采集的扭矩、转速、温度信号是正常的,也可以给PLC写位操作。下图是动态曲线的监控图




eviouks

  • 精华:0帖
  • 求助:0帖
  • 帖子:3帖 | 6回
  • 年度积分:0
  • 历史总积分:96
  • 注册:2017年4月11日
发表于:2012-10-27 17:24:00
1楼
具体可以去专业的网站看看啦:www.ksubt.com

abysmal

  • 精华:1帖
  • 求助:0帖
  • 帖子:13帖 | 2178回
  • 年度积分:6
  • 历史总积分:11194
  • 注册:2001年10月26日
发表于:2012-10-27 19:35:01
2楼

听你的描述,我还是比较怀疑Modbus驱动程序。

读写PLC固然正常,但是当你要求它一秒读一次时,它是不是在照办呢?

meirenyu

  • 精华:0帖
  • 求助:0帖
  • 帖子:1帖 | 3回
  • 年度积分:0
  • 历史总积分:16
  • 注册:2011年7月21日
发表于:2012-10-27 21:18:47
3楼
回复内容:
对:abysmal关于听你的描述,我还是比较怀疑Modbus驱动程序。读写PLC固然正常,但是当你要求它一秒读一次时,它是不是在照办呢?内容的回复:

有没有可能是,每隔一秒访问PLC的时候,恰巧到第四次的时候PLC没有来得及响应呢。我玩modbus协议的时间不长,这方面经验不足,呵呵,还请指教

热门招聘
相关主题

官方公众号

智造工程师