Счетчики рабочего времени
Контроллеры имеют в своем распоряжении несколько счетчиков рабочего времени (смотрите технические данные своего контроллера). С помощью SFC 2, 3 и 4 можно устанавливать и считывать значения счетчиков рабочего времени, а также их останавливать.
Вы можете использовать счетчик рабочего времени для самых разных приложений:
- для измерения продолжительности работы контроллера
- для измерения продолжительности работы управляемой аппаратуры или подключенных устройств
Характеристики счетчика рабочего времени
При запуске счетчик рабочего времени начинает считать, начиная с последнего записанного значения. Если нужно, чтобы он начал с другого начального значения, то необходимо установить это значение с помощью SFC2. Если CPU переходит в состояние STOP или Вы останавливаете счетчик рабочего времени, то CPU регистрирует текущее значение счетчика. Когда выполняется теплый или холодный рестарт CPU, нужно вновь запустить счетчик рабочего времени с помощью SFC3.
Каждый счетчик рабочего времени имеет диапазон значений от 0 до 32 767 часов.
Установка счетчика рабочего времени с помощью SFC2 "SET_RTM"
С помощью SFC 2 .SET_RTM. (set run.time meter [установить счетчик рабочего времени]) счетчик рабочего времени CPU устанавливается на выбранное значение. Количество счетчиков рабочего времени, которое можно установить, зависит от используемого вами CPU.
Параметр | Описание | Тип данных | Область памяти | Характеристика |
---|---|---|---|---|
NR | INPUT | BYTE | I, Q, M, D, L, константа | Вход NR содержит номер счетчика рабочего времени, который Вы хотите установить (возможные значения: от 0 до 7) |
PV | INPUT | INT | I, Q, M, D, L, константа | Вход PV содержит установку для счетчика рабочего времени (по умолчанию) |
RET_VAL | OUTPUT | INT | I, Q, M, D, L | Если при исполнении функции происходит ошибка, то возвращаемое значение содержит код ошибки. |
Информация об ошибках
Код ошибки (W#16#...) | Объяснение |
---|---|
0000 | Нет ошибок |
8080 | Неправильный номер счетчика рабочего времени |
8081 | Параметру PV было передано отрицательное значение |
Запуск и останов счетчика рабочего времени с помощью SFC3 "CTRL_RTM"
С помощью SFC 3 .CTRL_RTM. (control run.time meter [управление счетчиком рабочего времени]) Вы можете запускать или останавливать счетчик рабочего времени CPU.
Параметр | Описание | Тип данных | Область памяти | Характеристика |
---|---|---|---|---|
NR | INPUT | BYTE | I, Q, M, D, L, константа | Вход NR содержит номер счетчика рабочего времени, который Вы хотите запустить или остановить (возможные значения: от 0 до 7) |
S | INPUT | BOOL | I, Q, M, D, L, константа | Вход S запускает или останавливает счетчик рабочего времени. Установите состояние сигнала на .0., когда Вы хотите остановить счетчик. Установите состояние сигнала на .1., когда Вы хотите запустить счетчик |
RET_VAL | OUTPUT | INT | I, Q, M, D, L | Если во время обработки функции происходит ошибка, то возвращаемое значение содержит код ошибки |
Информация об ошибках
Код ошибки (W#16#...) | Объяснение |
---|---|
0000 | Нет ошибок |
8080 | Неправильный номер счетчика рабочего времени |
Считывание значения счетчика рабочего времени с помощью SFC4 "READ_RTM"
С помощью SFC 4 .READ_RTM. (read run.time meter [считать значение счетчика рабочего времени]) Вы считываете значения счетчика рабочего времени. SFC 4 в качестве выходных данных выдает текущее время счета и состояние счетчика, т.е. .остановлен. или .считает. Если проходит более 32767 часов, то счетчик останавливается на значении 32767 и выводит сообщение об ошибке .overflow [переполнение].
Параметр | Описание | Тип данных | Область памяти | Характеристика |
---|---|---|---|---|
NR | INPUT | BYTE | I, Q, M, D, L, константа | Вход NR содержит номер счетчика рабочего времени, значение которого Вы хотите прочитать (возможные значения: от 0 до 7) |
RET_VAL | OUTPUT | INT | I, Q, M, D, L | Если во время обработки функции происходит ошибка, то возвращаемое значение содержит код ошибки |
CQ | OUTPUT | BOOL | I, Q, M, D, L | Выход CQ указывает, работает счетчик рабочего времени или остановлен. Состояние сигнала .0. указывает, что счетчик рабочего времени остановлен. Состояние сигнала .1. указывает, что счетчик рабочего времени работает |
CV | OUTPUT | INT | I, Q, M, D, L | Выход CV указывает текущее значение счетчика рабочего времени |
Информация об ошибках
Код ошибки (W#16#...) | Объяснение |
---|---|
0000 | Нет ошибок |
8080 | Неправильный номер счетчика рабочего времени |
8081 | Переполнение счетчика рабочего времени |
Считывание системного времени с помощью SFC64 "TIME_TCK"
С помощью SFC 64 .TIME_TCK. (time tick [такт времени]) можно прочитать системное время CPU. Системное время - это счетчик времени, который считает циклически от 0 до максимума в 2147483647 мс. В случае переполнения системного времени счет ведется опять от нуля. Разрешение и точность системного времени составляют 1 мс для S7-400 и CPU 318 и 10 мс для всех остальных CPU S7-300. Системное время находится под воздействием только рабочих режимов CPU.
Применение
Можно использовать системное время, например, для того, чтобы измерять длительность процессов путем сравнения результатов двух вызовов SFC 64 и тем самым убедится что Ваш процесс укладывается в нормативы рассчитанные вами.
Системное время и режимы работы
Режим работы | Системное время... |
Startup (Запуск) | обновляется постоянно |
RUN | |
STOP | останавливается и сохраняет текущее значение |
Горячий рестарт (нет в S7-300 и S7-400 H) | продолжается от значения, сохраненного при переходе в STOP |
Теплый рестарт | стирается и начинается опять с "0" |
Холодный рестарт |
Параметр | Описание | Тип данных | Область памяти | Характеристика |
---|---|---|---|---|
RET_VAL | OUTPUT | TIME | I, Q, M, D, L | Параметр RET_VAL содержит считанное системное время в диапазоне от 0 до 231-1 мс. |
Информация об ошибках
SFC64 "TIME_TCK" не предоставляет информации об ошибках.
<-- Предыдущая статья | Следующая статья --> |