Пробник электроцепей с применением компьтерного lpt-порта

Пробник электроцепей с применением компьтерного lpt-порта

Программный тестер LPT порта — Мерилин

Автор: Systemer
Опубликовано 26.03.2014
Создано при помощи КотоРед.

Дернул меня черт однажды заняться изваянием собственного программатора ПЗУ. Поскольку это не самая используемая вещь в моей лаборатории, решил его делать на LPT порт.

И после процессов составления схемы и собственно сборки, встал вопрос отладки. И хоть был у меня простой пробник (на обычных светодиодах) для LPT порта, но встал вопрос как его и программатор вставить в порт одновременно. Городить какие то огороды из самопальных развилок не хотелось. Вот и пришел к заключению, что нужен софтверный пробник.

Кроме того, такой пробник позволяет эмулировать любые сигналы от компьютера, что тоже не безинтересно. Вот все выше сказанное и сподвигло меня написать эту программку.

Почему Мэрилин? – Да она всем нравится.

Можно было написать программу, которая напрямую обращается к порту но, зачем изобретать велосипед. Быстро нашелся свободно распространяемый драйвер LPT порта – inpout32.dll пройдя по ссылке, вы найдете всю описуху, поэтому на этом не будем зацикливаться.

Пробный образец был выполнен за час, в Excel на VBA, и вполне себе работал. Но мне хотелось сразу всё доделать до конца, чтобы «забыть» этот вопрос, и я пересел за Delphi… Три дня как с куста ;(

Не простая, а очень простая. Реестр не требуется. Распаковываем архив, получаем три файла:

  • Inpout32.dll – драйвер LPT порта. Он может находится, как в папке с программой так и в системной, для WinXP это system32.
  • Исполняемый файл – собственно сама программа.
  • И файл хелпа.

Инсталляция закончена. Можно ещё для удобства создать shortcut/ярлык для Programmator.exe и поместить его, например на рабочий стол.

Работа с программой

После запуска программы вы получите вот такое вот окно:

Программа после запуска «обнуляет» порты, что равносильно нажатию кнопки «Сброс». Пойдем снизу вверх:

Строка состояния

В стоке состояния отображается слева, состояние самой программы, а справа состояние драйвера LPT порта. Здесь могут быть различные сообщения, поэтому не забывайте обращать на нее внимание.

Кнопка «Сброс»

Она загружает в порты «Data» и «Control» ноль, тем самым их полностью деактивируя

Кнопка «Читать порты»

Как понятно из названия – считывает, заполняет индикатор и поля ввода полученной информацией. Тут надо заметить, что это касается портов только «Data» и «Control», порт «Status» является доступным только для чтения и работает в автономном режиме постоянного опроса с периодичностью примерно 41 msec, что составляет примерно 24 раза в секунду. И вряд ли стоит увеличивать это значение ввиду с инерционностью человеческого зрения, и ввиду технических задержек LCD дисплеев.

Кнопка «?»

Собственно хелп, он и в Африке хелп.

Кнопка «Закрыть»

Осуществляет выход из программы. Программа после выхода не обнуляет предустановленные данные на LPT, это сделано намеренно, чтоб в случае надобности Ваши установки остались после остановки программы.

Если же такого не нужно, ничто не мешает перед выходом нажать кнопку «Сброс».

Ручная установка портов

Нижнее окно ввода всегда не активно это связано с тем, что « Status » порт предназначен, как сказано было выше, только для чтения. Но в случае появления сигналов от внешнего устройства, они незамедлительно будут показаны, вне зависимости от пользователя, в виде десятичной цифры от 0 до 31.

Порты « Data »и « Control » всегда доступны для ввода и устанавливают выходные уровни незамедлительно, по мере ввода числа. Поэтому отсутствует подтверждающая кнопка. В случае ошибочного ввода, поле отменяет ввод и устанавливает «0» как в поле, так и на линиях порта. В поля всегда вписываются десятичные числа с учетом максимальных значений см.рисунок (в скобках).

Индикатор

Индикатор всегда показывает состояние линий портов, т.е. лог.0 (черный цвет) или лог.1 (другой цвет), по аналогии со светодиодами.

Щелчок мышью на индикаторе включает его или выключает, соответственно изменяются состояния линий порта и окон ввода к ним. В такой активности не принимает участие « Status » порт по выше перечисленным причинам.

Если возникают вопросы их можно задать через мой сайт, в программе, кликнув мышкой на Мерилин. Архив с программой по ссылке ниже.

Пробник электроцепей с применением компьтерного lpt-порта

Графический запоминающий анализатор-осциллограф имеет следующие возможности:

1. Построение графиков в двухмерном и трехмерном виде.

2. Две независимые диаграммы: 17 канальный (бит на канал) осциллограф и график регистров порта (входных, выходных, контрольных).

3. Регулировку скорости анализа.

4. Отображение общего количества циклов анализа за весь период движения графика.

5. Программирование количества циклов, с возможностью копирования графиков в память, глубина (длинна) которых ограничена только свободной памятью компьютера.

6. Экономия системных ресурсов во время считывания относительно высокоскоростных протоколов устройств, подключенных к LPT порту и синхронизированных данной программой, для не слишком мощных машин: 100 – 500 МГц процессор. Данная возможность достигается отключением графического режима вывода на дисплей, при этом графики копируются только в память компьютера (повышается скорость в десятки раз). После окончания анализа график просматривается как обычно при переводе в графический режим отображения.

Рекомендуется применять при снятии закодированных сигналов инфракрасных систем охранной сигнализации, ИК кодовых замков, наиболее современных пультов дистанционного управления, когда скорость анализа имеет решающее значение. Аналогично работает режим переключения для каждого бита в отдельности, с помощью которого отключаются не нужные для конкретных измерений графики.

7. Прокрутка графиков плавно, постранично и правой кнопкой мышки; гибкая настройка скорости и шага прокрутки; возможность автоматического сжатия всей диаграммы в пределах одной страницы.

8. Сохранение снимка выбранной страницы графика 1:1 в форматах *BMP и *WMF (Windows метафайл); автоматическое сохранение в отдельный файл каждой новой страницы.

9. Встроенный просмотрщик графических файлов.

10. (1.4) Возможность снятия информации с регистров LPT порта, с последующей фиксацией в логе (формат: hex, bite, состоянии бит).

11. (1.5) Добавленна панель » Тест » с тестовым генератором импульсов выходных и контрольных бит, а также генератор записи данных 0. 255 в порт. Рекомендуется для настройки графиков и наглядного изучения принципа работы программы и LPT порта в целом .

12. 1.6.0.0 Многопрофильная система сохранения настроек.

Модуль управления портами основан на ядре кода программы «XP LPT», использующей драйвер ввода-вывода LPTWDMIO и имеет соответствующие возможности:

1. Автоматическая регистрация драйвера в Windows XP на правах администратора системы.

2. Автоматическая проверка установленных портов и внесение в список.

3. Одновременное чтение регистров данных, контроля и состояния ыбранного LPT порта.

4. Одновременное отображение содержимого регистров в форматах Hex и Byte, что избавляет от необходимости пересчета.

5. Запись данных в порт в форматах Hex и Byte.

6. Отображение логического (1/0) состояния битов (Pin) выбранного порта в реальный период времени.

7. Управление логическим состоянием бит (Pin) LPT порта с помощью Pin клавиатуры.

8. Проверка порта на двунаправленность (если включен в Bios), работа в режиме EPP ( переключение вход / выход, мониторинг).

9. Доступный исходный код, описание, примеры создания программ для управления внешними устройствами посредством LPT порта на основе данной программы (Делфи), готовые шаблоны, техническая поддержка на сайте.

Версия 1.6 с 29.10.04

Freeware.

Внимание! Автор не несёт ответственность за незаконное считывание протоколов телефонных карт и радиотелефонов, охранных систем автомобильных ИК сигнализаций и т.п. оборудования подключенного к компьютеру и синхронизированных данной программой.

! Если плохо (медленно) скачивается, попробуйте [ зеркальный файл ]
Или попытайтесь позже, когда уменьшется нагрузка на сервер.

12.10.04 Добавлена возможность снятия информации с регистров LPT порта, с последующей фиксацией в логе (формат: hex, bite, состоянии бит):

21.10.04 Добавлена панель » Тест » с тестовым генератором импульсов выходных и контрольных бит, а также генератор записи данных 0. 255 в порт. Рекомендуется для настройки графиков и наглядного изучения принципа работы программы и LPT порта в целом .

Программа обновлена! Версия 1.6

29.10.04 Многопрофильная система сохранения настроек.

Предварительно о проекте HardAnalyzer Читать HELP
Извините, еще не готов. —>

Задействовав ресурсы своего ПК, Вы экономите сотни $ !

В настоящее время рынок весьма насыщен всевозможной бытовой техникой широкого применения. Поэтому, основная деятельность современного радиолюбителя — электронщика базируется на изготовлении различных устройств автоматизации, управления и сбора данных, практического их применения на предприятии, сотрудником которого, зачастую, и является радиолюбитель. Это, как правило, радиоэлектронные комплексы, включающие в себя различные датчики, аналого-цифровые (АЦП) и цифро-аналоговые (ЦАП) преобразователи, мультиплексоры цифровых сигналов, шины обмена данными, устройства индикации и, наконец, сама цифровая логика (зачастую микропроцессоры).

Внутри такого прибора циркулирует множество цифровых сигналов с различной частотой, скважностью, длительностью, периодичностью и т.д. Но объединяет их одно — они имеют лишь два состояния: логическая 1 или логический 0, т.е. ДА или НЕТ. Для их наблюдения и контроля можно применить осциллограф. Но! Обычный одно-двух канальный осциллограф мало подходит для работы со сложными высокоинтеллектуальными устройствами. Как было замечено выше, логика прибора основана на ОДНОВРЕМЕННОМ анализе и контроле множества цифровых сигналов, управляет которыми центральный микропроцессор посредством портов ввода-вывода, которых, далеко как не один.

Поэтому, чтобы наблюдать алгоритм работы прибора в целом, совершенно недостаточно даже самого «навороченного», но одноканального осциллографа. Требуется наблюдать сигналы одновременно как минимум в пяти различных местах (точках) схемы. Но! Зачастую, на практике, требуется не только наблюдать, а и запоминать прошедшие во времени сигналы, для последующего анализа. Например, для замены вышедшего из строя микропроцессора импортной стиральной машины, на перепрограммированный свой — для этого требуется сигналлограмма отснятая за несколько часов работы аналогичной машины или нового микропроцессора; при этом важна не столько скорость движения графика, сколько сама многоканальность и возможность зафиксировать в памяти. Аналогичных примеров множество.

Что же делать?! Ведь такие многоканальные цифровые комплексы (осциллографы) очень дороги, стоимостью не одну сотню долларов, а зачастую и тысячи, в зависимости от сервисных возможностей, граничной частоты и объёма доступной памяти для запоминания сигналов. Но, зачем платить тысячи $ за гигагерцы, когда например, требуется всего лишь, зафиксировать логическое состояние сигналов на одних выводах микросхемы (микроконтроллера) или группы микросхем, во время появления сигнала (сигналов) на других выводах.

Действительно, в отличие от радиотехнических систем, системы автоматического регулирования и контроля, редко используют скорости обмена (опроса датчиков, распределения сигналов, управления шаговыми двигателями и т.п.) сравнимые с килогерцами или мегагерцами. Например, датчик температуры котла совершенно бессмысленно опрашивать более 1 раза в секунду или процессору телефонного чипа при получении запроса с таксофона, «выстреливать» ключ — идентификатор с частотой в десятки мегагерц.

В настоящее время компьютер есть у всех. Его нет только у того, кому он не нужен. Не секрет, что начинка любого современного ПК очень сложна, а система взаимодействия с человеком (оператором, пользователем) очень удобна. В самом деле, гораздо быстрее лёгким движением руки «попасть» мышкой в нужную кнопку, чем манипулировать клавишами, исследуя меню какого-либо прибора. О сервисах и говорить не приходится.

Специально для того, чтобы превратить компьютер в цифровой многоканальный и многофункциональный графический анализатор-осциллограф, при чём без всяких переделок и доработок ПК, мною разработана программа: «LPT 3D HARD ANALYZER». Программа работает через LPT порт и позволяет анализировать 5 входных линий (каналов) и 12 выходных (управлять цифровыми сигналами с компьютера) в режиме SPP, или 14 (!) входных и четыре выходных в режиме EPP. При работе в режиме осциллографа, программа запоминает все 17 графиков (линий) глубина (длинна) которых ограниченна только свободной памятью компьютера, а учитывая файл подкачки в OC Windows это сотни мегабайт и более. Также доступна возможность автоматического сохранения каждой новой страницы в графическом файле.

Двунаправленный ЕРР режим LPT порта присутствует на всех компьютерах выпуска после 1993 — 1995 года, его только необходимо включить в Bios, если он не включен по умолчанию.

СМОТРИТЕ ТАКЖЕ :

Com Port Visual Control
Программа визуального контроля, документирования и исследования процессов, происходящих в приёмопередатчике UART во время работы приложений использующих СОМ порт персонального компьютера. Работает в среде Windows 9x/ME/NT/2000/XP и имеет следующие возможности: Далее >>

XP LPT — программа управления LPT портами OC Windows 9x/2000/XP + исходный код. Далее >>

PinRegistrator
Программа слежения и регистрации логического состояния битов LPT порта. Написана под Windows 9x и имеет следующие возможности.
Далее >>

Теперь Вы имеете возможность самостоятельно написать программу управления внешними устройствами посредством LPT порта Вашего ПК всего за пять минут . Далее >>

Если у Вас возникнуть затруднения в работе с программой или дополнительные вопросы, пишите по электронной почте или в гостевую книгу. Удачи!

Пробник электроцепей с применением компьтерного lpt-порта

1. Три независимых канала, с помощью которых реализуется: ввод адреса порта (регистра), автоматическое чтение данных с порта, запись данных в порт в формате HEX или как десятичное число; отображение данных в форматах bite, word, Dword.

2. Отображение состояния каждого из 17 битов LPT порта и управление выходными битами с Pin клавиатуры.

3. Девять программируемых порт / данные банков памяти.

4. 17 канальный (бит на канал) анализатор – осциллограф логического состояния каждого бита (1/0) с возможностью установки скорости анализа (по времени), синхронизации по любому из 17 бит как по высокому уровню (1) так и по низкому (0), счетчик переданных данных по каждому биту и др. функции для удобной проверки и настройки цифровых устройств подключенных к компьютеру.

5. Может быть использованна в качестве цифрового (1/0) многоканального осциллографа, а также для управления внешними устройствами посредством компьютера.

Внимание! Автор не несёт ответственность за незаконное считывание протоколов специальных устройств индификации и хранения информации (например телефонных карт или внутренних шин обмена данными) радиоэлектронных устройств, подключенных к компьютеру и синхронизированные данной программой.

Существует несколько основных вариантов применения программы:

1. В качестве детальной проверки и тестирования работоспособности LPT порта компьютера. Вы можете проверить работоспособность каждого из 17 бит порта, установив на выходных битах высокий уровень (1 =5в) или низкий (0 ) непосредственно с Pin клавиатуры, а также ввести заданное (0…256) десятичное число (можно в HEX) с помощью команды » Записать (послать) в порт » . По умолчанию программа автоматически считывает данные с регистров порта и отображает в двоичном виде (1/0) на индикаторах логического состояния битов и как десятичное (HEX) число на соответствующих индикаторах. Имеется переключатель режимов отображения данных – Bite, Word, Dword. Для входных битов (их пять в стандартной конфигурации ) также используется индикатор логического (1/0) состояния, и десятичных чисел в регистре порта. Согласно стандарту, по умолчанию входные биты имеют высокий уровень (1). Для того чтобы перевести их в низкий, необходимо (в качестве проверки) подключить к проверяемому биту сопротивление (резистор 300…500 Ом). Быстродействие Вашего порта и системы в целом, Вы можете проверить воспользовавшись режимом « Test out » , переведя любой из выходных битов в состояние генерации (тактовая последовательность нулей-единиц), где временной интервал следования импульсов (частота) устанавливается с помощью переключателя « t м.сек » в миллисекундах ( от 1 миллисекунды и до нескольких часов). Номер Pin (бита) выбирается переключателем « Pin » . В этом режиме компьютер может быть использован в качестве высокостабильного генератора от 0 Гц до 1 кГц, со счетчиком переданных импульсов. Все ниже перечисленные операции удобно наблюдать во времени с помощью встроенного 17 канального (бит на канал) анализатора – осциллографа с возможностью гибкой настройки под определенный тип измерений. Верхняя скорость горизонтальной развёртки может достигать 1миллисек., и ограничена только системными ресурсами Вашего компьютера. ( Для анализа подключенных к компьютеру высокоскоростных (относительно) шин передачи цифровых данных различных радиоэлектронных устройств и микросхем рекомендуется компьютер не ниже 300 мГц. Для низкоскоростных устройств нормально работает и 60 мГц, под управлением ОС Windows 95.)

2. Для управления, анализа, настройки, разработки, проверки и ремонта цифровых радиоэлектронных схем ( модулей, блоков, управляющих шин, протоколов управления синтезаторов частот, элементов управления цифровыми индикаторами, программаторами ПЗУ, и т.д. и т.п., то есть всем тем, где широко используются цифровые микросхемы, формирующие управляющие сигналы и реагирующие на них.) Очень удобно собрав схему сопряжения (переходник ТТЛ, КМОП – порт компьютера) вмонтировать в неё различные «сокеты» (панельки для микросхем) и управляя выходными битами проверять работоспособность данного экземпляра, согласно документации ( таблицы истинности ). (Наверное, еще многие помнят проверочные панели с сокетой и тремя десятками тумблеров и светодиодов.) LPT порт прекрасно согласуется с двоично-десятичной системой « 2* — два в степени N » и может своими регистрами ( например, шина (биты) 1– 2 — 4 – 8 ) быть непосредственно подключен к соответствующим (1-2-4-8) входам или выходам тестируемой цифровой микросхемы. (через переходник ТТЛ, КМОП для согласования и безопасности, есть переходники на оптронах с полной гальванической развязкой от ПК.) В качестве примера очень удобно перестраивать УКВ радиостанцию « Маяк » (та же «Виола») с диапазона 150 – 174 мГц, подключив управляющую шину микросхемы синтезатора К564ИЕ15 к LPT порту и управляя коофициентом деления, а не впаивая в процессе настройки перемычки. Особенно удобно наблюдать, как изменяется число на входах ДПКД для нужной установки частоты, подключив их к входным битам LPT. Если Вы занимаетесь разработкой контроллера к этой микросхеме, будет целесообразно сначала составить алгоритм подключив ёё сначала к компьютеру, тем самым предотвратив порчу микросхемы от неосторожного обращения (замыкание входов щупом прибора между собой, случайное попадание постороннего напряжения, статики, перегрев паяльника и т. п.).

3. Считывание протоколов. Синхронизировав шину данных и управляющие сигналы устройств хранения и индификации информации, возможно чтение закодированных в последовательности нулей и единиц служебных сигналов и (или) паролей. Если, например, подать на телефонную (или подобную) карточку соответствующий управляющий сигнал, тем самым заставив ёё «выстреливать» код- индификатор и другие «интересные» данные, то простым подсчетом количества переданных байт счётчиком программы (+ анализатор + синхронизация) можно увидеть, расшифровать и эмулировать алгоритм работы карты и соответственно клонировать нужные сигналы. Однако программа предназначена для расширений возможностей радиолюбителя (электронщика, инженера), freeware , поэтому автор не несёт ответственности за какие-либо незаконные действия пользователей. Наглядное изучение протоколов (средней сложности) радиоэлектронных устройств может быть полезно при разработки собственного программного обеспечения под управлением контроллеров (Z80, Pic и др.), а также ПК.

4. Для ремонта оргтехники использующей параллельный порт компьютера. Это различные принтеры, сканеры, кассовые аппараты и др.

5. Для начинающих программистов. Если Вы решили написать небольшую программу для управления теми или иными внешними устройствами посредством LPT порта вашего ПК, например, той же «Виолой», Вам будет очень удобно визуально наблюдать алгоритм работы Вашей программы в многофункциональном интерфейсе « PortControl » , тем самым устранить допущенные ошибки без использования измерительных приборов на выходе порта и вмешательства в схемотехнику управляемого устройства.

Органы управления программы

СМОТРИТЕ ТАКЖЕ :

PinRegistrator
Программа слежения и регистрации логического состояния битов LPT порта. Написана под Windows 9x и имеет следующие возможности.
Далее >>

______________________________________

Если у Вас возникнуть затруднения в работе с программой или дополнительные вопросы, пишите по электронной почте или в гостевую книгу. Удачи!

Пробник электроцепей с применением компьтерного lpt-порта

Подключение контроллера с использованием переходника USB-LPT

Подключение контроллера с использованием переходника USB-LPT

1 Настройка для работы программы Mach3 с переходником USB-LPT

1.1 При использовании переходника USB-LPT, необходимо скопировать файл mach3usb.dll в папку c:mach3plugins.

1.2 Для работы устройства также понадобится установить драйвер.

Для этого подключаем адаптер к USB порту компьютера.

Ждем пока операционная система обнаружит подключенное устройство.

Отрываем «Панель управления»→ «Диспетчер устройств», находим в разделе «Другие устройства» — CNC controller, рисунок 1.

Щелкнув правой кнопкой по нему, и выбрав » С войства», нажать кнопку «Обновить драйвер ы «.

В открывшимся окне выбираем пункт «Поиск драйверов на этом компьютере (Поиск и установка драйверов вручную)».

Указываем путь к папке с драйверами, рисунок 2.

1.3 При запуске программы управления станком MACH3 потребуется выбрать из списка устройств, рисунок 3

1.4 Конфигурация плагина mach3usb для USB-LPT адаптера.

Нажимаем кнопку “Reset”, Mach3 устанавливает связь с адаптером. П роизводим настройку плагина. Для этого в ыбираем в меню “Config” пункт » Config pl u gins” , рисунок 4.

Нажимаем кнопку “Config” напротив “mach3usb”, открывается окно конфигурации плагина , рисунок 5 .

1.5 Настройка панели микрошага » Software microstep” (программная интерполяция шага ).

Программн ая интерполяция шага двигателя позволяет обеспечить более точный временной контроль , особенно при работе на малых скоростях. Д вижение будет более гладк им и с более низки м уровнем шума . При использовании программного мульт и пликатора шага двигателя в » Motion plugin”, M ach3 будет работать как будто параметр » StepPer» в настройках шаговых двигаталей выше, чем физически, без уменьшения максимальной скорости . При N = 1 параметры работы шаговых двигателей станка соответ с твуют установленным в п у нкте меню » Motor Tuning”.

Введите коэффициент мультипликации N> 1, и умножите на коэффициент N параметр » StepPer» в настройках двигателей( Motor Tuning) Mach3 , рисунок 6.

После окончания установки параметров, закройте окно настройки плагина. Далее нажмите » EStop» (Reset) перейдите в режим «Стоп» и заново в режим «Пуск», для перезагрузки параметров адаптера.

2 Дополнительные настройки плагина переходника USB-LPT

2.1 Автоматическое отключение сигнала » Enable»

Автоматическое отключение сигнала » Enable’, через установленный промежуток времени, в течении которого не производилось перемещений. Если в поле установлено значение 0, то используется параметр по умолчанию — 500мС. При отключении этой функции сигнал » Enable» отключается нажатием кнопки «E-Stop» (Reset).

2.2 Возврат от концевого выключателя базы ( Home ).

Устанавливает возврат портала от момента срабатывания концевого выключателя при автоматическом поиске баз по всем осям. (Для исключения ложных

срабатываний при поиске баз, если один входной сигнал используется для нескольких концевых выключателей).

2.3 Использование кнопок «Cycle Start» , «Feed Hold», «Stop’.

При работе плагина:

— нажатие кнопки «Stop» приводит к быстрой остановке выполнения программы, с потерей всего G- кода содержащегося в буфере данных

— нажатие кнопки «Feed Hold», исполнение программы будет продолжаться до исчерпания содержимого программного буфера.

После нажатия «Feed Hold «, для корректного продолжения работы нажмите кнопку » Regen toolpath » затем «Run«, э то обеспечит корректное продолжение программы .

Activity : время пре-буферизации при старте

Inactivity : время детекции состояний Stop/Pause, а так же ресинхронизации индексных импульсов

Response : время передачи команд статуса. Используется для правильной реализации состояний остановка , движение, синхронизация.

При использовании значений по умолчанию, данные введённые в поля значений не используются. Используются значения 100/300/300.

Таймер не распространяется на команды переездов. Команды переездов всегда исполняются сразу.

2.5 Панель настройки индексного входа, рисунок 23.

Адаптер имеет конфигурироемый индексный вход -вывод 12.
индексный вход поддерживает следующие функции:
— Измерение числа оборотов шпинделя в минуту и индикации в Mach3 — “RPM measurement”.

— Синхронизация старта с паузы в G-коде по появлению синхроимпульса -“Sync pause/start on
pulse” (в том числе и по нажатию кнопок Pause/Start основного экрана Mach3.)
— Синхронизации скорости подачи инструмента с числом оборотов шпинделя- “Sync adapter
speed with RPM”.
Синхронизация скорости подачи с числом оборотов шпинделя производится средствами
адаптера и соответствует формуле :
А=(А1*В)/В1.
Где: А -подача в данный момент времени;
А1- нормальная подача заданная в G-коде;
В — измеренное значение числа оборотов в минуту шпинделя;
В1- число оборотов шпинделя при нормальной подаче;
Поле RPM – число оборотов при нормальной подаче, поле % -величина превышения числа
оборотов над заданными которая может быть отслежена. Если поле % равно нулю, то подача
всегда меньше или равна нормальной подаче заданной в G-коде.

Иногда возможно временное рассогласование между строкой G-кода отображаемой , как выполняемая в Mach3, и фактически исполняемой строкой, а так же задержка исполнения команд Stop, Feed Hold. Это связано с наличием собственного командного буфера адаптера.
Буфер стабилизирует работу при кратковременных сбоях связи между адаптером и компьютером и при замедлении расчёта Mach3. С одной стороны,чем больше буфер тем стабильнее работа, но в связи с тем что объём буфера может достигать десятков килобайт, возможны задержки исполнения команд FeedHold, Stop до нескольких секунд. Вы можете повысить скорость реакции уменьшив значение буфера до 0, но повысится вероятность сбоя при работе.

Проблема подключения к системе ЧПУ станка через LPT

Проблема подключения ЧПУ станка к LPT — трудности, возникающие при подключении станочного оборудования с ЧПУ к компьютерным устройствам через LPT-порт.

Проблема подключения к системе ЧПУ станка через LPT – комплекс трудностей, которые возникают при подключении станочного оборудования с числовым программным управлением к компьютеру или ноутбуку. Без решения проблемы прибор нельзя будет использовать в автономном или полуавтономном режиме. Решение осуществляется несколькими способами различного уровня сложности.

Что такое LPT

Люди, не имеющие опыта работы на станках с ЧПУ или с компьютерными технологиями, часто не знают, что такое LPT-порт и как им пользоваться. LPT-порт, известный также под названиями параллельный порт и порт принтера, – разъем на компьютерном устройстве, предназначенный для подключения различных устройств. Данный порт выполняется по международному стандарту, поэтому является универсальным.

С его помощью к компьютеру можно подключить:

  • принтер;
  • сканер;
  • внешние устройства для хранения данных.

Перечисленные варианты входят в число самых популярных. Но LPT-порт используется и для других целей. Благодаря его особенностям можно синхронизировать работу двух компьютеров, настроить телеуправление, или управление станочным оборудованием. Стандарт порта выполнен по интерфейсу Centronics. На современных устройствах имеются расширенные варианты ECP и EPP.

Но ввиду большой популярности USB-портов актуальность LPT постепенно снижается.

Управление станком через LPT-порт ноутбука

На современных ноутбуках не всегда можно встретить LPT-порт. В связи с этим у неопытных людей часто возникает проблема с подключением оборудования. Чтобы оператор подключил агрегат к системе ноутбука, требуются модели, имеющие этот разъем. LPT-портами в обязательном порядке оснащаются промышленные ноутбуки. Они обладают функционалом, достаточным для управления станочным прибором.

Для управления аппаратом через ноутбук потребуются специальные программы. Одной из самых популярных является программа Mach. USB-адаптер не способен заменить LPT-порт. Он создает виртуальный привод, который не рассчитан на совместимость с программами управления приборами ЧПУ. Рабочий вариант заключается в подключении станка к компьютеру и удаленным управлением через ноутбук при помощи WiFi-адаптера.

Этот способ позволяет управлять работой удаленно, но ноутбук должен находиться на расстоянии не более 3 – 4 метров от инструмента. При этом стационарные компьютеры должны быть расположены в непосредственной близости со станками.

Наиболее удачным решением проблемы является USB-адаптеры в виде платы, и варианты, созданные в виде шнура-переходника. Оба переходника являются достаточно дорогостоящими, но позволяют не только подключить рабочий инструмент, но и его периферию. Приборы оснащены плагинами, через которые передаются управляющие команды. Адаптеры имеют свои драйвера, благодаря которым команды передаются без перебоев.

Преимущество входов и выходов заключается в буферизации. Она обеспечивает защитную функцию, если один из драйверов перегружает процессор. Если имеется необходимость управлять устройством от сети, потребуется покупка контроллера. Благодаря его помощи и драйверу компьютер можно поставить на большом расстоянии от станочного оборудования. Но стоимость такого решения более высока.

Правильный запуск станка с ЧПУ

Существенный процент проблем возникает при неправильном запуске оборудования с ЧПУ. Если допустить ошибку, подключая прибор к LPT, велик риск того, что он не запустится, или же будет работать неисправно.

Запуск осуществляется пошагово:

  • к прибору подключается контроллер шаговых двигателей (следует обратить внимание на маркировку проводов и соответствие табличкам);
  • этот же контроллер подключается к компьютеру;
  • производится установка переходника (если требуется).

Перед запуском необходимо подготовить шпиндель и ПК. Подготовка шпинделя производится согласно инструкции, которая следует в упаковке с купленным станком, и способна ответить на базовые вопросы. Подготовка ПК является более сложной задачей, выполняя которую, необходимо учесть ряд факторов:

  • многоядерные процессоры Intel не подойдут для управления прибором через LPT (данная проблема связана с изменением частоты процессора, которая негативно влияет на рабочий инструмент на станке);
  • рекомендуется использовать одноядерные процессоры Intel и AMD;
  • на ПК должна быть установлена 32-разрядная операционная система Windows;
  • на ПК может быть установлена операционная система Linux;
  • переходник должен быть оснащен специальным драйвером;
  • на компьютере не должно быть установлено посторонних программ;
  • на компьютере не должно быть антивирусов;
  • компьютер не подойдет, если на нем: менее 1 гигабайта оперативной памяти, процессор с частотой менее 1 ГГЦ.

Первым делом на компьютере отключается антивирус и брандмауэр. Затем на него устанавливается программа для управления станочным прибором. При использовании переходника USB-LPT требуется установка драйвера и плагина. Программа запускается ярлыком на рабочем столе. Затем в самой программе выбирается станок с ЧПУ и источник управления. После установки нужной фрезы и заготовки, программа запускается, и станки начинают обработку.

Если обработка не началась, или же она выполняется неправильно, в подготовке и подключении компьютера к агрегату была допущена ошибка. Следует пересмотреть действия, и выполнить их заново.

Способы решения проблем

Одной из основных проблем подключения ЧПУ станков через LPT является использование неподходящих программ. Если программное несовместимо с портом, то его нельзя будет использовать, даже если он обратится к драйверам.

В списке совместимых программ находятся:

  • K-cam;
  • Mach;
  • CNC Turbo.

В перечисленных программах управление рассчитано под интерфейс LPT.

Еще одна проблема заключается в работе схемы порта. Она функционирует через:

  • USB-разъем компьютера;
  • отдельный блок;
  • стабилизатора станка.

Если один из вариантов откажет, исправная эксплуатация схемы будет нарушена. Могут возникнуть перебои в работе, или же система перестанет функционировать. Чтобы правильно подключить инструмент к компьютерному устройству, следует руководствоваться стандартами RS-232. С их помощью можно произвести отдельную настройку коммуникационной программы и характеристик числового программного управления.

Система ЧПУ должна находиться в режиме передачи-приема команд. В противном случае оборудование может не работать, поскольку передача данных будет нарушена. На приборах заводского производства имеется инструкция по настройке агрегата.

Следующая проблема может возникать при сложной обработке. Сложная обработка предполагает большие объемы передачи управляющей программы, с которым память системы ЧПУ справиться не может. Для решения этой проблемы потребуется использование системы DNC. Она повышает технологические возможности устройства, и позволяет выполнять обработку заготовок с различными формами.

На современных агрегатах предусмотрено использование локальных сетей. Они являются более быстрым и удобным способом передачи необходимых данных. В этом случае для управления потребуется подключение к интернету.

Пробник электроцепей с применением компьтерного lpt-порта

Итак, настало время написать простую программу, иллюстрирующую приемы чтения и записи данных в LPT порт. Пока напишем ее в консольном варианте, дабы на этапе понимания и разбора этой программы не пришлось «копаться» в дебрях кода под Windows (не переживайте, следующая статья будет посвящена как раз приложению c визуальным интерфейсом).

Прежде чем двигаться дальше и писать программу, необходимо разобраться с LPT портом, посмотреть из чего он состоит и как нам воспользоваться им в своих целях. Если говорить на бытовом уровне, то можно сказать, что LPT порт это набор контактов, на которых мы можем установить напряжение 0 или +5 В (логическая 0 и 1) из программы или это может сделать внешнее устройство снаружи.

Объяснение и вправду ОЧЕНЬ бытового уровня 🙂 Забавно спустя 5-6 лет перечитывать свое «творчество», которое сейчас вызывает улыбку.

Давайте разберемся, какими контактами мы можем оперировать, а какими нет. В этом нам поможет рисунок ниже (его рисовал не я, автор мне неизвестен. Но он уж больно хорош, я и сам им постоянно пользуюсь).

Из рисунка видно, что выводы порта можно разделить на четыре группы: это ‘земляные’ выводы. Они обозначены черным цветом (контакты 18-25). Все они соеденены между собой, поэтому для своих разработок в качестве земли можно использовать любой из них.

Красным цветом обозначены выводы так называемого регистра Data (контакты 2-9). Под регистром будем понимать (на бытовом уровне) объдинение группы контактов LPT порта. В регистре Data их 8 штук. Это самый толковый регистр — он позволяет нам как из программы, так и из внешнего устройства установить на его контактах лигическую 0 или 1, т.е. он двунаправленный. Именно его мы и использовали в нашей первой программе Port.exe — подключали светодиод ко 2-му выводу порта (как теперь видно, этот вывод принадлежит регистру Data, является его нулевым битом) и 25 выводу (земля), и спомощью программы управляли подачей напряжения на вывод 2 относительно земли. Чтобы обращаться к этому регистру, надо знать его адрес: 0x378 — в 16-ричной системе или 888 в десятичной.

На рисунке написано &H378 — это тоже самое что и 0x378, просто первое обозначение присуще языку Pasсal и ему подобным, мы же пишем на Си.

Опять вспоминая программу Port.exe, заметим, что обращались мы к регистру с помощью следующей функции _outp(Address, 0);, где переменная Address была предварительно определена как 888. Теперь понятно, что этим мы указывали функции _outp(), что мы хотим работать именно с регистром Data.

Продолжим рассмотрение порта. Осталось еще два регистра. Следующим будет регистр Status (контакты 10-13, 15). Это однонаправленный регистр. Управлять им можно только «снаружи», через внешнее устройство (имеется в виду изменять данные на нем; читать можно из любого регистра в любую строну). Он имеет адрес 0x379 — в 16-ричной системе или 889 в десятичной. И регистр Control (контакты 1, 14, 16-17). Он имеет всего 4 контакта и может управляться только программой. Его адрес: 890 в десятичной системе.

Вывод: у нас есть 17 выводов которыми мы можем управлять по своему усмотрению.

Теперь рассмотрим, а как происходит запись и чтение данных в регистры LPT порта, т.е. как нам установить на нужных выводах 0 или 1.

Запись/чтение данных в регистр Data

Итак, рассмотрим сразу практическую задачу. Хочу чтобы на выводе LPT порта под номером 3 (бит D1 регистра Data) была установлена логическая 1 (т.е. чтобы между ним и землей было +5 В) и на остальных выводах этого регистра (2,4-9 выводы порта) были нули. Пишем код:

Я использовал функцию Out32() библиотеки inpout32.dll, будем привыкать к ней, т.к. дальнейшие примеры будем разбирать именно на этой библиотеке. Если этот код выполнить, то получится что на выводе порта 3 есть +5 В, а на 2,4-9 «висит» ноль. Как это получилось?

Начнем разбираться: первым параметром функции Out32() мы передаем число 888. Как вы уже знаете, это адрес регистра Data LPT порта. Теперь функция знает куда ей писать данные. Далее вторым параметром мы передаем число 2, т.е. значение для записи в порт. Прошу обратить внимание, что двоика в десятичной системе счисления. Что происходит далее? Для лучшей визуализации процесса, переводим число 2 из десятичной в двоичную систему счисления. Каждый разряд двоичного числа справо на лево записывается по порядку в регистр начиная с младшего разряда D0 (вывод 2 порта) и заканчивая старшим D7 (вывод 9). Если вы переведете число 2 из десятичной в двоичную систему счисленияи дополните число по 8 разрядов (по числу разрядов в регистре) то получите 00000010. Нулевой разряд двоичного числа — (самую правый) записывается в D0, далее 1 записывается в D1. И так до конца, все 8 разрядов.

Ну что, устали немного пока прочитали? Сейчас станет понятнее. Давайте в регистр Data запишем число 245. Пишем код:

Опять переводим 245 в двоичную систему счисления и справо на лево записываем разряды числа в соответсвующие биты регистра. В итоге получим, что на выводах LPT порта под номерами 2,4,6-9 присутствует напряжение +5 В, на выводах 3,5 — ноль.

Ну что, теперь я думаю, с записью данных в регистр Data мы разобрались. Надо отметить, что диапозон десятичных чисел, которые можно записать в регистр Data лежит в пределах от до 255. Регистр он у нас 8-ми разрядный, значит максимальное число комбинации 0 и 1 на его выводах составляет 2 8 -1=256-1=255.

Чтение данных

Теперь давайте считаем ранее записанные данные в порт, а именно узнаем текущий статс регистра Data. Мы хотим узнать, на каких выводах регистра Data сейчас высокий уровень напряжения, а на каких низкий. Помните, выше мы записали в порт число 245? Давайте его сейчас получим из порта. Пишем код:

Inp32() — это функция для чтения данных из порта библиотеки inpout32.dll. Единственным параметром для нее является адрес того регистра, откуда мы хотим прочесть данные. На выходе она возвращает десятичное число, соответствующее текущему содержомому регистра. Выполнив этот код, переменная data будет содержать число 245. Что это значит? Чтобы разобраться, переводим число 245 из десятичной в двоичную и смело можем сказать что на выводах порта 2,4,6-9 сейчас +5 В а на выводах 3,5 0 В. (см. рисунок выше)

Как я уже упомянул выше, в регистр Data данные записать может и внешнее устройство. Однако рассмотрение этого вопроса пока оставим. Сначала, давайте полностью разберемся с базовыми операциями.

Запись/чтение данных в регистр Control

Теперь поуправляем регистром Control. Он однонаправленный, данные в него может записать только наша программа. Обратите внимание на несколько особенностей этого регистра. Во-первых, он содержит всего четыре рабочих вывода. Значит в него можно записать число в диапозоне от 0 до 2 4 -1=16-1=15. Во-вторых, он имеет очень непрятную особенность: некоторые из его выводов инвертированы, т.е. если вы на этот вывод пишете 1, то на ней устанавливается 0. И наоборот, читаете 1, а на самом деле там 0. Поэтому, значение записываемых данных и читаемых данных не совсем очевидны. Приведу пример записи числа в регистр Control. Пишем код:

И пример чтения:

Запись/чтение данных в регистр Status

Наконец, добрались до регистра Status. Он однонаправленный, данные в него может записать только внешнее устройство, т.е. мы в программе можем только читать содержимое этого регистра. Причитав данные из Status, и переведя их в двоичное число, сразу довольно трудно понять что же реально творится с напряжениями на выходах этого регистра. Во-первых, он тоже имеет инвертированные выводы, а во-вторых рабочими являются биты под номерами 4-7, а 0-3 не используются, и следовательно число записывается довольно хитро.

Возникает вопрос, а как эти данные на нем установить? Довольно просто. В качестве внешнего устройства, пока, будете выступать вы. Выполните такой код.

Вы получите некоторое число. Теперь возмите проводник и соедините им любой из земляных выводов порта (18-25) с каким-нибудь выводом регистра Status (10-13, 15), например с десятым. И снова выполните чтение. Вы получите другое число. Уберите проводник. Прочитав, получете исходное число. Как это работает? Исходно, на всех выводах этого регистра находится высокий уровень напряжения +5 В. Когда мы соеденили один из его выводов с землей, то на нем, соответственно, напряжение стало равным нулю, т.е. логический ноль. Можно попробовать замыкать и другие выводы регистра Status на землю, замыкать сразу несколько.

Следует заметить, что при таких опытах с регистром Status возникает не совсем понятная ситуация с другими выводами порта LPT. После первого замыкания выводов Status, начинают мигать выводы Data и Control. Это связано с тем, что порт LPT предназначен для подключения принтера, а выводы Status он использует, для того чтобы сообщить компьютеру некоторую служебную информацию. Изменения на выводах Status регестрирует системный драйвер операционной системы. Он же проводит и ответные действия, для нас наблюдаемые в виде периодического изменения состояния других выводов. Тут уж ни чего не поделаешь. Я обычно, просто в начале работы с портом далаю замыкание какой-нибудь линии регистра Status на землю и жду примерно минуту, пока драйвер не «утихомирится». После этого порт свободен, и новые операции над регистром Status не приводят к неконтролируемым процессам в порту.

В исходной статье было очень много весьма спорных утверждений и совершенно неграмотных обяъснений. Самые вопиющие «ляпы» я устранил, но по прежнему эта статья остается весьма «делитантской».