如何在S7300中实现时间累积及断电后继续计时? 点击:4178 | 回复:9



jzw103

    
  • 精华:0帖
  • 求助:0帖
  • 帖子:6帖 | 38回
  • 年度积分:0
  • 历史总积分:97
  • 注册:2009年4月23日
发表于:2010-10-24 13:58:02
楼主
例如:有两个电机 轮流运行,A运行2天后停止轮换到B运行,B 运行2天后轮换到A,工作中间暂停(断电)后恢复运行的话,运行时间承接原来时间继续累积,直至时间里累到2天。



ye_w

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

可以使用断电保持定时器

jzw103

  • 精华:0帖
  • 求助:0帖
  • 帖子:6帖 | 38回
  • 年度积分:0
  • 历史总积分:97
  • 注册:2009年4月23日
发表于:2010-10-24 17:31:22
2楼
引用ye_w 的回复内容:

可以使用断电保持定时器


西门子中那个定时器是断电保持的啊??

好像都没有断电保持的功能啊??

yuanle

  • 精华:0帖
  • 求助:0帖
  • 帖子:9帖 | 10208回
  • 年度积分:2747
  • 历史总积分:48332
  • 注册:2005年4月22日
发表于:2010-10-24 21:48:00
3楼
CPU属性中去设定需要保持的区域,DB默认保持。

Regards

wyb2866255

  • 精华:57帖
  • 求助:0帖
  • 帖子:148帖 | 2872回
  • 年度积分:1
  • 历史总积分:31450
  • 注册:2010年7月01日
发表于:2010-10-25 00:48:55
4楼

在S7-300的PLC硬件组态时设置时钟脉冲,比如用MB100作为时钟存储器,那么M100.5将产生频率为1HZ的秒脉冲输出,用它的前沿触发DB数据区的一个双字存储器(如DB1.DBD10)使其做加1运算。二日的时间为172800秒,将它转换为16进制数=2A300,用一比较指令将16进制数2A300与DB1.DBD10比较,如相等,比较器输出使一位开关置1(如M1.0=1),用它可完成你的控制要求。如编程有困难,提出来我可以帮你编程。

jzw103

  • 精华:0帖
  • 求助:0帖
  • 帖子:6帖 | 38回
  • 年度积分:0
  • 历史总积分:97
  • 注册:2009年4月23日
发表于:2010-10-25 10:15:15
5楼
引用wyb2866255 的回复内容:

在S7-300的PLC硬件组态时设置时钟脉冲,比如用MB100作为时钟存储器,那么M100.5将产生频率为1HZ的秒脉冲输出,用它的前沿触发DB数据区的一个双字存储器(如DB1.DBD10)使其做加1运算。二日的时间为172800秒,将它转换为16进制数=2A300,用一比较指令将16进制数2A300与DB1.DBD10比较,如相等,比较器输出使一位开关置1(如M1.0=1),用它可完成你的控制要求。如编程有困难,提出来我可以帮你编程。


谢谢,如果不麻烦我非常希望你能帮我把程序编一下,我现在想了半天还是不太明白。

彩云之滇东北

  • 精华:20帖
  • 求助:5帖
  • 帖子:107帖 | 2725回
  • 年度积分:0
  • 历史总积分:21121
  • 注册:2005年6月14日
发表于:2010-10-25 12:50:59
6楼

使用时钟来进行计算 

jzw103

  • 精华:0帖
  • 求助:0帖
  • 帖子:6帖 | 38回
  • 年度积分:0
  • 历史总积分:97
  • 注册:2009年4月23日
发表于:2010-10-25 17:14:43
7楼
引用彩云之滇东北 的回复内容:

使用时钟来进行计算 



SFC2么?他的精度是不是1小时啊?

wyb2866255

  • 精华:57帖
  • 求助:0帖
  • 帖子:148帖 | 2872回
  • 年度积分:1
  • 历史总积分:31450
  • 注册:2010年7月01日
发表于:2010-10-26 00:12:28
8楼

在S7-300的PLC硬件组态时设置时钟脉冲,用MB100作为时钟存储器,那么M100.5将产生频率为1HZ的秒脉冲输出。选用DB1.DBD20做加法器,DB1.DBD30置数为1,做加数用,DB1.DBD34置数为#16#2A300,即十进制数:172800(秒)表示二日的时间值,用它做比较值与DB1.DBD20的计数值比较,如DB1.DBD20值>=#16#2A300,表示时间到比较器输出为1,使DB1.DBX0.0=Q2.0=0(电机A停),DB1.DBX0.1=Q2.1=1(电机B运行)。。。DB1.DBD20及DB1.DBX0.0与DB1.DBX0.1位信号在PLC断电时,它能保持断电前的计数值及自身状态,复电后,程序将按断电前状态继续工作。详见下图:

jzw103

  • 精华:0帖
  • 求助:0帖
  • 帖子:6帖 | 38回
  • 年度积分:0
  • 历史总积分:97
  • 注册:2009年4月23日
发表于:2010-10-26 12:43:14
9楼
引用wyb2866255 的回复内容:

在S7-300的PLC硬件组态时设置时钟脉冲,用MB100作为时钟存储器,那么M100.5将产生频率为1HZ的秒脉冲输出。选用DB1.DBD20做加法器,DB1.DBD30置数为1,做加数用,DB1.DBD34置数为#16#2A300,即十进制数:172800(秒)表示二日的时间值,用它做比较值与DB1.DBD20的计数值比较,如DB1.DBD20值>=#16#2A300,表示时间到比较器输出为1,使DB1.DBX0.0=Q2.0=0(电机A停),DB1.DBX0.1=Q2.1=1(电机B运行)。。。DB1.DBD20及DB1.DBX0.0与DB1.DBX0.1位信号在PLC断电时,它能保持断电前的计数值及自身状态,复电后,程序将按断电前状态继续工作。详见下图:



谢谢,非常谢谢。


热门招聘
相关主题

官方公众号

智造工程师