PDA

Просмотр полной версии : примеры программ и полезности



Николаев Андрей
25.06.2007, 13:36
здесь будем размещать полезные утилиты и примеры.
просьба в теме не высказываться, чтобы удобнее было искать.
По всем вопросам, запросам и пожеланиям просьба обращаться к Николаеву Андрею: plc@owen.ru

Николаев Андрей
25.06.2007, 18:22
выкладываю утилиту чтения - записи файлов.
выкладываем как есть, ибо как продукт не планировалась - используется в целях дальнейших разработок.

Николаев Андрей
13.12.2007, 14:41
Ура, свершилось.
На сайте выложена Beta версия программки EasyWorkPLC и описание к ней: www.owen.ru/device/88206764

Программа позволяет редактировать значения параметров не используя CoDeSys.

Обсуждение программы - в отдельной теме.

Николаев Андрей
16.01.2008, 09:27
пример работы пид регулятора с автонастройкой для управления 3-х ходовым им (задвижка, клапан).
Используется аналоговыый вход контроллера (измеренное значение и время). И дискретные выходы контроллера ("больше" и "меньше").
Перед работой необходимо привязать переменные измеренного значения и управления ИМ к непосредственным фидическим входам\выходам контроллера в PLC Configuration.
Без контроллера проект работать не будет - так как библиотека PID_Function внутренняя (в самом контроллере).

