|
Обновите ArcaOS до уровня NeoWPS
- Установите набор PNG иконок, нарисованных дизайнером, специализирующемся на оформлении OS/2
- Установите eSchemes 2018, чтобы менять цвета и кнопки на рабочем столе
|
TITLE: OS/2 в лаборатории
DATE: 2002-10-04 11:30:29
AUTHOR: Evgeny Kotsuba
Список решений, основанных на eComStation и OS/2
Речь пойдет об использовании eCS в научно-исследовательской
лаборатории. Обычно в таких лабораториях ставят какие-либо эксперименты,
разрабатывают технологии, устройства, установки и т.д. При этом надо что-либо
включать-выключать, двигать, измерять, менять параметры, управлять. Установка
для проведения эксперимента может собираться на скорую руку из имеющихся
в наличии приборов и оборудования, конфигурация и состав которого может
меняться достаточно часто. После удачно проведенного эксперимента, собранная
конструкция может продолжать работать в неизменном виде еще долгие годы,
а может становиться прототипом для изготовления опытного образца.
Само-собой разумеется, что разработчику ПО нет никакого смысла делать
для тестовой задачи навороченный графический интерфейс, создавать сложные
структуры данных и т.п. Быстро разобраться с сигналами, быстро , "на коленке",
написать и отладить тест....
Что обеспечивает успех использования OS/2 в описанной выше ситуации:
- Простота общения с портами ввода-вывода
- Относительная простота написания 16битных драйверов
- Высокая надежность HPFS, переживающего выключение питания и прочие приключения, отсутствие необходимости держать под рукой утилиты типа NDD
- Переносимость винчестера с OS/2 c одного PC на другой. (имеет достаточно большое значение в условиях маленькой психиатрической лечебницы,
i.e. лаборатории со своими волшебниками паяльника и рубильника . Может
сдохнуть мама, процессор, память, порты ввода-вывода и т.д. Впрочем, винчестер тоже может сдохнуть. )
- Хорошая многозадачность. В том числе в случае при использовании разными задачами
портов ввода-вывода (команды обращения к портам ввода вывода , в отличии
от всех других команд процессора , не имеют ускорительного эффекта от
попадания в кеш процессора)
- Простота интегрирования в сетевое окружение
- Возможность использования пайпов для работы клиент-серверных приложений,
что дает возможность как много-машинного управления, так и для эффективной
отладки. (Отладка графического интерфейса в многониточной программе реального
времени, да еще котороая из всех ниток обращается к портам ввода-вывода, - весьма проблематичное занятие)
- Отсутствие вирусов и прочих приключений, свойственных MS-WinXXX
- Замечательной совместимостью с DOS-программами, в том числе с теми,
которые используют ввод-вывод через порты. Для дос- разработчика получаются
идеальные условия для работы: многозадачность, легкая убиваемость повисшей
дос-задачи и т.п. В настоящее время это почти не актуально.
- Наличие нормальной командной строки и интерфейса командной строки,
наличие которого неведомо нынче многим программистам от MS-WinXXX, наличие REXXа и легкость написания скриптов на нем.
- Наличие нормального графического пользовательского интерфейса,
позволяющего:
- иметь несколько видимых одновременно текстовых (консольных)
окон. Через некоторое время обычные пользователи (научно-технические сотрудники,
слегка оболваненные интерфейсом WinXXX) начинают лихо открывать по 10 черных
консольных окон с бегущими строчками напряжений с разных каналов и управлять
устройствами без помощи мыши кнопками клавиатуры).
- использовать графику для быстрого и эффективного анализа данных,
в том числе очень больших для пакетов StarCalc (из StarOffice) или Exel
(десятки тысяч строк данных) для чего используем gDiagramm
- Консервативностью версий OS/2 в хорошем смысле: новые версии системы сохраняют API от прежних версий. Программы, в том числе графические, написанные для OS/2 v2 до сих пор работают под всеми следующими версиями OS/2 и наоборот, программы написанные и отлаженные под eCS
или "Авророй", если они не используют новое API (например, работу с файлами
с размером более 2Gb) будут работать и под OS/2 v3.
Для общения с портами используем либо 901-байтовую IOPL32.DLL
от Рината Сатретдинова или описанный
им же способ использования SDD.
С какими устройствами я лично работал (и об этом помню):
- Управление дискретным вводом/выводом: ISA платы L-208, L-154, PCL-724, PCL-730, PCI платы : PCI-7224 , PIOD-24
- Внешние таймеры: ISA платы L-208, L-154 , PCI платы : PCI-7224,
PIOD-24
- Управление ЦАПами/АЦП: ISA платы L-208, L-154
- Платы управления движением: PCL-832(Advantech),
- DSP: ADI 2185 в составе PCI плат L-780 и L-761 (дискретный
ввод-вывод, ЦАП/АЦП,32K слов память программ + 32K память данных, таймеры,
прерывания, прямой доступ в память DSP из PC, программирование на С etc.)
- устройства на COM-порте - любые устройства, общающиеся по COM-порту: от модемов, свитчей, мини-АТС до контроллеров, работающих на PIC'ах
- устройства на LTP-порте - самые различные устройства, которые
управляются или выдают дискретные TTL сигналы (0 и 5 В), например можно
сделать
- управление шаговым двигателем от LPT (использовалось 4 сигнала,
выдача в порт производилась с базовой частотой около 500Гц, при частоте
порядка 2кГц переставал работать двигатель. Эффект переключения задач наблюдался,
но был обойден простым поднятием приоритета управляющей нитки).
|
|
- термометр
DS1820/DS1822 на LPT: DS1820 для простоты сажается на 2 выходных и 1
входной разряд, в принципе могут сажаться много устройств на один сигнал
(вход-выход) и землю. Выдает от 9 до 12 бит с дискретностью от 0.5?C до
or 0.0625?C и с рабочей температурой от -55?C до 125?C, На фото сам термометр
не видно - закрыт белым кембриком, провод тоже выбран помощнее. Подобное
устройство можно возить вместе ноутбуком и измерять температуру воздуха
и неагрессивной жидкости в практически произвольных условиях и устройствах
.
|
|
- сканаторы на LPT. Это так сказать, экстремальный случай.
Сканатор - это высокоточное устройство для премещения лазерного луча
в пространстве. Координаты задаются в виде 16 разрядов, еще 3 разряда
используется для управления. Потенциальная скорость работы сканатора
ограничивается его электроникой и не может быть менее длительности строба
0.5 мкс на точку. Реальная скорость сканатора ограничивается механикой,
но тем немее требования технологии требуеют выдерживать и более-менее
плавно менять длительность здержки. При использовании двух ISA-LPT портов
достигается общее быстродействие порядка 7мкс на точку , а дискретность
изменения задержки - порядка 1мкс (достигается посредством выполения inp
из порта состояния LPT). Кстати, при использовании L-780 эти цифры
составляют примерно 1мкс и 0.033 мкс.
|
|
Что касается реального времени. Конечно, для использования в системах
"жесткого реального времени" OS/2 не предназначена by design.
Но. С одной стороны - указанные выше милли- и микросекунды реально работают.
Справедливости ради надо сказать, что работают они в системах не сильно
критичных ко времени. Например, если один раз из миллиона вместо задержки
7мкс будет задержка 70мкс, то ничего страшного не произойдет. С другой
стороны, основные проблемы с переключением задач возникают при длительных
дисковых операциях, поэтому установка PRIORITY_DISK_IO = NO должна делать
OS/2 системой "почти жесткого реального времени". Ну и самое главное
- "жесткое реальное время" должно обеспечиваться не на уровне PC, а аппаратно
и программно-аппаратно, на уровне общающихся с PC контроллеров. А в PC нет для
этого достаточных аппаратных средств.
Дополнительная информация об оборудовании:
Платы
|
Производитель, поставщик, комментарии.
|
ISA: L-208,L-154
PCI: L-761,L-780
|
L-Card. Разработчик и производитель плат расширения для PC и других изделий для сбора данных
и управления. Нормальная документация, драйвера, примеры, исходники. По досовским,
линуксовским исходникам и документации можно разобраться. Нормальная поддержка
- разработчики пинаемы и отвечают на вопросы.
|
ISA: PCL-724, PCL-730, PCL-832
|
Производитель: Advantech
Поставщик: ProSoft
Документация и примеры для дос достаточны для того, чтобы самостоятельно
разобраться. Поддержка в Prosoft пинаема до некоторых пределов, до каких
могут быть пинаемы дилеры; компания предпочитает иметь дело с крупными клиентами.
|
PCI: PCI-7224
|
Производитель: Adlink
Документация достаточна для того, чтобы самостоятельно разобраться.
|
PIOD-24
|
Производитель: ICP DAS
Документация достаточна для того, чтобы самостоятельно разобраться.
|
Попробуй программу:
|
Хочешь чтобы рабочий стол eComStation стал современным и удобным? Обнови его: установи NeoWPS.
|
Комментарии: Kirov Igor 2002-10-10 13:59:55 | Так как в основном организована работа с устройствами в/в - через драйверы или приложения работают непосредственно с портами? | Evgen 2002-10-11 04:10:11 | В основном с портами. Драйвер у меня только один для пары плат, которые сидят на трех прерываниях, причем одно должно вызываться до 1000 раз в секунду, а у этой чудацкой платы буфер только на одну команду и по приходу прерывания надо быстренько записывать следущую | Игорь 2003-10-29 14:07:12 | Оxередное упоменание о PCL-832. А в windows с этой платой имели дела?? Если да, то очень хотел бы пообщатся с Вами, так как в нашей лаборатории с этой платой очень много связанно, а она не работает долным образом!! | Игорь 2003-10-29 14:15:18 | Ой я тут ошибся немного в адресе!! Если будет желание помочь можно написать на [e-mail] | Иван 2004-04-05 10:53:33 | Добрый день, Евгений, не могли бы вы дать более подробную информацию по работе с DS1822 под LPT портом, а то возникла такая проблемка (правда под Виндой), но может есть что нибудь?
Пожалуйста. | http://syscarft.ru 2004-08-31 11:54:07 | [url] |
Прокомментируйте эту статью (напоминаем, автор работал над текстом несколько недель, уважайте мнение других).
|
|
Готовая eComStation на SSD диске
Последний активный опрос: Какая высота барьера RPM?
[Google]
|
IBM OS/2 Warp
|