Первоначально опубликовано D. Ushkin
выходной буфер на 16 байт - это ограничение на максимальную длину посылки? Сколько одновременно модулей может быть подключено к одному модулю ЦП? Или всё ограничивается исключительно размером области ввода-вывода? |
Нашел старое сообщение. Вношу ясность.
Теоретически, можно было бы подключить до 128 модулей (256 слов, по 2 на каждый модуль). Однако, не все так просто.
Дело в том, что каждый модуль передает по одному слову за один цикл шины K-bus. Для того, чтобы передать второе слово, организуется дополнительный цикл шины. Чем больше модулей, тем большее время требуется для их опроса.
Так, при использовании контроллера 750-842 с одним модулем 750-650, для обновления данных этого модуля потребуется 630 микросекунд. Это значит, что мы сможем записывать данные в выходной буфер и считывать данные из входного буфера со скоростью не выше, чем 3 байта за 630 мкс. Конечно, нужно еще учитывать время выполнения пользовательской программы.
А вот если взять 63 модуля (плюс один оконечный), время обновления будет уже 4350 микросекунд. При скорости обмена 9600 бит/с во входной буфер новый байт попадает примерно каждую миллисекунду. Значит, при таком количестве модулей есть реальный шанс, что входной буфер переполнится!
WAGO не гарантирует работу узла, состоящего из более чем 64 активных и пассивных модулей (из соображений ЭМС). Единственный способ - использовать расширение K-bus с помощью 750-627, 750-628 и ExtensionSetting. Это возможно в 32-разрядных контроллерах (750-841, 873 и т.д.) Однако, я не рекомендовал бы это делать, так как скорость обмена по K-bus в этом случае снизится.
Таким образом, размер выходного буфера в 16 байт влияет скорее не на длину посылки, а на скорость обмена.
Сейчас появился контроллер 750-873 с "честным" портом RS-232, работающим до 115200 бит/с, однако документация на него пока не готова.