Писал, потому что думал сначала, что используется два независимых устройства, сидящих на отдельных COM-портах. А раз всё свелось к обычному Modbus'у, то вам и флаг в руки.Borjomy_1 писал(а):Dadreamer пишет про очереди и уведомители.
ARC(адресуемый RS232)
-
dadreamer
- professor
- Сообщения: 3926
- Зарегистрирован: 17 фев 2013, 16:33
- Награды: 4
- Версия LabVIEW: 2.5 — 2022
- Благодарил (а): 11 раз
- Поблагодарили: 127 раз
- Контактная информация:
Re: ARC(адресуемый RS232)
-
- beginner
- Сообщения: 49
- Зарегистрирован: 01 авг 2014, 11:45
- Версия LabVIEW: 2013
- Контактная информация:
Re: ARC(адресуемый RS232)
Я с вами полностью согласен насчет очередности и понимаю что лучше сделать как вы предлагаете в ситуациях с rs485 и если идет поток опроса. Но у меня другая ситуация, и я не знаю как идет общение, про modbus ничего не писалось. Если бы вы открыли и посмотрели минут 10 инструкцию вы бы увидели как китайцы предлагают работать. Я не разобрался, поэтому прошу помощи
-
dadreamer
- professor
- Сообщения: 3926
- Зарегистрирован: 17 фев 2013, 16:33
- Награды: 4
- Версия LabVIEW: 2.5 — 2022
- Благодарил (а): 11 раз
- Поблагодарили: 127 раз
- Контактная информация:
Re: ARC(адресуемый RS232)
max69s, на стр. 28-29 вот что написано:
Before an instrument is sent a command it must be addressed to listen by sending the Listen Address control code, 12H, followed by a single character which has the lower 5 bits corresponding to the unique address of the required instrument, e.g. the codes A-Z or a-z give the addresses 1-26 inclusive while @ is address 0 and so on. Once addressed to listen the instrument will read and act upon any commands sent until the listen mode is cancelled.
Пробовали отсылать эти коды, а после - команды?Before a response can be read from an instrument it must be addressed to talk by sending the Talk Address control code, 14H, followed by a single character which has the lower 5 bits corresponding to the unique address of the required instrument, as for the listen address control code above. Once addressed to talk the instrument will send the response message it has available, if any, and then exit the talk addressed state. Only one response message will be sent each time the instrument is addressed to talk.
-
- beginner
- Сообщения: 49
- Зарегистрирован: 01 авг 2014, 11:45
- Версия LabVIEW: 2013
- Контактная информация:
Re: ARC(адресуемый RS232)
dadreamer, если вы поняли как работать, не могли бы мне написать 1-2 запроса. Я набирал 12H и просто 12, прибор выдает писк( типо ошибка), в данный момент на приборе задан адрес 2 -потому как в инструкции что то говорилось для работы с ARC шиной использование 2 адреса
-
dadreamer
- professor
- Сообщения: 3926
- Зарегистрирован: 17 фев 2013, 16:33
- Награды: 4
- Версия LabVIEW: 2.5 — 2022
- Благодарил (а): 11 раз
- Поблагодарили: 127 раз
- Контактная информация:
Re: ARC(адресуемый RS232)
Чтобы настроить адреса приборов, внимательно прочитайте раздел Control Bus, Instrument Address and Baud Rate Selection и выполните то, что там написано. Обратите внимание, что скорость передачи данных и прочие параметры порта должны быть одинаковы для обоих устройств. Далее, в разделе Remote/Local Operation написано при включении прибора индикатор REM не горит, но как только получена удалённая команда "слушать", прибор переходит в режим прослушки и индикатор REM загорается. Полагаю, что кабель вы спаяли верно и следующие разделы пропускаем. В разделе Addressable RS232 (ARC) Interface Control Codes также сказано, что при первичном запуске прибора он находится в режиме Non-Adressable. Для переключения прибора в режим Addressable нужно отправить команду Set Addressable Mode (02h). После этого следует отправить команду "слушать" (12h) для конкретного прибора (1 или 2). Далее там же написано, что адрес должен содержаться в младших 5 битах одного байта. Приводится пример: символ @ - это 1000000 в бинарном виде, все 5 нижних байт равны нулю, потому этот символ соответствует нулевому адресу. Символ A (латинская) - это 1000001, т.е. адрес 1. Символ Z - это 1011010, 5 нижних байт будут тогда 11010, то есть это 26 в десятичном виде (легко проверяется в калькуляторе Windows или в LabVIEW). После отправки команды на прослушку, устройство ответит, что приняло команду (06h). После этого можно высылать саму команду для устройства, например V<n>? (где <n> - номер вывода), чтобы запросить установленное напряжение. Затем, согласно мануалу, нужно выслать команду на разговор (14h), после чего прибор сразу же вышлет ответ (в данном случае напряжение в виде V<n><nr2><rmt>, где <nr2> - это напряжение в вольтах).
Если обобщить всё вышесказанное, порядок действий таков:
1) переводим прибор в режим Addressable - 02 в HEX-формате;
2) указываем прибору слушать входящую команду - 12 в HEX-формате + адрес прибора, например 40 в HEX-формате (адрес 0 = символ @);
3) ждём от прибора Acknowledge (06 в HEX-формате);
4) высылаем команду "передать напряжение" для 1-го вывода - V1;
5) указываем прибору говорить - 14 в HEX-формате;
6) ждём от прибора ответ - напряжение на 1-м выводе, например V1 1.5 0Ah (последний байт - терминатор строки).
Терминатор 0Ah = LF передаётся во всех командах. Попробуйте сперва добиться стабильной работы в терминале, потом переходите в LabVIEW. В общем, пробуйте, прибор у вас.
Если обобщить всё вышесказанное, порядок действий таков:
1) переводим прибор в режим Addressable - 02 в HEX-формате;
2) указываем прибору слушать входящую команду - 12 в HEX-формате + адрес прибора, например 40 в HEX-формате (адрес 0 = символ @);
3) ждём от прибора Acknowledge (06 в HEX-формате);
4) высылаем команду "передать напряжение" для 1-го вывода - V1;
5) указываем прибору говорить - 14 в HEX-формате;
6) ждём от прибора ответ - напряжение на 1-м выводе, например V1 1.5 0Ah (последний байт - терминатор строки).
Терминатор 0Ah = LF передаётся во всех командах. Попробуйте сперва добиться стабильной работы в терминале, потом переходите в LabVIEW. В общем, пробуйте, прибор у вас.
-
- beginner
- Сообщения: 49
- Зарегистрирован: 01 авг 2014, 11:45
- Версия LabVIEW: 2013
- Контактная информация:
Re: ARC(адресуемый RS232)
dadreamer, Кабель спаял верно. На 1 приборе в цепи адрес 2 на втором адрес 3.Запустил терминал. Отправляю в терминале команды в скобках сама команда (02) жму ввод -прибор пищит напоминает писк ошибки- потом посылаю команду (12 3) 3-адрес второго прибора, подтверждения от прибора не получаю . Что то не так делаю?
-
- beginner
- Сообщения: 49
- Зарегистрирован: 01 авг 2014, 11:45
- Версия LabVIEW: 2013
- Контактная информация:
Re: ARC(адресуемый RS232)
dadreamer, для терминала я использовал I/O liberes в опциях установил EOL:\n\r, и в строке вводил (2) ввод, (12 3) ввод, все без скобок
-
- beginner
- Сообщения: 49
- Зарегистрирован: 01 авг 2014, 11:45
- Версия LabVIEW: 2013
- Контактная информация:
Re: ARC(адресуемый RS232)
dadreamer,
решил поменять чтобы первым в цепи стал другой прибор, переткнул кабели, посылаю команду IDN -отвечает только первый в цепи прибор , второй даже не переключается в REM, до переподключения,на команду IDN отвечали оба и ответ были крокозябры, но названия обоих присутствовало. спасибо что помогаете! надеюсь вы мне поможете решить проблему
решил поменять чтобы первым в цепи стал другой прибор, переткнул кабели, посылаю команду IDN -отвечает только первый в цепи прибор , второй даже не переключается в REM, до переподключения,на команду IDN отвечали оба и ответ были крокозябры, но названия обоих присутствовало. спасибо что помогаете! надеюсь вы мне поможете решить проблему
-
Vitekkz88
- expert
- Сообщения: 1100
- Зарегистрирован: 21 янв 2014, 15:45
- Награды: 3
- Версия LabVIEW: 12,13,14
- Откуда: Томск
- Контактная информация:
Re: ARC(адресуемый RS232)
max69s, попробуйте найти драйвера для ваших приборов.
QL355TP:
https://forums.ni.com/ni/attachments/ni ... L355TP.pdf - правда на испанском:)
http://sine.ni.com/apps/utf8/niid_web_d ... 03BA7CCD71 - это для TSX1820P. Прям для TSX1820P вроде нет, поскольку там идёт объединение группы приборов. Возможно Вам подойдут драйвера от прибора из этой же линейки.
Посмотрите еще тут: http://www.tti1.co.uk/downloads/drivers-download.htm
QL355TP:
https://forums.ni.com/ni/attachments/ni ... L355TP.pdf - правда на испанском:)
http://sine.ni.com/apps/utf8/niid_web_d ... 03BA7CCD71 - это для TSX1820P. Прям для TSX1820P вроде нет, поскольку там идёт объединение группы приборов. Возможно Вам подойдут драйвера от прибора из этой же линейки.
Посмотрите еще тут: http://www.tti1.co.uk/downloads/drivers-download.htm
Последний раз редактировалось Vitekkz88 11 дек 2015, 15:31, всего редактировалось 2 раза.
Инженер - это открыто светящийся интеллект, свободный и не обидный юмор, это легкость и широта мысли...Это воспитанность, тонкость вкусов, хорошая речь, плавно согласованная и без сорных словечек...
-А. И. Солженицын
-А. И. Солженицын
-
- beginner
- Сообщения: 49
- Зарегистрирован: 01 авг 2014, 11:45
- Версия LabVIEW: 2013
- Контактная информация:
Re: ARC(адресуемый RS232)
Как работать с ними мне понятно, не хочу вас обидеть, но вы не поняли о чем эта тема. Как работать и библиотеки мне не нужны, там обычные scpi команды, которыми можно править через VISA driver. Мне нужн два прибора связать на 1 шину rs232
dadreamer, вот он вкурил тему и пытается помочь
dadreamer, вот он вкурил тему и пытается помочь
-
Vitekkz88
- expert
- Сообщения: 1100
- Зарегистрирован: 21 янв 2014, 15:45
- Награды: 3
- Версия LabVIEW: 12,13,14
- Откуда: Томск
- Контактная информация:
Re: ARC(адресуемый RS232)
Я как раз понял, о чем тема. Вы заблудились* в трёх березах, а потому, для начала, научитесь этими приборами управлять с помощью драйвера. Драйвер работает через те же самые SCPI-команды.не хочу вас обидеть, но вы не поняли о чем эта тема
У Вас проблема с формирование команд, а не с шиной и передачей данных.
Успехов!
Последний раз редактировалось Vitekkz88 11 дек 2015, 15:15, всего редактировалось 1 раз.
Инженер - это открыто светящийся интеллект, свободный и не обидный юмор, это легкость и широта мысли...Это воспитанность, тонкость вкусов, хорошая речь, плавно согласованная и без сорных словечек...
-А. И. Солженицын
-А. И. Солженицын
-
dadreamer
- professor
- Сообщения: 3926
- Зарегистрирован: 17 фев 2013, 16:33
- Награды: 4
- Версия LabVIEW: 2.5 — 2022
- Благодарил (а): 11 раз
- Поблагодарили: 127 раз
- Контактная информация:
Re: ARC(адресуемый RS232)
Это что такое? Гугл ничего вразумительного не выдал. Попробуйте Advanced Serial Port Monitor. Там можно вводить символы в HEX-формате так: #02. Или попробуйте в MAX, там символ вводится так: \02. Просто мне кажется, что сейчас вы вводите обычные цифры, а не ASCII представления.max69s писал(а):I/O liberes
-
- beginner
- Сообщения: 49
- Зарегистрирован: 01 авг 2014, 11:45
- Версия LabVIEW: 2013
- Контактная информация:
Re: ARC(адресуемый RS232)
dadreamer,agilent IO control= тоже что и nimax просто другая контора.
и да, вы совершенно правы, все работает как описали изначально, просто отправлял не HEX
1) переводим прибор в режим Addressable - 02 в HEX-формате;
2) указываем прибору слушать входящую команду - 12 в HEX-формате + адрес прибора, например 40 в HEX-формате (адрес 0 = символ @);
3) ждём от прибора Acknowledge (06 в HEX-формате);
4) высылаем команду "передать напряжение" для 1-го вывода - V1;
5) указываем прибору говорить - 14 в HEX-формате;
6) ждём от прибора ответ - напряжение на 1-м выводе, например V1 1.5 0Ah (последний байт - терминатор строки).
вводил в NIMAX:
\02
\12\02
read? ответ \06
*idn?
\14\02
read?
ответ от 1 прибора на команду IDN
Все круто, только еще момент появился. 02-это первый прибор в цепи, 03 второй, так вот вместо 02 ввожу 03 то он не переключает и не приходит ответ \06
то есть с первым прибором работает, а с другим нет, хотя в rem становятся оба. Пробовал выключать, давать другие адреса, пока ничего
и да, вы совершенно правы, все работает как описали изначально, просто отправлял не HEX
1) переводим прибор в режим Addressable - 02 в HEX-формате;
2) указываем прибору слушать входящую команду - 12 в HEX-формате + адрес прибора, например 40 в HEX-формате (адрес 0 = символ @);
3) ждём от прибора Acknowledge (06 в HEX-формате);
4) высылаем команду "передать напряжение" для 1-го вывода - V1;
5) указываем прибору говорить - 14 в HEX-формате;
6) ждём от прибора ответ - напряжение на 1-м выводе, например V1 1.5 0Ah (последний байт - терминатор строки).
вводил в NIMAX:
\02
\12\02
read? ответ \06
*idn?
\14\02
read?
ответ от 1 прибора на команду IDN
Все круто, только еще момент появился. 02-это первый прибор в цепи, 03 второй, так вот вместо 02 ввожу 03 то он не переключает и не приходит ответ \06
то есть с первым прибором работает, а с другим нет, хотя в rem становятся оба. Пробовал выключать, давать другие адреса, пока ничего