-
Чего-то уж так категорично.
Если мастер с битами - то теряется время на розничных запросах (типа ф5), для ф1,2,15 - запросы длинее и, отсюда, жестче ограничения по макс.размеру информации за раз.
Для слейва это побоку - скорость определяет мастер, но для обоих, при смене платформы, проще переписать имя регистра в конфигурации чем кучу имен битов.
А что касается порядка "как надо" - да как душе угодно если понятно как происходит выравнивание.
Насчет пользы AT адресации - весьма спорный вопрос при возможности просто дать имя каналу
-
Вложений: 1
Спасибо всем за помощь! Проект наконец-то отлажен и сейчас проходит испытания. Визуализация теперь "не тормознутая" :D
Циклы контроллеров - 10 и 6 мс.
Сетевые переменные запаковываются в DWORD.
Управление выходами 32Р по битовой маске - 2 WORD'а.
Цикл опроса в ModBus RTU 10 мс, OWEN 100 мс.
Оптимизирован код.
Особое внимание, тем кто столкнется с нехваткой производительности ПЛК, следует уделить оптимизации кода. Используйте многозадачность (Конфигуратор задач) либо многозадачную структуру кода. Например, в нашем проекте единовременно на панель оператора выводятся показания более 30 аналоговых датчиков, многие из них с плавающей запятой, их значения вычисляются по математическим формулам. Они были разделены на две группы: быстрые и медленные. Те датчики, показания которых не являются критичными по времени, общитываются раз в 5 секунд. Быстрые обновляются каждую секунду. Строковые переменные тоже носят чисто индикативную функцию, поэтому их цикл тоже выполняется раз в секунду и т.д. Таким образом, достаточно большая программа, с большим количеством устройств работает быстро. Время отклика МУ11032Р - менее секунды!
Вот так выглядит главная панель оператора станции очистки воды:
Вложение 9518