Elias
Forum Member / Участник форума
Участник № / Member № 636
отправлено / posted
Доброго времени суток... 1. Как посмотреть время цикла в Lagoon...значение канала "СИСТЕМНЫЙ-Время пересчета" все время "0". 2. Можно ли узнать алгоритм работы микроМРВ Lagoon конкретно "асинхронность пересчета базы каналов с обменом по COM"
Сообщения / Posts 39 | Из / From: Россия
| IP / IP: IP адрес / IP address |
отправлено / posted
1) Должен. Однако обращаю Ваше внимание, что значения данного канала жестко тактированы разрешением таймера, которое Вы задали в настройках узла (параметр "Разрешение"), то есть - значения этого канала изменяются по порогам. И значение 0 - означает, что реально сервер тратит времени меньше, чем величина "Разрешение" таймера. Вот если это время превысит величину разрешения таймера, оно будет равно ему либо как N*"Разрешение" и промежуточных значений у него не бывает.
2) При обмене по внешним интерфейсам у каждого канала имеется специальный флаг, который автоматически выставляется сервером при пересчете базы каналов - эти флаги формируют так называемую очередь запросов или рассылки данных по внешним интерфейсам. Порядок обработки этой очереди последовательный и он асинхронен относительно цикла пересчета базы каналов. Копится очередь не может больше, чем самих каналов в базе, потому как при пересчете канала с уже выставленным флагом он в очередь не помещается, потому как уже там есть.
Сообщения / Posts 17264 | Из / From: Россия
| IP / IP: IP адрес / IP address |
Elias
Forum Member / Участник форума
Участник № / Member № 636
отправлено / posted
По вопросу 1) все понял Спасибо...однако, скромная рекомендация - можно это было поместить в Помощь
2) Для ясности "так называемую очередь запросов или рассылки данных по внешним интерфейсам" - Очередь обмена...должна полностью быть обработана за цикл пересчета базы каналов или нет? и что происходит если это не так...(Если Я правильно понимаю очередь обмена для Lagoon должна формироваться со скоростью не более 20 посылок в секунду...а не 20 посылок по каждому каналу, как Я подразумевал - т.е. если обмен разнести по двум каналом то скорость удваивается)
Сообщения / Posts 39 | Из / From: Россия
| IP / IP: IP адрес / IP address |
отправлено / posted
По второму пункту - если объем пакетов для обмена, количество самих транзакций в рамках одного цикла пересчета, а также скорость канала и динамика работы опрашиваемых устройств укладывается в один цикл пересчета, то все может работать и в рамках этого цикла, или даже быстрее, но как только все это требует большего времени, то процесс обмена становится асинхронным относительно пересчета (как бы работает в параллельном потоке). Насчет удвоения скорости при разнесении - это еще не факт, под MS Windows может оно и удвоится, но в Лагуне ситуация следующая - весь обмен в этом "девайсе" идет через библиотеку от ICP-DAS и ее разработчики заявляют скорость обмена с портом не выше 20 транзакций в секунду (одна транзакция - это "запрос-ответ"), однако испытания показывают, что даже при самых оптимальных условиях этот показатель всего лишь 16-18 транзакций в секунду! И даже если разносить по разным портам, то он никак не увеличивается пропорционально используемым портам - очевидно все дело в реализации самой библиотеки. Поэтому это необходимо учитывать при разработке проекта - особенно, если некоторые параметры требуют очень динамичного обновления, ведь Лагуна может и не потянуть предъявляемых требований.
Сообщения / Posts 17264 | Из / From: Россия
| IP / IP: IP адрес / IP address |
Elias
Forum Member / Участник форума
Участник № / Member № 636
отправлено / posted
Возможно ли установить, что процесс обмена стал асинхронным (т.е. время на обмен превышает цикл пересчета) например значение канала "Системный-время пересчета" будет больше чем заданое
Сообщения / Posts 39 | Из / From: Россия
| IP / IP: IP адрес / IP address |
отправлено / posted
Канал "Системный-время пересчета" вообще здесь ни при чем! Зачем Вам знать - синхронно или нет работает обмен относительно цикла пересчета!? Сообщения / Posts 17264 | Из / From: Россия
| IP / IP: IP адрес / IP address |
Elias
Forum Member / Участник форума
Участник № / Member № 636
отправлено / posted
Т.К. время реакции системы складывается из цикла пересчета и времени на обмен то хотелось бы знать, что при данном цикле пересчета обмен стал асинхронный и нет смысла уменьшать время цикла пересчета (так как время реакции системы будет в основном определятся задержками на обмен) . Т.Е. МЫ получим оптимальный цикл пересчета...Вот такие мои рассуждения или Я не прав? Тогда как подобрать оптимальное время цикла пересчета
Сообщения / Posts 39 | Из / From: Россия
| IP / IP: IP адрес / IP address |
отправлено / posted
Смотрите мой пост выше - я же уже сказал, что практическая скорость обмена по RS в Лагуне - 16-18 транзакций в секунду, отсюда приблизительная формула: Цикл = N/T, где N - количество каналов для обмена по RS, а Т - максимальное количество транзакций (при этом необходимо помнить, что минимальный цикл в Лагуне 55мс).
Сообщения / Posts 17264 | Из / From: Россия
| IP / IP: IP адрес / IP address |
Elias
Forum Member / Участник форума
Участник № / Member № 636
отправлено / posted
Спасибо, Все это понятно...но просто не понятно как точно определить 16, 17, 18 и зависит ли это от номера порта COM 1 или 2. Вопрос появился вследствии следующего эксперимента - создали базу каналов с одним каналом типа DCS DO для обмена с модулем...подсчитали 1/18 = 0,055 т.е. оптимальный цикл = 1*0,055...эксперимент показал, что обмена с модулем вообще не происходит до тех пор пока цикл не равен 3*0,055 но только по COM2, по COM1 правда в режиме RS232 через преобразователь обмен идет и при цикле = 1*0,055...стало интересно как практически определить асинхронность обмена что бы обоснованно определить практическую скорость и как Вы это сделали?
Сообщения / Posts 39 | Из / From: Россия
| IP / IP: IP адрес / IP address |
отправлено / posted
Точно все равно нельзя определить - этот параметр экспериментальный и очень сильно зависит от самого проекта. То, что обмен по СОМ2 медленнее можно объяснить только необходимостью управления приемо-передатчиком, но все же оно не должно так сильно замедлять процесс.
Сообщения / Posts 17264 | Из / From: Россия
| IP / IP: IP адрес / IP address |
Elias
Forum Member / Участник форума
Участник № / Member № 636
отправлено / posted
Переключили COM1 в RS-485... Проект как в предыдущем сообщении...один канал типа DO...установка начального значения F, флаг отработать...считаем значение цикла 1/16 = 0,0625 устанавливаем 2*0,055...через СОМ1 значение выходов устанавливается...через COM2 нет...т.е. обмена вообще нет...включение происходит только при цикле 3*0,055 т.е. получается что скорость обмена по COM 2 6-7 запросов в секунду ?
Сообщения / Posts 39 | Из / From: Россия
| IP / IP: IP адрес / IP address |
отправлено / posted
Что-то не понятно - у Вас два канала типа DO и каждый настроен на свой СОМ-порт? Или канал у Вас один, тогда на какой порт он настроен?
Сообщения / Posts 17264 | Из / From: Россия
| IP / IP: IP адрес / IP address |
Elias
Forum Member / Участник форума
Участник № / Member № 636
отправлено / posted
Это было два эксперимента один канал... в первом эксперименте канал настроен на COM 1 во втором на COM 2
Сообщения / Posts 39 | Из / From: Россия
| IP / IP: IP адрес / IP address |