Вход на форум 
В начало e-Mail

Форум

Ресурсы Rockwell

Product Directory

Essential Components

Literature Library

Knowledge Base

Electronic News&Magazines

Блог

Encompass Program

Product Certification

  
Smart Solutions VDT :: Просмотр темы - Оптимизация проекта для ControlLogix
 FAQFAQ   ПоискПоиск   ГруппыГруппы   ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 

Оптимизация проекта для ControlLogix

 
Начать новую тему   Ответить на тему    Список форумов Smart Solutions VDT -> Программные средства систем автоматизации
Предыдущая тема :: Следующая тема  
Автор Сообщение
KPY
Частый гость
Частый гость


Зарегистрирован: Dec 22, 2005
Сообщения: 24
Рейтинг: +0/-0
Откуда: Казахстан

СообщениеДобавлено: Сб 24 Dec, 2005 14:28:50    Заголовок сообщения: Оптимизация проекта для ControlLogix Ответить с цитатой

Хотел спросить совета у опытных спецов. Вопросов, по сути несколько, но прежде чем их задать в общих чертах опишу ситуацию. Два контроллера L55M13 работающих в горячем резерве при помощи 1757-SRM. Сеть ControlNet, ввод/вывод удаленный, 3 17-х шасси, в каждой 15 модулей. Как оказалось синхронизация основного и резервного контроллеров занимает довольно прилично ресурсы оных.

По мануалу загрузка вроде как должна быть больше всего на 30%, но на мой субъективный взгляд на практике дело обстоит по другому. Тормоза у меня выражаются в подвисании RSLinx, диагностика драйвера показывает 2 пакета в секунду на прием и столько же на передачу. В режиме работы без резервного контроллера, диагностика показывает 10 пакетов, RSView работает, как положено, тормозов не наблюдается.

Теперь собственно вопросы.
1. Как лучше организовать задачи контроллера. Сделать больше задач содержащих меньше программ, или постараться выстроить процедуры управления так, чтобы задач было меньше, а программ внутри них больше. Вообще, что-нибудь от этого зависит или я не туда копаю?
2. Какие вообще есть способы оптимизации быстродействия?
3. Может дело быть в неправильных настройках ControlNet-а?
4. Сколько пакетов должна получать/отправлять рабочая станция для "нормального" обмена информацией по контролнету? Сетевые модули нагружены на 50% если судить по показаниям индикаторов.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
oldDad
Site Admin
Site Admin


Зарегистрирован: May 05, 2005
Сообщения: 2773
Рейтинг: +89/-5

СообщениеДобавлено: Сб 24 Dec, 2005 22:31:09    Заголовок сообщения: Ответить с цитатой

Хороший вопрос Smile Сейчас попробую привести несколько общих соображений и рекомендаций.

Основное правило планирования вычислительной мощности мультизадачных проектов реального времени звучит так: „Don’t hog the CPU“, что означает «не заграбастывайте время процессора» Smile Поэтому, чтобы минимизировать время скана, следует, в принципе, придерживаться следующих соображений:

1. Лучше использовать небольшое количество больших программ, чем большое количество маленьких. Чем больше задач, тем больше «накладных расходов», т.е. вычислительных ресурсов, требующихся процессору и операционной системе, чтобы отслеживать переключение задач, сохранения контекста, определения наиболее приоритетной готовой к выполнению задачи, сохранению контекста в стеки задачи, у которой система забирает процессор и т.п.

2. Если возможно, используйте только одну или как можно меньше задач.

3. Лучше использовать одну программу с вызовами подпрограмм (routines) чем несколько автономных задач со своими приоритетами, локальной областью данных и т.п.

4. Если Вам необходимо иметь в системе несколько задач с собственными приоритетами, то в каждой задаче лучше иметь только одну программу или пару программ.

5. Лучше применять «оборонительный» стиль планирования приоритетов и вычислительного процесса, чем «наступательный», т.е. присваивать задаче настолько маленький приоритет, насколько это возможно и имеет смысл, а не назначать каждой новой задаче (ещё) больший приоритет, чем предыдущей.

