Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология Образование Политология Производство Психология Стандартизация Технологии |
Реализация программных средств
Для того чтобы писать программы для контроллера необходимо скачать с сайта BECKHOFF систему TwinCat. Установка ее не представляет какого-либо труда, так как при инсталляции единственно, что она спросит - лицензионный номер для установки TwinCat runtime на локальном компьютере. Он не понадобится, так как использовать компьютер в качестве контроллера использоваться не будет, а данный runtime зашит в имеющемся контроллере. Среда разработки поставляется абсолютно бесплатно. Запускаем программу PLC CONTROL - это и есть среда разработки. Необходимо создать новый проект. При создании требуется выбрать необходимый контроллер. Далее выбирается желаемый язык программирования выбранного контроллера. После этого появится чистое поле ввода для программирования. Сверху окно объявления переменных, снизу окно для кода, сбоку слева навигатор. Запутаться невозможно. Далее объявляются переменные для портов входа-выхода. Это можно сделать автоматически с помощью не очень дружелюбных утилит. После чего переходим в раздел глобальных переменных, где пишем следующий код: VAR_GLOBAL IN_H2_R1 AT %IX0.0: BOOL; (*ГОСТЕВОЙ ДОМ - ВЫКЛЮЧАТЕЛЬ - СПАЛЬНЯ*) IN_H2_R2 AT %IX0.1: BOOL; (*ГОСТЕВОЙ ДОМ - ВЫКЛЮЧАТЕЛЬ - ВАННАЯ*) OUT_H2_R1_L AT %QX0.0: BOOL; (*ГОСТЕВОЙ ДОМ - ЛАМПА - СПАЛЬНЯ*) OUT_H2_R2_L AT %QX0.1: BOOL; (*ГОСТЕВОЙ ДОМ - ЛАМПА - ВАННАЯ*) OUT_H2_R2_M AT %QX0.2: BOOL; (*ГОСТЕВОЙ ДОМ - ВЕНТИЛЯТОР - ВАННАЯ*) END_VAR Вся информация о состоянии всех входов и выходов хранится в памяти контроллера в строго отведенной области памяти. У всех дискретных значений, которые есть всего два состояния 0 и 1, для экономии места пакуются в байты. Сначала мы объявляются два дискретных входа как логические переменные и привязываем их к области памяти, где у контроллера хранится состояние входов. Конструкция %IX0.0 означает, что мы привязываем переменную к области памяти входов к самому первому дискретному входу (байт 0, бит 0). Все тоже самое и для выходов, только область памяти для выходов обозначается конструкцией %QX0.0. Таким образом, имеется два выключателя из спальни и из ванной комнаты, подключенные соответственно к первому и второму входу, а также два светильника и мотор вентилятора, подключенные к трем первым выходам. Теперь необходимо написать программу для включения и выключения освещения. OUT_H2_R1_L := IN_H2_R1; OUT_H2_R2_L := IN_H2_R2; OUT_H2_R2_M := IN_H2_R2; Ниже приведён фрагмент программы на языке программирования ST реализующий алгоритм работы системы освещения. IF NOT write. misc. bManualLand THEN ***************************** write. kl2408_13 [3]: = TRUE; ***********************; write. kl2408_13 [5]: = TRUE; ***********************; write. kl2408_13 [7]: = TRUE; write. kl2408_13 [8]: = TRUE; ***********************; ELSE write. kl2408_13 [3]: = FALSE; ************************; write. kl2408_13 [5]: = FALSE; ************************; write. kl2408_13 [7]: = FALSE; ************************; write. kl2408_14 [1]: = FALSE; END_IF; Ниже приведён фрагмент программы на языке программирования ST реализующий алгоритм работы системы обогрева ливнестоков. IF NOT write. misc. bManualLandObogrev THEN **************************************************** read. kl1408_10 [1]) THEN timerLivStockOn (IN: = TRUE, PT: = t#10s); ******************************* write. kl2408_12 [3]: = TRUE; END_IF; ELSE **************************; END_IF; IF timerLivStockOn. Q THEN write. kl2408_12 [3]: = FALSE; *****************************; END_IF; IF timerLivStockOff. Q THEN *************************; timerLivStockOn (IN: = FALSE); END_IF; ELSE timerLivStockOff (IN: = FALSE); **************************; END_IF; Ниже приведён фрагмент программы на языке программирования ST реализующий алгоритм работы системы отопления: IF NOT read. kl3204_16. error [2] THEN ******************************************************** write. kl2408_11 [1]: = FALSE; ********************************************************** write. kl2408_11 [1]: = TRUE; **********;_IF; ************************************ IF read. kl3204_16. temp [4] <= (write. predTemp. tempDush - 2.5) THEN. kl2408_11 [4]: = FALSE; ********************************************************* write. kl2408_11 [4]: = TRUE;_IF; Фрагмент программы на языке программирования ST реализующий алгоритм работы системы вентиляции. IF NOT read. kl3204_22. error [1] THEN ************************************************************* K: =_K, T0: = _T0, Ti: = _Ti, Td: = _Td);NOT fb_pidCtrl [10]. bErr THEN ***********************************;_IF;_IF;NOT read. kl3204_22. error [2] THEN *************************************************************, K: =_K, T0: = _T0, Ti: = _Ti, Td: = _Td);NOT fb_pidCtrl [11]. bErr THEN **************************************;_IF;_IF;. kl4404_5. data [1]: = write. misc. polarBeer; Инструкции пользователя Пользователям данного проекта будет очень удобно использовать данную систему, так как на данном контроллере установлен информативный дисплей и джойстик. Для управления любой необходимой системой необходимо выбрать ее на дисплее и нажать клавишу “OK” на джойстике. После выбора будут доступны параметры изменения и статус выбранной системы. Так же для данного контроллера возможно подключение смартфона на платформе android 4.2+. Для этого необходимо скачать приложение на сайте beckhoff.com. Установить программу на телефон и сделать синхронизацию с контр |
Последнее изменение этой страницы: 2019-04-10; Просмотров: 313; Нарушение авторского права страницы