Одной из таких "полезностей" является открытая библиотека OSCAT (Open Source Community for Automation Technology).
Я не собираюсь перечислять все доступные компоненты, перечислю лишь группы, в которые собраны все функции и ФБ:
- Математика (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 элементов.
Сама библиотека доступна по ссылке здесь.
Для того что-бы бибилотека работала в SoMachine, в нее необходимо внести небольшую правку.
Итак, открываем файл библиотеки:
Переключаемся в POU view что-бы были видны все программные элементы и идем в Library manager:
В списке подключенных библиотек будет лишь одна библиотека Standard с пространством имен Standard:
Именно имя пространства имен по-умолчанию и конфликтует со стандартной библиотекой SoMachine. Нам предстоит это поправить. Правый клик на библиотеке -> Properties. В появившемся окне меняем стандартное пространство имен на любое другое:
Сохраняем изменения в библиотеке. Теперь файл готов для импорта в Library Repository и использования в любом проекте SoMachine.
Приятного использования!