youengineerasu

youengineerasu

Автоматизация промышленных и домашних объектов - Программирование ПЛК - Программирование панелей оператора - Программирование SCADA Каналы на Дзен и вконтакте: https://dzen.ru/you_engineer https://vk.com/you_engineer_asu https://t.me/you_engineer_asu По всем вопросам пишите: чат: https://t.me/chat_plc Каталог проектов: https://t.me/projects_asutp почта: semgridin@yandex.ru
Пикабушник
379 рейтинг 91 подписчик 8 подписок 76 постов 0 в горячем
3

Пару слов про СПК210...

Заказали оборудование фирмы ОВЕН называется оно СПК210.

Пару слов про СПК210... Спк, ПЛК, Программирование ПЛК, АСУ ТП, Асушник, Отдел АСУ, Видео, YouTube, Яндекс Дзен (ссылка), Длиннопост

Скачал демо-проект с сайта ОВЕН, если кому интересно, вот ссылка. Это чисто моё субъективное мнение, озвучиваю свои впечатления.

Из плюсов:

  1. Мощный процессор - 4х Cortex-A35 - 1200 МГц против ARM Cortex™-A8 Core 600 MHz 600 МГц

  2. Гигантские возможности CODESYS 3.5, и аппаратные, и математические, и функциональные.

  3. Есть Разъем для интерфейсов RS-485 в комплекте.

  4. Прочный и качественный корпус.

Из минусов:

  1. Слабая графика, к сожалению для меня это имеет огромную и решающую роль в выборе оборудования. Панельный контроллер должен выполнять именно свою основную функцию - графику.

  2. Тренды работают плохо, вытекает из слабой графики.

  3. И "плохая тыкабельность", плохо реагирует на нажатие на экране. В реальных условиях на объектах у операторов пальцы обычно в чём-то, так как они работают ещё где-то. Пальцы в саже, в муке, в сахаре, в патоке. Ну вы поняли. Для них нажимать на подобный экран - это мука.

Пару слов про СПК210... Спк, ПЛК, Программирование ПЛК, АСУ ТП, Асушник, Отдел АСУ, Видео, YouTube, Яндекс Дзен (ссылка), Длиннопост

Я немного расстроился, честно, я ожидал нечто большего. Вот видео работы СПК210.

Тестируем ОВЕН СПК210

А вы как думаете, друзья?

С уважением, Гридин Семен.

Показать полностью 2 1
1

Психрометрический метод измерения влажности на ПЛК

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

Такой алгоритм не у всякого оборудования есть возможность реализовать. Есть уже готовое оборудование, а можно обойтись и собственными алгоритмами на свободно-программируемом оборудовании.

Приветствую вас на нашем сайте kipiaplc. Рассмотрим этот метод и что с ним можно сделать?

Суть психрометрического метода

Психрометрический метод основан на измерении влажности воздуха по понижению температуры тела при испарении с его поверхности, за счёт затраты тепла на испарение воды.

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

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

е = E` - Ap (t - t)' · (1 + 0,00115 · t`), гПа,

Что за готовое оборудование?

Из готового оборудования компания ОВЕН производит МПР51. Это программируемый шаговый терморегулятор. На самом деле очень дубовое устройство - операторы мучаются с настройками, без специалиста разобраться с ним невозможно. Это и хорошо и плохо.

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

Есть ещё приборы компании Замер - ИТР-02П. Заказчика и нас этот прибор тоже не устроил, потому что не понятно, как его настраивать. Та же ситуация, как и с МПР51.

Способ реализации на ПЛК

Для Codesys 2.3 есть специальная библиотека PSI_MOIST. Находится она в категории PID_regulators, Это штатная - заводская библиотека. Опробована на реальном объекте. На печи для варки и сушки колбасы.

Психрометрический метод измерения влажности на ПЛК Асушник, АСУ ТП, ПЛК, Программирование ПЛК, Видео, YouTube, Длиннопост

Работает в достаточно большом диапазоне от 0 до 100 Градусов по сухому датчику температуры. Ну хочу сразу сказать этот метод измерения сам по себе не точный. Но для варки колбасы для циклической подачи пара хватило.

Психрометрический метод измерения влажности на ПЛК Асушник, АСУ ТП, ПЛК, Программирование ПЛК, Видео, YouTube, Длиннопост

Входы функционального блока:

T_Dry:REAL; (Температура сухого)
T_Moist:REAL; (Температура влажного)
A_Koeff:REAL; (Психрометрический коэффициент от 0.064 до 0.014)
Pressure:REAL; (Датчик атмосферного давления - приведенного к гектопаскалям - если не присваивать используется значение по умолчанию 1013.25 ГтПа)

И вот, как выглядит сама печь и шкаф автоматики:

Психрометрический метод измерения влажности на ПЛК Асушник, АСУ ТП, ПЛК, Программирование ПЛК, Видео, YouTube, Длиннопост

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

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

На этом я заканчиваю, если будут вопросы, пишите комментарии.

С уважением, Гридин Семен.

Показать полностью 3 1
0

Алгоритм измерения уровня в цилиндрической ёмкости

Как-то стояла задача измерить уровень ёмкости воды. Ёмкость вертикальная — цилиндрическая. Этот уровень необходимо было перевести в объём воды. Хочу написать вам рабочий метод автоматизации уровня.

Приветствую всех посетителей сайта, с вами автор блога, Гридин Семен. Пишу статью про рабочую программу на отечественном оборудовании Овен ПР.

Емкость с водой

К сожалению фото с объекта не сохранились. В картинках покажу, какая примерно была емкость и что мы в неё врезали для измерения уровня.

Алгоритм измерения уровня в цилиндрической ёмкости Теория алгоритмов, Программирование ПЛК, ПЛК, АСУ ТП, Длиннопост

Вот так вот она примерно выглядела. Определили высоту водяного столба. Снизу врезали датчик избыточного давления ПД100. В единицах 1 бар — это 10 метров водяного столба. Исходя из этих данных можно посчитать объем воды. Так как ёмкость у нас была округлой формы. В верхней и нижней части объемы отличались от среднего уровня.

Реализация алгоритма

Так как емкость была не совсем правильной формы, формулы по расчету объема здесь не сработали. Тогда мы сделали следующим образом — поделили диапазон тока 4-20 мА на определенное количество частей. Заливали мы бочку по расходомеру, и в каждой части записывали объем воды.

Зная высоту водяного столба и объём я склеил всё это в один мат. аппарат.

Использовал оборудование ОВЕН ИПП120 и ОВЕН ПР200. Почему именно так, всю информацию нужно было дублировать дистанционно.

Алгоритм измерения уровня в цилиндрической ёмкости Теория алгоритмов, Программирование ПЛК, ПЛК, АСУ ТП, Длиннопост

То что было на экране ИПП120 и ПР200.

Алгоритм измерения уровня в цилиндрической ёмкости Теория алгоритмов, Программирование ПЛК, ПЛК, АСУ ТП, Длиннопост

И вот таким вот образом склеивали показания уровня и требуемого объема.

Алгоритм измерения уровня в цилиндрической ёмкости Теория алгоритмов, Программирование ПЛК, ПЛК, АСУ ТП, Длиннопост

Внутренности блока Уровнемер.

У нас получилось достаточно точно. Так как делений много по всему диапазону датчика.

Если есть вариант, как сделать проще и лучше, напишите в комментариях. На этом я заканчиваю, пока-пока.

С уважением, Гридин Семен

Показать полностью 4
1

Типы ошибок в Codesys 3.5

Природа ошибок может быть самой разнообразной, и первое, что должен сделать
разработчик, столкнувшись с ошибкой – классифицировать её. В рамках АСУ ТП можно выделить следующие характерные типы ошибок:

  • аппаратные неисправности;

  • ошибки в прошивке;

  • ошибки в системе исполнения/среде программирования;

  • ошибки в пользовательском проекте;

  • ошибки, вызванные внешними условиями и человеческим фактором;

  • ошибки, которые не являются ошибками.

Аппаратные неисправности

Аппаратные неисправности могут возникать как по вине производителя (например, из-за непропая элементов платы на производстве), так и по вине пользователя (например, случайно подали 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 обычно отловить довольно просто – они проявляются в виде сообщений об ошибках, неактивности
отдельных кнопок и т.д.

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

Типы ошибок в Codesys 3.5 АСУ ТП, Программирование ПЛК, ПЛК, Длиннопост

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


Способ определения ошибок в проекте: если проблема не проявляется на этом же приборе c той же версией прошивки, находящимся в тех же условиях эксплуатации, но с другой версией пользовательского проекта (например, более ранней версией или «пустым» тестовым проектом) то, вероятно, причиной наблюдаемой ошибки являются ошибки в проекте. В этом случае пользователю следует приступить к отладке.

Грамотный подход к разработке проекта

Также упростить отладку может грамотный подход к разработке проекта:

  • наличие детализированного ТЗ;

  • следование корпоративным или иным стандартам разработки ПО;

  • регулярное и тщательное тестирование по ходу разработки (когда проект сначала несколько недель пишется «в стол» и только потом запускается на реальном оборудовании – отладка может стать довольно мучительным занятием). Оптимальным, на наш взгляд, вариантом является совмещение модульного тестирования (для отдельных функциональных блоков и других законченных фрагментов приложения) и интеграционного (тестирование всего проекта в рамках системы – с подключением периферии, имитаций условий эксплуатации с помощью генерации помех и т.д.).

Типы ошибок в Codesys 3.5 АСУ ТП, Программирование ПЛК, ПЛК, Длиннопост

Пример ошибки в проекте CODESYS V3.5

Очень часто условия эксплуатации оборудования на промышленных объектах сильно отличаются от офисных. Эти условия можно разделить на две основные группы:

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

  • помехи (кондуктивные, импульсные, радиопомехи и т.д.).

Способ определения ошибок, связанных с условиями эксплуатации и человеческим
фактором:
если проблема не проявляется на этом же приборе c той же версией прошивки и тем же проектом, но находящемся в других условиях эксплуатации (например, офисных условиях вместо промышленных) – то, вероятно, причиной наблюдаемой ошибки являются особенности внешней среды объекта или человеческий фактор.

Последний из известных нам типов ошибок – это ошибки, которые, как ни странно, не являются ошибками. В некоторых случаях пользователь может принять за ошибку предсказанное поведение ПО. Особенно это характерно для проектов, для которых отсутствует ТЗ – пользователь может считать, что опрос «слишком медленный», но в реальности такой период опроса может просто являться данностью для конкретных slave-устройств или коммуникационных драйверов.

Еще один пример – ошибки в логе контроллера в CODESYS V3.5, приведенные на этом скриншоте:

Типы ошибок в Codesys 3.5 АСУ ТП, Программирование ПЛК, ПЛК, Длиннопост

Пример «ошибок» в логе CODESYS V3.5, связанных с отсутствием сертификатов HTTPS

Источник с сайта ОВЕН

С уважением, Гридин Семен

Показать полностью 3
Отличная работа, все прочитано!