您现在的位置是:首页 > PLC技术 > PLC技术
PLC的时间程序功能
来源:艾特贸易2018-04-20
简介每个 SIMATIC CPU 都有一个时钟,可以设置也可以通过 STEP 7 或系统功能进行扫描。时间在用户程序中以 DATE_AND_TIME 的格式表示,包括日期、时间和星期。 版本 3 和更高版本的 CPU 也有时间
每个SIMATIC CPU都有一个时钟,可以设置也可以通过STEP 7或系统功能进行扫描。时间在用户程序中以DATE_AND_TIME的格式表示,包括日期、时间和星期。
版本3和更高版本的CPU也有时间状态。还可以根据时区的不同和冬令/夏令来设置。
下面的系统功能可以用作访问CPU的时钟功能。
●SFC 0SET_CLK,设置日期和时间。
●SFC 1READ_CLK,读日期和时间。
●SFC 48SNC_RTCB,同步从站时钟。
●SFC 100SET_CLKS,设置时间、日期和时钟状态。
系统功能参数列于表20-4中。
表20-4 用于CPU时钟的SFC参数
1.时间的设置和读取
调用SFC 0SET_CLK或SFC 100 SET_CLKS,用MODE=B#16#01或B#16#03设置PDT参数定义的时钟值。SFC 0 SET_CLK通过夏令/冬令时间ID标签设置CPU的冬令时间。通过SFC 100 SET_CLKS用SUMMER(夏令)参数来设定冬令(“0”)还是夏令(“1")。
SFC 1 READ_CLK读出当前时间,并存放在CDT参数里。以DATE_AND_TIME的形式来设置和读取时间,如日期和时间。
2.模块时间和当地时间
在CPU中的时间是模块时间,对于由CPU实现的一些过程定时控制具有决定性意义,如运行时间表、日历中断的启动或者在诊断缓冲区和OB启动信息中输入时间标志等。可以通过用于CPU时钟的系统功能设置和读取模块时间。
恰当设计的CPU会额外保存一个“时间状态”。这包含一个修正值,当加到模块时间时产生一个局部时间。修正值设定在30分钟的时间间隔里,可以是负数(SFC100 SET_CLKS的CORR参数)。
当地时间可以用来显示时区。
3.时间状态
在用STEP 7或SFC 100SET_CLKS设置CPU参数时,设定时间状态。通过系统状态表可以用SFC 51 RDSYSST来读取日期和时间状态(INDEX W#16#0008且SSL_ID=W#16#0132)。状态变量包括:
●30分钟的时间间隔的修正值(第2位到第6位)
●修正值符号(第7位)
●夏令/冬令时间ID(第14位)
●通知(announcement)时刻(第15位)
夏令/冬令时间ID示出了从模块时间和修正时间算出来的当地时间是夏令(“1”)还是冬令(“0”)。
如果通知时刻位状态为“1”,从夏令到冬令的转换会在下次时刻变化的时候执行。
为了在用户程序里控制定时过程,可以通过时间状态信息,从模块时间里产生一个当地时间。
在用户程序里,可加载块用来处理当地时间的夏令/冬令时间转换,特别是日历中断的启动要依靠当地时间(参阅“可加载时间块”)。
4.时间同步
在自动化操作网络里有多个子网交换数据的SIMATIC站,其中所有CPU时钟都可以同步。可以设置一个CPU的时钟为“主时钟”,并设定执行同步的时间段。可以把被同步的时钟设为“从时钟”。
同步可以在一个S7站内部通过通信总线(底板总线)或者在站之间通过MPI总线进行。这是在参数设置好的时间间隔里自动完成的。如果用SFC 0 SET_CLK或者SFC 100 SET_CLKS设置了一个主时钟,那么子网中的其他时钟就自动与该时钟值同步。
通过调用主时钟的SFC48 SNC_RTCB,可以使所有的从时钟独立于自动时间间隔而进行时钟同步。
如果主时钟没有日历状态,从时钟会以冬令时间同步。修正量是零,这样当地时间就与模块时间一致。
如果主时钟带日历状态,除了时间外,将传送完整的时间状态。这样,在时间网络中的全部的CPU就有了同样的当地时间(同样的时区)。
5.用STEP 7设置时间
在设置CPU的参数时,可以在属性窗口的“Diagnostics/clock”选项卡里设置同步模式(主时钟、从时钟或者都不是)和同步时间间隔。修正值是用来使时钟准确的。
如果编程设备连接到CPU,可以通过STEP 7来设置时间和时间状态。选择PLC-Diagnostics/settings→Set time ofday即可。在下一级对话框,可以把当地时间设成与模块时间不同,也可以设定夏令/冬令时间。时间状态在“Status”(状态)容器里。
6.可加载时间块
在StandardLibrary(标准库)的Miscellaneous Blocks(其他功能块)程序里有可加载块,用来在用户程序里选择夏令/冬令以及处理当地时间。
●FC 60LOG_TIME,决定当地时间
●FC 61 BT_LT,把模块时间转变为当地时间
●FC 62 LT_BT,变当地时间为模块时间
●FC 63S_LTINT,为当地时间设定日历中断
●FB 60 SET_SW,选择夏令/冬令时间
●FB 61SET_SW_S,用时间状态来选择夏令/冬令时间
●UDT 60WS_RULES,夏令/冬令时间选择的规则(如时间转换)
(作者稿费要求:需要高清无水印文章的读者3元每篇,请联系客服,谢谢!在线客服:)
点击排行
