Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
KANSoftWare

Решение проблемы с подключением старой станка СНС через порт RS232 и использование программы на Turbo Pascal для настройки COM-порта ISA карты Winbond I/O 2X SPC21XX

Delphi , Файловая система , RS232

Решение проблемы подключения старой станки ЧПУ через порт RS232 в Turbo Pascal

Старые станки ЧПУ часто используют нестандартные решения для связи с компьютером, и ваша ситуация – яркий тому пример. Программа, написанная на Turbo Pascal, предназначена для работы с ISA картой Winbond I/O 2X COM SPC21XX, а не со стандартным портом RS232 материнской платы. Давайте разберемся, почему это происходит и как можно решить проблему.

Понимание проблемы

В эпоху DOS и ранних версий Windows, встроенные порты COM часто отсутствовали или были недостаточно функциональны для работы с промышленным оборудованием. ISA карты, такие как Winbond I/O 2X, предоставляли более надежные и гибкие возможности для подключения периферийных устройств, включая два порта RS232.

Программа, написанная на Turbo Pascal, использует процедуру BIOS_RS232_Init для инициализации UART (Universal Asynchronous Receiver/Transmitter) – компонента, отвечающего за преобразование данных для передачи по последовательному порту. Эта процедура напрямую вызывает прерывание $14, используя специфический формат параметров, описанный в руководстве IBM PC Technical Reference Manual. Этот способ инициализации типичен для DOS-приложений, работающих с ISA картами.

Когда вы пытаетесь использовать встроенный порт RS232 или PCI2 порт, программа не работает, потому что:

  1. Разные адреса и IRQ: ISA карты требуют ручной настройки адреса порта и IRQ (Interrupt Request) с помощью перемычек на карте. Встроенные порты COM и PCI порты имеют свои собственные адреса и IRQ, которые не совпадают с настройками ISA карты.
  2. Разные драйверы: Программа предполагает, что используется ISA карта, и использует специфические методы инициализации, которые не применимы к встроенным портам или PCI портам.
  3. Отсутствие V24Install: В коде есть проверка V24Install=False. Вероятно, это проверка наличия драйвера V24, специфичного для ISA карты. Встроенные порты COM и PCI порты используют другие драйверы.

Решение проблемы: Настройка ISA карты

Самое простое и вероятное решение – это правильно настроить ISA карту Winbond I/O 2X SPC21XX. Это включает в себя:

  1. Определение текущих настроек: Найдите документацию к ISA карте. В ней должна быть информация о перемычках для настройки адреса порта и IRQ.
  2. Сопоставление с Turbo Pascal: Посмотрите на значения ComPort и ComParm в процедуре BIOS_RS232_Init. ComPort соответствует номеру порта, а ComParm содержит параметры конфигурации (скорость, количество бит данных, четность, стоповые биты).
  3. Настройка перемычек: Установите перемычки на ISA карте в соответствии с текущими настройками, указанными в коде Turbo Pascal. Обычно это требует перестановки перемычек на плате. Будьте осторожны и сверяйтесь с документацией к карте.
  4. Проверка в Turbo Pascal: Убедитесь, что SER, Baud, BitCount, Parity, Stopbit, Handshake и Duplex в программе Turbo Pascal соответствуют настройкам ISA карты.

Пример кода (для понимания процесса инициализации):

procedure BIOS_RS232_Init(ComPort, ComParm : Integer);
{ Issue Interrupt $14 to initialize the UART }
{ See the IBM PC Technical Reference Manual for the format of ComParm }
var
  Regs : registers;
begin
  with Regs do
    begin
      ax := ComParm and $00FF;  { AH=0; AL=ComParm }
      dx := ComPort;
      Intr($14, Regs)
    end
end; { BIOS_RS232_Init }

В этом примере ComPort определяет номер порта, а ComParm содержит параметры, которые передаются в прерывание $14 для инициализации UART. Значение ComParm зависит от конкретной ISA карты и необходимого режима работы.

Альтернативное решение: Эмуляция ISA карты программно (более сложное)

Если настройка перемычек невозможна или не дает результатов, можно попробовать эмулировать ISA карту программно. Это гораздо более сложный подход, который требует глубокого понимания работы UART и прерываний.

  1. Использование библиотеки для работы с COM-портами: В Turbo Pascal есть библиотеки, которые позволяют работать с COM-портами на более низком уровне. Например, можно использовать библиотеку, которая позволяет напрямую управлять регистрами UART.
  2. Эмуляция прерываний: Необходимо будет эмулировать прерывания, которые генерируются ISA картой при получении данных.
  3. Совместимость с программой: Программа Turbo Pascal предполагает, что используется ISA карта, поэтому нужно будет модифицировать код, чтобы он работал с эмулированным портом.

Этот подход требует значительных усилий и может быть невозможен без глубокого понимания работы аппаратного обеспечения и программного обеспечения.

Важные замечания:

  • Сохраните текущие настройки: Прежде чем менять перемычки на ISA карте, сделайте фотографии текущих настроек, чтобы можно было вернуться к ним, если что-то пойдет не так.
  • Документация: Поищите документацию к ISA карте Winbond I/O 2X SPC21XX. В ней может быть полезная информация о настройке перемычек и параметрах UART.
  • Тестирование: После изменения настроек протестируйте подключение к станку ЧПУ. Убедитесь, что программа Turbo Pascal может отправлять и получать данные.
  • Безопасность: Будьте осторожны при работе с аппаратным обеспечением. Неправильная настройка может привести к повреждению оборудования.

В заключение, наиболее вероятным решением является правильная настройка ISA карты Winbond I/O 2X SPC21XX. Если это не поможет, можно попробовать эмулировать ISA карту программно, но это потребует значительных усилий и знаний. Надеюсь, эти советы помогут вам решить проблему и вернуть в строй ваш старый станок ЧПУ!

Создано по материалам из источника по ссылке.

Решение проблемы подключения старой станки ЧПУ через порт RS232 в Turbo Pascal требует настройки ISA карты Winbond I/O 2X SPC21XX или эмуляции её работы программно.


Комментарии и вопросы

Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.


:: Главная :: RS232 ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-12-22 20:14:06
2025-07-28 22:55:28/0.0068411827087402/0