|
0 / 0 / 0
Регистрация: 11.11.2019
Сообщений: 2
|
|
Delphi 6-7 Полноценное управление LPT портом в Delphi, как лучше реализовать?11.11.2019, 19:49. Показов 10512. Ответов 47
Метки нет (Все метки)
Большая просьба помочь разобраться в вопросе, как лучше управлять из Delphi LPT портом, так чтобы программа была универсальна и работала под системами от Windows 98 до Windows 7. Очень давно интересуюсь этой темой, но однозначного решения так и не нашел. Есть вариант использовать драйвер inpout32.dll. Он вроде универсальный и работает под всеми вариантами Виндовс, даже 64-битными. Он только пишет в порты и читает из них, но не использует прерывания.
Как получить доступ к прерываниям LPT-порта? Можно это делать как-то через WinAPI? Если да, то как? Был такой компонент под Delphi, но он коммерческий и работает только под ХР. Может какой-то бесплатный драйвер прерываний есть с примерами под Delphi? Можно ли через WinAPI полноценно работать с портом во всех режимах передачи данных: ECP, SPP, EPP? Я не силен в особенностях WinAPI, может есть готовые примеры, как это делать во всех режимах и как оно работает. Весь русскоязычный Интернет перерыл, нигде ничего нет, только краткие куски кода, но где-то встречал, что через API можно всё делать без сторонних драйверов и программа будет универсальной. Буду очень благодарен за любую помощь в этом вопросе.
0
|
|
| 11.11.2019, 19:49 | |
|
Ответы с готовыми решениями:
47
Управление LPT портом Управление Lpt портом Управление LPT портом |
|
9 / 294 / 4
Регистрация: 02.04.2009
Сообщений: 803
|
||
| 06.02.2023, 18:31 | ||
|
По ссылке
https://cnc-tehnologi.ru/chpu-... rekhodniki много контроллеров с LPT-интерфейсом. Добавлено через 4 часа 14 минут
0
|
||
|
|
|
| 06.02.2023, 18:37 | |
|
Rasool,
Берём простой драйвер шаговика, типа приведённого мной выше. Устройство это очень тупое. Сколько импульсов подал, столько от прокрутился. Вместо него можно любой другой, что найдёте, лишь бы с подобным примитивным интерфейсом. Берём микроконтроллер с aliexpress. Пишем для него простенькое встроенное ПО. Которое принимает по UART посылку с ПК и выдаёт импульсы на драйвер. Берём мост USB-UART (Silabs CP210x, FTDI, Prolific PL2303, CH340), подключаем через него микроконтроллер к ПК. На ПК пишем софтину, которая отправляет понятные встроенной в МК софтине команды. Единственное стороннее ПО здесь будет - драйвера USB-UART адаптера. Ну и винда. Верхнего и нижнего уровня ПО - своё. Программисту работать в радость.
0
|
|
|
267 / 199 / 30
Регистрация: 26.11.2022
Сообщений: 863
|
|
| 06.02.2023, 20:01 | |
|
тут вообще из софта только само приложение. А оно хоть на Delphi хоть на чём.
всё остальное уже написано и лицензия позволяет использовать и продавать
0
|
|
|
9 / 294 / 4
Регистрация: 02.04.2009
Сообщений: 803
|
|||||||
| 07.02.2023, 17:52 | |||||||
|
Пока что купили плату Контроллер шаговых двигателей 4х осевой TB6560HQ Blue и плату расширения DEXP 2COM LPT, которая подсоединяется к компьютеру через PCI-Express и для нее устанавливается свой драйвер. В диспетчере устройств плата видна как WCH PCI Express=>DUAL SERIAL&&PARALLEL. Есть вариант использовать inpout32.dll, там есть такие функции
0
|
|||||||
|
267 / 199 / 30
Регистрация: 26.11.2022
Сообщений: 863
|
|
| 07.02.2023, 22:33 | |
|
А вот тут начинается самое интересное )
Судя по комментариям - которые можно посмотреть под фотками к этой плате на сайте ДНС вам придётся самостоятельно преодолевать глюки. Ибо даже linuxcnc от этих плат отказались http://wiki.linuxcnc.org/cgi-bin/wiki.pl?WCH Но даже если вы это преодолеете - то дальше веселее. Для управления ШД через LPT нужно формировать очень стабильные по длительности и частоте следования импульсы. Импульсы должны идти синхронно с поворотом вала двигателя иначе будет пропуск шагов. На малых скоростях вращения вы может этого и не заметите, с повышением скорости - шаговик может начать заедать, останавливаться, появятся вибрации и пр. На винде принципиально не лечится (
2
|
|
|
9 / 294 / 4
Регистрация: 02.04.2009
Сообщений: 803
|
||||||||||||
| 09.02.2023, 15:53 | ||||||||||||
0
|
||||||||||||
|
9 / 294 / 4
Регистрация: 02.04.2009
Сообщений: 803
|
|||||||
| 13.02.2023, 18:15 | |||||||
0
|
|||||||
|
9 / 294 / 4
Регистрация: 02.04.2009
Сообщений: 803
|
||||||
| 29.06.2023, 18:46 | ||||||
|
Данный код при установке переменной Vel больше нуля начинает вращение по часовой стрелке,
при установке переменной Vel меньше нуля начинает вращение против часовой стрелке, при установке переменной Vel равной нулю останавливает двигатель. Всего к плате подсоединено 4 шаговых двигателя, которые вращаются с одинаковой скоростью. Но тут проблема в том, что может потребоваться вращение разных ШД с разной скоростью. Процедура Out32 выдает целый байт (все 8 битов одновременно) в разряды 2-9 LPT-порта. Поэтому для программного изменения скорости вращения отдельных ШД может понадобиться организовывать дополнительные отдельные циклы в отдельных потоках, устанавливающие разные количества частот изменений RotateStep[i] для каждого двигателя. Тогда задержки для каждого отдельного ШД будут кратны величине time_out. Существует ли процедура типа Out32, которая меняет только отдельные разряды на входе LPT-порта? Тогда в каждом отдельном для каждого ШД потоке можно будет записывать сигналы RotDir[i] и RotateStep[i] со своей задержкой time_out = K / Vel[i], где K - коэффициент умножения. Вот описание платы CNC TB6560HQT 4V3: https://www.duxe.ru/load/red%20TB6560HQT%204V3.pdf
0
|
||||||
| 29.06.2023, 18:46 | |
|
Помогаю со студенческими работами здесь
48
Управление LPT портом из Windows XP Управление LPT портом под FreeBSD Управление LPT портом, что нужно для работы Управление lpt портом, используя библиотеку inpout32.dll
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение.
И на уровне агентов добавится между грибами или бактериями взаимодействий.
До того я пробовал подход через многомерные массивы,. . .
|
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути
Programma_Boinc 01.01.2026
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути
Сочетание глобально распределённой вычислительной мощности и инновационных. . .
|
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Налог на собак: https:/ / **********/ gallery/ V06K53e
Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf
Пост отсюда. . .
|
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop?
Ниже её машинный перевод.
После долгих разбирательств я наконец-то вернула себе. . .
|
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод
Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод.
Thinkpad X220 Tablet —. . .
|
|
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта
Симптом:
После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
|
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
|
Новый ноутбук
volvo 07.12.2025
Всем привет.
По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне:
Ryzen 5 7533HS
64 Gb DDR5
1Tb NVMe
16" Full HD Display
Win11 Pro
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
|