Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Потрепаться";
Текущий архив: 2003.12.16;
Скачать: [xml.tar.bz2];

Вниз

Управление с помощью компьютера   Найти похожие ветки 

 
Kair   (2003-11-19 07:42) [0]

Интересно, можно ли сделать на Delphi так, чтобы компьютер управлял каким-нибудь устройством?
Например: Чтобы моторчик (или лампочка) включался и выключался когда надо. Или можно было бы замерять уровень сигнала (напряжение, силу тока, различные сопротивления, емкость, индуктивность или еще чего-нибудь) от какого-нибудь электронного прибора-датчика и регулировать уровень этого сигнала... Где бы про такое почитать (на русском языке)?


 
Dmitriy O.   (2003-11-19 07:49) [1]

Очень просто. Но для этого нужен принтер но только не лазерный а струйный или лутше матричный. Далее технология проста нужно только вмонтировать кнопку вкл/выкл моторчика так чтобы головка принтера при печати нажимала на ее. При необходимости запустить моторчик посылаем строку на печать (не важно что главное одну чтоб нажатие на кнопку было одно)- Моторчик включается анологично чтоб его выключить.


 
reticon   (2003-11-19 07:51) [2]

ага, может еще ядерным реактором управлять, чтобы он моторчик включал?


 
y-soft   (2003-11-19 08:04) [3]

Способов реализовать subj множество, только придется писать соответствующее ПО для PC и мастерить железяку, которая по командам от компьютера будет управлять "моторчиком"

Аналогично и для съема информации с внешних датчиков. В простейших устройствах радиолюбители используют АЦП звуковой карты или переделанную "мышь"...


 
Юрий Зотов   (2003-11-19 08:06) [4]

> Kair © (19.11.03 07:42)

Delphi-программа может посылать любую информацию, например, в COM-порт и читать с него любые данные?

Запросто. Простыми функциями для работы с файлами.

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

Где почитать? О программировании - все в тех же книгах по Delphi и Паскалю. О разработке таких устройств - в книгах по электронике. Причем вторая часть потребует далеко не одной книги.


 
y-soft   (2003-11-19 08:50) [5]

>Юрий Зотов © (19.11.03 08:06) [4]

Delphi-программа может посылать любую информацию, например, в COM-порт и читать с него любые данные?

Запросто. Простыми функциями для работы с файлами.


Этого достаточно только для самых простых задач. На самом деле из-за того, что Windows не является в строгом понимании системой реального времени, приходится применять специфические приемы программирования, и далеко не все можно реализовать на чистой Delphi. Меняется сама идеология - систему приходится рассматривать, как единое целое, а не набор независимых разнородных программ и устройств. Очень важными становятся вопросы помехозащищенности и отказоустойчивости, значительно усложняется отладка. Так что и по этому пункту потребуется далеко не одна книга и много набитых шишек (если заниматься профессионально)...

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

С уважением,


 
ИдиотЪ   (2003-11-19 08:54) [6]

видел я такие штуки 10 лет назад и писалось все еще на примитивном бейсике )


 
Layner   (2003-11-19 08:57) [7]

Программируешь LPT/COM порт, посылаешь байт, сигнал есть, срабатывает релюха, крутится моторчик.


 
Странник   (2003-11-19 11:32) [8]

или цельная технологическая линия на заводе... :)


 
Digitman   (2003-11-19 11:48) [9]


> можно ли сделать ... так, чтобы компьютер управлял
> каким-нибудь устройством?


если бы компьютер не мог этого делать в принципе, на кой ляд такой компьютер кому-то нужен был бы)

Делфи - лишь удобный инструмент, с пом.которого компьютер можно "обучить" любому подобному "ремеслу" ... и не более того)


 
-=Ventus=-   (2003-11-19 12:40) [10]

y-soft © (19.11.03 08:50) [5]
У нас на предприятиях огромными технологически процессами управляют довольно простые программы написанные на дельфи и никаких проблем с помехами ненаблюдалось.


 
NickBat   (2003-11-19 12:52) [11]

