Показать сообщение отдельно
Старый 30.03.2014, 12:42   #8
BBB36
Member
 
Регистрация: Oct 2013
Сообщения: 65
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
По умолчанию Ответ: Вопросы по быстродействию SMH-2G

Цитата:
Сообщение от 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) как я говорил впоследствии я поставил. Прописал ошибку при обрыве связи на панель оператора.
BBB36 вне форума   Ответить с цитированием