6. Старайтесь следовать следующей стратегии: задачи с относительно более высоким приоритетом должны обслуживать самые важные события во внешней среде, и быть настолько короткими, насколько это возможно. Чем выше приоритет, тем короче, лаконичнее и проще должна быть задача.

7. Поскольку резервированные процессоры постоянно заняты ещё и сравнением и выравниванием контекста, и это происходит с довольно высоким приоритетам (по вполне понятной причине – нужно постоянно быть наготове!) , очень критичным является время передачи массива данных (тэгов). Поэтому структурируйте данные так, чтобы иметь наименьшее количество тэгов. Это позволит уменьшить объём данных, передаваемых между основным и резервирующим процессором, а, следовательно, уменьшить время трансфера данных между контроллерами и увеличить быстродействие.

8. Удаляйте ненужные тэги. Поскольку они созданы, память под них отписана, и они участвуют в трансфере, т,к. Процессор не анализирует, используются ли они в действительности.

9. По этим же соображениям лучше использовать массивы тэгов вместо ряда индивидуальных тэгов. Каждый раз, когда Вы создаёте тэг BOOL, контроллер создаёт 4-байтовую структуру данных вместо 1 бита. Например, массив BOOL из 32 битов занимает 32 бита, т.е. 4 байта, а 3 независимых тэга типа BOOL занимают 3 тэга x 4 байта/тэг = 12 байт.

10. Старайтесь использовать биты в слове, а не отдельные битовые тэги. Если Вам необходимы тэги различного типа, то лучше создавать польовательские структуры данных, состоящие из тэгов и массивов разных типов, чем просто большое количество тэгов. Напирмер, структура может состоять из тэгов SINT, INT, DINT, REAL, COUNTER, TIMER. Менеджер памяти оптимизирует такие структуры, макчимально упаковывая данные вплотную друг к другу.

11. Если уж Вы создаёте единичные тэги, то лучше создавайте альянсы (aliases) к компонентам массивов.

12. Минимизируйте код программы, насколько это возможно. Если по какому-нибудь условия выполняются различные действия, то избегайте множественных проверок этого условия в разных строках программы, а лучше для всех этих действий используйте ветвление во второй половине строки проверки учловия.

13. По этой же причине минимизируйте применение конструкций вида «проверил условие – установил флажок – во многих местах пользуюсь этим флажком». Лучше избегать флажков и помещать инструкции выполнения впараллель в строчке проверки условия непосредственно после проверки этого условия.

14. Не выполняйте строчки программы, если это не нужно. Выполняйте действия только тогда, когда это действительно необходимо. Например, выполнение сложения после проверки необходимости сложения лучше, чем безусловное выполнение сложения без проверки этого условия.

15. При передаче данных между партнёрами-контроллерами данные делятся на пакеты по 256 байт. Каждый раз, когда производится запись, скажем, в 1 (один) бит, т.е. тэг типа BOOL, между контроллерами передаётся целый блок из 256 байт. Поэтому лучше осмысленно группировать данные таким образом, чтобы передавалось только то, что нужно, а не, например, одни и те же константы в одном и том же блоке. Иными словами, лучше располагать константы в одном блоке, медленно меняющиеся значения в другом, быстроменяющиеся – в третьем и т.п. в этом смысле.

16. Лучше использовать DINT, чем SINT или INT. Поскольку контроллер имеет 32-битную шину данных, его естественным форматом является именно DINT. Все остальные Ваши форматы контроллер вынужден перед использованием сперва преобразовывать в DINT, а потом снова в Ваш формат. Это занимает время.

17. Не нужно явно в программе преобразовывать SINT или INT в DINT. Контроллер делает это автоматически. В противном случае это занимает лишнее время.

18. При планировании Вашей системы пожалуйста не пренебрегайте всеми рекомендациями документа 1756-um523_-en-p.pdf.


