您现在所在的是:

西门子SIEMENS

回帖:6个,阅读:17297 [上一页] [1] [下一页]
4377
lhw982117910
文章数:2204
年度积分:50
历史总积分:4377
注册时间:2004/2/11
发站内信
发表于:2009/8/30 15:32:13
#0楼
使用系统功能 SFC1 (READ_CLK)可以读出CPU的系统时间。在系统功能 SFC1 中的输出参数“CDT”接收的时间和日期的格式为“DATE_AND_TIME”。具有“DATE_AND_TIME”数据类型的时间和日期是以 BCD 码的格式存储在8个字节里。这种数据类型的转换范围是:

DT#1990-1-1-0:0:0.0 到 DT#2089-12-31-23:59:59.999
下表给出了实例表示2004年8月5日,星期四,8点12分5.250秒。 并且给出了每个字节所包含的时间和日期数据的内容。

附件
更多的关于“DATE_AND_TIME”数据类型的信息可以通过 STEP 7 在线帮助获得,如下:  

DATE_AND_TIME 数据类型的格式
rocky
4377
lhw982117910
文章数:2204
年度积分:50
历史总积分:4377
注册时间:2004/2/11
发站内信
发表于:2009/8/30 15:35:37
#1楼
下面的 STEP 7  程序(图  01)是通过地址寄存器 AR1 读时间和日期。 FC1 中调用系统功能 SFC1 读出 CPU 的当前时间。 小时和分钟可以显示在数字显示器上。
附件
说明:

   “LAR1  P##Date_Time”  

通过上面指令将临时变量“Date_Time”的起始地址被装载到地址寄存器 AR1 中。 通过间接寻址装载命令可以分别访问年、月、日、小时等。
例如:

   “L  B[AR1, P#3.0] //Read hours” (读取小时数)

读出的数据赋值给输出字节用于显示。

   T  "Hour"  // for AB3 (赋给输出字节 3)

由于字节 7 中 的高四位是用于表示毫秒的个位数值的,低四位是用于表示星期的,鉴于显示的原因,如图 01 例程中,使用语句“L  W#16#FFF0”和“L  B#16#F”分别通过字与(“UW”即“AW”)的操作指令将 AW6 和 AB8 输出地址中相应的值屏蔽掉。否则图 02 中 AW6 的值将显示为 W#16#7853(而 3 是表示星期数的),同样 AB8 的值将显示 B#16#53(5 表示毫秒值)。

在“监视/修改变量” 中您可以显示输出字节的数据。图  02 为“监视/修改变量”中对应 2004年8月24日,星期二,14点3分19.785秒的显示示例。
附件
rocky
4377
lhw982117910
文章数:2204
年度积分:50
历史总积分:4377
注册时间:2004/2/11
发站内信
发表于:2009/8/30 15:37:39
#2楼
用 SFC0 (SET_CLK)设定系统时钟的使用说明
使用  SFC0 “SET_CLK” (设定系统时钟)可以设定 CPU 的时间和日期。 CPU 的时钟将以设定的时间和日期运行。 用以下语句:

   “LAR1  P##Date_Time”  

临时变量“Date_Time”的起始地址被装载到地址寄存器 AR1 中。通过间接寻址指令将设定数据从功能块的输入变量(类型:字节)装载并传输到变量“DATE_AND_TIME”的中的年、月、日、小时等各自的字节中。
例如:

L  #Year


//输入变量,类型:字节
//输入变量“年”如, “B#16#05”表示 2005.

T  B[AR1,P#0.0]
//输入变量“Year”的内容传送到字节 0
//“DATE_AND_TIME”变量的字节0。

在例程中描述的如上您所看到的数据类型“DATE_AND_TIME”的格式。 更多的关于“DATE_AND_TIME”数据类型的信息可以通过 STEP 7 在线帮助获得,如下:

DATE_AND_TIME 数据类型的格式
随后调用 SFC0 ,在输入端“PDT”参数化的临时变量“Date_Time”的数值被传送到 SFC0。

附件
在“监视/修改变量” 中您可以指定时间和日期的值。输入的年、月、日等是在 OB1 中使用 MB0, MB1, MB2 等参数化的。图  04 给出了例子:2005年1月3日,星期一,16点26分40.20秒。
附件
rocky
1565
幻雪
文章数:306
年度积分:50
历史总积分:1565
注册时间:2007/6/20
发站内信
发表于:2009/8/30 15:52:15
#3楼
详细拜读了,非常感谢 等不能传大图 或者把程序上传一下?谢谢!我觉得我可能是有点 BEN的-------------
从此走天涯!
4377
lhw982117910
文章数:2204
年度积分:50
历史总积分:4377
注册时间:2004/2/11
发站内信
发表于:2009/8/30 16:02:23
#4楼
千万不要说这个字.知识是死的,人是活的.我相信只要多用时间去摸索,多实践,人总是会不断进步的.所以动动脑筋,多试试.
rocky
1565
幻雪
文章数:306
年度积分:50
历史总积分:1565
注册时间:2007/6/20
发站内信
发表于:2009/9/2 13:38:39
#5楼
我发现了 地址用    DB11.符号    就行 好像不能直接用地址  DB11.DBX0就不行   好奇怪呀
从此走天涯!
50
压机老李TnNp
文章数:1
年度积分:50
历史总积分:50
注册时间:2019/4/15
发站内信
发表于:2019/4/15 22:38:54
#6楼
以下是引用lhw9821179102009/8/30 15:37:39的发言:
用 SFC0 (SET_CLK)设定系统时钟的使用说明
使用  SFC0 “SET_CLK” (设定系统时钟)可以设定 CPU 的时间和日期。 CPU 的时钟将以设定的时间和日期运行。 用以下语句:

   “LAR1  P##Date_Time”  

临时变量“Date_Time”的起始地址被装载到地址寄存器 AR1 中。通过间接寻址指令将设定数据从功能块的输入变量(类型:字节)装载并传输到变量“DATE_AND_TIME”的中的年、月、日、小时等各自的字节中。
例如:

L  #Year


//输入变量,类型:字节
//输入变量“年”如, “B#16#05”表示 2005.

T  B[AR1,P#0.0]
//输入变量“Year”的内容传送到字节 0
//“DATE_AND_TIME”变量的字节0。

在例程中描述的如上您所看到的数据类型“DATE_AND_TIME”的格式。 更多的关于“DATE_AND_TIME”数据类型的信息可以通过 STEP 7 在线帮助获得,如下:

DATE_AND_TIME 数据类型的格式
随后调用 SFC0 ,在输入端“PDT”参数化的临时变量“Date_Time”的数值被传送到 SFC0。

附件
在“监视/修改变量” 中您可以指定时间和日期的值。输入的年、月、日等是在 OB1 中使用 MB0, MB1, MB2 等参数化的。图  04 给出了例子:2005年1月3日,星期一,16点26分40.20秒。
附件
有用,好谢谢!
此帖发自手机工控论坛

关于我们 | 联系我们 | 广告服务 | 本站动态 | 友情链接 | 法律声明 | 非法和不良信息举报

工控网客服热线:0755-86369299
版权所有 工控网 Copyright©2025 Gkong.com, All Rights Reserved

62.4004