ЖУРНАЛ СТА 4/2014

к входным и выходным переменным приложения суммарными размерами по 8 кбайт, чем значительно превосходит CPM702 иCPM703, а также оставляет да- леко позади всех ближайших конкурен- тов. В связи с этим могут возникнуть во- просы, сколько времени может потребо- ваться на чтение и запись такого количе- ства данных по сети и не влияет ли отри- цательно столь большая информацион- ная ёмкость контроллеров CPM712 и CPM713 на время задержки ответа конт- роллера на сетевой запрос. Оценка времени обмена по сети Таблица 1 содержит максимальные значения задержки ответа для контрол- леров CPM702 и CPM712 при наиболее часто используемых скоростях обмена и формате символа, состоящего из одного стартового бита, 8 бит данных, одного стопового бита и одного бита контроля по чётности. Время задержки ответа на запрос MODBUS для контроллера CPM702 со- ставляет длительность, необходимую для передачи от 5,5 до 12,5 символов по ли- нии передачи RS-485 при выбранной скорости обмена, из которых длитель- ность в 3,5 символа составляет интервал тишины после приёма последнего байта входящего пакета, по истечении которо- го сервис протокола MODBUS CPM702 решает, что очередной пакет полностью принят, а оставшееся время, эквивалент- ное времени передачи до 9 символов, не- обходимо для полной обработки приня- того пакета и начала передачи ответа. Время задержки ответа на запрос MODBUS контроллера CPM712 на 11 с лишним миллисекунд больше, чем у CPM702. Это связано с тем, что изначаль- ная длительность задержки ответа CPM712, равная всего лишь 560 мкс, ока- залась слишком короткой для некоторых клиентов MODBUS RTU, которые про- сто не успевали переключить свой приё- мо-передатчик интерфейса RS-485 с пе- редачина приёмпо завершении передачи пакета запроса в адрес CPM712. CPM712 начинал отвечать на запрос вмомент, ког- да линия передачи ещё занята клиентом, и несколько символов в пакете ответа иска- жались. Именно поэтому порт интерфей- са RS-485 контроллера CPM712 при- шлось искусственно «замедлить». Для оценки времени обмена мастера сети с контроллером T S нужно для вы- бранной скорости обмена определить время передачи пакета запроса от клиен- та серверу T REQ , прибавить к нему время задержки ответа на запрос T SDR в соот- ветствии с таблицей 1 и время передачи пакета ответа от сервера клиенту T RES : T S = T REQ + T SDR + T RES + T 3.5 В данном соотношении параметр T 3.5 является временемпередачи 3,5 символов при выбранной скорости обмена, по ис- течении которого сервис клиента MOD- BUSRTUпринимает решение о заверше- нииприёма пакета от удалённого сервера. Пакет запроса от клиента серверу в режиме RTU состоит из адреса сервера (1 байт), кода функции (1 байт), данных запроса, включая служебные поля для выбранной функции (от 0 до 252 байт) и поля циклической контрольной сум- мы (CRC) длиной 2 байта. Пакет ответа сервера клиенту на пра- вильный запрос состоит из адреса серве- ра (1 байт), кода функции (1 байт), разме- ра данных (1 байт), самих данных и поля CRC длиной 2 байта. Например, длина пакета запроса MODBUS RTU Read Input Registers (функция 04) составляет 8 байт, а длина ответа на запрос чтения 125 регистров имеет длину 255 байт. Оценки времени обмена с контроллерами CPM702 и CPM712 для данного типа запроса при- ведены в таблице 2. Измеренные значения времени обмена с контроллерами CPM702 и CPM712 для этого же запроса представлены в табли- це 3. На рис. 5 показан метод измерения времени обмена при помощи осцилло- графа, подключённого к линии RS-485. Обратите внимание, что результаты из- мерений не учитывают длительность 3,5 символов тишины T 3.5 , по которому кли- ент MODBUS принимает решение о за- вершении приёма ответа на последний запрос. Для контроллеров CPM703 и CPM713 с интерфейсом Ethernet и протоколом MODBUS TCP оценка времени обмена в общем довольно затруднительна, по- скольку в расчёте практически невоз- можно учесть влияние множества фак- торов, таких как особенности реализа- ции стека TCP/IP на клиенте, латент- ность коммутационного оборудования и наличие в сети другого трафика поми- мо MODBUS TCP. Однако измерить время обмена между компьютером и контроллером можно с помощью сво- бодно распространяемой утилитыWire- shark (http://www.wireshark.org) , кото- рая, помимо прочих удобств, имеет встроенные средства анализа и трасси- ровки протокола MODBUS TCP. Окно утилиты Wireshark при измерении вре- мени обмена с контроллером CPM713 для функции 4 (Read Input Registers) по- казано на рис. 6. Столбец Time содер- жит временну ’ ю метку в секундах с точ- ностью до микросекунд для каждого за- хваченного пакета Ethernet относитель- но момента начала захвата пакетов. В столбцах Source и Destination отобра- жаются IP-адреса источника и получа- теля запроса соответственно. Столбец Info содержит расшифровку запросов и ответов с префиксами Query (запрос) и Response (ответ). Обратите внимание, что в столбце Info Wireshark отображает код функции MODBUS, передаваемый в пакетах запроса и ответа. Столбец Length при этом содержит значения длины пакетов запроса и ответа. Время обмена для каждой транзакции может быть вычислено путем вычитания вре- мени запроса ( Query ) из времени ответа ( Response ). Для контроллера CPM713 время об- мена при чтении значений 120 регист- ров одним запросом составляет около 450 мкс, а для контроллера CPM703 около 2,3 мс. При наличии в сети нескольких конт- роллеров суммарное время обмена по сети можно оценить как сумму времён обмена с каждым контроллером для 78 СТА 4/2014 АППА РАТ НЫЕ С Р Е ДС Т В А / П РОМЫШЛ Е ННЫЕ КОН Т РОЛЛ Е РЫ www.cta.ru Таблица 1 Максимальные значения задержки ответа на запрос MODBUS RTU ( T SDR ) Таблица 2 Оценки времени обмена (функция 4, 125 регистров) Таблица 3 Измеренные значения времени обмена MODBUS RTU (функция 4, 125 регистров) Скорость обмена, бит/с Задержка ответа на запрос в режиме RTU, мс CPM702 CPM712 19200 3,2 14,9 38400 2,0 13,9 57600 1,6 13,4 115200 1,2 13,0 Скорость обмена, бит/с T REQ , мс T SDR , мс T RES , мс T 3. 5 , мс T S , мс CPM702 CPM712 CPM702 CPM712 19200 4,58 3,2 14,9 146,09 2,01 155,88 167,58 38400 2,29 2,0 13,9 73,05 1,00 78,34 90,24 57600 1,53 1,6 13,4 48,70 0,67 52,49 64,29 115200 0,76 1,2 13,0 24,35 0,33 26,65 38,45 Скорость обмена, бит/с T S , мс CPM702 CPM712 19200 153,5 166,3 38400 76,2 89,1 57600 51,6 64,1 115200 26,2 38,1

RkJQdWJsaXNoZXIy MTQ4NjUy