Настройки ControlNet тоже нужно оптимизировать с помощью RSNetworx for ControlNet.
- Можно поварьировать NUT.
- Очень часто недостаточная производительность сети связана с некачественным механическим её исполнением, например, нехорошим контактом в разъёме. Посмотрите в Station Diagnostics в RSLinx, нет ли плохих пакетов, "шума", ошибок?
- Лучше располагать адреса в сети подряд, без промежутков.
- Хорошо бы проверить в RSNetworx, корректно ли указаны максимальные сетевые адреса Max Scheduled и Max Unscheduled.
- Если у Вас резервированная сеть, проверьте, установлено ли в Media Redundancy, что передача идёт по кабелям А и В.
- Посмотрите, сколько реально байтов в секунду пропускает Ваша сеть в фазе unscheduled. Не получается ли так, что NUT слишком мал, чтобы пропустить все байты за один такт? Не слишком ли велик бесполезный запас?
- Посмотрите характер загрузки сети: Average and Peak Scheduled Band Network. Чем ближе эти значения к 100%, тем тяжелее загружена сеть.


Сколько у Вас рабочих станций в данном сегменте ControlNet? Что Вы используете - RSView32 или RSViewSE?

Успехов! Smile
_________________
Обращайтесь к профессионалам.


Последний раз редактировалось: oldDad (Вт 04 Апр, 2006 9:20:08), всего редактировалось 3 раз(а)
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
KPY
Частый гость
Частый гость


Зарегистрирован: Dec 22, 2005
Сообщения: 24
Рейтинг: +0/-0
Откуда: Казахстан

СообщениеДобавлено: Чт 29 Dec, 2005 7:37:02    Заголовок сообщения: Ответить с цитатой

oldDad
Спасибо большое за столь объемный, содержательный и полезный ответ! Перевариваю полученную информацию. К сожалению пока на практике проверить не могу, но обещаю как только окончатся праздники проверить все Ваши гипотезы. Обязательно отчитаюсь о результатах.
Еще раз огромное спасибо!

Р.S. Рабочих станции 3, используем RSView32.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
KPY
Частый гость
Частый гость


Зарегистрирован: Dec 22, 2005
Сообщения: 24
Рейтинг: +0/-0
Откуда: Казахстан

СообщениеДобавлено: Пт 24 Мар, 2006 5:53:51    Заголовок сообщения: Ответить с цитатой

Постарался исправить проект в соответствии с Вашими замечаниями и рекомендациями указанного Вами документа. Все у меня заработало, но я рано радовался. Появились новые непонятки, я уже голову сломал, поэтому обращаюсь к Вам как к высшей инстанции. Опишу проблему:
Без резервного контроллера все 3 рабочих станции работают отлично, тормозов не наблюдается. (Тормозами я называю реакцию на кнопку включения конура управления) При включении резервного контроллера, рабочие станции вообще перестают управлять процессом. Нормальной работы удалось добиться только при использовании одной машины, то есть как только я запускаю проект на второй, система встает «колом».
NUT 5мс, при использовании других значений, у меня перестает синхронизироваться резервный контроллер. PRI = 160 для всех шасси, выбирал из условий что у меня NUT будет 10. Не знаю уже что бы и придумать. Куда копать, то ли дальше программу оптимизировать, то ли с ControlNet-oм бороться. Задам еще вопросы, может глупые, не судите строго:
1. Передача данных рабочим станциям идет как незапланированные данные? Таким образом, нельзя гарантировать, что измененное значение тега обязательно в реалтайме будет замечено контроллером? Может можно их, каким-то образом запланировать? В проект Logix-а например добавить.
2. В RSLinx окромя создания драйвера и ОРС-топика еще нужно что-то настраивать?
3. После переконфигурации сети RSNetWorx-ом RSLinx надо перезапускать?
4. Непонятна связь системы резервирования и NUT. ИМХО должно же быть наоборот, чем больше время обновления сети, тем больше времени можно уделить синхронизации.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
oldDad
Site Admin
Site Admin


Зарегистрирован: May 05, 2005
Сообщения: 2773
Рейтинг: +89/-5

СообщениеДобавлено: Пт 24 Мар, 2006 8:59:00    Заголовок сообщения: Ответить с цитатой

