Как залить программу в плк 100

ПЛК100 + LabVIEW + джойстик

2015-01-20 в 15:41, admin , рубрики: бесполезности, плк, Промышленное программирование

Однажды на моём рабочем столе оказались usb-джойстик и ПЛК (программируемый логический контроллер) фирмы ОВЕН — ПЛК100, при этом на компьютере была запущена среда LabVIEW. Я подумал, что всё это — хотя бы забавы ради — можно объединить, организовав управление ПЛК (его выходами) с помощью кнопок джойстика (позже я решил использовать не просто кнопки, а их комбинации — ВНИЗ, ВПЕРЁД, Y, например).

Итак, как всё это работает. LabVIEW обрабатывает нажатие клавиши джойстика и передаёт информацию о нажатой клавише в ПЛК100 (в данном случае — через серийный порт); ПЛК100, в соответствии с загруженной в него программой, реагирует на определённые комбинации клавиш включением/отключением своих выходов.

image

Программирование ОВЕН ПЛК110. Часть 1. Создание первого проекта в CODESYS v2.3

Часть LabVIEW

Программа, обрабатывающая нажатия кнопок джойстика и передающая информацию о них в ПЛК100, в общем виде выглядит так:

image

Теперь более подробно.
1 — Инициализация джойстика. Можно найти в Function Palette в разделе Connectivity->Input Device Control. Если к компьютеру подключен один джойстик, как в моём случае, параметр Device Index рекомендуется приравнивать к 0.
2 — Получение данных с устройства ввода. Данные о кнопках и направлениях осей (крестике) хранятся в кластерах, которые с помощью функции Unbundle нужно разбить на элементы, чтобы в последующем их как-то обрабатывать. «Кнопочный» кластер 3 (на рисунке он уже разбит на элементы) состоит из булевых элементов; при нажатой кнопке соответствующий элемент кластера принимает значение TRUE. С «осевым» кластером 4 дело обстоит немного иначе: он состоит из целочисленных элементов, и при нажатой клавише ВВЕРХ первый элемент кластера — X axis — принимает значение -32768, клавише ВНИЗ соответствует значение 32767. Со вторым элементом кластера — Y axis — всё примерно так же: НАЗАД = -32768, ВПЕРЁД = 32767.
5 — Формирование строки. Функция Format Into String формирует (или же возвращает) строку из элементов разных типов данных. В моём случае это булевы элементы и их всего 8, поэтому на выходе будет строка из 8 символов.

Здесь требуется пояснение: если ни одна кнопка не нажата, строка имеет вид «00000000»; если же, к примеру, нажата кнопка 1, то строка будет такой «1000000», если кнопка 2, то такой «01000000» и т.д. В зависимости от значения это строки в серийный порт будет записываться определённое число, которое уже и будет обрабатывать ПЛК100. Кстати, параметр «format string» функции Format Into String задан так «%d%d%d%d%d%d%d%d», чтобы преобразовывать входные булевы FALSE и TRUE в нули и единицы и в итоге получать строку вида, например, «10000000», а не «TRUEFALSEFALSEFALSE. ». Вот так. Можно проще? Можно, но в другой раз.
6 — Конфигурирование и открытие серийного порта. Я оставил все параметры по умолчанию, добавив только управляющий элемент для выбора номера порта. Для работы с COM-портом должна быть установлена NI-VISA (здесь www.ni.com/download/ni-visa-5.4.1/4626/en/).
7 — Структура Case. В зависимости от значения строки, сформированной функцией Format Into String, пишет в серийный порт число (11, например, соответствует кнопке 1, 12 — кнопке 2 и т.д.). Это число предварительно конвертируется функцией Number To Decimal String — на рисунке цифра 8 (без этого блока ПЛК100 по непонятным причинам читал из порта какие-то кракозябры).

Читайте также:
Как сделать таблицу в программе Microsoft excel

Программа ПЛК

Немного о портах ПЛК100. Целых три разъёма могут работать в качестве COM-порта: это Debug-232 на лицевой панели, RS-232 и RS-485 внизу. При открытии порта нужно будет указать его номер: для Debug-232 это 4, для RS-232 — 1, для RS-485 — 0. Я использовал RS-485, подключив ПЛК к компьютеру через дешёвый китайский переходник RS-485->USB (на фото), соответственно, в программе в качестве номера порта стоит 0.

ПЛК100 + LabVIEW + джойстик - 3

