Примеры программ плк 100

На простом примере установим связь по ModBus между SP WinPLC V3 и Slave-устройством, в качестве которого я использовал ПЛК 100 от фирмы ОВЕН.
Настройка Slave-устройства на примере ПЛК 100 в сети ModBus TCP подробно описана тут (в первой части мануала): http://www.kipshop.ru/Documentation/lectus/bistriy_start_tcp.zip
По аналогии точно также можно настроить на ModBus через RS232 (либо другие доступные интерфейсы).

Запрограммируем ПЛК 100 аналогично примеру по ссылке выше, но с одним отличием. Одна переменная, предназначенная для передачи, будет инкрементироваться, вторая декрементироваться. Это для того чтобы были видны отличия в сети этих переменных.
Будем считать Slave-устройство настроенным и уже работающим в сети (в нашем случае в обычном Ethernet). Если все же возникли какие-то вопросы по этой части повествования, задавайте их в этой теме, разберем.

Запускаем CoDeSys V3.x и создаем стандартный проект. В качестве целевого устройства выбираем CoDeSys SP Win V3 и язык исполнения ST.

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

После создания заготовки проекта настраиваем связь с WinPLC в Communication Settings, куда можно попасть двойным щелчком мышки на строке Device в дереве устройств во вкладке Devices слева (рис 1.)

1_6.jpg

Рис. 1

Затем двойным щелчком на PLC_PRG переходим в редактор ST где пишем программу x:=x+1;

И так, мы имеет софт-контроллер с простейшей программой. Наша задача считать данные из Slave-устройства, о котором известно, что оно вещает, а вернее выдает по запросу, две переменные по протоколу ModBus TCP/IP.
Добавим ветку в проект от Device, устройство Ethernet от этого устройства добавим ModBus master и в свою очередь от этого устройства ModBus Slave.
Для этого щелкаем правой клавишей мышки на строке Device и выбираем Add Device или Add Object в этом случае результат будет одинаковый. В появившемся окне устройств выбираем Ethernet Adapter -> Ethernet и щелкаем на него дважды. Закрывать окно Add Device не обязательно.
Видим, что в дереве устройств в окне на заднем плане появилось устройство Ethernet по ветке от Device. Не закрывая окна Add Device, щелкаем на уже добавленный Ethernet в дереве устройств главного окна (то что на заднем фоне) и замечаем, что содержимое окна Add Device изменилось. В Add Device выбираем Modbus TCP Master -> Modbus TCP Master дважды на нем щелкаем. В дереве устройств на заднем фоне в ветке Ethernet появляется Modbus_TCP_Master.Не закрывая окна Add Device, выбираем только что добавленное устройство Modbus_TCP_Master. В окне Add Device выбираем Modbus TCP Slave -> Modbus TCP Slave и щелкаем на нем дважды (Рис 2).
Если на каком-либо этапе Вы закрыли окно Add Device, его всегда можно открыть правой клавишей мышки на ветке (устройстве), в которую нужно вставить новое устройство (см. прилагаемый видеоролик).

Читайте также:
Как вычислить программу майнер на компьютере

2_6.jpg

Программирование в среде OWEN Logic. Урок 1.

Рис. 2

Закрываем окно Add Device и переходим к настройке добавленного Ethernet двойным щелчком мышки на оном.
В появившейся закладке Ethernet Configuration для наших целей достаточно изменить только Interface Name и Network Name на любые, лишь бы не выдавался значок предупреждения справа.
Так же двойным щелчком переходим в настройки Modbus_TCP_Slave. Тут потребуется указать Slave IP Address того устройства, с которого нужно прочитать данные. В моем случае это ПЛК 100 с адресом 192.168.0.114 (Рис. 3)

3_6.jpg

Рис. 3

Если настройка Slave устройства проводилась по инструкции приведенной выше, и ничего специально не менялось, то в поле Unit-ID указываем 1, а поле Port оставляем без изменений.