Ну, нормальный процесс отладки Smile

Так у Вас резервированный контроллер? С 1757-SRM?

Вот это
Вы, безусловно, в точности соблюдвете?

Не зная точной структуры системы, объёма данных и траффика, довольно трудно давать советы по оптимизации, но на вопросы постараюсь ответить.

Цитата:
1. Передача данных рабочим станциям идет как незапланированные данные? Таким образом, нельзя гарантировать, что измененное значение тега обязательно в реалтайме будет замечено контроллером?


Рабочие станцие, построенные на RSView32, работают совершенно автономно независимо друг от друга. Каждая мз них собирает тэги, не зная ничего о том, что у неё есть "соседи". Если одна станция под RSView32 опрашивает, скажем, 500 тэгов, то в сети курсируют 500 тэгов. А если рабочих станций две, то не 500, а 1000, т.е. загрузка сети увелисивается вдвое.

Ни о какой синхронности, разумеется, при такой конфигурации речь идти не может.

Если Вам нужна какая-то синхронность, то нужно, чтобы тэги сканировали себе не все станции, а только одна, а остальные станции получали бы тэги через неё. Т.е. Вам нужно другое решение, которое специально предназначено для таких конфигураций: либо RSLinx Gateway, либо вообще RSViewSE сервер(ы) с клиентами.

Это, кстати, серьёзно разгрузило бы сеть.

В принципе, в системах с "тяжелым" траффиком и несколькими рабочими станциями (больше двух) нужно бы разделять сегменты сети на тот, по которому тэги поступают в рабочую станцию / сервер, и тот, который связывает эту рабочую станцию / сервер с остальными.

Цитата:
2. В RSLinx окромя создания драйвера и ОРС-топика еще нужно что-то настраивать?


Нет.

Цитата:
3. После переконфигурации сети RSNetWorx-ом RSLinx надо перезапускать?


В принципе, нет. Во всяком случае, я никогда не слышал о том. чтобы это нужно было делать.
Цитата:

4. Непонятна связь системы резервирования и NUT. ИМХО должно же быть наоборот, чем больше время обновления сети, тем больше времени можно уделить синхронизации.


Может быть, причина Ваших "тормозов" не в этом?
Давайте, может быть, поближе рассмотрим Вашу конфигурацию?
_________________
Обращайтесь к профессионалам.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
KPY
Частый гость
Частый гость


Зарегистрирован: Dec 22, 2005
Сообщения: 24
Рейтинг: +0/-0
Откуда: Казахстан

СообщениеДобавлено: Пт 24 Мар, 2006 11:55:39    Заголовок сообщения: Ответить с цитатой

Цитата:
Вот это Вы, безусловно, в точности соблюдвете?

ну не безусловно, в выходные буду последние "хвосты" подбирать. Есть мысли, что еще переделать, правда, глаза как обычно боятся.
Цитата:
Если Вам нужна какая-то синхронность, то нужно, чтобы тэги сканировали себе не все станции, а только одна, а остальные станции получали бы тэги через неё.

Несколько станций выбрано по причине "горячей замены". В предложенном Вами варианте, зависание основной машины приведет к тому, что оператор "ослепнет".
Цитата:
либо RSLinx Gateway, либо вообще RSViewSE сервер(ы) с клиентами.

Теперь мне уже прыгать некуда. Денег больше никто не даст. Sad
Цитата:
В принципе, в системах с "тяжелым" траффиком и несколькими рабочими станциями (больше двух)

Вот уж не думал, что 3 компа это уже тяжело для ControlNet-a Crying or Very sad Надо было изернет для верхнего уровня брать.
Цитата:
Давайте, может быть, поближе рассмотрим Вашу конфигурацию?

Давайте. Я только рад, пока пишу частенько мысли полезные приходят.
Посчитал сейчас количество тегов, которые таскает 1 "машина" с контроллера 813.(Только как это делается я если честно так и не понял. unscheduled ?) Хотел скриншотов парочку прикрутить, форум вроде на мамбе, да что-то нет такой возможности. Кинул Вам по почте пару картинок, писать долго. Если чего-то для полноты картины не хватает, напишите.
Я в аське на Вас нападать стесняюсь, если вдруг вам будет удобней мой ICQ KPY (256-735-319)
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
oldDad
Site Admin
Site Admin