Kirill
20.02.2008, 13:53
Руководство написано для начинающих пользователей, чтобы облегчить первый опыт работы с ПЛК, МВА8, МВУ8 и МДВВ.
Подключение МВА8 МДВВ и МВУ8 к ПЛК по протоколу ОВЕН.zip (http://kipshop.ru/Documentation/PLC/help/podklyuchenie_mvx_k_plc_owen.zip)
528

Kirill
20.02.2008, 13:56
Аналогичное руководство для связи по Modbus
Подключение МВА8 МДВВ и МВУ8 к ПЛК по протоколу ModBus.zip (http://kipshop.ru/Documentation/PLC/help/podklyuchenie_mvx_k_plc_modbus.zip)
529

Kirill
20.02.2008, 14:00
Описана настройка связи с одним ПЛК

429

Kirill
22.02.2008, 13:16
Подключение ИП320 в режиме Мастера


Подключение ИП320 к ПЛК (http://www.kipshop.ru/frm/info_input_PLC_IP320.rar)

Николаев Андрей
03.03.2008, 15:15
Для улучшения измерительных характеристик контроллеров ОВЕН ПЛК при работе с термосопротивлениями нами была сделана мтодика калибровки. В случае, если на Вашем контроллере показания плавают (при работе с термопреобразователями) рекомендуем провести калибровку. Программы для калибровки и описание методики проведения - во вложенном файле.

510

Николаев Андрей
04.04.2008, 17:42
Пример работы с сетевыми переменными

Николаев Андрей
16.04.2008, 10:36
Библиотека, в которой ФБ, позволяющий декодировать значение с 2-х дискретных датчиков, подключенных к одному аналоговому входу МВА8. Написан специалистом нашего диллера в Барнауле.

Николаев Андрей
16.04.2008, 10:54
Господа. Предлагаю присылать свои примеры библиотек и программ для обленгчения жизни Ваших коллег. Присланное будет размещено в разделе полезности с указанием автора.

Николаев Андрей
08.05.2008, 13:20
Пример соединения ПЛК и панели BrandChild от пользователя Партизан. Нами не проверялось.
Партизану спасибо.:)

Kirill
05.06.2008, 11:36
Пример на языке ST для ПЛК100-24.K-L.

При замыкании первого входа замыкается первый выход.
При замыкании первого и второго входа замыкается второй выход.
Через 5 секунд после замыкания третьего входа замыкается третий выход.
Через 10 секунд после размыкания четвертого входа размыкается четвертый выход.

540

Kirill
09.06.2008, 10:56
Простейший пример: график уставки по двум точкам. При желании по аналогии можете сделать столько точек, сколько вам нужно.
x1, y1 - координаты первой точки
x2, y2 - координаты второй точки

При выходе за пределы линейной зависимости выходная переменная принимает значение или y1, или y2.


551

Kirill
09.06.2008, 11:10
В примере используются маски входов и выходов МДВВ. Это позволяет упростить программу и уменьшить информационный обмен между ПЛК и модулем.
Значение маски хранится в переменной типа word. Обращение в программе к конкретному входу или выходу осуществляется через указание соответствующего бита.

MDVV_inp.1 обращение ко второму входу МДВВ.
MDVV_out.0 обращение к первому выходу МДВВ.

552

Kirill
20.06.2008, 12:33
Вот пример функционального блока и его использование в языке LD.
На вход подается сигнал от аппаратного счетчика (счетчик настраивается в plc configuration)
В параметре pulse указываете количество импульсов на один оборот.
Параметр m-mode, равный false, дает частоту в об/сек, при значении True в об/мин.

(таргет файл прилагается)

569

Kirill
18.07.2008, 12:39
Реализация на ПЛК и САУ-М6 работы САУ-МП (16 алгоритм)

Автор - Александр М (КИП-Сервис)

603
__________________________________________________ ___________________________________________
Реализация на ПЛК модернизированного алгоритма
САУ-МП.14 алгоритма САУ-МП.11
Для втавки в проект необходимо импортировать функциональный блок, коментарии внутри блоков.

Автор - Виктор Алексеев

839

Данные алгоритмы не тестировались

Kirill
11.08.2008, 11:24
МВА - 16 адрес, протокол modbus ASCII, RS485
ИП320 - 1 адрес (slave), Modbus RTU, RS232
ПЛК100-220.R-M прошивка 2-03 таргет 2-02-4

632

+ аналогичный пример для трм101

ТРМ101 - 2 адрес, протокол ОВЕН, RS485, скорость 115200
ПЛК100-24.К-L прошивка 2-07-2 таргет 2-05-7
ИП320 - мастер (ПЛК адрес 1), Modbus-RTU, RS232, скорость 115200

1236

Kirill
11.08.2008, 11:25
ПЛК100-24.К-L прошивка 2-03 таргет 2-02-4
трм133 адрес 16, протокол ОВЕН, RS485

обратите внимание на дополнительные ФБ

633

Kirill
04.09.2008, 10:28
Опрос входов и уставок ТРМ202, изменение уставки с ПЛК

ПЛК 100-24.К-L прошивка 2-3 таргет 2-02-4

668

Kirill
16.09.2008, 14:21
Опрос значения, подсчитанного счетчиком СИ8 (параметр DCNT).

Для корректного отбражения полученного значения в проекте реализован ФБ пересчета. Этот же ФБ есть в архиве в виде импортируемого файла.
Аналогичным образом можно опросить значение расходомера на СИ8.

ПЛК 100-220.R-M прошивка 2-3 таргет 2-02-4

696

Kirill
16.09.2008, 16:05
Автор - Сергей_К

Мастер

698

Слэйв

697

Kirill
13.10.2008, 11:22
ПЛК100-24.к-L
Один из контроллеров – ведущий, другой – ведомый.
Одна из переменных пересылается из мастера в слэйв, другая запрашивается мастером из слэйва.

750

Kirill
17.10.2008, 11:25
Пример формирования графика температуры отопления в зависимости от температуры наружнего воздуха с реализацией ночного режима работы.

Функциональный блок экспортирован, для вставки в проект необходимо сделать импорт.

Автор - Avit

760

Kirill
17.10.2008, 13:08
ПЛК150-220.И-L прошивка 2-3 таргет 2-02-4

Подключение к выходу ПИД-регулятора дискретного выхода ПЛК и настройка ШИМ для данного выхода.

762

Kirill
17.10.2008, 16:26
Пример пересчета в секунды времени, заданного на ИП320. Для примера, заданное время используется в ПЛК для таймера TP.

плк100-24.К-L прошивка 2-3 таргет 2-02-4

764

Kirill
22.10.2008, 14:46
Пример отображения на ИП320 значений, измеренных на МВА.
Связь панели напрямую с модулем, минуя ПЛК.

772

Kirill
28.10.2008, 13:43
ПЛК100-24.К-L прош 2-3 таргет 2-02-4

При замыкании первого входа контроллера программа записывает в выбранный интерфейс строку «check_com1»

Для смены интерфейса необходимо поменять значение параметра com_num, затем замкнуть второй вход ПЛК. Убедиться, что параметры port_handle и port_init приняли значение true.

Проверить работу можно, подключив ПЛК к компьютеру через сом порт или преобразователь интерфейсов и запустив hyper terminal

781

Kirill
07.11.2008, 16:09
пример опроса ПКП1

806

Kirill
21.11.2008, 11:29
1) Эмуляция работы ТРМ1 (на ПЛК)
2) Опрос входа МВА (получение температуры)
3) Обработка в контроллере данных, полученных с МВА
4) Передача данных на панель для отображения температуры
5) Установка уставки, гистерезиса и режима работы с панели
6) Контроллер работает в качестве мастера

