ADAM 400x Modbus
-
Vasiliy Baev
- leader
- Сообщения: 545
- Зарегистрирован: 31 окт 2011, 09:02
- Награды: 4
- Версия LabVIEW: 2019
- Откуда: Санкт-Петербург
- Благодарил (а): 9 раз
- Поблагодарили: 10 раз
- Контактная информация:
ADAM 400x Modbus
Всем привет!
В версии >2012 появилась поддержка Modbus протокола (для этого необходимо установить DSC).
В работе со "Старой" библиотекой проблем не возникает, а вот новый функционал освоить не получается.
Помогите разобраться.
Есть Адам 4019+: Пытаюсь добавить ModBus server в и создать необходимые переменные, но ничего хорошего из этого не выходит. Как выбрать адрес при создании переменной, чтоб всё заработало?
Пока ничего не получилось из этого.
В версии >2012 появилась поддержка Modbus протокола (для этого необходимо установить DSC).
В работе со "Старой" библиотекой проблем не возникает, а вот новый функционал освоить не получается.
Помогите разобраться.
Есть Адам 4019+: Пытаюсь добавить ModBus server в и создать необходимые переменные, но ничего хорошего из этого не выходит. Как выбрать адрес при создании переменной, чтоб всё заработало?
Пока ничего не получилось из этого.
-
- doctor
- Сообщения: 2211
- Зарегистрирован: 28 июн 2012, 09:32
- Награды: 3
- Версия LabVIEW: 2009..2020
- Откуда: город семи холмов
- Благодарил (а): 27 раз
- Поблагодарили: 27 раз
Re: ADAM 400x Modbus
А вы ничего не путаете? Сам Adam является сервером (Slave), он отвечает на запросы. А вам нужно настроить клиента. Нет?
Но вообще Address - это адрес устройства на шине. По стандартам протокола на порте может сидеть несколько устройств с различными адресами. Соответственно, вы должны знать адрес вашего adam. Обычно этот адрес = 0. Но бывает и равным 1.
Но вообще Address - это адрес устройства на шине. По стандартам протокола на порте может сидеть несколько устройств с различными адресами. Соответственно, вы должны знать адрес вашего adam. Обычно этот адрес = 0. Но бывает и равным 1.
-
Vasiliy Baev
- leader
- Сообщения: 545
- Зарегистрирован: 31 окт 2011, 09:02
- Награды: 4
- Версия LabVIEW: 2019
- Откуда: Санкт-Петербург
- Благодарил (а): 9 раз
- Поблагодарили: 10 раз
- Контактная информация:
Re: ADAM 400x Modbus
Borjomy_1, Нет, не путаю. АDAM - клиент (Slave), его спросили - он ответил. Адрес его в сети 1. Настраиваем Сервер (опрос датчиков).
Проблема в том, что после создания Сервера, при создании переменной, выбрать подходящее значение адреса(-ов) из предложенных не получается...
Проблема в том, что после создания Сервера, при создании переменной, выбрать подходящее значение адреса(-ов) из предложенных не получается...
-
- doctor
- Сообщения: 2211
- Зарегистрирован: 28 июн 2012, 09:32
- Награды: 3
- Версия LabVIEW: 2009..2020
- Откуда: город семи холмов
- Благодарил (а): 27 раз
- Поблагодарили: 27 раз
Re: ADAM 400x Modbus
А зачем сервер-то создавать? Slave и есть сервер.
P.s поддержка ModBus, которую вы мучаете, есть и в LV2009
P.s поддержка ModBus, которую вы мучаете, есть и в LV2009
-
Vasiliy Baev
- leader
- Сообщения: 545
- Зарегистрирован: 31 окт 2011, 09:02
- Награды: 4
- Версия LabVIEW: 2019
- Откуда: Санкт-Петербург
- Благодарил (а): 9 раз
- Поблагодарили: 10 раз
- Контактная информация:
Re: ADAM 400x Modbus
Конец дня... я уже начинаю всё путать, но всё же Мастер (сервер), Клиен (Слэйв). Разве не так?
Вот что примерно я хочу изобразить: http://www.ni.com/white-paper/13911/en/
ПиСи
Вот что примерно я хочу изобразить: http://www.ni.com/white-paper/13911/en/
ПиСи
WiKi (C)Контроллеры на шине Modbus взаимодействуют, используя master-slave модель, основанную на транзакциях, состоящих из запроса и ответа.
Обычно в сети есть только одно ведущее, так называемое, «главное» (англ. master) устройство, и несколько ведомых — «подчинённых» (англ. slaves) устройств. Главное устройство (мастер) инициирует транзакции (передаёт запросы). Мастер может адресовать запрос индивидуально любому подчиненному или инициировать передачу широковещательного сообщения для всех подчиненных устройств. Подчинённое устройство, опознав свой адрес, отвечает на запрос, адресованный именно ему. При получении широковещательного запроса ответ подчинёнными устройствами не формируется.
-
- doctor
- Сообщения: 2211
- Зарегистрирован: 28 июн 2012, 09:32
- Награды: 3
- Версия LabVIEW: 2009..2020
- Откуда: город семи холмов
- Благодарил (а): 27 раз
- Поблагодарили: 27 раз
Re: ADAM 400x Modbus
Мастер выдает запрос (в клиент-серверной терминологии это клиент). Slave - оконечное устройство, обрабатывает запрос и выдает ответ (это сервер).
-
Viktor
- expert
- Сообщения: 1408
- Зарегистрирован: 23 мар 2008, 10:56
- Награды: 4
- Версия LabVIEW: 2020
- Откуда: Санкт-Петербург
- Благодарил (а): 17 раз
- Поблагодарили: 3 раза
- Контактная информация:
Re: ADAM 400x Modbus
Адрес модуля можно поменять с помощью Utility for ADAM-4000, ADAM-5000/485 seriesвыбрать подходящее значение адреса(-ов) из предложенных не получается
и, конечно же, ADAM является сервером (Slave).
-
Vasiliy Baev
- leader
- Сообщения: 545
- Зарегистрирован: 31 окт 2011, 09:02
- Награды: 4
- Версия LabVIEW: 2019
- Откуда: Санкт-Петербург
- Благодарил (а): 9 раз
- Поблагодарили: 10 раз
- Контактная информация:
Re: ADAM 400x Modbus
Borjomy_1, Спасибо. С терминологией разобрались.
Viktor, не в адресе проблема. Проблема в том, чтобы создать Переменную, которая обращается к адресу данных в ADAM, как это показано в примере: http://www.ni.com/white-paper/13911/en/
Viktor, не в адресе проблема. Проблема в том, чтобы создать Переменную, которая обращается к адресу данных в ADAM, как это показано в примере: http://www.ni.com/white-paper/13911/en/
-
- doctor
- Сообщения: 2211
- Зарегистрирован: 28 июн 2012, 09:32
- Награды: 3
- Версия LabVIEW: 2009..2020
- Откуда: город семи холмов
- Благодарил (а): 27 раз
- Поблагодарили: 27 раз
Re: ADAM 400x Modbus
Напишите тип переменной, адрес и банк, попробую вам сгенерировать путь.
Сразу скажу, обращение к массивам - быстрее. И одновременно, с массивами есть нюанс. Если заказали, что пишется например 10 элементов, то ни 9, ни 11 - не запишутся и одновременно ошибки не покажут. Надо четко соблюдать размеры.
Сразу скажу, обращение к массивам - быстрее. И одновременно, с массивами есть нюанс. Если заказали, что пишется например 10 элементов, то ни 9, ни 11 - не запишутся и одновременно ошибки не покажут. Надо четко соблюдать размеры.
-
Vasiliy Baev
- leader
- Сообщения: 545
- Зарегистрирован: 31 окт 2011, 09:02
- Награды: 4
- Версия LabVIEW: 2019
- Откуда: Санкт-Петербург
- Благодарил (а): 9 раз
- Поблагодарили: 10 раз
- Контактная информация:
Re: ADAM 400x Modbus
На скриншоте выше из программы AdamApax.NET Utility приведены адреса для каждого модуля, хотелось бы достучаться как к группе, так к каждому каналу отдельно.
На данный момент всё прекрасно работает через Modbus 1.2.1 библиотеку. В 14 версии уже новая библиотека? http://www.ni.com/white-paper/7675/en/
На данный момент всё прекрасно работает через Modbus 1.2.1 библиотеку. В 14 версии уже новая библиотека? http://www.ni.com/white-paper/7675/en/
-
- doctor
- Сообщения: 2211
- Зарегистрирован: 28 июн 2012, 09:32
- Награды: 3
- Версия LabVIEW: 2009..2020
- Откуда: город семи холмов
- Благодарил (а): 27 раз
- Поблагодарили: 27 раз
Re: ADAM 400x Modbus
На сервере Modbus1 ПКМ->Create Bound Variables
Потом появившуюся переменную редактировать. Необходимо изменить имя переменной (Name) по вашему желанию и путь (на рисунке выделен)
Обратите различие в адресации банка. У адама это число 40000. В стандартной нотации MB - это 400000, так как максимальный размер банка 65536 ячеек.
Потом появившуюся переменную редактировать. Необходимо изменить имя переменной (Name) по вашему желанию и путь (на рисунке выделен)
Обратите различие в адресации банка. У адама это число 40000. В стандартной нотации MB - это 400000, так как максимальный размер банка 65536 ячеек.
-
Vasiliy Baev
- leader
- Сообщения: 545
- Зарегистрирован: 31 окт 2011, 09:02
- Награды: 4
- Версия LabVIEW: 2019
- Откуда: Санкт-Петербург
- Благодарил (а): 9 раз
- Поблагодарили: 10 раз
- Контактная информация:
Re: ADAM 400x Modbus
Borjomy_1, спасибо, заработало!
Я так всё и делал, но в первый раз выставил неправильные параметры порта и только сейчас увидел, что у меня на машине 2 библиотеки работают с одним портом, удалил лишнюю и всё заработало. Спасибо, ваш ответ мне помог снять сомнения по адресному пространству.
Инструмент оказался удобный, буду использовать на контроллерах.
Я так всё и делал, но в первый раз выставил неправильные параметры порта и только сейчас увидел, что у меня на машине 2 библиотеки работают с одним портом, удалил лишнюю и всё заработало. Спасибо, ваш ответ мне помог снять сомнения по адресному пространству.
Инструмент оказался удобный, буду использовать на контроллерах.
-
Vasiliy Baev
- leader
- Сообщения: 545
- Зарегистрирован: 31 окт 2011, 09:02
- Награды: 4
- Версия LabVIEW: 2019
- Откуда: Санкт-Петербург
- Благодарил (а): 9 раз
- Поблагодарили: 10 раз
- Контактная информация:
Re: ADAM 400x Modbus
С массивом пока не получается, как получить все или первые 4 канала? В массиве пока приходит только первый канал.
-
- doctor
- Сообщения: 2211
- Зарегистрирован: 28 июн 2012, 09:32
- Награды: 3
- Версия LabVIEW: 2009..2020
- Откуда: город семи холмов
- Благодарил (а): 27 раз
- Поблагодарили: 27 раз
Re: ADAM 400x Modbus
Для массива - в строке адреса указывается число ячеек (например, L30 - это 30 ячеек). По умолчанию L1, т.е одна ячейка
-
Vasiliy Baev
- leader
- Сообщения: 545
- Зарегистрирован: 31 окт 2011, 09:02
- Награды: 4
- Версия LabVIEW: 2019
- Откуда: Санкт-Петербург
- Благодарил (а): 9 раз
- Поблагодарили: 10 раз
- Контактная информация:
Re: ADAM 400x Modbus
Borjomy_1,
Спасибо большое.
Решил опробовать это на cRio c 9071 (4xRS485) и помочь коллеге в соседней ветке, но не тут-то было. Без настройки порта (установки Wire Mode: 2-wire Auto) мне не удаётся реализовать данный приём работs по modbus, с установкой данной настройки работает старая библиотека Modbus 1.2.1. При подключении к ADAM использую 2 проводное соединение.
(Выходные контакты TXD - и TXD + перемычки TXD - и RXD - ; TXD+ и RXD+; RTS+ и CTS+; RTS- и CTS-; )
Какие тут могут быть варианты решения?
Ошибка при создании провода, но вроде все перемычки на месте?
Настройки MAX этого сделать не позволяют: Настройки создаваемого сервера тоже не позволяют настроить порт:
Спасибо большое.
Решил опробовать это на cRio c 9071 (4xRS485) и помочь коллеге в соседней ветке, но не тут-то было. Без настройки порта (установки Wire Mode: 2-wire Auto) мне не удаётся реализовать данный приём работs по modbus, с установкой данной настройки работает старая библиотека Modbus 1.2.1. При подключении к ADAM использую 2 проводное соединение.
(Выходные контакты TXD - и TXD + перемычки TXD - и RXD - ; TXD+ и RXD+; RTS+ и CTS+; RTS- и CTS-; )
Какие тут могут быть варианты решения?
Ошибка при создании провода, но вроде все перемычки на месте?
Настройки MAX этого сделать не позволяют: Настройки создаваемого сервера тоже не позволяют настроить порт:
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
- 19 Ответы
- 7875 Просмотры
-
Последнее сообщение Artem.spb
-
- 38 Ответы
- 13295 Просмотры
-
Последнее сообщение AndreyDmitriev
-
- 5 Ответы
- 250 Просмотры
-
Последнее сообщение IvanLis