Menaks Posted April 15, 2011 Share Posted April 15, 2011 Доброго времени суток! Схема такая сенсорная панель Овен СП-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
Komantsev Posted April 15, 2011 Share Posted April 15, 2011 Добрый день! Вообще, для подобных преобразований протокола Modbus настоятельно рекомендуется использовать преобразователи MGate. Они передают данные с учетом особенностей протокола Modbus. NPort, в принципе, тоже можно использовать. Но будет не так эффективно (возможны задержки, фрагментация данных итд). В Вашем случае, чтобы избежать возможной фрагментации данных (это когда один Modbus-пакет передается не в одном, а в нескольких TCP-пакетах, вследствие чего возникают губительные для Modbus задержки внутри пакета), попробуйте следующую последовательность шагов: Поставьте Flow Control = none. В линии RS-485 аппаратный контроль не используется. Вряд ли что-то изменится, но так будет правильнее :-) Переведите NPort в режимы работы TCP Server/TCP Client (вместо Pair Connection Master / Slave). Настраивается TCP Server/Client практически так же, как и Pair Connection. Попробуйте реализовать обмен данными. Тоже вряд ли что-то изменится, но появится возможность задавать дополнительные настройки. В дополнительных настройках режимов TCP Server и TCP Client поставьте Force Transmit = 3 мс. Вот это должно улучшить обмен. Подробнее про Force Transmit - здесь. Link to comment
Menaks Posted April 15, 2011 Author Share Posted April 15, 2011 с указанными параметрами время срабатывания около 30-45 сек. Можно ли добится результата получше? Link to comment
Komantsev Posted April 15, 2011 Share Posted April 15, 2011 Добрый день! То есть обмен данными удалось ускорить в несколько раз, но все равно он остался долгим? Ну, на самом деле, может быть это и есть предел. Дело в том, что при передаче пакета через NPort возникает задержка в несколько миллисекунд. Т.е. если обмен данными происходит мелкими пакетами по несколько байт, то каждый пакет будет иметь данную задержку, и в сумме накопится большая пауза. Попробуйте "поиграться" временем Force TX --- от 1 до 10 мсек (устанавливать больше - как правило, не имеет смысла). Пожалуй, это лучшее, что можно будет сделать. Link to comment
Recommended Posts