Стартовая страница › Форумы › Разработка и интеграция › Перезагрузка драйвера на линии связи V6
- В этой теме 25 ответов, 2 участника, последнее обновление 1 год, 4 месяца назад сделано manjey73.
-
АвторСообщения
-
14.11.2022 в 10:33 #25984manjey73Участник
Или перезагрузка линии целиком но с несколькими экземплярами драйвера после отработки последнего ?
Что смотреть в коде?
14.11.2022 в 10:51 #25991MikhailМодератор14.11.2022 в 11:28 #25997manjey73УчастникДа, мне надо сделать RestartLine но после отработки последнего экземпляра драйвера каким-то образом.
14.11.2022 в 13:15 #25999manjey73УчастникА можно пример на перезапуск линии, а то не разберусь как это все делать?
14.11.2022 в 13:42 #26000manjey73УчастникНедавние команды
+———————+—————————+
| Время | Описание |
+———————+—————————+
| 01.01.0001 03:00:00 | Code=App.Comm.RestartLine |
+———————+—————————+Это если через SendCmd выполнить, но подозреваю надо иначе
15.11.2022 в 17:35 #26016MikhailМодераторDeviceLogic.CommContext.SendCommand отправляет команду в Коммуникатор из драйвера.
15.11.2022 в 17:36 #26017MikhailМодераторДля надёжности можно сначала добиться работы команды вручную через канал.
15.11.2022 в 17:50 #26019manjey73УчастникTeleCommand cmd = new TeleCommand(); cmd.CmdVal = 1; cmd.CmdCode = CommCmdCode.RestartLine;
DeviceLogic.CommContext.SendCommand(cmd); — и тут подсвечивает ошибками и CommContext и SendCommand
15.11.2022 в 22:21 #26028manjey73УчастникПерезагрузите линию связи, считайте конфигурацию сервера и настройте требуемые переменные для опроса Получено за 7897 мс
Код выглядит так
Log.WriteLine("Перезагрузите линию связи, считайте конфигурацию сервера и настройте требуемые переменные для опроса"); // TEST TeleCommand cmd = new TeleCommand(); cmd.CmdCode = CommCmdCode.RestartLine; CommContext.SendCommand(cmd, "Restart Line");
и в конце Session собственно
stopwatch.Stop(); Log.WriteLine(Locale.IsRussian ? "Получено за {0} мс" : "Received in {0} ms", stopwatch.ElapsedMilliseconds); FinishSession();
Линия не перегружается сразу, на следующем запросе Session идет все вкривь и вкось. Не так, как при обычной загрузке линии
16.11.2022 в 15:49 #26048MikhailМодераторКоманда передаётся в очередь Коммуникатора и выполняется асинхронно.
Убедитесь, что команда отправляется 1 раз.
В общем логе Коммуникатор пишет что-то при получении команды на перезапуск линии?16.11.2022 в 16:05 #26051manjey73УчастникЕсли на Устройстве отправляю команду что RestarLine
Она появляется в логе но ничего не происходит.
Недавние команды
+———————+——————————+
| Время | Описание |
+———————+——————————+
| 16.11.2022 16:02:54 | Code=RestartLine, Val=1,000 |
+———————+——————————+
| 16.11.2022 16:03:46 | Code=RestartLine, Val=1,000 |
+———————+——————————+
А если App.Comm.RestartLine то вообще никакой реакции16.11.2022 в 16:06 #26052manjey73Участник16.11.2022 в 16:19 #26055manjey73УчастникВ логе линии
2022-11-16 16:18:38 Команда устройству [5] OwenCloud 2022-11-16 16:18:38 Сеанс связи с устройством [5] OwenCloud Отправка запроса: https://api.owencloud.ru/v1/device/index
Команда устройству, а чего, куда, зачем?
16.11.2022 в 16:47 #26056manjey73УчастникНапример команда Terminate(); в Session не дает никакой реакции…
Что вообще в Session может дать хоть какую-то реакцию по части Линии связи ?
17.11.2022 в 17:40 #26074MikhailМодераторВ общем логе Коммуникатор пишет что-то при получении команды на перезапуск линии?
Команда устройству, а чего, куда, зачем?
Текст в лог пишет Ваш драйвер.
Например команда Terminate(); в Session не дает никакой реакции
Если открыть исходный код, будет понятно, что делает данный метод.
-
АвторСообщения
- Вы должны авторизироваться для ответа в этой теме.