Дам некоторые комментарии по проведению экспериментов и результатам.
В настройках опроса во всех экспериментах были установлены следующие параметры:
1. TimeOut (максимальное время ожидания ответа от модуля) у всех модулей был установлен в 60 мс;
2. FramingTime (пауза между опросами модулей) был установлен в 5 мс;
3. PollingTime (период опроса) для модулей МВ110-32.ДН и МУ110-32Р был установлен в 100 мс;
4. PollingTime (период опроса) для модуля МВ110-8А установлен в 200 мс.
5. MaxAttempts (максимальное количество попыток опроса, в случае неудачной первой попытки) у всех модулей был установлен в 2. Т.е. если первая попытка опроса завершалась неудачно, то контроллер (диспетчер) пробовал еще раз опросить модуль. В случае, если вторая попытка завершалась неудачно, то контроллер переходил к опросу следующего модуля и возвращался к опросу этого уже спустя время PollingTime.
6. MinCycleLength у контроллера равна 1 мс.
Анализ таблиц 1 и 2.
I.
Для начала оценим теоретическое время чтения/записи 4 байт (модули МВ110-32ДН и МУ110-32Р).
Команда чтения/записи состоит из: адреса уст-ва (1 байт) + номера функции (1 байт) + адреса регистра (2 байта) + кол-ва регистров (1 байт) + CRC (2 байта) = 7 байт.
Ответ в общем случае состоит из: адреса уст-ва (1 байт) + номера функции (1 байт) + кол-во данный (1 байт) + данные (4 байт) + CRC (2 байта) = 9 байт.
Итого передать по сети туда-обратно нужно 16 байт.
Таким образом теоретически чтение/запись для дискретных 32-х канальных модулей ввода/вывода должна составлять на разных скоростях следующие значения:
1. Для 9600: 16*9*1000/9600 = 15 мс;
2. Для 19200: 16*9*1000/19200 = 7,5 мс;
3. Для 38400: 3,75 мс;
4. Для 57600: 2,5 мс;
5. Для 115200: 1,25 мс.
Как хорошо видно из таблицы 1, теоретическое время значительно отличается от практического. Сразу оговорюсь, что такое явление наблюдается и для других слейвов. Так, например, давно я измерял время опроса ПЛК S7-1214 (см. тут) и там практическое время опроса так же значительно отличалось от теоретического.
Так же следует пояснить почему иногда минимальное и максимальное время опроса близки к среднему (например для МУ110 на скоростях <= 19200), а иногда сильно отличаются (МУ110 на скоростях > 19200).
Это связано с организацией опроса. Так как у всех модулей количество попытко опроса равно 2, то при первичной неудачной попытке опроса, которая оканчивается по таймауту (а он у нас 60 мс), модуль повторяет опрос. В этом случае время опроса складывается из собственно времени опроса и времени таймаута.
II.
Из таблицы 2 видно, что на скоростях <= 19200 количество ошибок опроса модулей равно 0 для всех модулей.
На скоростях 38400 и 57600 их количество ничтожно - меньше 17*100/9000 = 0,2%.
А вот на скорости 115200 процент ошибок уже становится ощутимым. Хотя почему-то только один модуль МУ110 преимущественно выдает ошибки. Процент ошибок для него составляет:
9709*100/408000 = 2,4%.




Ответить с цитированием