Цитата:
Сообщение от Max2114
ПЕРЕМЫЧКИ ИМЕЮТ ПРЯМОЕ ОТНОШЕНИЕ!!! Убирайте все, оставляйте на крайних контроллерах, переходите на 115200 и скорость выростет... Расстояние у вас совсем небольшой поэтому перестраховываться на 19200 нет никакого смысла.
Да, Вам надо все-таки оптимизировать трафик!
Вы чем опрашиваете контроллеры? Вам нужно:
1. Оптимизировать карту переменных так чтобы получилось как можно меньше запросов (сгруппировать по-человечески).
2. Увеличить период опроса на тех переменых, которые не нужно часто обновлять. Если Вы опрашиваете другим SMH2G - там в устройствах на комп порту при редактивроании карты памяти можно задать период опроса разный для разных переменных. Я когда оптимизировал работу с 12-ю пикслями этим во-всю пользовался.
3. Если у вас мастер - другой SMH2G - вытаскивайте в програму блоки тестирования связи (LINK для каждого слейва и Device(link) для RS485 вообще) и проводите анализ работы с каждым слейвом. У Вас из-за перемычек низкая скорость и видимо коллизий много.
Посмотрел проекты. Рекомендации:
1. Я бы все битовые переменный упаковал бы в Int, и считывал бы Int.... блоками "bool-to-int" и "Reg16-bits".
2. В карте переменны мастера уберите все переменные которые не используете. И в слейве их уберите (если эти ппеременные используются в панели - оставьте их в слейве а в мастере удалите). Даже если вы их в поле не вытащили, они все равно опрашиваются.
3. Те переменные, которые не нужно часто обновлять - поставьте преиод опроса больше.
4. Повторюсь - убрать перемычки, оставить только на крайних контроллерах (как вариант и их убрать), перевести работу на 115200.
5. Вытащите в контроллер Slave(link) каждого слейва и Device(link) загрузите в режиме эмуяции программу (к примеру по RS232) и смотрите как работает обмен аднными... сколько неплоученных пакетов и т.д. и т.п.
ПРи таком количесве переменных если сделать вышеперечисленное скорее всего скорость реакции занчительно увеличится.
|
Ну я как и говорил это заготовка, хоть и рабочая. В последствии я почистил карту памяти как вы и рекомендуете.
Так разве я не упаковал? В мастере ведь и вход и выход работают именно так. Все остальные переменные это панель. А вот как в неё загнать упаковку я пока не знаю. Да и как я говорил, между контроллером и панелью все "летает".
Device(link) как я говорил впоследствии я поставил. Прописал ошибку при обрыве связи на панель оператора.