понедельник, 12 ноября 2012 г.

Библиотека OSCAT basic для SoMachine

Так как "контроллерная" часть SoMachine является, по сути, распространенной средой CoDeSys (на момент написания статьи версия 3.4), то это дает нам возможность использовать наработки, созданные для CoDeSys без прицела на SoMachine.
Одной из таких "полезностей" является открытая библиотека OSCAT (Open Source Community for Automation Technology).
В версии 3.31 библиотека насчитывает 546 функций и функциональных блоков готовых к использованию, с возможностью правки исходного кода.
Я не собираюсь перечислять все доступные компоненты, перечислю лишь группы, в которые собраны все функции и ФБ:

  • Математика (Mathematics) - 66 элементов;
  • Массивы (Arrays) - 18 элементов;
  • Работа с комплексными числами (Complex Mathematics) - 27 элементов;
  • Арифметика с двойной точностью (Arithmetics with Double Precision) - 6 элементов;
  • Алгебраические функции (Arithmetic Functions) - 10 элементов;
  • Геометрические функции (Geometric Functions) - 8 элементов;
  • Векторная математика (Vector Mathematics) - 15 элементов;
  • Работа со временем (Time & Date) - 57 элементов;
  • Операции со строками (String Functions) - 74 элемента;
  • Эмуляция регистров памяти (Memory Modules) - 4 элемента;
  • Генераторы импульсов (Pulse Generators) - 24 элемента;
  • Операции с битами (Logic Modules) - 42 элемента;
  • Защелки, триггеры и сдвиговые регистры (Latches, Flip-Flop and Shift Register) - 16 элементов;
  • Генераторы сигналов (Signal Generators) - 15 элементов;
  • Обработка сигналов (Signal processing) - 43 элемента;
  • Сигналы с датчиков (Sensors) -10 элементов;
  • Измерения (Measuring Modules) - 17 элементов;
  • Инженерные расчеты (Calculations) - 21 элемент;
  • Управление процессами (Control Modules) - 57 элементов;
  • Работа с устройствами (Device Driver) - 19 элементов;
  • Управление буфферами (BUFFER Management) - 8 элементов;
  • Работа со списками (List Processing) - 9 элементов.
Справка по библиотеке оформлена в виде отдельного pdf файла, который доступен на сайте разработчиков - здесь.
Сама библиотека доступна по ссылке здесь.
Для того что-бы бибилотека работала в SoMachine, в нее необходимо внести небольшую правку.
Итак, открываем файл библиотеки:

Переключаемся в POU view что-бы были видны все программные элементы и идем в Library manager:

В списке подключенных библиотек будет лишь одна библиотека Standard с пространством имен Standard:

Именно имя пространства имен по-умолчанию и конфликтует со стандартной библиотекой SoMachine. Нам предстоит это поправить. Правый клик на библиотеке -> Properties. В появившемся окне меняем стандартное пространство имен на любое другое:


Сохраняем изменения в библиотеке. Теперь файл готов для импорта в Library Repository и использования в любом проекте SoMachine.
Приятного использования!