Jump to content
Форум по продукции MOXA

NPort и протокол Modbus


Recommended Posts

Доброго времени суток!

Схема такая

сенсорная панель Овен СП-270(для визуализации и включения двигателя)

включена в Nport 5150a-t

на другой стороне Nport 5150a-t

Овен плк-150(организует передачу команд и индикации, между памятью СП-270 и МДВВ,УБЗ)

Овен мдвв(снятия дискретных каналов)

УБЗ-302 - 4 шт(для удаленного включения двигателей)

 

Всё обрудование овен и УБЗ работает по протоколу модбас-рту 8 бит, 1 стоповый, без четности, скорость 9600

Nport в режиме pair conn, один мастер другой slave, baud rate 9600, parity none, data bits 8, stop bits 1 , flow control rts/cts, fifo enable, interface rs-485, 2 wire.

 

Если притащить и включить по месту, без Nport, то всё работает моментально.

А вот через Nport происходить задержка 3-5 минут на включение и индикацию... да вообще на всё.

 

Помогите плз, где грабли?

Link to comment

Добрый день!

Вообще, для подобных преобразований протокола Modbus настоятельно рекомендуется использовать преобразователи MGate. Они передают данные с учетом особенностей протокола Modbus.

NPort, в принципе, тоже можно использовать. Но будет не так эффективно (возможны задержки, фрагментация данных итд).

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


     
  1. Поставьте Flow Control = none. В линии RS-485 аппаратный контроль не используется. Вряд ли что-то изменится, но так будет правильнее :-)
  2. Переведите NPort в режимы работы TCP Server/TCP Client (вместо Pair Connection Master / Slave). Настраивается TCP Server/Client практически так же, как и Pair Connection. Попробуйте реализовать обмен данными. Тоже вряд ли что-то изменится, но появится возможность задавать дополнительные настройки.
  3. В дополнительных настройках режимов TCP Server и TCP Client поставьте Force Transmit = 3 мс. Вот это должно улучшить обмен. Подробнее про Force Transmit - здесь.

Link to comment

Добрый день!

То есть обмен данными удалось ускорить в несколько раз, но все равно он остался долгим?

 

Ну, на самом деле, может быть это и есть предел. Дело в том, что при передаче пакета через NPort возникает задержка в несколько миллисекунд. Т.е. если обмен данными происходит мелкими пакетами по несколько байт, то каждый пакет будет иметь данную задержку, и в сумме накопится большая пауза.

 

Попробуйте "поиграться" временем Force TX --- от 1 до 10 мсек (устанавливать больше - как правило, не имеет смысла). Пожалуй, это лучшее, что можно будет сделать.

Link to comment
Guest
This topic is now closed to further replies.
×
×
  • Create New...