Саша
Forum Member / Участник форума
Участник № / Member № 925
отправлено / posted
Здравствуйте! В системе с одной операторской станции на другую каналы с подтипом Out-MLink передают значения. Особенностью является то, что связь осуществляется по радиоканалу. В радиомодемах существует две возможности отправки информации из буфера модема в эфир. По приходящему с последовательного порта символу. В протоколе M-Link этим символом является «звездочка» *. То есть при данном способе организации отправки размер пакета, передаваемый в эфир, имеет размер 14 байт. В соответствии со вторым способом передачи, устанавливается максимальный размер пакета, который копиться в буфере перед отправкой и при превышении этого порога отправляется в эфир. Также задается временной параметр, ограничивающий максимальное время, которое пакет может находиться в буфере модема. То есть отправка происходит либо по достижению определенного размера пакета в буфере или при превышении временного порога. Первым способом нам удалось достичь скорости передачи 10 значений в сек., вторым 16 значений в сек. Протокол M-Link на каждый запрос ожидает ответ. При первом способе передача происходит без нарушения протокола, на каждый запрос станция MASTER получает ответ. При втором способе передачи, если установить не большой таймаут, станция MASTER «заваливает» станцию SLAVE запросами не дожидаясь ответов, т.е. протокол M-Link работает с нарушениями и каналам Out-MLink часто устанавливается флаг недостоверности. В принципе нам нет необходимости получать подтверждения от станции SLAVE. Есть ли возможность отключить в протоколе M-Link необходимость получать ответы от SLAVE? Что вы можете посоветовать в данной ситуации?
отправлено / posted
Возможности отключить ожидание ответа нет, но Вы можете снизить время ожидания ответа установив в настройках СОМ-порта минимальное значение таймаута.
Сообщения / Posts 17321 | Из / From: Россия
| IP / IP: IP адрес / IP address |
Саша
Forum Member / Участник форума
Участник № / Member № 925
отправлено / posted
Со станции MASTER на SLAVE по OutMLink непрерывно передаются значения 10 каналов. Циклы обоих МРВ равны 0.055 мсек. В качестве DCE устройства выступает радиомодем. Каким образом протокол выставляет запрос и ответ на последовательный порт (ПП), связывающий операторскую станцию и ПП радиомодема? Предполагаю два варианта передачи: 1. в течение цикла системы каждый канал в процессе его пересчета передается по ПП и ожидает ответа от SALVE, только после получения ответа, время ожидания которго задается таймаутом, протокол передает следующее изменившееся на данном цикле системы значение канала по ПП. В свою очередь на SLAVE ответ формируются для канала, атрибут которого был изменен по OutMLink. При таком подходе может формироваться только один ответ за один цикл Slave. Мне кажется такая передача будет очень медленная, на Master будет копиться очередь значений на отправку если на slave не будет достаточного количества циклов системы чтобы отправить все ответы. 2. в течение цикла системы на master пересчитываются каналы OutMLink и значения тех каналов, которые изменились после окончания пересчета, выстраиваются в очередь на ПП для передачи. Они группой попадают на ПП slave и в течение ближайшего цикла slave формируется группа ответов для отправки на master.
Это только мои предположения. В целом меня интересует каким образом будут заполняться буферы радиомодемов, и как этот процесс привязан к циклам операторских станций. Есть ли циклограмма на эти процессы. То как это происходит сильно влияет на алгоритм отправки информации из буфера радиомодема, а следовательно и на пропускную способность радиоканала.
Сообщения / Posts 54 | Из / From: Россия
| IP / IP: IP адрес / IP address |
ilya
Forum Professor / Завсегдатай форума
Участник № / Member № 469
отправлено / posted
Уважаемый участник форума Саша! Если это не военная тайна, то напишите пожалуйста какие у Вас радиомодемы и на какой скорости работают, а то мне тоже стало интересно, как и Kramarenko Stanislav-у.
Сообщения / Posts 216 | Из / From: Россия
| IP / IP: IP адрес / IP address |
Саша
Forum Member / Участник форума
Участник № / Member № 925
отправлено / posted
нет... нет.. - это не военная тайна. По техническим причинам я протормозил с ответом. мы экспериментируем с модемами Спектр 433 компании Ратеос. Экспериментируем на разных скоростях 9600-38400 в радиоэфире. Из-за плохого понимания протокола M-Link пока не удается правильно настроить модем и использовать эту скорость в полном объеме. Маск. скорость которой мы достигли 15-18 каналов в сек. Теоритически должно быть больше. Если у кого нибудь есть подробное описание протокола M-Link, в котором написано больше чем в руководстве к TM скиньте пожалуйста на мыло alexsd@bk.ru С вопросами по модему можно обратиться к Роману Колотову Ведущий инженер-программист компании Ратеос Россия,Москва,Зеленоград тел./факс:+7(095)531-4390 Вебсайт: http://www.rateos.ru электронная почта: r_kolotov@rateos.ru
Сообщения / Posts 54 | Из / From: Россия
| IP / IP: IP адрес / IP address |
отправлено / posted
Ни тот и ни другой метод, описанные Вами. 1) Работа через радиомодем в ТМ идет в прозрачном режиме. То есть - ТМ ничего не знает о наличии какого-либо ПП на Вашем СОМ-порте, он всего лишь работает с СОМ-портом: принимает и передает пакеты данных в формате протокола M-Link. 2) При пересчете каналов, тем каналам, которые изменили свои значения (тип output) или те, которые должны получить данные (тип input) выставляется флаг "Отработать". Асинхронно относительно цикла пересчета в серевере работает обработчик обмена по внешнему интерфейсу, который последовательно по базе каналов пробегает все каналы и обрабатывает транзакции по каждому каналу с флагом "Отработать" в последовательном режиме: - для input это транзакция типа: запрос-ожидание-ответ-помещает значение в канал-сброс флага "Отработать"-переход к следующему каналу с флагом "Отработать". - для output это транзакция типа: считать текущее значение канала-передача его во внешний интерфейс-ожидание-прием подтверждения-сброс флага "Отработать"-переход к следующему каналу с флагом "Отработать".
Все это происходит асинхронно относительно пересчета каналов. Поэтому, например, канал типа output с уже установленным флагом "Отработать" может поменять значение и быть пересчитанным несколько раз пока до него дойдет очередь обрботчика внешнего интерфейса. Кроме того для типа input, если каналы в базе последовательно запрашивают последовательные адреса (данные) - такой запрос может быть сформирован в групповой (M-Link это поддерживает, если каналы последовательно идущие в базе запрашивают также последовательно идущие в базе каналы другого узла). Однако тип output этого не поддерживает и здесь производится транзакция по каждому каналу в базе.
Сообщения / Posts 17321 | Из / From: Россия
| IP / IP: IP адрес / IP address |
ilya
Forum Professor / Завсегдатай форума
Участник № / Member № 469
отправлено / posted
Каково максимальное число каналов, которые могут быть объеденены в групповой запрос? Например, если создать 1000 каналов, которые последовательно запрашивают последовательные адреса в базе другого канала, Portmonitore видно что запросы, хоть и групповые но не на 1000 каналов сразу.
Сообщения / Posts 216 | Из / From: Россия
| IP / IP: IP адрес / IP address |