PDA

Просмотр полной версии : Приборы ОВЕН в сети RS-485



light_finder
30.03.2009, 19:29
Уважаемые господа!

У меня снова вопрос. Я строю сеть из МДВВ, МВУ8 и МР1. Впоследствие планируется добавить еще МВА8. На данный момент сеть имеет следующую структуру: к COM-порту машины подключен преобразователь интерфейсов АС3-М, к нему последовательно подключены МДВВ и МВУ8, к МВУ8 подключен МР1. Вопрос следующий: требуются ли в данной сети устанавливать терминаторы или они уже вмонтированы в модули? Как надо изменить структуру сети в случае добавления в нее МВА8? И вопрос по поводу контактов RS-485. На приборе нанесены обозначения А и Б. Как эти А и Б соответствуют +TRXD и -TRXD?

Вопрос возник в связи вот с чем. При работе в сети возникают сбои при чтении состояний входов МДВВ. Далее я перечислю последовательность действий, приводящих к сбою.

1)

1. Включаем питание
2. Читаем состояние входов МДВВ (сбоев нету)
3. Не меняя состояния входов МДВВ, переключаем выходы МДВВ
4. Читаем состояние входов МДВВ (сбои есть)

2)

1. Включаем питание
2. Читаем состояние входов МДВВ
3. Читаем состояние входов МДВВ
4. Читаем состояние входов МДВВ

В пунктах 2, 3 и 4 получаем разные ответы от прибора. Листинг работы программы приведен во вложении.

Чтение состояний входов МДВВ и в п.2 и в п.4 осуществляются посылкой в сеть пакета @10A1(cr). В п.2. получаем нормальный ответ. В п.4 получаем ответ либо без нескольких первых символов (символы ">0" пропадают всегда, также могут пропадать состояния входов 12-9 и 8-5), либо не получаем ответа совсем.

Прошу вас посмотреть текст программы на С++, написанной для работы с сетью под ОС Debian. Из особенностей данной ОС укажу лишь то, что имеет значение при работе с RS-485. Работа с COM-портом эквивалентна работе с файлом. Запись в файл - запись в порт. Для посылки записанного в файл пакета требуется закрыть файл. Чтение из файла - чтение из порта. Для порта COM1 используется файл "/dev/ttyS0".

Посмотрите, пожалуйста, текст программы, он небольшой и совсем простой. Может ошибка в коде. Но все же я склоняюсь к варианту, что сбои возникают из-за отсутствия терминаторов.

Kirill
31.03.2009, 10:43
Уважаемые господа!

У меня снова вопрос. Я строю сеть из МДВВ, МВУ8 и МР1. Впоследствие планируется добавить еще МВА8. На данный момент сеть имеет следующую структуру: к COM-порту машины подключен преобразователь интерфейсов АС3-М, к нему последовательно подключены МДВВ и МВУ8, к МВУ8 подключен МР1. Вопрос следующий: требуются ли в данной сети устанавливать терминаторы или они уже вмонтированы в модули? Как надо изменить структуру сети в случае добавления в нее МВА8? И вопрос по поводу контактов RS-485. На приборе нанесены обозначения А и Б. Как эти А и Б соответствуют +TRXD и -TRXD?



Терминаторы в модули не вмонтированы.
Подключаете последовательно последнему модулю мва8 и продолжаете работу.
А +, В -.

light_finder
31.03.2009, 14:03
Терминаторы в модули не вмонтированы.


То есть, для нормальной работы сети, мне надо подключить к МДВВ и МВУ8 120-омные резисторы?

Kirill
31.03.2009, 15:48
То есть, для нормальной работы сети, мне надо подключить к МДВВ и МВУ8 120-омные резисторы?

Терминаторы ставятся на крайних приборах, подключеных к интерфейсу, а не на всех приборах в сети.

light_finder
31.03.2009, 16:56
ну так у меня с одного края МДВВ, с другого МВУ8.

А сбои происходят именно по причине отсутствия терминаторов?

