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

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

ПО предназначено для программирования ПР (программируемое реле), которые в ассортименте и различных модификациях выпускаются компанией. Доступно для скачивания на официальном сайте.

Среда разработки предполагает программирование с помощью языка FBD.

Типов данных всего три:

  1. udint - целочисленный беззнаковый тип, размером в 4 байта.

  2. float - знаковый с плавающей точкой, размер в 4 байта.

  3. bool - логический, 1 бит.

Функции:  
Из коробки доступен скромный набор функций.

  1. Стандартные логические функции (AND, OR, NOT, XOR)

  2. В Арифметических функциях стандартный набор для типов данных udint и float (ADD, SUB, MUL, DIV, ABS).

  3. Функции сравнения всего три: равенство, больше, и тернарное сравнение (EQ, GT, SEL). Здесь отсутствуют операции (GE, LT, LE, NE). Можно возразить, что это избыточные операции и/или операции можно самому написать из представленных коробочных функций, но в другом проекте придется заниматься их импортом или писать заново. Хотелось бы реализации этих функций уже готовыми.

  4. Сдвиговых функций всего две (SHL, SHR). Поскольку ПР, предполагает дискретный вывод, не плохо было бы прикрутить циклический сдвиг (ROL, ROR). Тогда беспроблемно можно организовать переключение выходов по маске на каждый тик цикла, без контроля старшего и младшего битов.

  5. Битовые функции. Чтение и запись бита в число (представлено в двоичном виде) в указанной позиции (от 0 до 31). И шифратор/дешифратор двоичного кода в позиционный.

Хотелось бы еще реализации функции TIME() как в Codesys. Очень часто ей пользуюсь для замеров временных промежутков. Лично мне удобнее использовать ей, чем стандартными таймерами.

Функциональные блоки:  
Набор функциональных блоков стандартен и достаточен для работы. Включает в себя триггеры, таймеры, счетчики, генератор импульсов и ПИД регулятор.

Макросы:  
Готовые макросы доступны к скачиванию через менеджер компонентов или можно написать свои которые будут доступны в текущем проекте. Макросы можно экспортировать и таскать из проекта в проект. Это плюс.

Функции на  ST:
Нужно сказать что полноценной поддержки ST нет. Массивы, указатели за бортом.

Интересное наблюдение:

  • В справке синтаксис конструкции для IF и CASE заканчивается ;, хотя ниже в примере можно заметить, что это необязательно.

  • команда continue; которая предлагается в сниппетах не понятно что делает.

  • Функции на ST доступны в проекте, но недоступны для использования в макросах.

Общие замечания:  
Очень непонравилось преобразование float в bool.

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

float меньше единицы.
float меньше единицы.

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

В моем понимании все, что не является 0, то True.  
Неприятненько.

преобразование в bool здорового программиста
преобразование в bool здорового программиста

Важно обратить внимание:

работа блоков, не имеющих связи ни с одним из выходов прибора или выходным блоком сетевой переменной, не симулируется;

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

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

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

Компания ОВЕН мне импонирует, Выпускает хороший конкурентоспособный продукт. Желаю компании развивать его дальше. Хочется видеть уверенного отечественного производителя, которого можно с уверенностью рекомендовать и не будет за это стыдно. Всем добра!

Комментарии (0)