Быстрые и доступные VPS/VDS-серверы

Мы создаем основу для вашего успеха: сверхбыстрые серверы, непрерывная стабильность и разумные цены!

Смотреть тарифы

Промокод promo_34043

Быстрые и доступные VPS/VDS-серверы

 

1 Дискретные входы и выходы, связь с ПЛК

defaultValue

 


 

 Практически все данные, которые используются при описании алгоритма, в CoDeSys задаются в виде переменных. Переменные имеют имя и тип данных, т.е. тип значения, которое хранится в этой переменной. Значения, которые ПЛК получает со входов и передает на выходы, также используются в программе в виде переменных. Наша задача - определить, какая переменная будет хранить значение того или иного выхода или входа. Определение переменных, связанных со входами и выходами (в дальнейшем мы будем называть их глобальными), производится в ресурсе «Конфигурация ПЛК». Для этого в менеджере объектов мы переходим на крайнюю правую вкладку «Ресурсы» . Затем выбираем нужный пункт, дважды щелкая ЛКМ на надписи .

Конфигурация ПЛК

Слева от менеджера объектов откроется окно конфигурации. Нажимаем ЛКМ на рядом с надписью PLC110_30, таким образом раскрываем конфигурацию контроллера .

Здесь представлены собственные входы и выходы ПЛК. Последовательно нажимая ЛКМ на рядом с соответствующей группой,

Вы можете видеть всю конфигурацию, включающую в себя скоростные и обычные дискретные входы, скоростные и обычные дискретные выходы.

Необходимо подчеркнуть, что при выборе модификации ПЛК с релейными выходами (буква Р в обозначении соответствующей модификации, например, ПЛК110-30.220.P-L) скоростные выходы не предусмотрены. Однако структура конфигурации области ввода-вывода (мы ранее назвали ее конфигурацией ПЛК) остается аналогичной моделям, в которых быстрые выходы присутствуют. Другими словами, релейные выходы в пункте Fast discrete outputs работают с той же скоростью, что и выходы в группе Discrete outputs. Наверняка, Вы быстро с этим разберетесь.



Для того, чтобы использовать в алгоритме значение на том или ином входе или выходе, необходимо напротив соответствующей строчки в конфигурации ПЛК задать имя переменной. В дальнейшем именно это имя мы будем использовать при написании программы. Для задания имени необходимо дважды нажать ЛКМ на надписи АТ в соответствующей строчке, и в открывшемся небольшом окошке напечатать имя переменной. Имя должно быть записано латинскими буквами и цифрами в одно слово. На рисунке

мы подобным образом указываем имя переменной in1, связывая ее с первым скоростным входом ПЛК. После задания имени необходимо нажать Enter. Теперь в зависимости от наличия или отсутствия сигнала на первом входе ПЛК в переменной ini будет появляться значение «Истина» (TRUE) или «Ложь» (FALSE).

 

Аналогичным образом необходимо задать еще три входа, один скоростной и два обычных, присвоив им имена in2, in3 и in4 соответственно .

Обычные входы ПЛК110-30 разбиты на две группы по восемь входов. Вы раскрываете сначала блок Discrete inputs, а затем одну из групп 8 discrete inputs. Уже внутри группы напротив нужных строк прописываете имена переменных in3 и in4. Тем же способом задаются имена переменных для выходов ПЛК.

Вам необходимо раскрыть блок Fast discrete outputs, нажав ЛКМ на символе . Затем, дважды нажав ЛКМ на буквах АТ, для трех первых выходов указать имена переменных outl, out2 и out3. Сделанные изменения полезно сохранить. После этого конфигурация ПЛК должна принять вид, изображенный на рисунке .

 

 

 Операции присваивания дискретных значений


Задав имена переменных для входов и выходов, определив эти переменные в проекте (в дальнейшем мы будем называть такие переменные глобальными), мы получаем возможность использовать входы и выходы ПЛК в какой-нибудь простой задаче. Например, задавать состояние выхода в зависимости от сигнала на входе.



Переходим к редактированию главной программы PLC PRG. Для этого в менеджере объектов нажимаем ЛКМ на вкладке POU. Затем находим надпись и дважды нажимаем на ней ЛКМ .

Используя кнопки «вход» () и «выход» () или пункты контекстного меню, мы переносим на рабочую область заготовку алгоритма . Подробно о том, как это сделать, мы говорили ранее, можно вернуться  назад и вспомнить. В нашем простом примере первый вход ПЛК будет управлять состоянием первого выхода. Второй вход будет воздействовать на второй выход. Что касается третьего выхода, то его состояние будет определяться сигналами на третьем и четвертом входах.

 

Напомним, что при написании алгоритма вместо красных знаков вопроса нам необходимо подставить имена переменных. К примеру, в левом верхнем элементе мы будем вызывать значение на первом входе ПЛК, то есть значение переменной in1. Необходимо выделить содержимое элемента, нажав внутри него ЛКМ (). Затем с клавиатуры вы задаете имя переменной.

В случае если Вы хорошо помните названия своих переменных, объявленных в проекте, написать соответствующее имя будет не трудно. Бывают ситуации, когда имена переменных сложны и их много, есть шанс ошибиться в написании. Или бывает просто неудобно использовать клавиатуру, навыки работы с ней у всех нас на очень разном уровне. Словом, в случае, если вам неудобно печатать с клавиатуры, можно воспользоваться следующей очень удобной функцией CoDeSys. Вы выделяете содержимое элемента (знаки вопроса в нашем случае), а затем на клавиатуре нажимаете кнопку F2. На экране появляется окно «Ассистент ввода». Как только та или иная переменная объявлена в проекте, например глобальная переменная в конфигурации ПЛК  или локальная переменная в области определения , ее можно найти в ассистенте ввода. Нам необходима переменная ini, связанная с первым дискретным входом контроллера. В окне ассистента ввода, в левой части мы выбираем категорию «Глобальные переменные». В открывшемся справа списке выделяем ЛКМ нужную переменную и нажимаем «ОК» .

После этого окно ассистента закрывается, а в нужном Вам месте появляется необходимая переменная. Остается только нажать Enter на клавиатуре. Согласитесь, это удобно и просто! Потренируйтесь вызывать окно «Ассистента ввода» кнопкой F2. Задайте имена переменных для четырех верхних элементов в соответствии и проведите соответствующие линии связи.

Таким образом, при наличии сигнала на входе, то есть в переменных in1 или in2, происходит срабатывание определенного выхода outl или out2. И наоборот - в отсутствии сигнала на входе выход остается разомкнутым. Давайте внесем разнообразие в этот алгоритм, добавив во вторую цепочку инверсию. То есть зададим включение второго выхода тогда, когда нет сигнала на входе. Для этого необходимо выделить ЛКМ край линии связи рядом с переменной out2 . После этого сверху, на панели быстрого доступа мы нажимаем кнопку

«Инверсия» По-другому, можно нажать ПКМ на выделенном конце линии связи и в контекстном меню выбрать пункт «Инверсия» .

В результате рядом с переменной out2 появится небольшой круг . Он указывает на инвертирование (логическое отрицание) значения, приходящего по линии связи от переменной in1. Если приходит значение TRUE, то в выходную переменную записывается

FALSE и наоборот. Последовательное нажатие на кнопку позволяет добавлять и убирать инверсию на линии связи.

 

 

 

 

 

 Статья создана на основе книги Кирилла Гайнутдинова "Простое и понятное программирование в CODESYS".

 

defaultValue

Видеотека

-->

Яндекс.Метрика