В большинстве случаев для управления внешними устройствами используются контроллеры, а не обычные компьютеры. Хотя контроллер и является частным случаем компьютера. :)))


 
y-soft   (2003-11-19 16:03) [12]

>-=Ventus=- © (19.11.03 12:40) [10]

Процесс процессу рознь. Компьютер, как правило, управляет не непосредственно процессами, а контроллерами (как верно заметил NickBat ©), причем контроллер сам может быть достаточно сложным и интеллектуальным и в свою очередь управлять другими контроллерами.
Реальное время тоже чаще всего реализуется аппаратно, а если программно, то обычно не под Windows.
В серьезных задачах применяется аппаратное резервирование, либо предусматривается автономный режим работы при выходе из строя каких-либо узлов или нарушениях связи.
То, что нет проблем с помехами и надежностью связи, так вам просто повезло, значит не используются длинные линии или радиоканал и нет наводок.
На Delphi, как правило, пишется только ПО верхнего уровня и вспомогательные утилиты.
Для отладки приходится мастерить стенды и создавать условия, приближенные к реальным, в крайнем случае - писать непростые эмуляторы, а потом гонять сутками во всех немыслимых режимах, т.к. ошибки в реально работающих системах чреваты (это не зависший компьютер перегрузить)...

P.S. Большую часть своей трудовой деятельности занимаюсь такими задачами (последние лет 8 - автоматизированными системами управления дорожным движением), и в программирование пришел из релейно-контактной логики. На Delphi перешел после того, как увидел работающую на алюминиевом заводе систему, написанную на Delphi 1 :)


 
RealRascal   (2003-11-19 16:34) [13]

Сам лично воплощал сабж. Програмка управляла испытательной машиной и снимала данные с нее через компорт. Написал полностью на Delphi(+ некоторые компоненты). Устроена она кривовато(некоторые компоненты использовал не по назначению), зато свое дело делает.


 
alexteam   (2003-11-20 11:57) [14]

Ком порт + усилитель ... не плохо бы было посылать на пин не просто логический ноль или единицу а чередовать их с определенным периодом X мс - единица, У мс - логический ноль,
тогда можно да-же яркостью той-же лампочки управлять. а внешняя схема вообще элементарна, кандер + оптопара + блок питания естесно


 
GEN   (2003-11-20 12:31) [15]

Можно !!! Пробуй и обязательно получится. Только не читай про проблемы, иначе остановишься не начав.


 
y-soft   (2003-11-20 13:16) [16]

>GEN © (20.11.03 12:31) [15]

А что их (проблем) бояться? :) В простых задачах они не возникнут. А так, что проще - пиши/читай в любой доступный дивайс с помошью WriteFile, ReadFile, DeviceIOControl или DirectInput и наслаждайся :)


 
han_malign   (2003-11-20 13:20) [17]

> ... или DirectInput ...
- ну тогда и HID API упомянуть стоит...


 
y-soft   (2003-11-20 14:04) [18]

>han_malign © (20.11.03 13:20) [17]

Ну тогда и EscapeCommFunction - можно играться линиями DTR и RTS com-порта и переводить его в состояние BREAK... :)


 
Kair   (2003-11-24 07:29) [19]

Знает ли кто-нибудь какие-нибудь ссылки на документацию по этой теме?


 
SkyRanger   (2003-11-24 08:18) [20]

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



Страницы: 1 вся ветка

Форум: "Потрепаться";
Текущий архив: 2003.12.16;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.49 MB
Время: 0.008 c
3-52104
Behemoth
2003-11-24 11:20
2003.12.16
Как перекинуть данные из одной таблицы в другую?


6-52316
ZA
2003-10-17 09:02
2003.12.16
Вывод HTML + обработка событий


4-52431
Igit
2003-10-23 17:13
2003.12.16
ReadFile


1-52265
zzzrrv
2003-12-04 12:04
2003.12.16
Report Builder 7


3-52105
ivanovsergey
2003-11-24 10:55
2003.12.16
Создать таблицу dbase





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский