Вход

Просмотр полной версии : Реализация пороса по SCPI



Роман123458
04.11.2024, 17:59
Добрый день. У меня есть потребность управлять электронной нагрузкой ET5420A+ с помощью плк 200 овен, целевое устройство работает лишь по SCPI. Нужно использовать codesys 3.5

Подскажите пожалуйста с чего вообще начать?

EFrol
04.11.2024, 18:31
Реализация нестандартных протоколов (https://ftp.owen.ru/CoDeSys3/11_Documentation/03_3.5.11.5/CDSv3.5_UserProtocols_v.3.0.pdf)

melky
04.11.2024, 18:36
с изучения что есть SCPI.

Роман123458
05.11.2024, 12:29
Я имею понятие что это за протокол. Я спрашиваю как на ST это реализовывать? Какие примеры я не нахожу, там ничего не понятно. Я должен создавать в дереве объектов девайс RS485? Или я должен просто в коде открыть сам com порт?

melky
05.11.2024, 12:54
В коде открывать порт. Вам дали доку, изучайте

melky
06.11.2024, 08:50
Мне кажется, тут еще был пост про OwenCommunication? (не знаю что это и с чем едят?)
В общем суть, вам нужны библиотеки, которые позволяют работать с произвольным протоколом. А какая там будет реализация работы с COM портом уже дело десятое.

Роман123458
10.11.2024, 13:22
Я посмотрел пример и черным по белому написано что каждый пример работает на своем протоколе, поэтому нужное в MAIN_PRG нужно раскоментировать, потому что может работать что то одно. У меня проблема возникла во время состыковки опроса прибора по scpi и modbus. Верно ли я понимаю что использовать одновременно 2 разных протокола невозможно?

Евгений Кислов
10.11.2024, 14:07
Я посмотрел пример и черным по белому написано что каждый пример работает на своем протоколе, поэтому нужное в MAIN_PRG нужно раскоментировать, потому что может работать что то одно.

Тем временем "черным по белому написано":



Так как все примеры рассчитаны на использование одного и того же COM-порта – то в каждый
момент времени должна быть раскомментирована только одна из программ, а остальные три
должны быть закомментированы.


Это связано с тем, что примеры максимально автономны - в каждой программе есть вызов экземпляра блока открытия COM-порта.
Если запустить их все одновременно - то COM-порт всё равно сможет захватить только одна из них.

В вашем случае нужно один раз открыть COM-порт и далее использовать его дескриптор в вызовах функциональных блоков, реализующих разные протоколы - главное, чтобы эти вызовы не происходили одновременно.