首页 上一页 1 2 下一页 尾页

急!关于设备运行时间的问题 点击:3066 | 回复:32



liaphy

    
  • 精华:0帖
  • 求助:1帖
  • 帖子:7帖 | 95回
  • 年度积分:0
  • 历史总积分:257
  • 注册:2010年9月03日
发表于:2010-09-07 15:13:19
楼主

          现我有一设备,要求此设备运行到一定时间需要给上位机一个报警信号,提示需要更换润滑油,但设备厂家的要求是,新设备首次运行500小时需要更换一次润滑油,以后每3000小时则需要再次更换润滑油,现我有一VD变量存储设备运行时间,且已存如断电保存寄存器,请教,如何才能用最简单的方法实现以上功能;假设设备运行时间保存变量地址为VD100,报警信号为M10。希望能给出梯形图或STL程序,谢谢!




liaphy

  • 精华:0帖
  • 求助:1帖
  • 帖子:7帖 | 95回
  • 年度积分:0
  • 历史总积分:257
  • 注册:2010年9月03日
发表于:2010-09-07 15:15:12
1楼

问题补充:最好另外再用一变量保存此运行时间(因为此时间还需给上位机显示设备运行总时间),这样可以等加完润滑油后清零寄存器。

liaphy

  • 精华:0帖
  • 求助:1帖
  • 帖子:7帖 | 95回
  • 年度积分:0
  • 历史总积分:257
  • 注册:2010年9月03日
发表于:2010-09-07 15:16:04
2楼

广告真牛!见缝插针!

ye_w

  • 精华:21帖
  • 求助:1帖
  • 帖子:69帖 | 5217回
  • 年度积分:0
  • 历史总积分:46739
  • 注册:2002年4月17日
发表于:2010-09-07 15:35:05
3楼

建议使用定时中断来实现时间的累计,而不是使用定时器+计数器的方式。

比如使用SMB34,设置为250ms,执行4次就是1s。

云锋

  • 精华:1帖
  • 求助:4帖
  • 帖子:252帖 | 5541回
  • 年度积分:0
  • 历史总积分:30376
  • 注册:2005年6月24日
发表于:2010-09-07 15:57:14
4楼

将VD100 MOV到另一个区,然后将数值与500或3000比较后输出报警,并复位运行时间。

liaphy

  • 精华:0帖
  • 求助:1帖
  • 帖子:7帖 | 95回
  • 年度积分:0
  • 历史总积分:257
  • 注册:2010年9月03日
发表于:2010-09-07 16:03:16
5楼

楼上的定时中断如何实现?

云峰的与500或3000比较,复位时间,要考虑是500还是3000复位,因为首次报警和第二次以后时间并不相同,求具体实现方法。

ye_w

  • 精华:21帖
  • 求助:1帖
  • 帖子:69帖 | 5217回
  • 年度积分:0
  • 历史总积分:46739
  • 注册:2002年4月17日
发表于:2010-09-07 16:14:13
6楼

S7-200的系统手册好像有个定时中断采集模拟量的例子,你查一下。

 

找到了,2008年8月版本的P67

丁胜志

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 236回
  • 年度积分:2
  • 历史总积分:1712
  • 注册:2007年11月05日
发表于:2010-09-07 16:22:26
7楼

如果是西门子PLC,这问题很好解决,可以用SFC系统功能块,SFC0/1/2/3/4.楼主好像用三菱的,没有深入研究,不好意思。

jiaoanpeng

  • 精华:28帖
  • 求助:1帖
  • 帖子:327帖 | 15621回
  • 年度积分:0
  • 历史总积分:78592
  • 注册:2006年7月25日
发表于:2010-09-07 16:27:55
8楼

这个用软件提醒不太好把,首先时间间隔太长500小时、3000小时,会占用太多的存储器的空间,再者假如系统突然停电或需要修改程序等会造成系统重新计时。而且以这么长的时间间隔一年也加不了几次。因此还不如先算好日期记在本上,用人工提醒,我算了一下,500小时大约20天,因此到设备运行20天后,就加润滑油,3000小时更多了是125天,因此120天以后,加润滑油即可。

 

ye_w

  • 精华:21帖
  • 求助:1帖
  • 帖子:69帖 | 5217回
  • 年度积分:0
  • 历史总积分:46739
  • 注册:2002年4月17日
发表于:2010-09-07 16:28:11
9楼
引用丁胜志 的回复内容:

如果是西门子PLC,这问题很好解决,可以用SFC系统功能块,SFC0/1/2/3/4.楼主好像用三菱的,没有深入研究,不好意思。



楼主使用的S7-200系列的,你说的300/400的

liaphy

  • 精华:0帖
  • 求助:1帖
  • 帖子:7帖 | 95回
  • 年度积分:0
  • 历史总积分:257
  • 注册:2010年9月03日
发表于:2010-09-07 16:28:41
10楼
回复内容:
对:丁胜志 关于

如果是西门子PLC,这问题很好解决,可以用SFC系统功能块,SFC0/1/2/3/4.楼主好像用三菱的,没有深入研究,不好意思。

 


是西门子的,但具体如何实现呢,我对你说的系统功能块不是很熟悉。忘给予详解,不胜感激!


内容的回复:

liaphy

  • 精华:0帖
  • 求助:1帖
  • 帖子:7帖 | 95回
  • 年度积分:0
  • 历史总积分:257
  • 注册:2010年9月03日
发表于:2010-09-07 16:30:43
11楼
回复内容:
对:ye_w 关于

S7-200的系统手册好像有个定时中断采集模拟量的例子,你查一下。

 

