需要读出CPU315-2DP的系统时钟,与设定的时间作比较,然后出各班的报表数据.docx_第1页
需要读出CPU315-2DP的系统时钟,与设定的时间作比较,然后出各班的报表数据.docx_第2页
需要读出CPU315-2DP的系统时钟,与设定的时间作比较,然后出各班的报表数据.docx_第3页
需要读出CPU315-2DP的系统时钟,与设定的时间作比较,然后出各班的报表数据.docx_第4页
需要读出CPU315-2DP的系统时钟,与设定的时间作比较,然后出各班的报表数据.docx_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

今天遇一用户,需要读出CPU315-2DP的系统时钟,与设定的时间作比较,然后出各班的报表数据。可用户就是不理解Date_And_Time的数据类型,在程序里怎么写,都是红色的,郁闷死了,客户自己说都弄一天了,说了很多和技术不相关的内容,用户最后的要求就是一步一步教他怎么做。没办法,谁让咱们的数据类型如此“复杂”呢?不过虽然读取和设置系统时钟很简单,总会有人问,如何用SFC0和SFC1来设置和读取时钟,今天就和大家说一说。首先Date_And_Time是一复杂数据类型,包含8个字节,Byte0Byte7对应年、月、日、时、分、秒、毫秒、星期,对应关系如下表所示:Byte6和Byte7的高4位组合成毫秒,格式是BCD码,Byte6是高位,Byte7是低位我们可以在DB块里定义time1和time2变量,数据类型是DATE_AND_TIME,如下图:在符号表中定义DB1的符号名为system-time,如下图:然后调用SFC0和SFC1就可以了,大家可以参考下面的程序(可以将程序拷贝到Step7中,然后可以转成梯形图程序),具体使用时间时可以直接寻址DB1.DBB0 年 DB1.DBB7(低4位) 星期,DB1.DBB8 年 DB1.DBB15(低4位) 星期。(这段程序和用户解释了很长时间,用户就是理解不了,难啊。)OB1:Main Program Sweep (Cycle)Network1: A M 10.0 JNB _001 CALL SFC 0 PDT :=system-time.time1 RET_VAL:=MW100 _001: NOP 0Network2: CALL READ_CLK RET_VAL:=MW102 CDT :=system-time.time2 NOP 0因为客户用SFC1读取时钟不是很清楚,还有就是他对时间误差的要求到分就可以,所以推荐一种简单的方法,不知大家之前用过没有,就是使用OB1的临时变量OB1_DATE_TIME(在OB1的Interface TEMP中可以找到),此变量也是DATE_AND_TIME的数据类型,对应的临时变量地址是LB12 LB19,同样对应年 星期,符合上面表格中的结构,我们只需要使用Move指令就可以得到PLC的系统时间了。例如我们可以将LD12 Move 到MD0、LD16 Move 到MD4中,然后在程序中寻址MB0 MB7就可以了。您可以参考下面的程序(可以将程序拷贝到Step7中,然后可以转成梯形图程序)。需要注意,OB1临时变量读出的时间会受OB1扫描周期的影响,例如OB1扫描周期是15ms左右,那么从OB1中读出的时间精度应该就是15ms左右。OB1:Main Program Sweep (Cycle)Network1: A( L LD 12 T MD 0 SET SAVE CLR A BR ) JNB _002 L LD 16 T MD 4 _002: NOP 0如果需要设置系统时钟,还需要使用SFC0来实现。客户使用此种方法很快就解决了问题,当然有简单的方式就是用简单的方式了。我也郁闷,难道真是Step7程序太复杂了,可能吧,哈哈,多学习就会越来越简单,而且会越来越灵活。用户朋友们,让咱们一起努力,让我们的技术越来越好,经验越来越丰富。 2010-11-24 11:03:27 楼主 Zaehler 游侠经验值: 362 发帖数: 163 金币: 212所发精华帖 主题:回复:来自西门子技术支持热线的故事:如何利用OB1的临时变量读取CPU系统时钟 哈哈,刚好正在用OB1里的Date_time,正看帮助呢,扫了一眼论坛,看到此帖,谢谢Lz了。另看了此帖我觉得有2点总结:1.弄清楚Step7里的数据类型很重要,不论Timer,Counter还是Date_time,都对应了不同长度不同格式的基本数据类型 2.灵活运用这些数据类型。浅薄之见,说的不很明白,大家见谅。 2010-11-24 11:20:371 楼 smarteye 游民经验值: 289 发帖数: 187 金币: 159所发精华帖 主题:回复:来自西门子技术支持热线的故事:如何利用OB1的临时变量读取CPU系统时钟 谢谢楼主,不错的学习资料。再用系统时钟完成任务的时候能事半功倍 2010-11-25 23:05:242 楼 lxcdl 游民经验值: 51 发帖数: 49 金币: 51博客所发精华帖 主题:回复:来自西门子技术支持热线的故事:如何利用OB1的临时变量读取CPU系统时钟 谢谢楼主了,好资料,比较常用的功能 2010-11-27 10:45:233 楼 liwenqun 侠圣经验值: 6550 发帖数: 5204 金币: 850所发精华帖 主题:回复:来自西门子技术支持热线的故事:如何利用OB1的临时变量读取CPU系统时钟 只要能想着数据和数据类型对应 那么就能够用 可是 好多人很容易把数据和数据类型搞混淆 2010-11-27 19:25:114 楼 Jomin 新手经验值: 9 发帖数: 1 金币: 9博客所发精华帖 主题:回复:来自西门子技术支持热线的故事:如何利用OB1的临时变量读取CPU系统时钟 有用. 凡是无绝对 2010-11-28 11:56:275 楼 冲殿 游民经验值: 81 发帖数: 17 金币: 81所发精华帖 主题:回复:来自西门子技术支持热线的故事:如何利用OB1的临时变量读取CPU系统时钟 太有用了,希望看到更多的例子。 2010-12-05 00:55:2310 楼 zhjiee 新手经验值: 19 发帖数: 2 金币: 19所发精华帖 主题:回复:来自西门子技术支持热线的故事:如何利用OB1的临时变量读取CPU系统时钟 300,400编程确实难学。 2010-12-06 14:24:4312 楼 300小小生 侠客经验值: 697 发帖数: 558 金币: 182所发精华帖 主题:回复:来自西门子技术支持热线的故事:如何利用OB1的临时变量读取CPU系统时钟 学习了,但如果在线的话在STEP7-PLC-诊断/设置-设置时钟,这里也可以直接设置模块时间的,这和使用SFC 0 SET_CLK (设定系统时钟)有什么区别吗 学无止境 2010-12-07 14:43:2613 楼 machine999 新手经验值: 4 发帖数: 1 金币: 4博客所发精华帖 主题:回复:来自西门子技术支持热线的故事:如何利用OB1的临时变量读取CPU系统时钟 我以前是用中断做的 2010-12-08 09:03:3214 楼 fwf 新手经验值: 32 发帖数: 6 金币: 32博客所发精华帖 主题:回复:来自西门子技术支持热线的故事:如何利用OB1的临时变量读取CPU系统时钟 如果db1 sysbol name不定义为system-time,程序输入Date_And_Time的数据类型会出现红色,是什么原因?sysbol name定义有什么要求?谢谢! 2010-12-08 21:05:5415 楼 wumingshi 侠客经验值: 848 发帖数: 609 金币: 418所发精华帖 主题:回复:来自西门子技术支持热线的故事:如何利用OB1的临时变量读取CPU系统时钟 谢谢,值得学习 2010-12-08 22:14:3016 楼 format 游民经验值: 250 发帖数: 182 金币: 150所发精华帖 主题:回复:来自西门子技术支持热线的故事:如何利用OB1的临时变量读取CPU系统时钟 quote: 以下是引用fwf在2010-12-08 21:05:54的发言: 如果db1 sysbol name不定义为system-time,程序输入Date_And_Time的数据类型会出现红色,是什么原因?sysbol name定义有什么要求?谢谢! 1.红色原因是没有system-time的信息2.如果你不定义就直接输入db1, 学习 2010-12-11 19:54:3817 楼 柴刀 侠客经验值: 602 发帖数: 143 金币: 112所发精华帖 主题:回复:来自西门子技术支持热线的故事:如何利用OB1的临时变量读取CPU系统时钟 长见识了!谢谢! 2010-12-13 00:41:4318 楼 xu74 游民经验值: 289 发帖数: 236 金币: 29所发精华帖 主题:回复:来自西门子技术支持热线的故事:如何利用OB1的临时变量读取CPU系统时钟 有用 2010-12-14 10:18:5719 楼 无秋 新手经验值: 10 发帖数: 3 金币: 10所发精华帖 主题:回复:来自西门子技术支持热线的故事:如何利用OB1的临时变量读取CPU系统时钟 各老师好; 我是一个刚学者,我对,功能中的输入、输出变量,即int_Output;还有临时变TEMP,不明白,也不道如何使用,哪位老师能给解析下,或举个例子,谢谢! 2010-12-14 14:28:1820 楼 善待自己 新手经验值: 39 发帖数: 50 金币: 39所发精华帖 主题:回复:来自西门子技术支持热线的故事:如何利用OB1的临时变量读取CPU系统时钟 太好了,值得学习人之初,性本善 2010-12-18 10:16:2921 楼 ALTINTOP 游侠经验值: 578 发帖数: 364 金币: 228所发精华帖 主题:回复:来自西门子技术支持热线的故事:如何利用OB1的临时变量读取CPU系统时钟 很强大!期待更多关于STEP7里的复杂数据类型实例。 须认真 当务实 应乐观 要进取 2010-12-19 23:27:0522 楼 lee nd2009 游侠经验值: 414 发帖数: 264 金币: 314所发精华帖 主题:回复:来自西门子技术支持热线的故事:如何利用OB1的临时变量读取CPU系统时钟 谢谢,值得好好学习 2010-12-22 13:12:5623 楼 叄少 游侠经验值: 514 发帖数: 404 金币: 354所发精华帖 主题:回复:来自西门子技术支持热线的故事:如何利用OB1的临时变量读取CPU系统时钟 很好 谢谢专

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论