836

Kirill
26.11.2008, 12:21
1) Эмуляция работы ТРМ1 (на ПЛК)
2) Опрос входа МВА (получение температуры)
3) Обработка в контроллере данных, полученных с МВА
4) Передача данных на панель для отображения температуры
5) Установка уставки, гистерезиса и режима работы с панели
6) Контроллер работает в качестве слэйва (подчиненного)


851

Kirill
08.12.2008, 12:44
Действительно для ПЛК с прошивкой 2-05-7 и новее.


885

Kirill
15.12.2008, 17:12
Вопросы по Web-серверу можно задать здесь:
http://www.owen.ru/forum/showthread.php?t=3129

894

Kirill
14.01.2009, 17:58
Программа для отправки СМС, реализована проверка отсылки **** перепрошивка модема для разных режимов отправки СМС(PDU и текстовый), удаление СМС через некоторое время (если нужно что бы отправленные или полученные смс некоторое время хранились на симке) и т.д., + есть мелкие сопутствующие блоки: перевода русской смс в юникод и обратно, перевод числа из 10-ой в 16 - ую системы исчсилений(нужно писать длину СМС при отправке смс в режиме PDU).

Автор - mettled.
944

вопросы по примеру можно задать здесь: http://www.owen.ru/forum/showthread.php?t=99&page=2

Kirill
06.02.2009, 14:13
3 программы, прибавляющие 1 в каждом цикле.
первая срабатывает 1 раз в секунду.
вторая выполняется так быстро, как это возможно.
третья срабатывает один раз при каждом замыкании 1 дискретного входа ПЛК.


973

Kirill
02.03.2009, 13:10
Пример опроса модуля I7017 контроллером по протоколу DCON.
Краткое описание и таргет-файл в архиве.

1038

Kirill
13.04.2009, 17:26
ПЛК100-24.К-L мастер
СМИ1 слэйв

1. передача целых значений через протокол ОВЕН.
2. передача вещественных (float) значений через протокол ОВЕН.


1157

Николаев Андрей
17.04.2009, 09:56
Пример отслеживания времени включения и времени выключения оборудования с подсчетом времени работы.
Для реализации включения\выключения используется генератор сигналов Blink.
Время наработки отслеживается со встроенных аппаратных часов реального времени, используя библиотеку SysLibTime

Николаев Андрей
21.04.2009, 10:59
пример использования библиотеки овен (без использования конфигурации плк).
опрашивается трм202.
описание работы прибора в проекте.

Kirill
28.04.2009, 17:11
1) эмуляция работы трм1
2) опрос входа мва (получение температуры)
3) обработка в контроллере данных, полученных с мва и управление устройствами, подключенными на плк
4) передача данных на панель для отображения температуры
5) установка уставки, гистерезиса и режима работы с панели
6) панель подключается к порту Rs232 Debug в качестве мастера
7) модуль подключается по Rs485 к качестве подчиненного устройства

1214

Kirill
27.05.2009, 17:17
Пример обмена ПЛК100-RL по протоколу ОВЕН с модулями МУ110, МВ110, МК:
1287

По протоколу ModBus RTU:


1288

Kirill
27.05.2009, 17:19
Пример задания сетевых настроек модулей Мх110 (а также МВА, МВУ, МДВВ) из ПЛК100 без использования конфигуратора для модулей.

1290

Kirill
01.06.2009, 17:51
краткие рекомендации по подключению устройств к мастеру при работе в сети Rs485.


начинающим читать обязательно!


1299

Kirill
04.06.2009, 11:05
Пример использования модуля Archiever. При возникновении сигнала 1 в любой дискретной переменной производится соответствующая запись в файл архива.

1317

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

1318

Kirill
04.06.2009, 12:32
Пример работы с аппаратными часами реального времени с помощью библиотеки syslibtime. Получение данных о текущем времени и изменение времени из программы.

1320