В этом же окне переходим во вкладку Modbus Slave Channel и нажимаем кнопку Add Channel в нижней части экрана. Этим самым мы попадаем в диалог добавления считываемых регистров.

Устанавливаем Access Type как Read Holding Registers (Function Code 03) и после этого обращаем внимание на Offset ниже. Это поле по умолчанию стоит 0x0000. Оставляем его так и нажимаем на ОК (Рис. 4).

Если настройка Slave устройства проводилась по инструкции, приведенной выше, и ничего специально не менялось, то в поле Unit-ID указываем 1, а поле Port оставляем без изменений.

В этом же окне переходим во вкладку Modbus Slave Channel и нажимаем кнопку Add Channel в нижней части экрана. Этим самым мы попадаем в диалог добавления считываемых регистров.

Устанавливаем Access Type как Read Holding Registers (Function Code 03) и после этого обращаем внимание на Offset ниже. Это поле по умолчанию стоит 0x0000. Оставляем его так и нажимаем на ОК (Рис. 4).

4_6.jpg

Рис. 4

После этого действия в активной вкладке Modbus Slave Channel появляется новый канал получения данных.
Забегая вперед, скажу, что также новая строчка появилась во вкладке ModbusTCPSlave I/O Mapping, но туда мы пойдем позже.

Читайте также:
Как переслать программу с андроида на Андроид

Созданный канал будет считывать циклически (Trigger CYCLIC на рис 4) только одну переменную регистр со смещением 0х0000. А нам требуется читать обе переменные.
Добавляем новый канал кнопочкой Add Channel и проводим те же процедуры, как выше, только Offset устанавливаем в 0х0001.

Таким образом, создался второй канал, чем сделал текущую вкладку нам безинтересной.
Далее мы перенесем свое внимание во вкладку ModbusTCPSlave I/O Mapping, где и будет происходить самое интересное.

В этой вкладке требуется установить галочку Always update variables и после этого можно подключаться к контроллеру, загружать в него проект и запускать на выполнение (Рис. 5).

5_6.jpg

Рис. 5

Если все сделано правильно, в столбце Current Value побегут значения обоих переменных, считываемых из Slave-устройства по Modbus TCP.

Тут же в столбце Variable (в оффлайн режиме) можно замапить (назначить) существующие в проекте переменные, куда будут считываться данные.

Если же по какой-либо ошибке Modbus не запустился и возле Modbus_TCP_Slave повиснет аварийный значек (как сейчас на рисунке 5 возле Ethernet), то данные считываться не будут, о чем будет извещено желтым значком предупреждения. В этом случае после исправления настроек выполните команду Build->Clean All, иначе исправленные настройки могут не подействовать.

На этом все. Наш пример чудом заработал, и если понадобится подключиться по ModBus через COM, сделать это можно по аналогии с приведенным примером (рис. 6).

6_6.jpg

Рис. 6

Ниже выложен видеоролик, где создается вышеприведенный пример с некоторыми отличиями. Отличия заключаются в считывании второй переменной по переднему фронту флага (переменная z). Этот флаг объявляется глобальным (глобальность, кстати, не обязательна) и меняется отдельной программой по отдельной задаче раз в полсекунды.

Источник: prolog-plc.ru

Тема: Примеры программ для ПЛК100/150/154/110/160

Александр Приходько вне форума

LightbulbПримеры программ для ПЛК100/150/154/110/160

Примеры программ для
ПЛК100/150/154 — ПЛК110/160
Для CoDeSys v.2.3

  1. Среда программирования CoDeSys v 2.3
  2. Библиотеки для среды программирования
  3. Target-файлы + прошивка для ПЛК100/150/154
  4. Target-файлы + прошивка для ПЛК110/160