找到了,2008年8月版本的P67

内容的回复:


在本例中,能否实现我题目中的要求呢。很遗憾,我实在是想不明白,哎,头大呀!求高手详解!万分感谢!

云锋

  • 精华:1帖
  • 求助:4帖
  • 帖子:252帖 | 5541回
  • 年度积分:0
  • 历史总积分:30376
  • 注册:2005年6月24日
发表于:2010-09-07 16:31:16
12楼
引用liaphy 的回复内容:

楼上的定时中断如何实现?

云峰的与500或3000比较,复位时间,要考虑是500还是3000复位,因为首次报警和第二次以后时间并不相同,求具体实现方法。



都要比较,至于首次,可以加一个VD100(总运行时间)与500的比较结果条件。时间小于500,即是首次运行。

ye_w

  • 精华:21帖
  • 求助:1帖
  • 帖子:69帖 | 5217回
  • 年度积分:0
  • 历史总积分:46739
  • 注册:2002年4月17日
发表于:2010-09-07 16:38:29
13楼
回复内容:
对:liaphy 关于回复内容:
对:ye_w 关于

S7-200的系统手册好像有个定时中断采集模拟量的例子,你查一下。

 

找到了,2008年8月版本的P67

内容的回复:


在本例中,能否实现我题目中的要求呢。很遗憾,我实在是想不明白,哎,头大呀!求高手详解!万分感谢!
内容的回复:


这样简单的程序就自己来折腾吧,关键是告诉你一些方法来实现你的功能。

liaphy

  • 精华:0帖
  • 求助:1帖
  • 帖子:7帖 | 95回
  • 年度积分:0
  • 历史总积分:257
  • 注册:2010年9月03日
发表于:2010-09-07 16:42:26
14楼

我的程序是这个,可以实现3000小时清零报警,但无法实现500小时清零报警,因为如果清零,第二次依然是500小时报警,望高手指点!!!

 

老愚者

  • 精华:1帖
  • 求助:0帖
  • 帖子:9帖 | 2253回
  • 年度积分:0
  • 历史总积分:10007
  • 注册:2006年8月20日
发表于:2010-09-07 16:46:02
15楼
        

liaphy

  • 精华:0帖
  • 求助:1帖
  • 帖子:7帖 | 95回
  • 年度积分:0
  • 历史总积分:257
  • 注册:2010年9月03日
发表于:2010-09-07 16:52:39
16楼
回复内容:
对:云锋 关于引用liaphy 的回复内容:

楼上的定时中断如何实现?

云峰的与500或3000比较,复位时间,要考虑是500还是3000复位,因为首次报警和第二次以后时间并不相同,求具体实现方法。


 


 

都要比较,至于首次,可以加一个VD100(总运行时间)与500的比较结果条件。时间小于500,即是首次运行。

 


问题是,现在要求的事必须换油完毕后才能解除报警,否则报警仍要存在,如果比较500,假设运行时间大于500而没有进行换油操作的话,报警不是就没有了,那报警不是就失去意义了?


内容的回复:

云锋

  • 精华:1帖
  • 求助:4帖
  • 帖子:252帖 | 5541回
  • 年度积分:0
  • 历史总积分:30376
  • 注册:2005年6月24日
发表于:2010-09-07 16:58:48
17楼

我的程序是这个,可以实现3000小时清零报警,但无法实现500小时清零报警,因为如果清零,第二次依然是500小时报警,望高手指点!!!

你不用清零VD100,将计时分别输出到VD100  VD104中,  首次运行VD100<=500,VD104>=500复位 VD104,并输出报警。

VD104重新计时,VD104>=3000时,复位VD104,并输出报警。 循环执行。

云锋

  • 精华:1帖
  • 求助:4帖
  • 帖子:252帖 | 5541回
  • 年度积分:0
  • 历史总积分:30376
  • 注册:2005年6月24日
发表于:2010-09-07 17:00:33
18楼

必须换油完毕后才能解除报警,否则报警仍要存在,

你置个位就OK啦。

liaphy

  • 精华:0帖
  • 求助:1帖
  • 帖子:7帖 | 95回
  • 年度积分:0
  • 历史总积分:257
  • 注册:2010年9月03日
发表于:2010-09-07 17:02:39
19楼
回复内容:
对:老愚者 关于
        

 


非常感谢老愚者。谢谢你的回答,但对你的程序我还是有两点疑问:

1、如果500小时没有清零而用户选择了关机操作,那下次再启动时候报警是不是就不会在显示(这是现场需要考虑的暂且先不说)

2、上位机清掉报警信号复位后,第三次3000小时报警如何实现?

再次感谢!


内容的回复:

liaphy

  • 精华:0帖
  • 求助:1帖
  • 帖子:7帖 | 95回
  • 年度积分:0
  • 历史总积分:257
  • 注册:2010年9月03日
发表于:2010-09-07 17:06:18
20楼
回复内容:
对:云锋 关于

我的程序是这个,可以实现3000小时清零报警,但无法实现500小时清零报警,因为如果清零,第二次依然是500小时报警,望高手指点!!!

你不用清零VD100,将计时分别输出到VD100  VD104中,  首次运行VD100<=500,VD104>=500复位 VD104,并输出报警。

VD104重新计时,VD104>=3000时,复位VD104,并输出报警。 循环执行。

内容的回复:

那循环执行,第三次时候是不是还是500小时就输出报警信号了?

热门招聘
相关主题

官方公众号

智造工程师
    首页 上一页 1 2 下一页 尾页