ПЛК100 программируется в среде Codesys 2.3. Кроме того, понадобится так называемый таргет — что-то вроде файла с описанием конфигурации программируемого устройства. Для инициализации и открытия порта я использовал библиотеку ComService.lib (библиотеку и пример к ней можно скачать здесь www.owen.ru/forum/showthread.php?t=551 она уже объявлена в библиотеке ComService (если быть точным, то в библиотеке SysComLib, которая входит в состав ComService). Настройки достаточно стандартные, стоит только обратить на set.Port = 0 — это RS-485, о котором было сказано выше.

Функциональный блок COM_SERVICE имеет два параметра: первый это имя структуры COMSETTINGS, второй — тип операции, где 0 соответствует настройке и открытию.

Далее при помощи функции SysComRead, входящей в библиотеку SysLibCom, читаем данные из порта. Параметр dwHandle это номер порта (RS-485 в данном случае), dwBufferAddress — указатель на переменную, куда будут читаться данные, dwBytesToRead — количество читаемых байт (в моём случае это 2), dwTimeout — время в мс, после которого функция обязана завершиться; если поставить слишком мало, то функция просто ничего не прочитает.

ПЛК100 + LabVIEW + джойстик - 5

Далее идёт конвертация строки, считанной из порта, в целое число и сравнение этого числа: если оно, к примеру, равно 10, то ни одна кнопка не нажата, если 11 — то нажата X и т.д.

Для обработки комбинаций клавиш я запрограммировал 6 функциональных блоков — 3 для включения первых трёх релейных выходов ПЛК (думаю, трёх выходов будет для начала достаточно) и 3 для их отключения; четыре комбинации из 3-х клавиш и две из 4-х. Внутри эти блоки выглядят вот так:

ПЛК100 + LabVIEW + джойстик - 6

В итоге программа у меня выглядела так (пропускаю место с открытием порта):

ПЛК100 + LabVIEW + джойстик - 7

На видео видно, как на ПЛК загораются светодиоды, говорящие о том, что выход активен. Для наглядности хотелось бы в качестве нагрузки подключить к выходам хотя бы лампочку или пускатель, но на момент записи видео под руками оказался лишь компьютерный кулер.

Читайте также:
Корел программа как пишется

Надо сказать, что на быстрые нажатия вся эта система (говорю «система», потому как не знаю, в каком именно месте был «затор») реагировала довольно неохотно, если вообще реагировала; неспешные нажатия (как на видео) немного улучшают ситуацию, но всё же иногда реакция на них отсутствовала. Но ведь у ПЛК100 есть ещё и разъём Ethernet. Так что в следующий раз я попытаюсь сделать хотя бы небольшое улучшение, привязав ПЛК к LabVIEW через OPC-сервер по Ethernet.

Источник: www.pvsm.ru

Изучаем ПЛК. Часть 2. Подключение компьютера к ПЛК.

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

Программы для ПЛК Овен пишутся в CodeSys 2.3, поэтому нужно заранее ее установить. Также нужно установить драйвер USB для самого ПЛК. И то и то можно скачать с официального сайта Овен.

Запускаем CodeSys и создаем новый проект. Программа попросит нас выбрать платформу. Выбираем наш ПЛК 110-30М.

Программа предложит создать новый POU, оставляем все как есть, и убеждаемся что выбран язык ST.

Так как сейчас мы никакую программу писать не будем, нужно, чтобы хоть что-то выполнялось. Для этого создаем переменную. Для этого нажимаем SHIFT+F2. Вводим имя переменной «a» и задаем тип «BOOL».

В программу вписываем «a;»

Подключаем ПЛК. Заходим в диспетчер устройств Windows и смотрим, на какой порт подключается наш ПЛК.

Как видим внутри ПЛК находится тупо преобразователь USBUART. Заходим в CodeSys, нажимаем «Онлайн».

Нажимаем «Параметры связи…».

Нажимаем «New…». Вводим имя «USB», тип устройства выбираем «Serial (RS232)». Нажимаем «Ок».

Теперь щелкаем на порт, и стрелками вверх/вниз выбираем нужный нам порт. В моем случае это COM3. Таким же способом изменяем скорость на 115200.

Теперь все готово для подключения к ПЛК. Нажимаем «Онлайн», убеждаемся что не стоит галочка на «Режим симуляции», и нажимаем подключить. Если в ПЛК нет программы, программа предложит записать новую программу. Пока у нас нет программы, поэтому нажимать «Старт» нет необходимости. Снизу окна увидим наше подключение, «ОНЛАЙН: USB».

Для примера я через конфигурацию ПЛК включил три выхода.

Источник: www.drive2.ru

Программируемый логический контроллер ПЛК100

Программируемый логический контроллер ПЛК100

Программируемый логический контроллер ОВЕН ПЛК 100 предназначен

  • Для создания систем управления малыми и средними объектами
  • Построение систем диспетчеризации
  • Построение системы управления и диспетчеризации на базе ОВЕН ПЛК возможно как с помощью проводных средств – используя встроенные интерфейсы Ethernet, RS-232, RS-485, так и с помощью беспроводных средств – использую радио, GSM, ADSL модемы
Читайте также:
Наша Новая школа это программа

Конструктивные особенности ОВЕН ПЛК 100

  • Контроллер выполнен в компактном DIN-реечном корпусе
  • Расширение количества точек вводавывода осуществляется путем подключения внешних модулей вводавывода по любому из встроенных интерфейсов
  • Два варианта питания 220В и 24В постоянного

Вычислительные ресурсы ОВЕН ПЛК 100

В контроллере изначально заложены мощные вычислительные ресурсы при отсутствии операционной системы:

  • высокопроизводительный процессор RISC архитектуры ARM9, с частотой 180МГц компании Atmel;
  • большой объем оперативной памяти – 8МБ;
  • большой объем постоянной памяти – Flash память, 4МБ;
  • объем энергонезависимой памяти, для хранения значений переменных – до 16КБ.

Конкурентные преимущества ОВЕН ПЛК 100

  1. Отсутствие ОС, что повышает надежность работы контроллеров
  2. Скорость работы дискретных входов – до 10КГц при использовании подмодулей счетчика
  3. Большое количество интерфейсов на борту: Ethernet, 3 последовательных порта, USB Device для программирования контроллера, работающих независимо друг от друга
  4. Расширенный температурный диапазон работы: от минус 20 до плюс 70 градусов Цельсия
  5. Широкие возможности самодиагностики контроллера
  6. Встроенный аккумулятор, позволяющий «пережидать» пропадани питания – выполнять программу при пропадании питания, и переводить выходные элементы в «безопасное состояние»
  7. Встроенные часы реального времени
  8. Возможность создавать и сохранять архивы на Flash контроллера
  9. Возможность работы по любому нестандартному протоколу по любому из портов, что позволяет подключать устройства с нестандартным протоколом (электро-, газо-, водосчетчики, считыватели штрих — кодов и т.д.)
  10. Набор готовых программных модулей, предоставляемых бесплатно

Программирование контроллеров

Создание программ для контроллеров ОВЕН ПЛК100, и их конфигурирование осуществляется профессиональной системой программирования CoDeSys v.2.3.6.1 и старше.

Система программирования CoDeSys для покупателей контроллеров ОВЕН совершенно бесплатна, и записывается на диски, идущие в комплекте с контроллерами.

Общие сведения

Унифицированный корпус для крепления на DIN-рейку (ширина 35 мм), длина 105 мм (6U), шаг клемм 7,5 мм

Степень защиты корпуса

18. 29 В постоянного тока (номинальное напряжение 24 В)

90. 264 В переменного тока (номинальное напряжение 220 В) частотой 47. 63 Гц

Потребляемая мощность, не более

Индикация передней панели

1 индикатор питания

8 индикаторов входов

12 индикаторов выходов

Ресурсы

32-х разрядный RISC-процессор 200 МГц на базе ядра АRМ9

Объем оперативной памяти

Объем энергонезависимой памяти хранения ядра СоDеSуs, программ и архивов

Время выполнения цикла ПЛК

Минимальное 250 мкс (нефиксированное), типовое от 1 мс

Дискретные входы

Количество дискретных входов

Гальваническая развязка дискретных входов

Электрическая прочность изоляции дискретных входов

Максимальная частота сигнала, подаваемого на дискретный вход

1 кГц при программной обработке

10 кГц при применении аппаратного счетчика и обработчика энкодера

Дискретные выходы

Количество дискретных выходов в:

ПЛК100-24.Р и ПЛК100-220.Р

6 сдвоенных транзисторных ключей (всего 12 выходных сигналов)

Гальваническая развязка дискретных выходов Электрическая прочность изоляции дискретных выходов

Интерфейсы связи

Ethernet 100 Ваsе-Т

RS-232 — 2 канала

Скорость обмена по интерфейсам RS

от 4800 до 115200 bps

GateWay (протокол СоDеSуs)

Программирование

СоDеSуs 2.3.8.1 (и старше)

Интерфейс для программирования и отладки

Источник: owennw.ru

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru