step7-pro
голосование
Чего не хватает сайту
поиска
новых статей
статей о подключении оборудования
примеров решения задач
форума
ничего не нужно
поиск


новости
Появился поиск по сайту. Обещаю его улучшить и сделать более адекватным
--------------11.10.11
Новая гостевая книга надеюсь избавит от спама. Еще немного и появится поис и многое другое
--------------11.07.11
C НАСТУПАЮЩИМ НОВЫМ ГОДОМ И РОЖДЕСТВОМ!
--------------30.12.10
Новые статьи по системным функциям и блокам
--------------25.12.10
Теперь у нас новый дизайн, конечно не супер но надеюсь всем понравиться
--------------05.12.10
Форум закрыт по причине ненадобности
--------------08.09.10
Гостевая книга временно отключена из спама
--------------15.10.10
Наш форум forum.step7-pro.ru общайтесь на здоровье!
--------------03.06.10
Наш сайт в twitter Вы сможете подписаться на рассылку новостей и узнавать о новых статьях на нашем сайте.
--------------20.03.10
После долгого перерыва наш сайт снова начал работать
--------------26.02.10
реклама

 

Установка времени с помощью 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, константа Возможные значения режима работы:
B#16#01: Установка времени суток
B#16#02: Установка TOD-статуса
B#16#03: Установка времени суток и TOD-статуса
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 за пределами разрешенного диапазона: некорректные значения даты и/или времени суток.

 

<-- Предыдущая статья   Следующая статья -->
сделано djoni политика конфидициальности Rambler's Top100