Установка времени с помощью SFC0 "SET_CLK"
С помощью SFC0 "SET_CLK" (set system clock [установить системные часы]) Вы устанавливаете время суток и дату в часах CPU. Вызов SFC0 запускает часы. Затем часы ведут отсчет от установленных значений времени и даты. Если часы являются ведущими, то CPU при вызове SFC 0 также начинает синхронизацию времени. Интервалы синхронизации устанавливаются с помощью STEP 7.
Параметр | Описание | Тип данных | Область памяти | Характеристика |
---|---|---|---|---|
PDT | INPUT | DT | D,L | На входе PDT вводятся дата и время суток, которые Вы хотите установить. |
RET_VAL | OUTPUT | INT | I, Q, M, D, L | Если во время обработки функции появляется ошибка, то возвращаемое значение содержит код ошибки. |
Дата и время
Дата и время суток вводятся как тип данных DT. Пример: для установки 15-го января 1995 года, 10 час. 30 мин. и 30 секунд Вам следует ввести: DT#1995- 01-15-10:30:30. Время может быть введено только с точностью до секунд. День недели рассчитывается функцией SFC0 "SET_CLK" исходя из даты. Помните, что тип данных DT вначале должен быть образован с помощью FC 3 .D_TOD_DT., прежде чем Вы сможете передать ему входные параметры.
Информация об ошибках
Код ошибки (W#16#...) | Объяснение |
---|---|
0000 | Нет ошибок |
8080 | Ошибка в дате |
8081 | Ошибка во времени |
Считывание времени с помощью SFC1 "READ_CLK"
С помощью SFC 1 .READ_CLK. (read system clock [читать системные часы]) считываются текущая дата и время с системных часов CPU.
Параметр | Описание | Тип данных | Область памяти | Характеристика |
---|---|---|---|---|
RET_VAL | OUTPUT | INT | I, Q, M, D, L | Если при обработке функции появляется ошибка, то возвращаемое значение содержит код ошибки. |
CDT | OUTPUT | DT | D,L | На выходе CDT выводятся текущая дата и текущее время суток. |
SFC1 не выводит специфическую информацию об ошибках.
Синхронизация ведомых часов с помощью SFC48 "SNC_RTCB"
Под синхронизацией ведомых часов понимают передачу даты и времени суток от ведущих часов некоторого сегмента шины (например, K- шины S7- 400, MPI, задней шины S7) на все ведомые часы этого сегмента шины.
С помощью SFC 48 .SNC_RTCB. (synchronize real time clocks [синхронизация часов реального времени]) Вы синхронизируете все имеющиеся на сегменте шины ведомые часы. Предпосылкой успешной синхронизации является вызов SFC 48 в CPU, часы реального времени которого были назначены ведущими часами по крайней мере для одного сегмента шины. Соответствующие параметры назначаются с помощью STEP 7.
Синхронизация ведомых часов со стороны системы (циклически по истечении выбранного интервала времени) происходит независимо от вызовов SFC 48.
Параметр | Описание | Тип данных | Область памяти | Характеристика |
---|---|---|---|---|
RET_VAL | OUTPUT | INT | I, Q, M, D, L | Если при исполнении функции происходит ошибка, то возвращаемое значение содержит код ошибки. |
Информация об ошибках
Код ошибки (W#16#...) | Объяснение |
---|---|
0000 | При синхронизации ошибок не было. |
0001 | Имеющиеся часы не были назначены ведущими ни для одного сегмента шины. |
Установка времени суток и TOD-статуса с помощью SFC100 "SET_CLKS"
С помощью SFC 100 "SET_CLKS" осуществляется установка времени суток и TOD-статуса в CPU.
Если системное время CPU не синхронизировано, используйте функцию SFC 100 "SET_CLKS".
С помощью параметра MODE выбирается режим установки: будет ли изменено только время суток или только TOD-статус или оба параметра одновременно. Это показано в таблице ниже
Информация об ошибках
MODE (Режим) (B#16#...) | Объяснение |
---|---|
01 | Корректировка времени суток. Вызов функции аналогичен вызову функции SFC 0 "SET_CLK". Входные параметры CORR, SUMMER и ANN 1 не проверяются. |
02 | Установка TOD-статуса. Входной параметр PDT не проверяется. Остальные входные параметры формируют следующие компоненты TOD-статуса: • Величина коррекции, включая знак. • Ежечасный сигнал. • Индикатор летнего/зимнего времени Точность установки времени (дискрет) определяется CPU. Бит ошибки синхронизации TOD-статуса получает значение FALSE (ЛОЖЬ). Время суток не изменяется. |
03 | Изменяются и время суток, и TOD-статус. |
Вы можете переопределить текущее значение TOD-статуса CPU (by retrieving SSL-ID W#16#0132 Index W#16#0008 with SFC 51 "RDSYSST"). изменением SSL-ID W#16#0132 Index W#16#0008 с помощью функции SFC 51 "RDSYSST".
Параметр | Описание | Тип данных | Область памяти | Характеристика | ||||||
---|---|---|---|---|---|---|---|---|---|---|
MODE | INPUT | BYTE | I, Q, M, D, L, константа | Возможные значения режима работы:
|
||||||
PDT | INPUT | DT | D, L | Время, принимаемое по умолчанию | ||||||
CORR | INPUT | INT | I, Q, M, D, L, константа | Величина коррекции (по получасовой схеме). Возможные значения: -24 . +26 | ||||||
SUMMER | INPUT | BOOL | I, Q, M, D, L, константа | Индикатор летнего/зимнего времени: • 0 = Winter Time (зимнее время). • 1 = Summer Time (летнее время). |
||||||
ANN_1 | INPUT | BOOL | I, Q, M, D, L, константа | Ежечасный сигнал. | ||||||
RET_VAL | OUTPUT | INT | I, Q, M, D, L | Если при исполнении функции происходит ошибка, то возвращаемое значение содержит код ошибки. |
Информация об ошибках
Код ошибки (W#16#...) | Объяснение |
---|---|
0000 | Ошибок не было |
8080 | Значение MODE за пределами разрешенного диапазона |
8081 | Значение CORR за пределами разрешенного диапазона (только для MODE = B#16#02 или MODE = B#16#03). |
8082 | Значение PDT за пределами разрешенного диапазона: некорректные значения даты и/или времени суток. |
<-- Предыдущая статья | Следующая статья --> |