Kirill
01.04.2009, 10:54
ну так у меня с одного края МДВВ, с другого МВУ8.

А сбои происходят именно по причине отсутствия терминаторов?

а если с одного края поставить ас3-м?

light_finder
01.04.2009, 11:05
Я приделал к МДВВ 100-омный резистор. Ничего все равно не изменилось. Сбои остались те же самые. Есть подозрение, что сбои происходят из-за переполнения буфера порта, ибо длины проводов, соединяющих приборы, не превышают 20 см ПОСМОТРИТЕ ПОЖАЛУЙСТА ТЕКСТ ПРОГРАММЫ

Филоненко Владислав
01.04.2009, 11:14
А зачем Вы закрываете порт?

magirus
01.04.2009, 11:19
давайте уточним, терминатоР ставится на последнем приборе сети.
http://images.people.overclockers.ru/178316.jpg

Дмитрий Егоренков
01.04.2009, 15:21
он не знает про fflush()

light_finder
01.04.2009, 23:09
А зачем Вы закрываете порт?

Порт я закрываю для того, чтобы послать пакет в него. Ибо пакет уходит в порт только после закрытия файла.

light_finder
01.04.2009, 23:12
давайте уточним, терминатоР ставится на последнем приборе сети.

Я поставил на последний прибор его. За неимением 120 Ом, поставил 100 Ом. Думаю, проблема не из-за терминаторов, длина линий, как я уже говорил, не превышает 20 см, создаваемые наводки несущественны.

light_finder
01.04.2009, 23:13
он не знает про fflush()

Ну так поделитесь своим тайным знанием

magirus
02.04.2009, 10:21
120 ом - не от наводок, для согласования волнового сопротивления, но на такой длине он в принципе не обязателен.
(тут по двум мокрым веревкам сязь должна быть):)

light_finder
02.04.2009, 15:12
120 ом - не от наводок, для согласования волнового сопротивления, но на такой длине он в принципе не обязателен.
(тут по двум мокрым веревкам сязь должна быть):)

А разве терминаторы ставятся не с целью предотвращения отражений от конца линии?

magirus
02.04.2009, 17:49
ну вообще то
с целью предотвращения отражений от конца линии=
для согласования волнового сопротивления

light_finder
02.04.2009, 18:22
Буду теперь знать) А то видите, какие люди бывают..вот взять, например, Дмитрия Егоренкова, вот он где-то вычитал про что-то, а никому не рассказывает, хранит в тайне, а Вы поделились секретом) Спасибо!

Дмитрий Егоренков
03.04.2009, 13:44
все-таки я вам завидую! жить в мире полном тайн и загадок, в котором нет гугла и википедии, а знания передаются в песнях и легендах...

Филоненко Владислав
03.04.2009, 13:54
Да, ключевое слово fflush прояндексить слабо?

light_finder
03.04.2009, 13:56
Знаете, зависть - черное чувство, нехорошо это

А насчет википедии, у меня, конечно, есть к ней доступ, и я могу там посмотреть. Кстати, представьте себе, я сам догадался, без Вашего совета, поискать в интернете, что делает функция fflush() и, что самое интересное, нашел.

Но дело-то не в этом, а в отношении к людям и к делу, которым Вы занимаетесь. Если хотели помочь, то можно было оформить Ваш пост про функцию fflush() в какой-нибудь более учтивой форме, ну хотя бы не говорить обо мне в третьем лице. Ну такое у Вас воспитание, что ж поделаешь.

light_finder
03.04.2009, 13:56
Да, ключевое слово fflush прояндексить слабо?

Ну где уж нам, серым...

Artemiy
03.04.2009, 16:27
Добрый день! Вопрос такой. Начинаю знакомится с ПЛК Овен ПЛК 150. К нему подключен МДВВ. Пишу простую функцию a+b добавляю ее в PROGRAM PLC_PRG. Итог - функция возвращает правильное значение, но в самой функции при ее мониторинге, вместо чисел только три знака вопроса? Это не очень удобно, хотелось бы видеть не знаки вопроса, а числа!