如何运用S7-200的时钟指令,能实时记载当前时间断电恢复到初始值最好给个实例
最佳答案
1、关键是如何读系统时钟:
、CPU221、CPU222没有内置的实时时钟,需要外插“时钟/电池卡”才能获得此功能。CPU224、CPU226和CPU226 XM都有内置的实时时钟。
、 为了提高运算效率,应当避免每个程序周期都读取实时时钟。实际上可读取的最小时间单位是1秒,可每秒读取一次(使用SM0.5上升沿触发读取指令)。
、用编程软件(Micro/WIN)的菜单命令PLC > Time of Day Clock...,通过与CPU的在线连接设置,完成后时钟开始走动
、编用户程序使用Set_RTC(设置时钟)指令设置
、Micro/WIN可以通过任何编程连接实现实时时钟的设置。
使用 S7-200 的 READ_RTC(读取实时时钟)和 SET_RTC(设置实时时钟)指令时, 读取和设置的数据格式都是 BCD 码的。如果觉得不便计算、处理,可使用 Clock Integer 指令库。
Clock_Integer 指令库用于将 BCD 码格式的 S7-200 日期、时间转换为十进制整数格式,以及将十进制整数格式的日期、时间值设定为 S7-200 时钟。
、要使用 Clock_Integer 指令库,须遵循下列步骤:
取得 Clock_Integer 指令库文件,并添加到编程软件 STEP 7-Micro/WIN 中;
按照要求编写用户程序调用 Clock_Integer 指令库。
、请见《《西门子 S7-200·LOGO!·SITOP 参考》V0.92版(更新版)(2008.02.15) 》,其中有关如何读系统时钟及如何添加库指令的说明,下载:
http://www.ad.siemens.com.cn/download/searchResult.aspx?searchText=A0136
2、如何断电保持数据:
a、应用S7-200时,可以选用以下几种数据保持方法:
CPU的内置超级电容,断电时间不太长时,可以为数据和时钟的保持提供电源缓冲 。CPU上可以附加电池卡,与内置电容配合,长期为时钟和数据保持提供电源 。设置系统块,在CPU断电时自动保存M区中的14个字节数据 。在数据块中定义不需要更改的数据,下载到CPU内可以永久保存 。用户编程使用相应的特殊寄存器功能,将数据写入EEPROM永久保存 。
上述前三个数据保持功能都是在“系统块-数据保持”中设置。
b、按照1、关键是如何读系统时钟中所述的将时钟存入已设为断电保持的单元中.。当重新上电后,程序应用SM0.1(First_Scan_On 仅在首次扫描周期时接通)开始编程将保存在断电保持的单元中数据来设置时钟。设置时钟的指令见1、关键是如何读系统时钟中所述。
3、相关文档:
见《西门子S7--200的数据保持问题》下载:
http://www2.ad.siemens.com.cn/download/Upload/AS/faq/F0424.pdf
提问者对于答案的评价:
谢谢
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc302044.html