s7-200问题请教 点击:1378 | 回复:4



wb210xa

    
  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 91回
  • 年度积分:0
  • 历史总积分:118
  • 注册:2002年12月19日
发表于:2003-02-13 14:08:00
楼主
我使用s7-200plc控制一台设备,该设备运转速度非常快,大5000n/min;在每转一圈我要完成所有检测和控制,相当于所有检测和控制必须是1ms的基准,可plc中1ms的定时器只有两个,t32和t96。而系统中由于没有相应的到位信号,只能靠各种延时来做,1ms级定时器最少要十几个,我做了一个不停复位的1ms定时器,其他定时器的时间用基准定时器的时间计数来做,但是我担心程序执行时间过长,会造成控制失效,谁有更好的解决办法?请赐教。 wb210xa@hotmail.com



gongkongedit

  • 精华:1099帖
  • 求助:0帖
  • 帖子:14392帖 | 54470回
  • 年度积分:0
  • 历史总积分:622
  • 注册:2008年9月08日
发表于:2003-02-12 17:52:00
1楼
你好! 很冒昧说一下我的猜测。 1,“在每转一圈我要完成所有检测和控制”,你怎么知道它转了一圈? 2,你用的电机是同步电机吗?否则你靠定时怎能实现“在每转一圈我要完成所有检测和控制”? 3,即便是同步电机,在它的升速过程中,你不进行控制吗? 4,即便是同步电机,在它的升速过程中,你不进行控制,你从那一时刻开始控制? 你用s7-200plc的定时器的精度也不够啊! 误差累积起来肯定要错位,“实现不了在每转一圈我要完成所有检测和控制” 仅仅是我的猜测!

wb210xa

  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 91回
  • 年度积分:0
  • 历史总积分:118
  • 注册:2002年12月19日
发表于:2003-02-12 22:34:00
2楼
感谢赐教! 电机为同步电机,启动和停止过程不控制,等电机运转正常才控制。在电机运转的360度范围内,共分布了三个监测点和一个控制点。电机每转一周时间为12ms.相当于数据采集、控制必须在12ms内完成。每个监测点检测到数据后,到控制点进行相应的动作。监测点到控制点的距离用ms级的延时来控制。正如您所说,累计误差必然会影响控制精度。我也想到这一点了。更何况plc程序扫描一次的时间也超过了1ms,所以控制精度就可想而知了。偏偏就有人实现了。只不过设备没运行。控制精度更不得而知了,程序我也变好了。我现在的方法是:用一个1ms的定时器不停的定时,定时到后复归再定时,然后其他定时分别用计数器来做。计数器纪录标准定时器的上升沿信号。这样实现岩石。我知道方法有问题。可也没别的方法了。关于s7-200中的中断程序能否实现这马多的延时,我也没事过,不过,我担心可能没戏。谢谢指教。

gongkongedit

  • 精华:1099帖
  • 求助:0帖
  • 帖子:14392帖 | 54470回
  • 年度积分:0
  • 历史总积分:622
  • 注册:2008年9月08日
发表于:2003-02-13 10:21:00
3楼
楼上的兄弟,你没有必要利用时间中断来完成上述的控制,在S7-200中有输入中断,I0.0---I0.3,你的三个监测点和一个控制点可以利用他们进行实现,只要利用SM0.1做一个初始化就可以了,输入的快速响应时间可以在SYSTEM CONFIG 中进行设定!编完程序后空运转一下,最好程序的运行最长时间不要超过你的中断时间12ms。另外注意在中断中不能使用定时器。同时S7-200系列的PLC中有T32,T96两个定时器,另外还有两个毫秒级的定时中断,你可以利用!!!

wb210xa

  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 91回
  • 年度积分:0
  • 历史总积分:118
  • 注册:2002年12月19日
发表于:2003-02-13 14:08:00
4楼
多谢各位的帮助,因为程序中需要的1ms级的定时器太多,而程序中只能设定2个定时器,t32和t96,所以要想实现精确控制根本不可能。我已同硬件设计联系过,让他们改改设计,做起来更好点,延时只需两个,而且他们改动较少。谢谢各位的帮忙,

热门招聘
相关主题

官方公众号

智造工程师