![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Регистрация: 06.06.2011
Сообщений: 4
|
![]()
Доброго времени суток. Подскажите пожалуйста как сделать чтобы можно было управлять независимо выходами в LPT порту. "написал" программу которая проверяет всего одну цифру 0 или 1 в 12 файлах config.01 - config.12 Задача стоит чтобы удалённо через браузер включать и выключать нагрузки. Сервер на Апаче. При нажатии кнопки записывается 0 или 1 в нужный файл. Электронная часть работает. С программной у меня проблема.
rocedure TForm1.Timer1Timer(Sender: TObject); var Port: word; Data: Byte; begin Memo1.Lines.LoadFromFile('config.01 '); if Memo1.Lines[0]='1' then Out32(888, 64); if Memo1.Lines[0]='0' then Out32(888, 0); end; функция then Out32(888, 64); включает нужный мне пин вместо 64 (1 2 4 8 16 32 64 128) then Out32(888, 0) выключает все. Последний раз редактировалось TESLEX; 06.06.2011 в 12:52. |
![]() |
![]() |
![]() |
#2 | |
Старожил
Регистрация: 29.09.2009
Сообщений: 9,713
|
![]() Цитата:
Код:
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation |
|
![]() |
![]() |
![]() |
#3 |
Регистрация: 06.06.2011
Сообщений: 4
|
![]()
Я использую библиотеку inpout32.dll. Как через неё организовать управление. Светодиоды напаяные для теста к потру зажигаются раздельно. надо теперь их раздельное выключение. Весь мой опыт программирования сводится к этой проге. Если возможно направьте на путь истинный уже кучу всего перелопатил. сегодня до 5 утра просидел. Голова пухнет. Видно мелочь но натыкаюсь на одни и теже вилы.
Последний раз редактировалось TESLEX; 06.06.2011 в 16:57. |
![]() |
![]() |
![]() |
#4 | |
Старожил
Регистрация: 29.09.2009
Сообщений: 9,713
|
![]() Цитата:
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation |
|
![]() |
![]() |
![]() |
#5 |
Регистрация: 06.06.2011
Сообщений: 4
|
![]()
С битами разобрался. как теперь две команды связать с двумя равенствами.
if Pin2 = false then ButtonPin2; бит включен if Pin2 = true then ButtonPin2; бит выключен begin Memo1.Lines.LoadFromFile('config.01 '); if Memo1.Lines[0]='1' выполняется if Pin2 = false then ButtonPin2; if Memo1.Lines[0]='0' выполняется if Pin2 = true then ButtonPin2; end; |
![]() |
![]() |
![]() |
#6 |
Регистрация: 06.06.2011
Сообщений: 4
|
![]()
Кажется я сам нашёл решение своей проблемы
![]() procedure TForm1.Timer1Timer(Sender: TObject); begin Memo1.Lines.LoadFromFile('config.01 '); if Memo1.Lines[0]='1'= Pin2 = false then ButtonPin2; if Memo1.Lines[0]='0'= Pin2 = true then ButtonPin2; end; и так далее для каждого пина. Тест 4 выходов показал что работает как мне и было нужно. |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Управление ШД через LPT - порт | remz | Общие вопросы Delphi | 17 | 06.10.2010 22:39 |
Управление lpt стороней программой. | Кирилл Игоревич | Фриланс | 9 | 11.07.2010 22:20 |
Управление LPT портом | nikleb | Паскаль, Turbo Pascal, PascalABC.NET | 5 | 27.05.2010 19:40 |
Управление LPT портом | Kuzmichinishe | Помощь студентам | 3 | 28.09.2009 11:07 |
Управление LPT под winXP | maestrog | Общие вопросы Delphi | 1 | 03.04.2009 01:26 |