Поделюсь макросом, помогающим экспортировать сетевые переменные из ПР205 в пенель оператора Weintek.
Макрос не совсем закончен, не совсем идеален, но резко сокращает время создания проекта в EasyBuilder для Овен ПР205.
У меня пока нет времени на его доводку, приведу то, что готово - может быть идея вдохновит на более законченные решения. Мне советовали использовать другой скриптовый язык - PowerShell, но со свободным временем для изучения пока туго...
Итак, поехали!
OL для сетевых Slave переменных имеет возможность экспорта тегов в файл формата csv в кодировке UTF-8.
Easy Builder для тегов также имеет возможность импорта и экспорта тегов файлом csv в кодировке UTF-8.
Файл OL содержит почти все необходимые данные для импорта в Easy Builder, нужно только переставить поля, заменить названия типов данных, добавить название устройства, под именем которого данная ПР описана в проекте Easy Builder. Что без проблем выполняется в Exel (MS Office) или Calc (LibreOffice) - вручную, долго.
Скрипт (пакетный файл - bat или cmd) отлаживался для ПР205. Для других ПР не уточнял, если последовательность первых 5 полей совпадает, то и для них возможно применить.
OL_PR205_to_Weintek.bat:
Используются утилиты из UNIX: sed или ssed - обе работают одинаково в данном случае.
https://sourceforge.net/projects/gnuwin32/files/
https://sed.sourceforge.io
Их установка - просто распаковка в какой-нибудь каталог. В случае gnuwin32 скачать и распаковать sed-4.2.1-dep.zip и sed-4.2.1-bin.zip
Утилиты пакета binutils очень распространены и чаще всего уже установлены с каким-нибудь пакетом программирования: WinAVR, Visual Studio и другими. Но при их отсутствии - легко скачиваются и устанавливаются.
Для работы нужно в скрипте уточнить:
- полный путь к sed (или ssed)
- название файла экспорта переменных из OL
- название итогового файла для Easy Builder
- после завершения работы скрипта нужно в текстовом редакторе открыть итоговый файл и заменить дефолтное название устройства "Owen_PR205" на то, которое задано в проекте EasyBuilder, иначе импорт будет невозможен.
Отдельное действие с названием устройства получилось из-за того, что не разобрался с кодировками.
Но и так, хорошо получилось - много быстрее, чем перенос руками.
В результате работы:
из файла экспорта OL 'ТестовыйПроект_Сетевые, Slave.csv':
Получаю
result.csv:
После замены в Блокноте второго поля "Owen_PR205" на название устройства из "системных параметров" получаю готовый файл импорта.
Импорт в Easy Builder настраивается двумя опциями:
- удалить старые теги (нужно снять выбор, т.к. иначе удалятся и необходимые системные теги)
- заменить существующие теги на новые (установить выбор и заменять, обновлять теги).