Автоматизация измерений, контроля и испытаний. Лабораторный практикум. Учебное пособие
.pdfизмеряемых ими физических величин. Диапазон значений от 0 до |
|
||||||||
9990, значение по |
умолчанию– |
10. |
Установка |
значения «0» |
|
||||
отключает |
фильтр. |
Процедура фильтрации заключается в том, |
|
||||||
что |
из |
текущих |
измерений |
входных |
пара |
||||
отфильтровываются значения, имеющие выраженные «провалы» |
|
||||||||
или «выбросы». Для |
этого |
прибор |
непрерывно |
вычисляет |
|
||||
разность |
между |
|
результатами |
двух |
последних |
измерений |
|||
входного |
параметра |
и сравнивает |
ее с |
заданным предельным |
|
||||
отклонением (параметром «Полоса фильтра»). Если вычисленная разность превышает заданный предел, то результат, полученный в последнем цикле опроса, считается недостоверным, дальнейшая
обработка его приостанавливается и производится повторное измерение. Если недостоверный результат был вызван воздействием помехи, то повторное измерение подтвердит этот факт и ложное значение аннулируется;
− «Пост.Фильтра {N}» («Постоянная времени фильтра») – интервал, в течение которого изменение выходного сигнала
фильтра достигает 0,63 от изменения входного сигнала. Задается |
|
||||||
в секундах для каждого входа; диапазон значений от 0 до 1800, |
|
||||||
значение по умолчанию– 5. Увеличение значения постоянной |
|
||||||
времени |
фильтра |
улучшает |
помехозащищенность |
канала |
|||
измерения, но одновременно увеличивает его инерционность, то |
|
||||||
есть реакция прибора на быстрые изменения входной величины |
|
||||||
замедляется. Установка значения «0» отключает фильтр. |
|
||||||
|
|
Задания |
|
|
|
|
|
1. |
Сформировать |
|
входные |
|
конфигурационные |
||
переменные |
для |
работы |
63ПЛК-PPPPУУ |
со |
следующими |
||
устройствами: |
|
|
|
|
|
|
|
2. |
Сформировать |
выходные |
|
конфигурационные |
|||
переменные |
для |
работы |
63ПЛК-PPPPУУ |
со |
следующими |
||
устройствами.
21
Порядок выполнения работы
1.В соответствии с указанными в задании устройствами формируем их описание. Описание должно включать название, внешний вид, марку, тип выходного сигнала (для датчиков) или тип входного сигнала(для исполнительных устройств) и погрешность (для датчиков).
2.Создаем проект нажатием кнопки«Создать» на панели основного меню главного окна. В диалоговом окне«Настройки
целевой |
платформы» |
выбираем |
тип |
промышленного |
||
контроллера, |
для |
которого |
будет |
написана |
управляющая |
|
программа. Затем подтверждаем настройки целевой платформы. В диалоговом окне«Настройки целевой платформы» выбираем тип промышленного контроллера PLC-63L. Затем подтверждаем настройки целевой платформы.
3.В диалоговом окне«Новый программный компонент (POU)» выбираем язык реализацииFBD и подтверждаем настройки основного программного компонента.
4.Во вкладке «Ресурсы» организатора объектов выбираем пункт меню «Конфигурация ПЛК». Например:
5. Затем обозначаем входную конфигурационную переменную для датчика с дискретным выходным сигналом.
22
Например:
6. Обозначаем входную конфигурационную переменную для датчика с аналоговым выходным сигналом, при этом указываем тип сигнала. Например:
7. Обозначаем выходные конфигурационные переменные для исполнительных устройств, указанных в задании, в соответствии с конфигурацией ПЛК. Например:
23
8. Далее компилируем проект(во вкладке ПРОЕКТ выбираем действие «Компилировать все»).
Содержание отчета
1.Задание.
2.Цель работы.
3.Порядок выполнения (со скриншотами результатов при работе с CoDeSys).
4.Выводы.
Контрольные вопросы
1.Что такое конфигурационные переменные?
2.Особенности конфигурирования модуля DInputs.
3.Особенности конфигурирования модуля Outputs.
4.Особенности конфигурирования модуля AInputs.
5.Как проводится фильтрация входного сигнала в модуле
AInputs?
Лабораторная работа № 4.
ПРЕОБРАЗОВАНИЕ ТИПОВ ДАННЫХ В СРЕДЕ ПРОГРАММИРОВАНИЯ CoDeSys
Цель |
работы: |
овладение |
приемами |
и |
навыками |
|
преобразования |
типов |
данных |
для |
проектов |
в |
ср |
программирования CoDeSys. |
|
|
|
|
||
Теоретические сведения
Явное преобразование типов
Неявное преобразование данных из‘большего’ типа в ‘меньший’ запрещено стандартом (например, из INT в BYTE или DINT в WORD). Если подобное преобразование действительно необходимо, оно должно быть выражено . Яявныео преобразования работают практически для всех базовых типов данных.
24
Синтаксис: <баз.Тип1>_TO_<баз..Тип2>
Преобразования в строку…_TO_STRING используют выравнивание влево. Если строка оказывается слишком короткой, результат будет обрезан.
BOOL_TO
Преобразование типа BOOL в другой тип.
Для числовых типов результат равен1, когда операнд
TRUE, и 0, если операнд FALSE.
Для типа STRING результат - это слово TRUE или FALSE. Примеры ST:
i:=BOOL_TO_INT(TRUE); (* Результат:1 *) str:=BOOL_TO_STRING(TRUE); (* Результат:"TRUE" *) t:=BOOL_TO_TIME(TRUE); (* Результат:T#1ms *) tof:=BOOL_TO_TOD(TRUE); (*
Результат:TOD#00:00:00.001 *) dat:=BOOL_TO_DATE(FALSE); (* Результат:D#1970 *)
dandt:=BOOL_TO_DT(TRUE); (* Результат:DT#1970-01-01- 00:00:01 *)
TO_BOOL
Преобразование других типов в BOOL.
Результат TRUE, когда операнд не нулевой, иначе FALSE. Для типа STRING, если строка состоит из слова "TRUE",
результат равен TRUE, иначе FALSE. Примеры ST:
b := BYTE_TO_BOOL(2#11010101); (* Результат: TRUE *) b := INT_TO_BOOL(0); (* Результат: FALSE *)
b := TIME_TO_BOOL(T#5ms); (* Результат: TRUE *)
b := STRING_TO_BOOL('TRUE'); (* Результат: TRUE *)
Преобразования между целочисленными типами
Преобразования из одного целочисленного типа в другой. При преобразовании большего типа в меньший, рискуете потерять информацию. Если число превосходит верхний предел данного типа, старшие байты числа игнорируются. Число 4223 (16#107F в шестнадцатеричной форме) сокращается до
25
переменной типа SINT, теряя старший байт, и принимает значение 127 (16#7F в шестнадцатеричной форме).
Пример ST:
si := INT_TO_SINT(4223); (* Результат: 127 *)
REAL_TO-/ LREAL_TO
Преобразования типов REAL или LREAL в другие типы.
Значение |
числа будет |
округлено вверх до целого и |
|
преобразовано в нужный тип. За исключением типовSTRING, |
|||
BOOL, REAL и LREAL. При преобразовании большего типа в |
|||
меньший, вы |
рискуете |
потерять |
информацию. При |
преобразовании в STRING используется до 16 цифр. Если строка имеет не достаточный размер, результат будет обрезан справа.
Пример ST:
i:= REAL_TO_INT(1.5); (* Результат: 2 *)
j:= REAL_TO_INT(1.4); (* Результат: 1 *)
i := REAL_TO_INT(-1.5); (* Результат: -2 *) j := REAL_TO_INT(-1.4); (* Результат: -1 *)
TIME_TO/TIME_OF_DAY
Преобразования типов TIME или TIME_OF_DAY в другие типы. Физически значение времени сохраняется в переменной типа DWORD, выраженное в миллисекундах (начиная с 0 часов для TIME_OF_DAY). Собственное это число и будет преобразовано. При преобразовании в меньший тип вы рискуете потерять информацию. При преобразовании STRINGв образуется соответствующая МЭК текстовая строка.
Примеры ST:
str :=TIME_TO_STRING(T#12ms); (* Результат: T#12ms *) dw:=TIME_TO_DWORD(T#5m); (* Результат: 300000 *) si:=TOD_TO_SINT(TOD#00:00:00.012); (* Результат: 12 *)
DATE_TO/DT_TO |
|
|
|
|
||
Преобразования типов DATE или |
DATE_AND_TIME в |
|
||||
другие |
типы. |
Физически |
значение |
даты |
сохраняется |
в |
переменной типа DWORD, выраженное |
в секундах |
начиная с |
|
|||
1 января |
1970 |
г. Это число |
и будет |
преобразовано. При |
|
|
26
преобразовании |
в |
меньший |
тип |
вы |
рискуете |
потерят |
информацию. |
При |
преобразовании |
|
STRINGв |
образуется |
|
соответствующая МЭК текстовая строка. Примеры ST:
b :=DATE_TO_BOOL(D#1970-01-01); (* Результат: FALSE *) i :=DATE_TO_INT(D#1970-01-15); (* Результат: 29952 *) byt :=DT_TO_BYTE(DT#1970-01-15-05:05:05); (* Результат:
129 *)
str:=DT_TO_STRING(DT#1998-02-13-14:20); (*Результат:'DT#1998-02-13-14:20'*)
STRING_TO
Преобразования типа STRING в другие типы. Содержимое строки должно соотноситься с желаемым типом данных, в противном случае преобразование дает 0.
Примеры ST:
b :=STRING_TO_BOOL('TRUE'); (* Результат: TRUE *) w :=STRING_TO_WORD('abc34'); (* Результат: 0 *)
t :=STRING_TO_TIME('T#127ms'); (* Результат: T#127ms *)
TRUNC
Преобразование из REAL в INT. Используется только целочисленная часть аргумента. При преобразовании в меньший тип вы рискуете потерять информацию.
Примеры ST:
i:=TRUNC(1.9); (* Результат: 1 *) i:=TRUNC(-1.4); (* Результат: 1 *)
Задания
1.Преобразовать логический тип данных в...
2.Преобразовать целочисленный тип данных в…
3.Преобразовать тип данных времени в…
4.Преобразовать тип данных даты в…
5.Преобразовать строковый тип данных в…
27
Порядок выполнения работы
1. Создаем проект нажатием кнопки«Создать» на панели основного меню главного окна. В диалоговом окне«Настройки
целевой |
платформы» |
выбираем |
тип |
промышленного |
||
контроллера, |
для |
которого |
будет |
написана |
управляющая |
|
программа. |
Подтвердить |
настройки |
целевой платформы. В |
|||
диалоговом окне «Настройки целевой платформы» выбираем тип промышленного контроллера PLC-63L. Подтверждаем настройки целевой платформы.
2.В диалоговом окне«Новый программный компонент (POU)» выбираем язык реализацииFBD и подтверждаем настройки основного программного компонента.
3.Затем объявляем переменные в соответствии с заданием, то есть 5 переменных, которые будем преобразовывать (при этом необходимо задать первоначальные значения) и 5 переменных, из которых будем преобразовывать.
4.В рабочей области редактора программы сформируем алгоритм по преобразованию переменных.
5.Компилируем проект (во вкладке ПРОЕКТ выбираем действие «Компилировать все»).
6.Проводим эмуляцию проекта. Для этого во вкладке ONLINE выполняем «Подключение», проводим один цикл программы (нажатием сочетания клавишCtrl+F5) и следим за изменением пользовательских переменных.
Содержание отчета
1.Задание.
2.Цель работы.
3.Порядок выполнения (со скриншотами результатов при работе с CoDeSys).
4.Выводы.
Контрольные вопросы
1.Функции явного преобразования.
2.Как осуществляется неявное преобразование?
28
Лабораторная работа № 5.
РАБОТА С МЕНЕДЖЕРОМ БИБЛИОТЕК В СРЕДЕ ПРОГРАММИРОВАНИЯ CoDeSys
Цель работы: овладение приемами и навыками работы с менеджером библиотек в среде программированияCoDeSys, а именно: подключение к проекту библиотеки функцийUtil.lib и реализация алгоритмов управления с помощью этой библиотеки.
Теоретические сведения
Менеджер библиотек содержит список всех библиотек, которые связаны с проектом. РОU, типы данных и глобальные переменные библиотек можно использовать так же, как и определенные пользователем РОU типы данных и глобальные переменные. Информация о включенных библиотеках хранится в проекте, и ее можно увидеть в диалоге"Инфомация о внешней
библитотеке" (Informations about external library). Для |
вызова |
|||||
этого диалога выберите нужную библиотеку |
в Менеджере |
|||||
библиотек и дайте команду"Дополнения" "Свойства" ("Extras" |
||||||
"Properties"). |
|
|
|
|
|
|
Менеджер |
библиотек |
открывается |
командой"Окно" |
|||
"Менеджер библиотек" ("Window" "Library Manager"). |
|
|||||
Использование менеджера библиотек |
|
|
||||
Окно менеджера библиотек разделено на3 или 4 области. |
||||||
Список библиотек, соединенных с проектом, находится в левой |
||||||
верхней области. Ниже, в зависимости от выбранной вкладки, |
||||||
показаны |
переменные |
РОU, |
типы данных |
или |
глобальные |
|
переменные |
выделенной |
библиотеки. Папки |
открываются и |
|||
закрываются двойным щелчком или нажатием клавиши <Enter>. Перед открытой папкой стоит плюс, перед закрытой – минус.
Если выбрать РОU, то в правой верхней части экрана появится раздел объявлений этого РОU, а в нижней части– графическое изображение в форме блока с входами и выходами.
При выборе типов данных и глобальных переменных в правой части окна выводится их объявление.
29
“Вставка” “Добавить библиотеку” ("Insert" "Additional Library")
Этой командой можно присоединять библиотеку к проекту. В открывшемся диалоговом окне выберите нужную библиотеку с расширением "*.lib". Название библиотеки появится в Менеджере
библиотек, и ее объектами можно будет пользоваться как определенными пользователем объектами.
Удаление библиотеки
Удаление библиотеки из проекта в Менеджере библиотек
происходит по команде “Правка” “Очистить” ("Edit" "Delete"). |
|
||||||
''Дополнения'' ''Свойства'' (''Extras'' ''Properties'') |
|
|
|||||
Открывает |
диалог 'Informations about |
internal (или |
external) |
|
|||
library'. |
Для |
внутренних библиотек вы найдете все данные, |
|||||
которые |
были включены |
в |
информацию проектаProject Info |
|
|||
(включая |
информацию |
о |
лицензировании). Для |
внешних |
|||
библиотек отображается имя библиотеки и путь к ее файлам. |
|
||||||
Библиотека UTIL.LIB |
|
|
|
|
|
||
Данная |
библиотека |
|
содержит |
дополнительный |
набор |
||
различных функций и функциональных блоков, применяемых для |
|
||||||
BCD |
и |
бит/байт |
|
преобразований, дополнительных |
|
||
математических функций, а также регуляторов, генераторов и |
|
||||||
преобразований аналоговых сигналов. Специальная версия этой |
|
||||||
библиотеки |
UTIL_NO_REAL |
не |
содержит |
функций |
и |
||
функциональных блоков, использующих переменные типа REAL.
Аналоговые компараторы
HYSTERESIS
Аналоговый компаратор с гистерезисом. Входы IN, HIGH и LOW типа INT. Выход OUT типа BOOL.
Если вход IN принимает значение, меньшее LOW, выход OUT устанавливается в TRUE. Если вход IN принимает значение,
30
