По умолчанию, все данные, поступающие на последовательный порт пакуются в Ethernet кадры с определенной периодичностью, либо при достижении максимальной длины кадра. В некоторых случаях такой алгоритм неприменим, т.к. приложение на Ethernet стороне требует непрерывности данных или определенной периодичности (в зависимости от протокола). Для решения этих проблем предусмотрены настройки параметров упаковки данных.
Рассмотрим каждый из параметров подробнее:
Delimiter
Delimiter позволяет задавать специальные символы, при получении которых NPort отправит содержимое своего буфера на Ethernet интерфейс.
Когда использовать Delimiter?
- Когда нужно отправлять определенные порции данных в одном Ethernet кадре, чтобы не было пауз и, чтобы данные приходили в исходном порядке.
- Если программа на ПК очень критична к временным задержкам.
Как работает Delimiter?
Установите 1 или 2 символа, при получении которых NPort незамедлительно поместит данные из буфера в Ethernet кадр и отправит его в сеть.
Тонкая настройка Delimiter
Более тонко управлять потоком данных с помощью символов разделителей можно через параметр Delimiter process.
Если выбран параметр ”Do nothing” NPort упакует данные, включая символы разделители.
Если выбран параметр ”Delimiter + 1” NPort упакует данные, включая символы разделители плюс 1 символ.
Если выбран параметр ”Delimiter + 2” NPort упакует данные, включая символы разделители плюс 2 символа.
Если выбран параметр ”Strip Delimiter” NPort упакует данные, но без символов разделителей.
Простой пример:
Допустим, обмен данными идет по протоколу Modbus ASCII. В этом протоколе каждый кадр заканчивается передачей последовательности символов CR LF. Значит, можно установить Delimiter 1 = 0a (hex LF), Delimiter 2 = 0d (hex CR) и NPort будет отправлять строку данных, как только получит символы LF CR.
Настройки Delimiter находятся в параметрах последовательного порта, во вкладке Operation Modes.