PDA

Просмотр полной версии : Есть ли возможность автоматизированного формирование конфигурации Modbus



AndrewR
26.09.2022, 13:02
Здравствуйте.
В CodeSys есть возможность автоматизированного соотнесения соотнесения входов/выходов для устройств Modbus:
1) Импорт соотнесения в файл.
2) запись имен переменных для входов/выходов в данный файл ( с помощью сторонних программ)
3) импорт полученного файла в CodeSys.

Есть ли какая-нибудь возможность подобного автоматизированного формирования конфигурации Modbus, чтобы не добавлять и конфигурировать все устройства вручную?

Евгений Кислов
26.09.2022, 13:37
Здравствуйте.
В CodeSys есть возможность автоматизированного соотнесения соотнесения входов/выходов для устройств Modbus:
1) Импорт соотнесения в файл.
2) запись имен переменных для входов/выходов в данный файл ( с помощью сторонних программ)
3) импорт полученного файла в CodeSys.

Есть ли какая-нибудь возможность подобного автоматизированного формирования конфигурации Modbus, чтобы не добавлять и конфигурировать все устройства вручную?

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

AndrewR
26.09.2022, 14:01
Добрый день.
Технически - это возможно, но трудоемкость такой задачи будет крайне велика.

Евгений, Вы можете указать с помощью каких средств это можно сделать? Для начала хотелось бы определиться каким образом можно этого добиться.
Что же касается трудоемкости - как показала практика, время, потраченное на подобные инструменты, потом с лихвой компенсируется при дальнейшей пусконаладке, внесениях изменений в проект, других подобных проектах и пр.

Евгений Кислов
26.09.2022, 14:21
Евгений, Вы можете указать с помощью каких средств это можно сделать? Для начала хотелось бы определиться каким образом можно этого добиться.
Что же касается трудоемкости - как показала практика, время, потраченное на подобные инструменты, потом с лихвой компенсируется при дальнейшей пусконаладке, внесениях изменений в проект, других подобных проектах и пр.

Как я понимаю, задача - полностью формировать конфигурацию Modbus во внешнем ПО.

Вручную бы требовалось следующее:

1. Объявить переменные
2. Добавить в проект компоненты Modbus
3. Настроить в компонентах каналы (для режима Master)
4. Привязать к каналам переменные.

С точки зрения автоматизации - можно свести это к двум задачам:

1. Формирование компонентов Modbus с уже готовыми каналами и привязками переменных.
2. Добавление компонентов в проект и объявление переменных.

п. 1 решается путем генерации файла устройства в специфичном для CODESYS XML-подобном формате.
Его описания нет, но можно провести реверс-инжиниринг.
Создаете, например, вручную Modbus_Slave_COM_Port, добавляете каналы, привязываете переменные.
Далее импортируете его (Проект - Импорт) и изучаете его структуру. Подобные файлы вам потребуется формировать во внешнем ПО.

п. 2 можно решить на Python-скриптах.
См. здесь введение в них:
https://help.codesys.com/webapp/_cds_creating_scripts;product=codesys;version=3.5. 17.0
А тут описание API:
https://help.codesys.com/webapp/idx-scriptingengine;product=ScriptEngine;version=3.5.1 7.0
Конкретно для импорта XML - используйте метод import_native из ScriptProject
Задать вопросы по Python API можно на форуме CODESYS:
https://forge.codesys.com/forge/talk/Engineering/

AndrewR
26.09.2022, 14:57
Спасибо. Это примерно то, что я и хотел.