西门子工控之家

工控之家联系方式
热门标签: 西门子 西门子PLC 西门子触摸屏 西门子模块 西门子变频器 西门子传感器 西门子低压电器
 

联系方式

  • 公司邮箱:
  • sales@btone-mro.com
  • 热线电话:
  • 020-62958688
  • 4006-822-663

使用CPU31xC高速计数功能,怎样实现计数值的断电保持

时间:2014-07-23 10:55:09   来源:http://www.china-siemens.cn/   

这篇文章主要介绍“使用CPU31xC高速计数功能,怎样实现计数值的断电保持”,仅供参考。

CPU31xC高速计数功能应用中,如何实现计数值的断电保持
 
       在CPU31xC高速计数功能的应用中,经常需要在CPU断电后保持当前计数值,以便在CPU重新上电后高速计数器可以从 保持的计数值继续计数。通过组态的方式不能直接实现计数值的断电保持功能(如果CPU断电后再上电,计数值会回到初始值,默认为“0”),需要通过编写用 户程序的方式来实现。
 
1. 基本原理
       实现计数值的断电保持主要是应用高速计数器的写装载值功能。所谓的写装载值就是将装载值作为起始计数值预先赋值给计数器,当计数器重新启动后,计数器将从设定的装载值开始计数。应用写装载值的功能,可以在CPU重新上电时将设置了断电保持功能的计数器值写回给计数器,这样计数器就可以从CPU断电之前的最后计数值开始计数了,也就实现了计数值的断电保持功能。
 
2. 程序实现
       有关CPU31xC高速计数功能的组态、编程与应用请参考《CPU31xC:工艺功能》手册或下载中心相关文档。文中涉及的具体组态和编程请参考附件里提供的例程(仅供应用中参考,不能直接用于实际的项目),这里不再详细说明。
根据图1的实现思路,计数值断电保持的程序实现步骤如下:
 
1、在OB1中调用系统功能块SFB47 COUNT。
 
2、在OB1中将读出的计数值COUNTVAL(MD40) 保存到CPU的断电保持地址区MD10 (MD10是断电保持存储区,M区的断电保持可以在CPU属性中设置)。注意,如果直接将COUNTVAL给到了CPU的断电保持地址区,那么可以忽略此步。
 
3、在OB100启动组织块中,编写程序将保存的保持地址区(MD10)的值作为装载值写给计数器的JOB_VAL(MD46)。
 
4、在OB100中写入装载值的作业号JOB_ID(MW44) = B#16#02,并置位写作业标志位JOB_REQ(M20.1)。
 
5、因为写作业功能需要多个周期才能完成,所以必须在OB1中通过判断写作业完成标志位JOB_DONE(M20.2)来将写作业标志位(M20.1)复位。注意,这里必须通过判断写完成标志位来复位写作业标志位,同时要避免在写标志没有完成的情况下启动计数器的运行,这会造成计数值断电保持功能的失败。
 
6、写装载值作业完成后,重新启动计数功能(重新打开软件门M20.0),可以看到计数值会从CPU断电之前保存的计数值开始继续计数。注意:这时计数器的装载值已经被设置为了断电前的计数值,每次重新启动计数器后会自动将这个装载值作为初始计数值,所以如果不想再使用这个装载值,则需要重新通过写装载值作业将装载值重新赋值。
 
3. 实验环境,软硬件环境如下:
软件:STEP7 V5.5 SP2
硬件:CPU314-2PN/DP (6ES7314-6EH04-0AB0) V3.3
 
       广州西门子plc官网囊括所有的西门子plc型号。广州西门子工控之家销售工程师诚心为广大顾客提供最专业的西门子plc选型和最的西门子plc价格,若有任何疑问,请联系西门子plc代理商,020-62958688。

相关热词搜索:CPU31xC高速计数功能 CPU31xC

关于我们

联系我们

电话: 020-62958688/ 4006-822-663
传真: 86-20-62950613
网站: www.china-siemens.cn
邮箱: sales@btone-mro.com
地址: 广州市黄埔区云埔工业区埔南路沧联工业园D栋D02

联系我们