
Программная среда CoDeSyS 3.5
23 поста
23 поста
9 постов
5 постов
2 поста
3 поста
3 поста
Заказали оборудование фирмы ОВЕН называется оно СПК210.
Скачал демо-проект с сайта ОВЕН, если кому интересно, вот ссылка. Это чисто моё субъективное мнение, озвучиваю свои впечатления.
Из плюсов:
Мощный процессор - 4х Cortex-A35 - 1200 МГц против ARM Cortex™-A8 Core 600 MHz 600 МГц
Гигантские возможности CODESYS 3.5, и аппаратные, и математические, и функциональные.
Есть Разъем для интерфейсов RS-485 в комплекте.
Прочный и качественный корпус.
Из минусов:
Слабая графика, к сожалению для меня это имеет огромную и решающую роль в выборе оборудования. Панельный контроллер должен выполнять именно свою основную функцию - графику.
Тренды работают плохо, вытекает из слабой графики.
И "плохая тыкабельность", плохо реагирует на нажатие на экране. В реальных условиях на объектах у операторов пальцы обычно в чём-то, так как они работают ещё где-то. Пальцы в саже, в муке, в сахаре, в патоке. Ну вы поняли. Для них нажимать на подобный экран - это мука.
Я немного расстроился, честно, я ожидал нечто большего. Вот видео работы СПК210.
Тестируем ОВЕН СПК210
А вы как думаете, друзья?
С уважением, Гридин Семен.
Для камер сушки и варки мясных изделий по любому можно применять только психрометрический способ измерения влажности.
Такой алгоритм не у всякого оборудования есть возможность реализовать. Есть уже готовое оборудование, а можно обойтись и собственными алгоритмами на свободно-программируемом оборудовании.
Приветствую вас на нашем сайте kipiaplc. Рассмотрим этот метод и что с ним можно сделать?
Психрометрический метод основан на измерении влажности воздуха по понижению температуры тела при испарении с его поверхности, за счёт затраты тепла на испарение воды.
В психрометре используются два термометра, у одного из которых (смоченный термометр) резервуар обёрнут смачиваемым батистом. Вследствие испарения с поверхности батиста температура смоченного термометра будет ниже температуры сухого термометра, показывающего температуру воздуха, и тем ниже, чем меньше влажность воздуха.
Парциальное давление водяного пара в воздухе определяется по психрометрической формуле, на основании которой составлены психрометрические таблицы:
е = E` - Ap (t - t)' · (1 + 0,00115 · t`), гПа,
Из готового оборудования компания ОВЕН производит МПР51. Это программируемый шаговый терморегулятор. На самом деле очень дубовое устройство - операторы мучаются с настройками, без специалиста разобраться с ним невозможно. Это и хорошо и плохо.
Я предпочитаю нормальные устройства с понятным человеческим интерфейсом. Нет необходимости дежурить возле оборудования, чтобы поменять уставку в шаге.
Есть ещё приборы компании Замер - ИТР-02П. Заказчика и нас этот прибор тоже не устроил, потому что не понятно, как его настраивать. Та же ситуация, как и с МПР51.
Для Codesys 2.3 есть специальная библиотека PSI_MOIST. Находится она в категории PID_regulators, Это штатная - заводская библиотека. Опробована на реальном объекте. На печи для варки и сушки колбасы.
Работает в достаточно большом диапазоне от 0 до 100 Градусов по сухому датчику температуры. Ну хочу сразу сказать этот метод измерения сам по себе не точный. Но для варки колбасы для циклической подачи пара хватило.
Входы функционального блока:
T_Dry:REAL; (Температура сухого)
T_Moist:REAL; (Температура влажного)
A_Koeff:REAL; (Психрометрический коэффициент от 0.064 до 0.014)
Pressure:REAL; (Датчик атмосферного давления - приведенного к гектопаскалям - если не присваивать используется значение по умолчанию 1013.25 ГтПа)
И вот, как выглядит сама печь и шкаф автоматики:
Интерфейс на панели оператора для реализации алгоритмов.
Интерфейс панели печи для варки и сушки колбасы
На этом я заканчиваю, если будут вопросы, пишите комментарии.
С уважением, Гридин Семен.
Как-то стояла задача измерить уровень ёмкости воды. Ёмкость вертикальная — цилиндрическая. Этот уровень необходимо было перевести в объём воды. Хочу написать вам рабочий метод автоматизации уровня.
Приветствую всех посетителей сайта, с вами автор блога, Гридин Семен. Пишу статью про рабочую программу на отечественном оборудовании Овен ПР.
К сожалению фото с объекта не сохранились. В картинках покажу, какая примерно была емкость и что мы в неё врезали для измерения уровня.
Вот так вот она примерно выглядела. Определили высоту водяного столба. Снизу врезали датчик избыточного давления ПД100. В единицах 1 бар — это 10 метров водяного столба. Исходя из этих данных можно посчитать объем воды. Так как ёмкость у нас была округлой формы. В верхней и нижней части объемы отличались от среднего уровня.
Так как емкость была не совсем правильной формы, формулы по расчету объема здесь не сработали. Тогда мы сделали следующим образом — поделили диапазон тока 4-20 мА на определенное количество частей. Заливали мы бочку по расходомеру, и в каждой части записывали объем воды.
Зная высоту водяного столба и объём я склеил всё это в один мат. аппарат.
Использовал оборудование ОВЕН ИПП120 и ОВЕН ПР200. Почему именно так, всю информацию нужно было дублировать дистанционно.
То что было на экране ИПП120 и ПР200.
И вот таким вот образом склеивали показания уровня и требуемого объема.
Внутренности блока Уровнемер.
У нас получилось достаточно точно. Так как делений много по всему диапазону датчика.
Если есть вариант, как сделать проще и лучше, напишите в комментариях. На этом я заканчиваю, пока-пока.
С уважением, Гридин Семен
Природа ошибок может быть самой разнообразной, и первое, что должен сделать
разработчик, столкнувшись с ошибкой – классифицировать её. В рамках АСУ ТП можно выделить следующие характерные типы ошибок:
аппаратные неисправности;
ошибки в прошивке;
ошибки в системе исполнения/среде программирования;
ошибки в пользовательском проекте;
ошибки, вызванные внешними условиями и человеческим фактором;
ошибки, которые не являются ошибками.
Аппаратные неисправности могут возникать как по вине производителя (например, из-за непропая элементов платы на производстве), так и по вине пользователя (например, случайно подали 220 В на RS-485).
Способ определения аппаратной неисправности: если проблема не проявляется на другом приборе идентичной модели с той же версией прошивки, тем же пользовательским проектом и находящимся в тех же условиях эксплуатации – то, вероятно, причиной наблюдаемой ошибки является аппаратная неисправность.
В этом случае следует связаться с производителем и организовать отправку прибора в сервисный центр или запросить инструкции для проведения самостоятельного ремонта.
Под прошивкой ПЛК подразумевается низкоуровневое (с точки зрения пользователя) ПО, непосредственно управляющее аппаратной частью контроллера. В состав прошивки обычно входит начальный загрузчик, операционная система, драйвера для периферии, дополнительные службы и сервисы, не связанные с основными задачами ПЛК (например, web-конфигуратор, NTP клиент, FTPсервер и т.д.).
Как и любое другое ПО, прошивка может содержать баги различной степени критичности, которые могут иметь совершенно разные проявления – например, сброс значений энергонезависимых переменных в начальные значения после перезагрузки устройства, неработоспособность конкретного функционала (например, того же NTP-клиента), «зависание» ПЛК на этапе загрузки и т.д.
Обычно производители с некоторой периодичностью выпускают новые версии прошивок для своих ПЛК, в которых исправляют существующие ошибки (и, к сожалению, иногда добавляют новые). Если техподдержка производителя ПЛК точно знает или подозревает, что наблюдаемая клиентом проблема связана с конкретной версией прошивки – то она даст рекомендации по ее обновлению до актуальной версии. Часто совет по обновлению прошивки до актуальной является универсальным (примерно как совет «попробуйте выключить и включить» в техподдержке интернет-провайдера) и используется техподдержкой вообще в любой ситуации.
Это можно понять – обычно инженер техподдержки предпочитает быть в равных условиях с клиентом, а сама техподдержка обычно использует только самые свежие версии прошивок своих приборов.
Способ определения ошибок в прошивке: если проблема не проявляется на этом же приборе, прошитом другой версией прошивки (причем в различных случаях может помочь как обновление прошивки до свежей версии, так и откат до более старой), тем же пользовательским проектом и находящимся в тех же условиях эксплуатации – то, вероятно, причиной наблюдаемой ошибки является ошибка прошивки. В этом случае следует связаться с производителем ПЛК для получения рекомендаций по решению проблемы.
В значительном количестве случаев ПЛК программируются в специализированных средах разработки (IDE) на языках стандарта МЭК 61131-3. Некоторые производители сами разрабатывают IDE для своих ПЛК (например, TIA Portal от Siemens, RSLogix 5000 от Rockwell Automation, КОНГРАФ от МЗТА и т.д.), другие же лицензируют «вендоро-независимые» IDE (CODESYS, ISaGRAF, MasterSCADA 4D).
Созданный в IDE проект загружается в контроллер, где его выполнение обеспечивает система исполнения (runtime). Рантайм обычно также включает в себя библиотеки, конфигурационные файлы, сервисы для отладки и другие элементы инфраструктуры, которые упрощают разработку и отладку ПО.
И среда программирования, и система исполнения могут содержать ошибки. Ошибки IDE обычно отловить довольно просто – они проявляются в виде сообщений об ошибках, неактивности
отдельных кнопок и т.д.
Ошибки рантайма отловить гораздо сложнее и проявляться они могут совсем по-разному – например, такой ошибкой может быть отсутствие возможности подключения к контроллеру, сброс значений энергонезависимых переменных в начальные значения после перезагрузки устройства (да, мы уже использовали этот пример в пункте про ошибки прошивки – но причиной подобной ошибки могут быть и проблемы рантайма), неработоспособность конкретного функционала (например, определенных коммуникационных драйверов) и т.д.
При разработке проекта для ПЛК пользователь может допустить ошибки. Проявления этих ошибок могут быть самыми разнообразными – спорадическая перезагрузка контроллера, некорректное выполнение алгоритма, срабатывание сторожевого таймера из-за исключений и т.д.
Способ определения ошибок в проекте: если проблема не проявляется на этом же приборе c той же версией прошивки, находящимся в тех же условиях эксплуатации, но с другой версией пользовательского проекта (например, более ранней версией или «пустым» тестовым проектом) то, вероятно, причиной наблюдаемой ошибки являются ошибки в проекте. В этом случае пользователю следует приступить к отладке.
Также упростить отладку может грамотный подход к разработке проекта:
наличие детализированного ТЗ;
следование корпоративным или иным стандартам разработки ПО;
регулярное и тщательное тестирование по ходу разработки (когда проект сначала несколько недель пишется «в стол» и только потом запускается на реальном оборудовании – отладка может стать довольно мучительным занятием). Оптимальным, на наш взгляд, вариантом является совмещение модульного тестирования (для отдельных функциональных блоков и других законченных фрагментов приложения) и интеграционного (тестирование всего проекта в рамках системы – с подключением периферии, имитаций условий эксплуатации с помощью генерации помех и т.д.).
Пример ошибки в проекте CODESYS V3.5
Очень часто условия эксплуатации оборудования на промышленных объектах сильно отличаются от офисных. Эти условия можно разделить на две основные группы:
условия окружающей среды (температура, влажность, вибрация, механическое
воздействие);
помехи (кондуктивные, импульсные, радиопомехи и т.д.).
Способ определения ошибок, связанных с условиями эксплуатации и человеческим
фактором: если проблема не проявляется на этом же приборе c той же версией прошивки и тем же проектом, но находящемся в других условиях эксплуатации (например, офисных условиях вместо промышленных) – то, вероятно, причиной наблюдаемой ошибки являются особенности внешней среды объекта или человеческий фактор.
Последний из известных нам типов ошибок – это ошибки, которые, как ни странно, не являются ошибками. В некоторых случаях пользователь может принять за ошибку предсказанное поведение ПО. Особенно это характерно для проектов, для которых отсутствует ТЗ – пользователь может считать, что опрос «слишком медленный», но в реальности такой период опроса может просто являться данностью для конкретных slave-устройств или коммуникационных драйверов.
Еще один пример – ошибки в логе контроллера в CODESYS V3.5, приведенные на этом скриншоте:
Пример «ошибок» в логе CODESYS V3.5, связанных с отсутствием сертификатов HTTPS
Источник с сайта ОВЕН
С уважением, Гридин Семен