Зарегистрирован: May 05, 2005
Сообщения: 2773
Рейтинг: +89/-5

СообщениеДобавлено: Пт 24 Мар, 2006 12:55:06    Заголовок сообщения: Ответить с цитатой

Цитата:
Несколько станций выбрано по причине "горячей замены". В предложенном Вами варианте, зависание основной машины приведет к тому, что оператор "ослепнет".


Вообще-то серверы в RSViewSE распределённые и резервируются, так что не ослепнет Smile Просто RSView32 имеет свою нишу применения - 1-2 рабочие станции. Можно и больше. но будет медленнее. Об этом есть соответствующие документы.

Цитата:
Вот уж не думал, что 3 компа это уже тяжело для ControlNet-a Crying or Very sad Надо было изернет для верхнего уровня брать.


Для собственно ControlNet и больше нетяжело, она прекрасно работает и в более тяжелых системах. Просто надо отчётливо представлять, как она работает, и соответственно этому строить систему Smile Это всё опыт, сын ошибок трудных Smile

Цитата:
Надо было изернет для верхнего уровня брать

Да, в многопользовательских системах лучше связывать клиенты с (резервированными) серверами по Ethernet, он именно для этого и предназначен. А уж серверы должны в реальном времени сидеть на шине реального времени ControlNet. Это так было бы идеологически правильно.

Цитата:

Посчитал сейчас количество тегов, которые таскает 1 "машина" с контроллера 813.(Только как это делается я если честно так и не понял. unscheduled


Да, именно так. Рабочие станции сканируют тэги циклически и независимо друг от друга, ничего не подозревая о существовании "конкурента". Каждая из них конципирована, как Stand Alone System, а не мультиюзерная HMI, со всеми вытекающими из этого идеологическими последствиями. Для мультиюзерных применений есть ещё Active Display System.

Так что, о scheduled в Вашем случае говорить, увы, не приходится Smile

Цитата:
форум вроде на мамбе, да что-то нет такой возможности.


нет, не на мамбе, а возможность эта отключена из соображений безопасности Smile

Цитата:
Кинул Вам по почте пару картинок, писать долго. Если чего-то для полноты картины не хватает, напишите.

Да, в принципе, достаточно классический случай. Всё в основном понятно. Я посмотрю, подумаю, как быть, возможно, задам вопрос.

Цитата:
Я в аське на Вас нападать стесняюсь, если вдруг вам будет удобней мой ICQ KPY (256-735-319)


Спасибо, но мне удобнее так Smile
_________________
Обращайтесь к профессионалам.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
oldDad
Site Admin
Site Admin


Зарегистрирован: May 05, 2005
Сообщения: 2773
Рейтинг: +89/-5

СообщениеДобавлено: Сб 25 Мар, 2006 8:45:05    Заголовок сообщения: Ответить с цитатой

Ну, раз у Вас только 2 рабочие станции, то смысла применять сервер, тем более резервированный, нет.

Если Вы уже оптимизировали расположение тэгов в памяти контроллера, поигрались со скан-классами в RSView32 ("быстрые" тэги часто, но по возможности реже, а "медленные"- настолько редко, насколько вообще возможно) и поигрались с NUT (а если его увелисить до 15? или больще?), и т.д., то "терапия! оказлась неэффективной.

Тогда нужно радикальное решение, "хирургия". Я думаю, что Вам нужно "отцепить" рабочие станции от шины ControlNet и посадить на отдельный сегмент сети (Ethernet достаточно, но можно и ControlNet). А для этого нужно вставить соответствующие модули в каждое из шасси контроллеров.
_________________
Обращайтесь к профессионалам.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
KPY
Частый гость
Частый гость


Зарегистрирован: Dec 22, 2005
Сообщения: 24
Рейтинг: +0/-0
Откуда: Казахстан

СообщениеДобавлено: Сб 25 Мар, 2006 13:16:08    Заголовок сообщения: Ответить с цитатой

Цитата:
Тогда нужно радикальное решение, "хирургия". Я думаю, что Вам нужно "отцепить" рабочие станции от шины ControlNet и посадить на отдельный сегмент сети (Ethernet достаточно, но можно и ControlNet). А для этого нужно вставить соответствующие модули в каждое из шасси контроллеров.

Хотелось бы радикальные решения пока не применять. Sad Вы как то обмолвились, что успешно работают и более сложные системы, дело в правильности конфигурации. Раз у меня не работает, значит что-то не так. Будем искать. Smile
Цитата:
Если Вы уже оптимизировали расположение тэгов в памяти контроллера

Вы не знаете где можно почитать про расположение тегов в памяти(может на примере SLC) и механизмам передачи данных по СontrolNet-у? .
Вопросик в тему. У меня есть сотня датчиков температуры. Я определил тип данных TE_Sensor в котором два поля СV-Real(текущее значение в физ. величине); Limit-Real (верхний предел измерения датчика). Стоит ли создавать массив элементов типа TE_Sensor, а в программах работать с алиасами, или можно просто создать сотню тегов?
Цитата:
поигрались со скан-классами в RSView32

нет не поигрался. у меня нет такой возможности. При выборе в редакторе тегов RSView32 в качестве узла локального сервера RSLinx, у меня пропадает список выбора скан-класса. Exclamation Сел, покопался, так пока и не нашел как эти классы к моим тегам прикрутить.
Цитата:
поигрались с NUT (а если его увелисить до 15? или больще

Уж с кем я наигрался так это с NUT-ом. Very Happy Максимально увеличивал до 40. Видимых изменений так и не получил.
Пока стараюсь настроить RSLinx Gateway, может вытащу одну машину из сегмента ControlNet.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
oldDad
Site Admin
Site Admin


Зарегистрирован: May 05, 2005
Сообщения: 2773
Рейтинг: +89/-5

СообщениеДобавлено: Сб 25 Мар, 2006 15:30:44    Заголовок сообщения: Ответить с цитатой

Цитата:
Вы не знаете где можно почитать про расположение тегов в памяти(может на примере SLC) и механизмам передачи данных по СontrolNet-у? .


В SLC совершенно другой принцип организации памяти, там ничего оптимизировать не надо, там ведь статическое распределние памяти. А в ControlLogix - динамическое.

О принципах оптимизации много написано. Посмотрите, например, вот эти документы, там много полезных советов:
http://www.software.rockwell.com/download/comms/rslinx/controllogix%20data%20collection%20with%20rslinx.ppt
http://www.software.rockwell.com/download/comms/rslinx/clx_perf.zip
http://www.opcwebclient.com/Support/Documents/Performance___Optimization/performance___optimization.html
http://helpdesk.ingeardrivers.com/supportsuite/index.php?_m=knowledgebase&_a=viewarticle&kbarticleid=38
http://www.software.rockwell.com/download/comms/rslinx/controllogix%20data%20collection%20troubleshooting%20guide.doc

Цитата:
Сел, покопался, так пока и не нашел как эти классы к моим тегам прикрутить.


Что можно попробовать, так это создать в RSLinx несколько топиков с разными тэгами по группам, а для каждого топика определить настолько болшой интервал сканирования, насколько возможно (для каждого топика в Data Collection определить различные интервалы Polled Messages. Это как бы разные классы сканирования.

Цитата:
Пока стараюсь настроить RSLinx Gateway, может вытащу одну машину из сегмента ControlNet.


Это хорошее решение. У Вас сеть забита в основном unscheduled-тэгами. Надо что-то делать.

(Я включил пока возможность загрузки картинок на этот сервер, смотрите в меню в разделе "Новая информация" - "Добавить картинку")
_________________
Обращайтесь к профессионалам.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
KPY
Частый гость
Частый гость


Зарегистрирован: Dec 22, 2005
Сообщения: 24
Рейтинг: +0/-0
Откуда: Казахстан

СообщениеДобавлено: Вт 04 Апр, 2006 8:08:17    Заголовок сообщения: Ответить с цитатой

oldDad
Спасибо большое за советы и ссылки, правда я пока обошелся без советов изложенных в данных материалах.

Перетащил все программы в периодическую задачу, получилась каша, но зато "глюки" с тормозами на реакцию нажатия кнопки пропали. Кнопки нажимаются со всех 3х машин и контроллер своевременно отрабатывает нажатие. Вы можете меня покритиковать за то. что мол давно уже мне советовали это сделать, извиняюсь было страшно перелопачивать весь проект с нуля, до последнего момента с глубокой уверенностью считал, что у меня проблемы с ОРС и Контролнетом.

Правда не все так хорошо, одна машина у меня теперь "помаргивает" анимацией завязанной на теги контроллера. Странно как то. Если опять это связанно с малой пропускной способностью канала почему раньше не моргала, когда связи с контроллером совсем не было, а если нет то тогда почему, не пойму Smile
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
oldDad
Site Admin
Site Admin


Зарегистрирован: May 05, 2005
Сообщения: 2773
Рейтинг: +89/-5

СообщениеДобавлено: Вт 04 Апр, 2006 9:12:46    Заголовок сообщения: Ответить с цитатой

Smile

Я рад, что Вам удалось в основном решить эту задчу. Эти характерные затыки обычно бывают не с ОРС и ControlNet, а с процессором, когда ему не дают достаточно времени на то, чтобы он занимался оптимизацией своей мультизадачности и оптимизацией коммуникаций. Периодическая задача как раз даёт процессору такую возможность, оставляет ему время для занятий собой.

Что касается помаргивания - это, скорее всего, с пропусной способностью канала не связано. Известны аппликации с куда бОльшим траффиком, и там ничего не моргает. Тут нужно проанализировать более детально.

Что именно моргает и как именно построено это отображение? Что откуда и когда приходит?
_________________
Обращайтесь к профессионалам.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
KPY
Частый гость
Частый гость


Зарегистрирован: Dec 22, 2005
Сообщения: 24
Рейтинг: +0/-0
Откуда: Казахстан

СообщениеДобавлено: Вт 04 Апр, 2006 10:21:08    Заголовок сообщения: Ответить с цитатой

Цитата:
Что именно моргает и как именно построено это отображение? Что откуда и когда приходит?

Моргает все асинхронно. То одни элементы, то другие. Всё, это индикаторы уровня, анимация заполнения трубопроводов, показания датчиков (анимация завязана на теги контроллера). Периодически остаются только контуры графических элементов (так бывает когда запускаешь проект при выключенном контроллере), через несколько секунд картинка восстанавливается.
Причем такая "беда" наблюдается, когда включены 3 машины, пропадает связь? на 2х с разной периодичностью. При работе на 2х машинах все ОК, морганий не наблюдается. Вариации на тему NUT к успеху не приводят.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
oldDad
Site Admin
Site Admin


Зарегистрирован: May 05, 2005
Сообщения: 2773
Рейтинг: +89/-5

СообщениеДобавлено: Вт 04 Апр, 2006 10:33:53    Заголовок сообщения: Ответить с цитатой

Ну что можно сказать... Оптимизируйте дальше Smile
_________________
Обращайтесь к профессионалам.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
Показать сообщения:   
Начать новую тему   Ответить на тему    Список форумов Smart Solutions VDT -> Программные средства систем автоматизации Часовой пояс: GMT + 1
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах

Powered by phpBB © 2001, 2005 phpBB Group
Яндекс цитирования

Smart Solutions VDT GmbH | Friedrich-List-Allee 38, D-41844 Wegberg-Wildenrath, Germany
Tel.: +49 2432 933 57 83 | e-Mail: office@vdt-solutions.de
Все товарные знаки и торговые марки являются собственностью их владельцев.
При использовании материалов сайта ссылка на данный сайт обязательна.
Открытие страницы: 0.134 секунды
/n