Показать сообщение отдельно
Старый 30.03.2014, 12:18   #6
Max2114
Senior Member
 
Регистрация: Jun 2007
Адрес: Tyumen
Сообщения: 2 052
Благодарил(а): 20 раз(а)
Поблагодарили: 21 раз(а) в 21 сообщениях
По умолчанию Ответ: Вопросы по быстродействию SMH-2G

Цитата:
Сообщение от BBB36 Посмотреть сообщение
Два контроллера крайние в одном шкафу (витая пара уходит от них расстояние 3 метра), следующий шкаф с двумя контроллерами подключён к этой витой паре. и дальше в операторской шкаф с упр. контроллером (расстояние ещё 10 метров). В купе длина не больше 15 метров.
Перемычки стоят везде (подозреваю что к скорости это не будет иметь отношение).
ПЕРЕМЫЧКИ ИМЕЮТ ПРЯМОЕ ОТНОШЕНИЕ!!! Убирайте все, оставляйте на крайних контроллерах, переходите на 115200 и скорость выростет... Расстояние у вас совсем небольшой поэтому перестраховываться на 19200 нет никакого смысла.
Цитата:
Сообщение от BBB36 Посмотреть сообщение
И да, я как уже писал выше, по rs232 у меня к каждому контроллеру подключена панель оператора Винтек.
Панели отвечают моментально, и пуск и стоп и все параметры. Упр. контроллер со своей 15 дюймовой тоже работает "на ура". проблема именно между упр. и слейвом.
Кстати роя форум обратил внимания на эту фразу Арсения: Поэтому, планируя большую и расветвлённую сеть, обязательно просчитывайте трафик и частоту опроса в этой сети. Что толку считывать 10 раз в секунду показания датчика наружной температуры, если достаточно одного раза за 10 минут. И это касается абсолютно любой переменной, "путешествующей" в сети.
Может это и есть то? Ведь реально мне к примеру не к чему читать датчик температуры каждую секунду.
Но как уменьшить опрос?
Бррррр.......Я сброшу проект. правда это до отладки ещё, и незначительно потом поправлен, но работает даже так.
Я понимаю что вызову кучу "положительных" эмоций у вас, но это мой первый, я с контроллерами начал "общаться" только 4 месяца назад, потому не судите строго, советы выслушаю с удовольствием, на примере ещё лучше. А если показать с изменением в моем проекте, буду благодарен за терпение!
Да, Вам надо все-таки оптимизировать трафик!
Вы чем опрашиваете контроллеры? Вам нужно:
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) и смотрите как работает обмен аднными... сколько неплоученных пакетов и т.д. и т.п.
ПРи таком количесве переменных если сделать вышеперечисленное скорее всего скорость реакции занчительно увеличится.

Последний раз редактировалось Max2114, 30.03.2014 в 12:33
Max2114 вне форума   Ответить с цитированием