Примеры программ

  1. Пример задержки включения реле по срабатыванию дискретного входа.
    Работа с таймером TON и обработка фронтов тригерами R_TRIG и F_TRIG.
    Скачать (7 Кб)
  2. Пример работы с входами/выходами контроллера.
    Работы с таймерами TON и TOF для реализации задержки выключения.
    Скачать (7 Кб)
  3. Результаты тестирования быстродействия дискретных входов ПЛК.
    Скачать (9 Кб)
  4. Пример реализации высокоскоростного таймера Counter 16 Bit.
    Скачать (11 Кб)
  5. Пример задания ШИМ на выходе ПЛК.
    Скачать (11 Кб)
  6. Пример работы с библиотекой SysLibTime.
    Получение реального времени из ПЛК. Задание даты и времени в ПЛК.
    Скачать (7 Кб)
  7. Пример использования SysLibTime. Подсчет времени наработки станка.
    Скачать (14 Кб)
  8. Пример работы с модулем Archiver — создание архива в памяти ПЛК.
    Скачать (8 Кб)
  9. Пример работы с SysLibFiles. Создание файловых архивов.
    Анализ свободного места в ПЛК. Перезапись старых архивов.
    Скачать (9 Кб)
  10. Пример использования менеджера задач для вызова POU.
    Скачать (7 Кб)
  11. Пример вызова различных POU на различных языках.
    Скачать (12 Кб)
  12. Пример реализации ПИД регулятора с АНР.
    Скачать (16 Кб)
  13. Пример реализации простого ПИД регулятора.
    Скачать (12 Кб)
  14. Пример ПИД-Регулятора импульсного с ручным управлением.
    Скачать (274 Кб)
  15. Примеры реализации алгоритмов САУ-МП (алгоритмы 11, 14 и16).
    Скачать (61 Кб)
  16. Примеры реализации графиков уставки.
    Скачать (10 Кб)
  17. Пример работы с быстрыми входами и выходами
    из прерывания высокочастотного таймера (Только для ПЛК110).
    Скачать (1,4 Мб)
  18. Пример PID регулятора. Испытан на практике на таких параметрах как:
    разрежение в топке котла, уровень в барабане котла, соотношение топливо-воздух, нагрузка.
    Работает хорошо и предсказуемо. Спасибо, CEkip.
    Скачать (136 Кб)
Читайте также:
Постановка задачи при создании программ это

Примеры сетевого обмена

  1. Руководство по подключению устройств на интерфейс RS-485.
    Скачать (258 Кб)
  2. Пример обмена по протоколу Modbus TCP через порт Ethernet.
    Скачать (15 Кб)
  3. Пример сетевого обмена по протоколу UDP через Ethernet.
    Скачать (485 Кб)
  4. Руководство по подключению OPC CoDeSys.
    Скачать (901 Кб)
  5. Пример реализации WEB сервера.
    Скачать (30 Кб)
  6. Пример реализации обмена через библиотеки Modbus.Lib и OwenNet.Lib.
    Скачать (151 Кб)

Последний раз редактировалось Andrey V; 08.11.2021 в 10:57 .

« Предыдущая тема | Следующая тема »

Похожие темы

примеры программ и полезности

от Николаев Андрей в разделе ПЛК (среда CoDeSys V2.3)

Ответов: 78

Последнее сообщение: 06.04.2018, 06:01

Примеры программ для ПЛК63/73 (CoDeSys v.2.3)

от Александр Приходько в разделе ПЛК (среда CoDeSys V2.3)

Последнее сообщение: 16.10.2012, 04:28

Оптимальность в написании программ

от ksn33 в разделе ПЛК1хх

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

ПЛК100 контроллер для малых систем автоматизации с DI/DO ОВЕН

plk100[1]

Лицензионное ограничение области памяти ввода/вывода

Контроллеры ОВЕН ПЛК выпускаются в двух модификациях по лицензионному ограничению размера области памяти ввода/вывода (т.н. области %I+%Q+%M или области отображения процесса):

  • ОВЕН ПЛК-Х.Х-M – контроллеры без лицензионного ограничения объема области памяти ввода/вывода;
  • ОВЕН ПЛК-Х.Х-L – контроллеры с лицензионным ограничением объема области памяти ввода/вывода до 360 байт.

Контроллеры ОВЕН ПЛК-Х.Х-L имеют более низкую цену.

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