Пример передачи уставки таймера TON из панели оператора СМИ1 в ПЛК100-R-L. Панель является слейвом в сети RS-485. ТАкже в сети используется модуль MK110-4ДН-4ТР.
Пример передачи уставки таймера TON из панели оператора СМИ1 в ПЛК100-R-L. Панель является слейвом в сети RS-485. ТАкже в сети используется модуль MK110-4ДН-4ТР.
Последний раз редактировалось Александр Приходько; 05.04.2011 в 13:29. Причина: Перевыложен архив
Библиотека для работы с электросчетчиками Меркурий 230 ART.
Версия библиотеки 3.0
Скачать можно тут:
http://kipshop.ru/Primeri/DevicesOth...ry_230_ART.zip
Последний раз редактировалось Александр Приходько; 28.12.2011 в 11:55.
Выкладываю рабочий функциональный блок простого ПИД-регулятора для управления КЗР с датчиком положения.
В своё время намучился (CoDeSys не знал) с программной реализацией регулятора температуры, управляющего КЗР, но в итоге оказалось, что для CoDeSys существуют всякие полезные библиотеки, где по сути всё уже реализовано.
Блок используется в программах для ОВЕН ПЛК150/160 уже почти на сотне ЦТП в городе и управляет КЗРами, установленными на трубчатых и пластинчатых теплообменниках и поддерживающими необходимую температуру ГВС и отопления. Рабочий он в общем
Библиотеку из блока не делал, он экспортированный и код открыт. Поэтому сами решайте, какие переменные использовать как входные, какие как внутренние, что оставить константами, а что нет, и вообще, творите что хотите.
Подробное описание блока и процесс его подключения. (если ссылку удалите, то можете использовать информацию из поста).
Не знаю насколько актуален и полезен этот блок, но надеюсь кому-то поможет)
В принципе, для варианта без датчика можно заменить блок VALVE_REG на VALVE_REG_NO_POS, выставить параметры КЗР и ограничиться этим.
Так я вначале и сделал на объектах, где мы не использовали датчик, но позже мой коллега (он возится со слежением за работой ЦТП и настройкой коэффициентов по удалёнке, а я обычно в поле) столкнулся с какой-то проблемой и добавил в блок сброс интегральной составляющей при достижении и поддержании выходом ПИДа максимума или минимума в течение некоторого времени.
Сейчас, поработав с обоими вариантами (с датчиком и без), мы видим, что оба блока хорошо справляются с задачей регулирования температуры (а также давления и перепада, в некоторых местах). Причем где-то лучше один вариант, где-то другой. С датчиком обычно точность выше, но система становится менее надежна. Потому постепенно переходим на бездатчиковое управление.
Аргументы против использования датчика:
- занимает вход МВА (бывает, что его-то и не хватает)
- необходима юстировка этого входа
- нужны провода, клеммники
- бывают наводки (иногда жуткие просто) из-за обилия частотников на ЦТП
- бывают проблемы с RS-485 и МВА отваливается (задействованные в управлении датчики вешаем на ПЛК)
- не нужна высокая точность регулирования
За датчик:
- точность регулирования всё же выше
- удаленный контроль степени открытия клапана
- больше инфы для выявления причин неполадок
Может давайте заведем отдельную тему, где Вы сможете свои блоки выкладывать?
Здравствуйте! а кто-нибудь делал что-то подобное в кдс3? Нужен ПИД-регулятор для управления КЗР
Тестовый пример.Проверено.Работает.
Может кому пригодится.
Спасибо Пантелееву Дмитрию(компания ОВЕН).
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 (Дмитрий).
Последний раз редактировалось CDS; 06.04.2018 в 13:00.