Kirill
23.06.2009, 16:53
Пример передачи вещественных чисел (с десятичной точкой) со знаком с панели СП270 на ПЛК154-У.L.
В примере рассмотрены два варианта
1) Передача с панели значения в формате INT
2) Передача с панели значения в формате FLOAT
Оба метода реализованы в виде функций.

1363

Kirill
21.08.2009, 11:36
ПЛК63-L прошивка 1.94, таргет прилагается.
Простой пример работы с библиотеками отображения экранов.
Автор - lara197a

1513

Kirill
07.09.2009, 09:51
пример программы для передачи времени и даты с панели оператора сп270 в программируемый логический контроллер плк150-у.м.

программа содержит функцию перевода двоично-десятичных чисел в десятичные числа.

для написания программы использовался контроллер с прошивкой 2.10.7.

1528

Kirill
10.11.2009, 14:25
1) plc-csd-plc.rar
Пример связи двух ПЛК100 по средствам дозвона - CSD-соединение:
ПЛК1 работае в режиме "дозвона" через заданный период
ПЛК2 работает в режиме "ожидания вызова"

ПЛК1 опрашивает модуль аналогового ввода МВ110-224.2А, при превышении температурой заданного значения, происходит дозвон по команде на ПЛК2.

2) opros+error.rar (http://www.kipshop.ru/frm/opros_error.rar)
Пример связи ПЛК100 и ПК с установленным Modbus OPC/DDE сервером Lectus.
Реализовано два CSD-канала передачи данных: основной и аварийный. Основной - Периодический опрос удаленного объекта (ПЛК) диспетчерским пунктом(ПК). ПК- Master.
Аварийный-передача данных от ПЛК в ДП по аварии. ПЛК-Master. Подробное описание в архиве.

Кирилл Валюнин
18.02.2010, 11:19
Примеры работы модулей линейки Мх110 через CSD-соединение (дозвон в режиме передачи данных)

Модуль-ПМ01..............ПМ01-Lectus OPC

Общее описание в формате pdf http://www.kipshop.ru/Documentation/lectus/mv_lectus_gsm(csd).zip
И три примера соответственно для модулей:
МВ110-224.2А опрос значения входа модуля
МВ110-220.16Д опрос счетчика первого входа модуля
МУ110-220.8Р управление выходными элементами модуля
В архиве находятся настройки модуля и конфигурация Lectus OPC, настройки модемов указаны в pdf-файле.
1906

1907

1908

Ельцов Андрей
24.03.2010, 16:19
1. Передача данных из ОВЕН ПЛК в Lectus OPC по протоколу Modbus TCP (http://77.105.136.35/index.html/frm/1.bistriy_start_tcp.rar)

2. Передача данных из ОВЕН ПЛК в Lectus OPC через gsm-модем используя CSD-соединение. (http://77.105.136.35/index.html/frm/2.plc_lectus_gsm(csd).rar)

3. Передача архивов из ОВЕН ПЛК в Lectus OPC (http://77.105.136.35/index.html/frm/3.plc_arhiv_lectus.rar)

В данных архивах: Прошивки, таргеты ПЛК, инструкции по созданию и исходники Lectus и Codesys

Далее данные из Modbus OPC сервера Lectus (http://www.owen.ru/catalog/64467020) можно передавать в любую SCADA-систему.

Александр Приходько
24.03.2010, 18:12
Пример совместного использования в сети приборов овен.
в качестве мастера сети является программируемый контроллер плк100-р-l.
Данный прибор ведет опрос основных параметров с прибора трм212 и модуля мдвв.
Также в данном приборе реализована запись уставки и остановка\запуск для трм212
и управление выходами мдвв.

Приборы настроены и работают по протоколу овен
Скорость обмена: 115200
Адрес трм212: 16
Адрес мдвв: 32
Остальные параметры связи по умолчанию.

В проекте для плк реализована визуализация, через которую можно просматривать
полученные данные и ввод новых значений.
Также представлены конфигурации трм212 и мдвв.


Пример визуализации:
2107
Архив с проектом:
2108

Кирилл Валюнин
08.04.2010, 12:06
По просьбе пользователя Mangust пример:
Работа ПЛК110-60Р.L +МВ110-8ас (считывание данных с первого канала модуля)
В архиве:
Конфигурация модуля
Программа
Таргет 2.10

Николаев Андрей
11.04.2010, 23:20
В связи с частыми вопросами по работе с POU:
В создаваемом в CoDeSys проекте может быть несколько программных модулей, и каждый занимается своей отдельной работой, или работа POU связана.
В любом случае если речь не идет о многозадачности (в данном топике не идет) нобходимо чтобы в проекте был POU PLC_PRG. ОБЯЗАТЕЛЬНО!!!
Именно он вызывается системой исполнения, причем не явно (незаметно для пользователя - автоматически)
Остальные созданные Вами POU, если их необходимо выполнять нужно вызвать в основной программе - PLC_PRG. Без этого остальные POU не учитываются компилятором, и следовательно в дальнейшем просто не загружаются в ПЛК и не исполняются...
В приложении 2 файла: несколько подпрограмм, вызывающихся в основной программе. На языке ST и на языке CFC.


Данный пост не избавляет от необходимости прочитать в мануале по CoDeSys правила создания POU и вызова их, а только наталкивает на это... :)

Кирилл Валюнин
15.04.2010, 10:25
Пример совместного использования модулей МВ110-16Д,МВ110-2А,МУ110-8Р+Owen ModBus OPC+MasterScada 3.2
В архиве:
-конфигурации модулей
-конфигурация OPC-сервера
-проект-пример MasterScada
Чтение битовой маской входов МВ110-16Д, чтение значений с двух входов МВ110-2А, задание состояния выходных реле модуля МУ110-8Р битовой маской.

Александр Приходько
07.05.2010, 14:06
Довольно часто возникают вопросы при подключении к контроллерам нестандартного оборудования с интерфейсами RS-485 или RS-232. Это могут быть электросчетчики, расходомеры, модемы и различное оборудование с нестандартными (стандартные протоколы для наших ПЛК: OWEN, MODBUS, DCON) протоколами обмена.

В таких ситуациях необходимо использовать дополнительную библиотеку под названием SysLibCom.lib. Сама библиотека и краткое описание всегда есть на диске, который идет в комплекте с программируемым контроллером и на нашем сайте в разделе Среда программирования Codesys и другое программное обеспечение.

Данная библиотека позволяет работать с необходимым вам портом напрямую: открывать порт, закрывать и настраивать на необходимые параметры обмена. С помощью нее можно отсылать в порт заранее сформированную команду и получать ответ от устройства, который в дальнейшем обрабатывается контроллером.

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

Чуть позже я выложу подробный пример как можно реализовать обмен информацией используя данную библиотекой. В частности будет пример формирования текстовых команд (что актуально для модемов, управляемых AT командами) и формирования произвольной команды в бинарном виде (Modbus подобные протоколы актуальны для большинства электросчетчиков).

2327

2326

Александр Приходько
28.05.2010, 17:15
Примеры реализации нестандартных протоколов обмена.

Пример 1:
Работа с битовыми запросами, пример реализации модбас подобного протокола на базе модуля МВА8.

Примеры визуализации:
2406
2407


Пример 2:
Работа с символьными запросами, пример работы с модемом ПМ01 посредством AT команд.

Примеры визуализации:
2408
2409

Архив с описанием и программами:
2415

Кирилл Валюнин
26.07.2010, 14:27
По просьбе пользователя Alex74
Небольшой пример
МВУ8+ПЛК100+СП270

МВУ8-rs485-ПЛК100 (ПЛК-мастер)
ПЛК100-rs232debug-СП270 (Панель-мастер)

Александр Приходько
14.09.2010, 12:45
Пример совместной работы овен плк и счетчика импульсов си30 по интерфейсу Rs485. Данный пример реализован с помощью библиотек:
ComService.lib
ModBus.lib
SysLibCom.lib

Пример визуализации:
2817

Необходимые библиотеки:
2816

Кирилл Валюнин
05.10.2010, 10:01
проекты для сп270:
Протокол обмена ModBus RTU

Адрес модуля 16

Скорость обмена 115200

сп270+мк110.8дн.4р
сп270+му110-8р
сп270+му110-8и
сп270+мв110-16д

Николаев Андрей
08.10.2010, 10:58
Пример опроса и записи переменных типа Real и типа Bool панелью СП270 (Master) и ПЛК63 (Slave).
Номера регистров указываются в заданном диапазоне. Прошивка ПЛК 2.11.

Александр Приходько
18.10.2010, 11:55
Немного выше в данной ветке форума были выложены примеры в которых реализовалась работа с портом на прямую. В связи с частыми вопросами было принято решение сделать более полный пример.

Данный пример реализован на базе библиотеки UNM. Для корректной работы библиотеки SysLibCom необходимо было увеличивать время цикла, плюс вручную открывать и настраивать порт. При использовании библиотеки UNM данные задачи выполнять нет необходимости.

В качестве примера были взяты устройства ПЛК154-U.M с прошивкой 2.10.9 и модуль аналогового ввода.

В примере полностью реализована функция 03 - Read Holding Register протокола Modbus. В примере предусмотрен контроль CRC и остальных нештатных ситуаций, таких как - отсутствие ответа, неполный ответ и ошибочный ответ. При помощи данной функции контроллер за один раз опрашивает все 48 регистров модуля МВА, после чего данный массив преобразует в удобный для восприятия вид.

В примере для удобства предусмотрена визуализация:

2944

Александр Приходько
08.11.2010, 11:19
пример работы частотного преобразователя овен пчв с программируемым логическим контроллером овен плк.

управление организовано через контрольное слово.

пример визуализации:
3011

Александр Приходько
08.11.2010, 14:26
По просьбе клиентов был сделан пример для обновленной линейки приборов ТРМ2хх, которые поддерживают протокол Modbus.
В примере ПЛК154 опрашивает значения температуры с модуля МВА8, Измеренные значения с ТРМ202 и производит запись уставок в ТРМ202.

Александр Приходько
10.11.2010, 17:13
По просьбе клиентов нами были произведены серии испытаний для определения максимальных частот, на которых работают контроллеры ОВЕН ПЛК.
В частности были проверены следующие модули:

ПЛК100:
Encoder 16 bit
Counter 16 bit
Triger
ПЛК110
Fast Z-Encoder+Counter
Fast Encoders
Fast Counters

В контроллерах была установлена прошивка 2.12.7:
http://www.owen.ru/catalog/55710393


Предварительные результаты во вложении:
3024

Испытания завершены. В архиве ниже выложены результаты испытаний.
Данная информация на текущий момент вносится в документацию.
3432

Николаев Андрей
17.12.2010, 19:05
Выкладывается пример создания пользовательской библиотеки - ПИ регулятор для управления задвижкой.
Написан CEkip. За что ему большое спасибо:cool: :cool: :cool:

Николаев Андрей
24.12.2010, 10:29
Выкладывается пример создания пользовательской библиотеки - ПИД регулятор для управления задвижкой.
Написан CEkip. За что ему большое спасибо :cool: :cool:

Николаев Андрей
24.01.2011, 15:40
ПЛК63. Настройка обмена.
Пример настройки OPC серверов Lectus и ОВЕН OPC ModBus для обмена с ПЛК63.

Александр Приходько
31.03.2011, 17:12
Пример передачи уставки таймера TON из панели оператора СП270 в ПЛК154-U-M.

Александр Приходько
31.03.2011, 17:37
Пример передачи уставки таймера TON из панели оператора СМИ1 в ПЛК100-R-L. Панель является слейвом в сети RS-485. ТАкже в сети используется модуль MK110-4ДН-4ТР.

Александр Приходько
31.03.2011, 17:46
Библиотека для работы с электросчетчиками Меркурий 230 ART.
Версия библиотеки 3.0

Скачать можно тут:
http://kipshop.ru/Primeri/DevicesOther/03_Mercury_230_ART.zip

ga-nozry
23.05.2013, 19:39
Выкладываю рабочий функциональный блок простого ПИД-регулятора для управления КЗР с датчиком положения.

В своё время намучился (CoDeSys не знал) с программной реализацией регулятора температуры, управляющего КЗР, но в итоге оказалось, что для CoDeSys существуют всякие полезные библиотеки, где по сути всё уже реализовано.

Блок используется в программах для ОВЕН ПЛК150/160 уже почти на сотне ЦТП в городе и управляет КЗРами, установленными на трубчатых и пластинчатых теплообменниках и поддерживающими необходимую температуру ГВС и отопления. Рабочий он в общем :)

Библиотеку из блока не делал, он экспортированный и код открыт. Поэтому сами решайте, какие переменные использовать как входные, какие как внутренние, что оставить константами, а что нет, и вообще, творите что хотите.
Подробное описание блока и процесс его подключения. (http://www.asutp-volgograd.com/1/post/2013/05/pid-regulator-codesys.html) (если ссылку удалите, то можете использовать информацию из поста).

Не знаю насколько актуален и полезен этот блок, но надеюсь кому-то поможет)

kolyan
23.05.2013, 20:31
Выкладываю рабочий функциональный блок простого ПИД-регулятора для управления КЗР с датчиком положения.

В своё время намучился (CoDeSys не знал) с программной реализацией регулятора температуры, управляющего КЗР, но в итоге оказалось, что для CoDeSys существуют всякие полезные библиотеки, где по сути всё уже реализовано.

Блок используется в программах для ОВЕН ПЛК150/160 уже почти на сотне ЦТП в городе и управляет КЗРами, установленными на трубчатых и пластинчатых теплообменниках и поддерживающими необходимую температуру ГВС и отопления. Рабочий он в общем :)

Библиотеку из блока не делал, он экспортированный и код открыт. Поэтому сами решайте, какие переменные использовать как входные, какие как внутренние, что оставить константами, а что нет, и вообще, творите что хотите.
Подробное описание блока и процесс его подключения. (http://www.asutp-volgograd.com/1/post/2013/05/pid-regulator-codesys.html) (если ссылку удалите, то можете использовать информацию из поста).

Не знаю насколько актуален и полезен этот блок, но надеюсь кому-то поможет)

Спасибо за ФБ!
Попробую его переделать на вариант без датчика положения, благо для этого, как я понял, нужно заменить на VALVE_REG_NO_POS блок VALVE_REG.

ga-nozry
24.05.2013, 12:33
В принципе, для варианта без датчика можно заменить блок VALVE_REG на VALVE_REG_NO_POS, выставить параметры КЗР и ограничиться этим.

Так я вначале и сделал на объектах, где мы не использовали датчик, но позже мой коллега (он возится со слежением за работой ЦТП и настройкой коэффициентов по удалёнке, а я обычно в поле) столкнулся с какой-то проблемой и добавил в блок сброс интегральной составляющей при достижении и поддержании выходом ПИДа максимума или минимума в течение некоторого времени.

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

Аргументы против использования датчика:

занимает вход МВА (бывает, что его-то и не хватает)
необходима юстировка этого входа
нужны провода, клеммники
бывают наводки (иногда жуткие просто) из-за обилия частотников на ЦТП
бывают проблемы с RS-485 и МВА отваливается (задействованные в управлении датчики вешаем на ПЛК)
не нужна высокая точность регулирования


За датчик:

точность регулирования всё же выше
удаленный контроль степени открытия клапана
больше инфы для выявления причин неполадок

Николаев Андрей
24.05.2013, 14:59
Может давайте заведем отдельную тему, где Вы сможете свои блоки выкладывать?

Июха
19.11.2014, 13:16
Здравствуйте! а кто-нибудь делал что-то подобное в кдс3? Нужен ПИД-регулятор для управления КЗР

Egerenok
06.04.2015, 23:57
Тестовый пример.Проверено.Работает.
Может кому пригодится.
Спасибо Пантелееву Дмитрию(компания ОВЕН).

CDS
06.04.2018, 06:01
ABZ-Энкодер
Позволяет обрабатывать сигналы энкодера, имеющего выходы А и В со смещением фазы,
а также дополнительный выход сигнала нулевой точки.

Возможности:
- вывод текущего положения относительно нулевой точки
- определение направления вращения/движения энкодера
- задаваемая длина шкалы

Требования:
- подключенная библиотека STANDARD.LIB
- наличие 3-х быстрых входов на ПЛК

В ПЛК110 быстрые входы (FDI0-FDI3) в конфигураторе ПЛК нужно перевести в режим "Fast discret inputs - direct control".

В ПЛК110 версии М02 с последними прошивками есть встроенный энкодер (настраивается в Конфигурации ПЛК). Однако, работает он неоднозначно - значение в 4 раза больше шкалы самого энкодера. Потому и появилась необходимость написать свой обработчик.

Проверено на ПЛК110.30 и ПЛК110.60 с энкодером E6B2-CWZ5B.

В проекте не установлен таргет. Подключите нужный Вам в Настройке целевой платформы.

UPD: Важное замечание! Для переменной POSITION используется тип WORD, поэтому ширина шкалы ограничена 65К. Если нужна бОльшая ширина шкалы, то используйте другой целочисленный тип (DWORD, DINT, UDINT и т.п.)

Комментарии приветствуются!

С уважением, CDS (Дмитрий).