- {{item.name}}
STEP7中的时间、日期和定时器
- 0
- 1836
- 32397
1. 西门子自动化与驱动产品的在线技术支持
首先,建议您访问Siemens IA&DT&BT的产品与技术支持网站http://www.4008104288.com.cn/
图1
您还可以访问西门子(中国)自动化与驱动集团的主页https://www.industry.siemens.com.cn/,如下图所示。该网站同样可以提供大量的产品和系统的信息。
图2
2. 如何获得西门子自动化与驱动产品的资料
首先,建议您通过西门子技术资源库搜索并下载。
您还可以致电010-64763726索取资料。
另外,还有大量的手册可以通过分销商订购,和其它产品的订货方式一样。
3. 需设备选型及订货
如需设备选型及订货,请联系西门子自动化与驱动的销售工程师或当地西门子分销商。分销商联系方式可致电400-810-4288获得。
4. 西门子技术支持热线
如有无法自行解决的技术问题,请拨打西门子技术支持热线400-810-4288登记,等待西门子技术支持工程师回复。我们会在2小时内予以响应。
请注意在登记问题时尽量准确地描述所使用产品的类型,以便尽快得到负责该产品的工程师的帮助。
技术支持传真:010-64719991。
技术支持邮箱:4008104288.cn@siemens.com。
5. 西门子自动化产品的其它网站
http://www.ad.siemens.com.cn/products/as/s7_200/
提供S7-200 PLC相关知识及软件下载。
https://eb.automation.siemens.com/goos/WelcomePage.aspx?regionUrl=/cn&language=zh
查找西门子自动化与驱动的所有产品订货号、图片、及技术参数。
6. 缩写词含义
IEC:International Electrotechnical Commission,国际电工技术委员会
FAQ:Frequently Asked Questions,常见问题解答
7. 如何使用STEP 7软件的在线帮助
7.1某个关键字或功能
1.在STEP 7的主界面SIMATIC Manager中,点击下拉菜单Help下的Contents,打开STEP 7的在线帮助
图3
2.利用Index进行关键字的查找
图4
3.或者利用Search进行相关搜索
图5
7.2想了解某个FB/FC的功能及管脚的定义
将您想要调用的FB/FC调入到一个Network中,选中该FB/FC(用鼠标点击该FB/FC,外框变为绿色),如下图所示:
图6
按您计算机键盘上的F1功能键,就会跳出关于该FB/FC的功能及管脚定义的描述。如下图所示:
图7
您可以在该帮助信息中了解到该FB/FC的功能、参数的描述及所要求的数据类型、可能的错误信息等,有些还有例子程序。
8. STEP 7中有关时间、日期的数据类型
TIME:IEC time
S5TIME:SIMATIC time
DATE:IEC date
TIME_OF_DAY:time
DATE_AND_TIME:DT
各数据类型占用字长、格式及范围如下:
图8
9. 需要相关数据类型的详细描述
请在STEP 7的主界面SIMATIC manager中的Help下拉菜单中点击Contents,在下图所示的帮助界面中利用索引Index搜索关于相应的数据类型的描述。
图9
10. S5TIME (Time Duration) 的格式及访问
S5TIME的格式
S5TIME是用BCD码保存的,在数据存储区占用两个连续的字节。下图给出的例子中时间值为127,时基为1秒。
图10
当使用S5TIME时,定义数值的范围为0~999,而且要指明使用的时基。时基指定了时间单位。
S5TIME时基及相应的时间范围如下:
时基 | BCD码 | 时间范围 |
10 ms | 0 | 10 ms - 9 s 990 ms |
100 ms | 1 | 100 ms - 1 min 39 s 990 ms |
1 s | 10 | 1 s - 16 min 39 s |
10 s | 11 | 10 s - 2 hr 46 min 30 s |
表1
您可以采用如下两种格式定义时间值:1) W#16#wxyzo w = 时基 (即时间间隔或精度)o xyz = BCD格式的时间值这种方式只能用于STL编程。2) S5T#aH_bbM_ccS_dddMSo a = 小时, bb = 分钟, cc = 秒, dd = 毫秒o 这种情况下时基自动选择, 数值为该时基下取整去尾到下一个较低值。o 您可以输入的最大值为9,990 秒,或2H_46M_30S。
11. 通过上位机访问PLC中S5TIME类型的数据
如果想通过上位或触摸屏对PLC中S5TIME类型的参数进行设定,有如下方法:1、从上位机写整型数INT或实数REAL到PLC,首先该数值需包含以毫秒为单位的时间值,在写入PLC的数据存储区后,利用ITD(Integer to Double Integer)或RND(Real to Double Integer with Rounding Off)将该值转换为双整形,然后将该值写到类型为TIME的变量里,在程序中调用FC40,将TIME转换成S5TIME即可。2、从上位机写WORD到PLC,首先该数值需包含以某时基为单位的时间值,在写入PLC的数据存储区后,用Word Logic下的WOR_W指令将该值与其时基相或,再利用MOVE指令将得到的数值写入S5TIME类型的变量中。3、如果使用WinCC作为上位软件,或上位软件支持32位带符号浮点数,可以从上位写32位带符号浮点数到PLC中定义为TIME的变量,然后在程序中调用FC40,将TIME转换成S5TIME即可。例程参见 。 ( 1 KB )
12. S5TIME和TIME的转换
FC33用于S5TIME到TIME的转换。FC40用于TIME到S5TIME的转换。这两个块位于Libraries\Standard Library\IEC Function Blocks路径下,关于功能块的描述详见在线帮助。
13. DATE_AND_TIME的格式
当使用数据类型DATE_AND_TIME (DT) 时,将占用数据存储区的8个连续字节,以BCD码格式保存。该数据类型范围如下:
DT#1990-1-1-0:0:0.0 to DT#2089-12-31-23:59:59.999
下面举例说明1993年12月25日上午8时1分1秒23毫秒,星期四的语法结构,有两种格式:
• DATE_AND_TIME#1993-12-25-8:01:1.23• DT#1993-12-25-8:01:1.23下列IEC标准功能块进行与DATE_AND_TIME相关的操作:• 将DATE和TIME_OF_DAY (TOD) 结合起来,转换成DATE_AND_TIME (DT)。该功能块的管脚IN1必须在DATE#1990-01-01 到DATE#2089-12-31范围内。FC3: D_TOD_DT• 从DATE_AND_TIME 中取出DATE。FC6: DT_DATE• 从DATE_AND_TIME 中取出the day of the week,即星期几。FC7: DT_DAY• 从DATE_AND_TIME 中取出时间。FC8: DT_TOD下表给出了以1993年12月25日上午8点1分1秒23毫秒,星期四为例,在date and time 的八个字节中分别存储的内容:
字节 | 内容 | 例子 |
0 | Year | B#16#93 |
1. | Month | B#16#12 |
2. | Day | B#16#25 |
3. | Hour | B#16#08 |
4. | Minute | B#16#01 |
5. | Second | B#16#01 |
6. | MSEC 的后二位 | B#16#23 |
7. | MSEC 的高位 | B#16#0 |
(高4位) | ||
7 | Day of week | B#16#5 |
(低4位) | 1 = Sunday | |
2 = Monday | ||
... | ||
7 = Saturday |
表2
DATE_AND_TIME 允许的数值范围如下:
• 最小: DT#1990-1-1-0:0:0.0
• 最大: DT#2089-12-31-23:59:59.999
允许的范围 | BCD 码 | |
Year | 1990 - 1999 | 90h - 99h |
2000 - 2089 | 00h - 89h | |
Month | 01. Dez | 01h - 12h |
Day | Jan 31 | 01h - 31h |
Hour | 00 - 23 | 00h - 23h |
Minute | 00 - 59 | 00h - 59h |
Second | 00 - 59 | 00h - 59h |
Millisecond | 0 - 999 | 000h - 999h |
Day of week | Sunday - Saturday | 1h - 7h |
表3
14. STEP 7相关功能块调用例程
在STEP 7在线帮助中提供了下述SFC/FC的调用例程。查找该例程的方法如下:将SFC0/SFC1添加到某一个Network中,按您计算机键盘上的F1功能键,在See also中,可以看到该例子程序,以及该程序的描述。具体如下:
在组织块OB1中调用FC10,在FC10 中设置时间并读出。被调用的SFC/FC如下:
• SFC 0 "SET_CLK" 设置CPU时钟• SFC 1 "READ_CLK" 读出CPU时钟• FC 3 "D_TOD_DT"• FC 6 "DT_DATE"• FC 7 "DT_DAY"• FC 8 "DT_TOD"例程参见: 。
15. STEP 7中定时器的使用
15.1 S7 TIMER的使用
在STEP 7的Program elements中的Timers菜单下,提供了5种S7类型的Timer,调用方法同其它功能块。定时时间类型为S5TIME,访问方式见第10.章节的描述。每一款CPU所支持的S7类型的Timer的数量是一定的,具体数量参见产品手册。
15.2 IEC TIMER的使用
如果您在程序中要使用更多的定时器,建议您使用Libraries\Standard Library\System Function Blocks下的SFB3/SFB4/SFB5。SFB3~5使用的是IEC TIME,调用的次数计入该CPU所支持的Blocks的数量中。
16. 如何访问CPU的Clock Memory
在硬件配置时,需要设置CPU的属性。其中有一个选项为Clock Memory,选中选择框就可激活该功能,如下图所示:
图11
然后在Memory Byte中输入您想为该项功能设置的MB的地址即可,如MB10,则输入10即可。
Clock Memory的功能是在所定义的MB的各个位周期性地改变其二进制的值(脉宽—间歇比例为1:1)。
Clock Memory的各个位的周期及频率如下:
Bit | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
Period duration (s): | 2 | 01. Jun | 1 | 0.8 | 0.5 | 0.4 | 0.2 | 0.1 |
Frequency(Hz): | 0.5 | 0.625 | 1 | Jan 25 | 2 | 02. Mai | 5 | 10 |
表4
如果您在硬件配置里选择了该项功能,就可以在程序里调用,例如不同频率的方波。
关键词
S5TIME,DATE_TIME,定时器, Clock Memory
剩余80%未阅读,请登录后下载/查看文档
- 评论
-
分享
扫码分享
- 收藏 收藏
- 点赞 点赞
- 纠错 纠错
- step7中有关时间和定时器的使用和例程
- 如何同步操作面板与 S7-200/300/400 控制器的日期和时间(更新版)
- 如何用 SFC1 (READ_CLK) 读取时间和日期以及如何用 SFC0 (SET_CLK) 设定系统时间?
- 如何通过日期及时间事件触发存储变量/数据记录到 CSV 文件?
- 如何将定时器(Timer)的剩余时间转为浮点数(Real)?
- 如何在WinCC项目中监控S7 300/400 PLC中的定时器及计数器
- S7-SCL - 可用于从给定日期或者 CPU 硬件时钟的当前日期确定日历日和日历周的工具
- SIMATIC & SINAMICS:通过 PROFINET 实现两个控制器的分布式 I/O 和驱动 (共享设备) 日期 24.05.2012
- 如何在SCL中实现循环执行S_ODT定时器
- 如何在不使用 “S7 Timer”的条件下,为 “S7”创建一个定时器?
{{item.nickName}}