Доброго времени, читатель!

Не так давно времени назад, предложили мне написать небольшую программку для ПР-200 от компании ОВЕН. С программируемыми реле дел я до этого момента не имел, для развития думаю будет полезно. И поэтому хотелось бы поделиться своим обзорным мнением и первыми впечатлениями по среде разработки OWENLogic отечественного предприятия в сфере промышленного оборудования для автоматизации - компании ОВЕН.
ПО предназначено для программирования ПР (программируемое реле), которые в ассортименте и различных модификациях выпускаются компанией. Доступно для скачивания на официальном сайте.
Среда разработки предполагает программирование с помощью языка FBD.
Типов данных всего три:
udint- целочисленный беззнаковый тип, размером в 4 байта.float- знаковый с плавающей точкой, размер в 4 байта.bool- логический, 1 бит.
Функции:
Из коробки доступен скромный набор функций.
Стандартные логические функции (
AND,OR,NOT,XOR)В Арифметических функциях стандартный набор для типов данных
udintиfloat(ADD,SUB,MUL,DIV,ABS).Функции сравнения всего три: равенство, больше, и тернарное сравнение (
EQ,GT,SEL). Здесь отсутствуют операции (GE,LT,LE,NE). Можно возразить, что это избыточные операции и/или операции можно самому написать из представленных коробочных функций, но в другом проекте придется заниматься их импортом или писать заново. Хотелось бы реализации этих функций уже готовыми.Сдвиговых функций всего две (
SHL,SHR). Поскольку ПР, предполагает дискретный вывод, не плохо было бы прикрутить циклический сдвиг (ROL,ROR). Тогда беспроблемно можно организовать переключение выходов по маске на каждый тик цикла, без контроля старшего и младшего битов.Битовые функции. Чтение и запись бита в число (представлено в двоичном виде) в указанной позиции (от 0 до 31). И шифратор/дешифратор двоичного кода в позиционный.
Хотелось бы еще реализации функции TIME() как в Codesys. Очень часто ей пользуюсь для замеров временных промежутков. Лично мне удобнее использовать ей, чем стандартными таймерами.
Функциональные блоки:
Набор функциональных блоков стандартен и достаточен для работы. Включает в себя триггеры, таймеры, счетчики, генератор импульсов и ПИД регулятор.
Макросы:
Готовые макросы доступны к скачиванию через менеджер компонентов или можно написать свои которые будут доступны в текущем проекте. Макросы можно экспортировать и таскать из проекта в проект. Это плюс.
Функции на ST:
Нужно сказать что полноценной поддержки ST нет. Массивы, указатели за бортом.
Интересное наблюдение:
В справке синтаксис конструкции для
IFиCASEзаканчивается;, хотя ниже в примере можно заметить, что это необязательно.команда
continue;которая предлагается в сниппетах не понятно что делает.Функции на ST доступны в проекте, но недоступны для использования в макросах.

Общие замечания:
Очень непонравилось преобразование float в bool.
Конвертация значения сигнала в булевское значение. Если значение на входе блока больше 0 (
False), то на выходе блока будет 1 (True).


Если для типа udint это работает ожидаемо правильно, то преобразовывая float будут проблемы. При значении меньше единицы и меньше нуля, мы получим False.
В моем понимании все, что не является 0, то True. Неприятненько.

Важно обратить внимание:
работа блоков, не имеющих связи ни с одним из выходов прибора или выходным блоком сетевой переменной, не симулируется;
Поэтому если хотите по-быстрому отдебажить код, не забудьте подключить блоки к выходам.
В целом, интерфейс среды разработки дружелюбный. Программируем в формате Drag&Drop. Размер холста регулируется, но разумно будет инкапсулировать законченные шаги в макросы. (divide et impera) и не растягивать полотно.
На сайте компании находится множество обучающих роликов по работе с ПО. Новичкам будет полезно.
Продукт развивающийся, хоть и предоставляет спартанский функционал, для человека который ни разу не знаком с программированием, но имеет технические задатки наглядность FBD позволит быстро накидать свою первую работоспособную программу и применить прибор в деле. Однако ПО и не лишено недостатков в мелочах, которые надеюсь поправят.
Компания ОВЕН мне импонирует, Выпускает хороший конкурентоспособный продукт. Желаю компании развивать его дальше. Хочется видеть уверенного отечественного производителя, которого можно с уверенностью рекомендовать и не будет за это стыдно. Всем добра!