Здравствуйте!
Есть стенд, и нужно написать для него программу на языке C#, которая будет брать с него определенные параметры и на их основе проводить оценку безопасности. В процессе обдумывания всех моментов у меня вылезло несколько вопросов, на которые я хотел бы получить ответы:
1. У меня получилось выполнить подключение к эмулятору ПЛК через протокол Modbus. При тесте программы она будет соединяться с ПЛК через провод Ethernet. Поскольку у меня есть вариант реализации через Modbus, то у меня есть мысль через Ethernet провод установить подключение по протоколу Modbus и брать оттуда все что нужно. Верна ли моя мысль, или есть более простой вариант реализации подключения?
2. На стенде помимо ПЛК присутствуют и другие компоненты, с которыми они работают в связке. И у меня нет ни малейшего представления о взаимодействии этих компонентов между собой, будут ли они отображаться как отдельные устройства или же нужные параметры будут просто где-то быть записаны, и если они как отдельные устройства будут то как мне к ним переходить и получить то что мне от них надо?
Что касается стенда то помимо ПЛК там еще есть питание стенда, модуль дискретного ввода/вывода, входы/выходы ПЛК, программируемое реле, модуль аналогового ввода/вывода, методическая печь, коммутатор и панель оператора, это для большего понимания с чем придется работать.
Заранее спасибо.
1. Если нужные вам данные лежат в адресном пространстве протокола Modbus, то да, мысль верна. Более простого подключения, чем по протоколу Modbus вы вряд ли найдете.
2. Если под другими компонентами понимаются модули ввода/вывода, то взаимодействие с ними контроллер осуществляет на уровне своей ОС и для вашей программы скорее всего интереса не представляют. Данные с этих модулей контроллер обрабатывает и в соответствии со своей внутренней программой выкладывает в адресное пространство Modbus (зависит от реализации программы в контроллере).
Александр Ананьев, Хотел бы уточнить ваш ответ:
1. Адресное пространство же прописывается в руководстве по эксплуатации и под ним подразумевается вся его память, верно?
2. Данные на других компонентах как раз таки представляют интерес, поскольку они нужны для оценки безопасности всего стенда в целом, и чтобы их получить в таком случае, если я правильно вас понял то мне нужно организовать подключение к ПЛК и найти в его памяти то что мне нужно, я прав?
Андрей Фомин, По сути да, адресное пространство должно быть описано в документации к программе в контроллере. Что же касается получения данных о других компонентах - читайте инструкцию к контроллеру. Возможно там указаны регистры, из которых можно достать служебную информацию, которая вам нужна.