
Приложение D: Библиотеки CoDeSys
CoDeSys V2.3 10-53
Пример FBD:
Пример ST:
TOFInst(IN := VarBOOL1, PT:= T#5s);
VarBOOL2 :=TOFInst.Q;
RTC
Функциональный блок ‘часы реального времени’. После установки начального значения, RTC вы-
дает текущие время и дату.
RTC(EN, PDT, Q, CDT) Входы EN и PDT, выходы Q и CDT типов BOOL и DATE_AND_TIME со-
ответственно.
Пока EN равен FALSE, выход Q равен FALSE и CDT равен DT#1970-01-01-00-00:00:00.
При включении EN = TRUE в часы загружается время PD и начинается отсчет времени. На выходе
CDT. Если EN перейдет в FALSE, CDT сбросится в начальное значение DT#1970-01-01-00-
00:00:00. Обратите внимание, что установка времени PDT происходит по фронту.
Библиотека UTIL.LIB
Данная библиотека содержит дополнительный набор различных функций и функциональных бло-
ков, применяемых для BCD и бит/байт преобразований, дополнительных математических функ-
ций, а также регуляторов, генераторов и преобразований аналоговых сигналов.
Специальная версия этой библиотеки UTIL_NO_REAL не содержит функций и функциональных
блоков, использующих переменные типа REAL.
BCD преобразования
Байт, представленный в формате BCD, содержит числа от 0 до 99. Каждый десятичный знак зани-
мает 4 бита. Биты 4-7 содержат первую цифру – число десятков. Формат BCD подобен шестнадца-
теричному представлению с ограничением диапазона чисел 0..99 вместо 0.. FF.
Например: Преобразуем число 51 в BCD формат. 5 - это двоичное 0101, 1 - это 0001. В результате
получается байт 0101_0001.
BCD_TO_INT
Функция преобразует байт формата BCD в число типа INT.
Входной параметр функции типа BYTE и выход типа INT. Если входное значение не укладывает-
ся в формат BCD, функция возвращает -1.
Примеры ST:
i:=BCD_TO_INT(73); (* Результат 49 *)
k:=BCD_TO_INT(151); (*Результат 97 *)