|
0 / 0 / 0
Регистрация: 09.04.2020
Сообщений: 35
|
|
Windows 11 тормозит обмены через СОМ-порт06.05.2024, 13:36. Показов 6134. Ответов 85
Метки нет (Все метки)
Добрый день, коллеги.
Столкнулся с проблемкой, вынесенной в название темы. Есть приложение. написанное много лет назад на Delphi 7, и без вопросов работавшее на многих ПК с Windows XP и Windows 7. Приложение через СОМ порт (компонент BComPort) посылает запрос контроллеру, контроллер, приняв пакет, отвечает, приложение, приняв ответ, посылает новый запрос (или не приняв ответ, посылает запрос по таймеру). Все просто и отлажено в десятках приложений/устройств. И вот эта отлаженная пара (приложение - контроллер) отказывается нормально работать по Windows 11 - существенно падает скорость обмена (со 120 до 40-50 обмен/с) и в обменах наблюдаются паузы до 0.5 с, что недопустимо. Причем сразу после запуска приложения показывает скорость 120 обмен/с, но через пару секунд скорость падает до 40, затем повышается до 60, снова падает и т.д. Т.к. предположили, что проблема в новой (для нас) ОС, то отключили антивирусы, One Drive, пробовали режимы совместимости в разными ОС, устанавливали приоритет real_time, и пр. Существенного изменения скорости и непрерывности обмена получить не удалось. Соответственно вопрос: как настроить Windows 11 под работу в режиме real_time? Спасибо.
0
|
|
| 06.05.2024, 13:36 | |
|
Ответы с готовыми решениями:
85
Примеры использования Async Free (СОМ-порт) или Async Pro (СОМ-порт) управление через СОМ порт Обмен данными через СОМ-порт |
|
1085 / 523 / 43
Регистрация: 05.05.2022
Сообщений: 3,745
|
|
| 15.05.2024, 20:07 | |
|
Вот на моей любимой Первой сборке так и было, один мастер-контроллер опрашивает полевую сеть, а комп берет с него. Зачем так сделали? Вот я спрашивал, когда переписывал, у человека который участвовал в изначальном проекте, по какой-то причине программист не смог в Visual Studio сделать эту самую адресацию со сменой четности. Ну мне так объяснили.
Избавился от этого, сразу так хорошо стало. Ладно у меня не управление, а только сбор. А как через эту прокладку управлять? Сначала с нее собрать данные, потом ей послать, потом она перешлет дальше. Не жирно задержка будет?
0
|
|
|
пофигист широкого профиля
4770 / 3207 / 862
Регистрация: 15.07.2013
Сообщений: 18,616
|
||||
| 16.05.2024, 02:00 | ||||
|
Добавлено через 32 минуты
1
|
||||
|
62 / 42 / 3
Регистрация: 04.01.2019
Сообщений: 278
|
|
| 16.05.2024, 07:41 | |
|
Может схему нарисовать, плату развести, спаять и программу написать???
у автора цЫклоавтомат. и работает по маске состояния датчиков. и проблему "холостого хода" решил по принцыпу будем х.... ить на высокой скорости и частыми опросами пока состояние не совпадет. прое.... опрос - а пох.. в следующий раз опросим. А нужны ли в реальности такие скорости??? взять куркулятор и посчитать ???? 115200 > 9600 байт в сек. посылка в 40 байт = 0,0042 с = 4.2 милисек. !!!! а тут тайаут в 20 миллисек. теперь холостой ход в линии связи 1 3 пропуска 60 мс 2 1 ответ 2 пропуска 3 2 ответа 1 пропуск 4 3 ответа 0 пропусков итого 60 + 4.2 + 40 + 4.2 + 4.2 + 20 + (3 * 4,2) = 145,2 мс 4,2 * 3 = 12 мс лишних телодвежений... тут можно и полноценный ModBas реализовать. этоже не 100 байт в секунду. да и вобще ситуация контроллер не ответил - а пох... потом опросим, в промаппаратуре както дико. в третих контроллер для опроса - это RTS. таймауты у него стабильные и не зависят от чиха, пука и не дай бог резкого ослабления стула до цвета детской неожиданости системы под названием вЫнь.
0
|
|
|
1085 / 523 / 43
Регистрация: 05.05.2022
Сообщений: 3,745
|
||
| 16.05.2024, 09:06 | ||
|
0
|
||
|
0 / 0 / 0
Регистрация: 09.04.2020
Сообщений: 35
|
||||
| 16.05.2024, 10:46 [ТС] | ||||
|
Но вот с точки зрения прозрачности программы управления в целом - не уверен. В Установке семь независимых узлов, каждый из которых работает автономно и по своим циклограммам, с использованием флагов разрешения работы, связывающих узлы в единый комплекс. Циклограммы представлены в виде отдельных текстовых файлов, что упрощает их редактирование, а Установка может работать с различными наборами задействованных узлов (полный набор - 7 узлов, но можно работать только с одним (типа только сварка)). Это я к тому, что реализовать/отлаживать/модернизировать такие (сложные для меня алгоритмы) мне проще на языке высокого уровня типа Delphi, но не на ассемблере. Добавлено через 1 час 12 минут Таймаут 20 мс - только при отсутствии приема ответа, что в нормальном режиме работы происходит нечасто. Производительность Установки определяется временем выполнения самой длительной операции (в обсуждаемой Установке - это операция собственно сварки - время выполнения не зависит от скорости обмена) и суммарным временем перемещения деталей между позициями загрузки/выгрузки Узлов (это циклограммы и время выполнения напрямую связано скоростью обмена). И есть интегральный критерий достаточности скорости обмена - если в установившемся цикле Узел перемещения выполнил все операции перемещения и ожидает окончания операции сварки - скорость обмена достаточно высока, если же сварка закончилась и Узел сварки ожидает, когда Узел перемещения заберет сваренную деталь, - скорость низкая. Сейчас скорость обмена достаточно высока, ее увеличение не приведет к увеличению производительности Установки. И да, время выполнения циклограммы - это время перемещения, например, пневмоцилиндров (не зависит от скорости обмена), и время реакции программы на изменения состояния датчиков (зависит от скорости обмена). Снижения скорости обмена в два раза приводит к снижению производительности Установки примерно на 10 %. И к вопросу о дикости. С одной стороны, я действительно специалист малообразованный в области автоматического управления (радиоинженер эпохи развитого социализма). Когда чуть более 20 лет назад пришлось начать работать с конечными автоматами, то первое с чем столкнулся, разбирая сбоящую программу предшественников, это непонимание, как можно управлять Установкой с хотя бы десятком пневмоцилиндров и двумя десятками датчиков по системе, отдельная команда на опрос каждого датчика и отдельная команда на управление каждым пневмоцилиндром. Соответственно, постепенно была разработана система (уверен, что она широко известна и не менее широко используется, но пришел к ней сам и эволюционно), когда в каждом запросе (раз в 10 мс) в контроллер пересылается состояние всех пневмораспределителей (и пр. исполнительных устройств), а в каждом ответе в ПК пересылается состояние всех датчиков. При этом действительно неважно (для эксплуатируемых на нашем предприятии Установок), если какая-то посылка потеряется - через 20 мс придет следующая/дублирующая. При этом многолетний опыт эксплуатации показывает, что сбои, требующие вмешательства оператора крайне редки, а приводящие к самоповреждению Установки отсутствуют. Поэтому не вижу оснований к любому усложнению системы управления.
0
|
||||
|
пофигист широкого профиля
4770 / 3207 / 862
Регистрация: 15.07.2013
Сообщений: 18,616
|
|||
| 17.05.2024, 02:35 | |||
|
0
|
|||
| 17.05.2024, 02:35 | |
|
Отправка запроса на прибор через сом-порт Не работает СОМ порт RS-232 через PCI Express Передача пакета по протоколу ОВЕН через СОМ порт Как запустить купюроприемник для теста через сом порт ? Код программы на С# для управления прибором через СОМ-порт Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Запустил конкурс "тем и промптов для текстовых квестов созданных почти чисто ИИ"
Adler 06.10.2026
Всем привет!
За последние три-четыре дня я создал более 16 текстовых квестовых игр используя преимущественно по одному запросу к ИИ на игру. Мне так понравилось смотреть все ветки/ сцены во всех. . .
|
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык.
Возвращает он вот это:
https:/ / i. **********/ vqBWLe2. png
Нужную строчку в 3й колонке просто выдумал. .
Это. . .
|
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor.
Это. . .
|
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js.
В помощники взял Яндекс-Алису.
Было создано три зала на разные интересы.
исторические и ретро
сериал Хичкок. . .
|
|
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
|
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#.
Название изменил на ColorStep.
Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
|
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами:
- ВидТО (СправочникСсылка. ВидыТО);
- ВидГСМ. . .
|
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала.
Ниже прикреплён. . .
|