Вяткин Н В
Forum Haunter / Завсегдатай форума
Участник № / Member № 1853
отправлено / posted
Подскажите сколько источников и сколько каналов соответственно можно(нужно) сделать, чтобы применить работу @RS_Reinit к нескольким СОМ портам одновременно - один источник- один канал и последовательное изменение канала из программы для работы с несколькими COM? - один источник- несколько каналов, для каждого порта свой? - количество источников равно количеству СОМ портов равно количеству каналов и с каждым СОМ портом работа через "свой" канал(источник)?
Сообщения / Posts 101 | Из / From: Россия
| IP / IP: IP адрес / IP address |
отправлено / posted
Компонент слоя "Источники/Приемники" - это шаблон с неким набором настроек. При неизменности настроек к одному источнику может быть подключено любое количество каналов. Канал OUT исполняет свою функцию по изменению своего значения или по отработке атрибута EXEC. Если понятие "одновременно" очень критично, можно для каждого COM-порта создать свой канал, привязанный к общему источнику. Если допустима процедура последовательной реинициализации, то можно использовать 1 канал и последовательно его инициировать. Задержки на исполнение каждой операции определяются целиком ОС и составляют примерно 1-2 секунды. Но отработку самого канала (передачу в ОС команды реинициализации COM-порта) можно контролировать по сбросу атрибута EXEC.
Сообщения / Posts 17345 | Из / From: Россия
| IP / IP: IP адрес / IP address |
Вяткин Н В
Forum Haunter / Завсегдатай форума
Участник № / Member № 1853
Вяткин Н В
Forum Haunter / Завсегдатай форума
Участник № / Member № 1853
отправлено / posted
"Если понятие "одновременно" очень критично, можно для каждого COM-порта создать свой канал, привязанный к общему источнику." Да весьма критично, но "одновременно" @RS_Reinit не работает, отрабатывает только первый канал с @RS_Reinit, остальные каналы с @RS_Reinit не отрабатывают при одновременном вызове их на исполнение. интересно почему? Верия ТМ 6.51 проверка ДЛЯ DRTM как в TRACE так и в WORKе
Сообщения / Posts 101 | Из / From: Россия
| IP / IP: IP адрес / IP address |
отправлено / posted
Действительно, утверждение, что несколько каналов @RS_Reinit могут "одновременно" отрабатывать свои функции, не верное. Команда на инициализацию передается в API ОС, и в этой команде напрямую указывается номер COM-порта. 2 разных команды в API ОС одновременно передать нельзя. Поэтому остается только последовательная процедура.
Сообщения / Posts 17345 | Из / From: Россия
| IP / IP: IP адрес / IP address |
Вяткин Н В
Forum Haunter / Завсегдатай форума
Участник № / Member № 1853
отправлено / posted
"Если понятие "одновременно" очень критично, можно для каждого COM-порта создать свой канал, привязанный к общему источнику."
потеряли несколько дней работы пока разбирались с этим ограничением, просьба давать рекомендации конкретно по вопросу а не вообще..."Компонент слоя "Источники/Приемники" - это шаблон с неким набором настроек. При неизменности настроек к одному источнику может быть подключено любое количество каналов." это вообще. а в частности абсолютно бессмысленно для каждого COM-порта создать свой канал, привязанный к общему источнику.так как вызывать эти каналы в отработку в одном цикле нельзя
Сообщения / Posts 101 | Из / From: Россия
| IP / IP: IP адрес / IP address |
отправлено / posted
Просим прощения за допущенную ошибку в ранее предложенных рекомендациях и доставленные неудобства.
Сообщения / Posts 17345 | Из / From: Россия
| IP / IP: IP адрес / IP address |
Вяткин Н В
Forum Haunter / Завсегдатай форума
Участник № / Member № 1853
отправлено / posted
извените за резкие слова, жалко времени,да и начальство говорит ещё более резкие... на всякий случай, если выдать в @RS_Reinit в старшем байте нуль, в младшем что нибудь, то система повиснет, защиты от "дурака" нет, мне это не мешает, но может быть при выпуске очередных релизов это можно будет убрать, наверное ,не очень хорошо, если подавая на вход канала что то, можно "повесть" всю систему
Сообщения / Posts 101 | Из / From: Россия
| IP / IP: IP адрес / IP address |