Коллега по работе просит помочь освоить программирование (я иногда халтурю так). Так сложилось, что умею программировать сегнетики и логические реле овен, разобрался с сименсом (но практики пока маловато). Работаем с ним в разные смены, попробуем такой формат :).
Начнем с сегнетика. У него большая справка на русском, бесплатная среда программирования smlogix, найти можно на сайте segnetics.com . Из серьезных минусов, нет симулятора контроллера. Я в свое время освоил его сам, без чьей либо помощи, только по хелпу :). Кто только осваивает премудрости КИПиА, могу посоветовать прочитать документацию к контролеру SMH2010 (там много чего полезного про подключение датчиков разных типов) На меня свалилась задача - запрограммировать котельную с двумя котлами (каскадное регулирование), отопительный контур с трехходовым клапаном, ГВС, авр насосов, обмен данными по модбас между двумя контроллерами . До этого я не программировал. В итоге сделал, местами прога ужасная :), но работает устойчиво. Благодаря этому проекту я перетек из электриков в киповцы :).
Первое, что нужно усвоить, это типы данных и идеологию программирования в функциональных блоках.
Типы данных:
-bool - два состояния : ложь или истина (false или true) (0 или 1) (low или hi )
-#integer целые числа -32768 ... 32767 (16-битные)
-#long целые 32-битные -2147483648 ... 2147483647
-#real (#float) вещественные -3.4028235E+38 ... 3.4028235E+38
Типы данных должны соответствовать входу блока (т.е. на вход для булевой переменной нельзя подавать другой тип (например целое), данные можно преобразовывать из одного формата в другой.
Программа составляется из блоков как схема. Можно создавать свои блоки, называются они макросами (хороший инструмент, программы благодаря им становятся структуированными и легко читаемыми).
Для начала сделаем макрос "термостат" - греет до уставки, после нагрева ждет остывания на величину гистерезиса, включает нагреватель вновь.
кликаем файл->новый->макрос далее из элементов создаем схему (можно создать проект)
Стрелками обозначено из каких вкладок вставляем тот или иной функциональный блок. На рисунке также представлена справка для блока "триггер" (для каждого блока есть аналогичная, ставим на поле блок, выделяем, нажимаем F1, про триггеры можно прочитать здесь).
Работает следующим образом: со входа измеряемая величина поступает на входы компараторов. На верхнем компараторе сравнивается с уставкой, если больше или равно уставке, то сбрасываем триггер в ноль. На нижнем компараторе сравниваем со значением (уставка минус гистерезис), если меньше, то включаем триггер. Триггер нужен для удержания сигнала между (уставка минус гистерезис) и уставкой. Вкратце так.
Ниже термостат в owenlogic (среда для программирования логических реле овен (у овена, для плк и логических реле разные среды программирования))
В качестве упражнения можете создать макрос защиты от сухого хода насоса.
PS. А это, чтобы помнили.