Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 02.10.2010, 11:33   #1
midis
 
Регистрация: 18.09.2010
Сообщений: 9
По умолчанию Задержка в (нс) средствами Delphi.

Как организовать задержку между действиями в цикле в наносекундах ?
К примеру: Есть цикл Repeat...Until в теле цикла пять команд между каждой командой должна быть задержка в (нс), в миллисекундах не подходит слишком медленно. После выполнения 5-й команды опять задержка и проверка условия. Задержка должна задаваться с пользовательского интерфейса.
И еще эти команды будут задавать высокий или низкий логический уровень, на какой либо из портов (параллельных или последовательных)-это неважно, вопрос в следующим как замерить скважность импульсов программно а не аппаратно. Как аппаратно я знаю - достаточно осциллографа, но как программно мне не известно може кто подскажет ?
Заранее спс за внимание.
midis вне форума Ответить с цитированием
Старый 02.10.2010, 11:39   #2
Alex Cones
Trust no one.
Старожил
 
Аватар для Alex Cones
 
Регистрация: 07.04.2009
Сообщений: 6,526
По умолчанию

Винда не система реального времени.

Но...

Цитата:
Можно, еще так

asm
out 0EBh,al ; Задержка около 250 нс
out 0EBh,al ; Задержка около 250 нс
end;


Только работа с портами ввода вывода должна быть разрешена. А то иначе исключение будет и зодержка будет горазда больше.
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ
GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ
Alex Cones вне форума Ответить с цитированием
Старый 02.10.2010, 11:57   #3
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,713
По умолчанию

Цитата:
И еще эти команды будут задавать высокий или низкий логический уровень, на какой либо из портов (параллельных или последовательных)-это неважно
КАК раз очень даже важно, эти порты не способны обеспечить такие скорости, не говоря уже о виндовс ...qnx еще куда ни шло, но с портами как минимум pci.
Цитата:
как замерить скважность импульсов программно а не аппаратно
прикол конечно, улыбнул если знаешь как аппаратно, то точно так же и программно, ведь что такое скважность вы знаете, не так ли? ...однако повторю вышесказанное, средствами Delphi под windows на указанных вами портах такое недостижимо.

...что касается конкретных величин, то вы не озвучили такую важную вещь как порядок наносекунд, сколько? единицы и сотни нс - это разные вещи.
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation
raxp вне форума Ответить с цитированием
Старый 02.10.2010, 12:01   #4
midis
 
Регистрация: 18.09.2010
Сообщений: 9
По умолчанию

Цитата:
Сообщение от Alex Cones Посмотреть сообщение
Винда не система реального времени.

Но...
Ну эт спорный "Ответ" а спорить я не буду Дело в том что если бы я не изобретал "велосипед" мне бы такие глупые вопросы в голову не лезли. Но есть куча периферийных девайсов которые были сделаны до меня и работают из под винды по такому же принципу. Примеры я приводить не буду так как потребуется объяснения динамики и физики этих девайсов а эт долго и возможно приведет к нежелательной дискуссии. К сожалению колесо у тех велосипедов свиснуть сложно и нехорошо эт будет Есть такое понятие как право на интеллектуальную собственность и оно поддерживается правовым законодательством. За нарушения этого права могут пряником обидеть Но всеровно спс за реакцию, отсутствие результата, тоже результат
midis вне форума Ответить с цитированием
Старый 02.10.2010, 12:14   #5
midis
 
Регистрация: 18.09.2010
Сообщений: 9
По умолчанию

Цитата:
Сообщение от Alex Cones Посмотреть сообщение
Винда не система реального времени.

Но...
Спс я эту цитату уже читал на форуме но времени еще не было разобраться но думаю что мне такое решение не подойдет
midis вне форума Ответить с цитированием
Старый 02.10.2010, 12:29   #6
midis
 
Регистрация: 18.09.2010
Сообщений: 9
По умолчанию

raxp
КАК раз очень даже важно, эти порты не способны обеспечить такие скорости, не говоря уже о виндовс ...qnx еще куда ни шло, но с портами как минимум pci.
Значит работа плоттеров и принтеров из под винды через LPT не реальна исходя из вашего утверждения. Так как в плоттерах и принтерах применяются ШД (Шаговые двигатели) для позиционирования а у них в свою очередь близко 400 шагов на оборот в 360 градусов следовательно 400 изменений состояния уровня на LPT с низкого на высокий на драйвер управления да еще там для более точного позиционирования винтовые и ремёнчатые передачи стоят которые к примеру преобразуют один оборот ШД в перемещение каретки на 1мм. Може конечно я и не прав но вы вот это сможете объяснить ? Говоря вашими словами скорость печати 20 листов в минуту это миф Вот не хотел лезть в механику, динамику и физику этих процессов Еще примеры нужны ? А да совсем забыл, у них там еще и скорость программно меняется Но всеравно и вам спс за ответ
Еще добавлю что в некоторых АСУ (автоматических системах управления) опрос периферии ПП (первичных преобразователей) происходит через RS485(COM) таких ПП может быть тысячи через ветвления, а управление идет в реальном времени из под Винды которая "Не система реального времени" - Тоже миф ? Я прошу как новичок може я ошибаюсь ну тыкните мне пальцем на ошибку.

Последний раз редактировалось midis; 02.10.2010 в 12:47.
midis вне форума Ответить с цитированием
Старый 02.10.2010, 12:48   #7
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,713
По умолчанию

TC:
1- не плодите посты друг за другом, за это штрафуют, ознакомтесь с правилами
2- не вижу никакой связи с принтерами, так как управление их ШД осуществляется внутренними драйверами и никак не на уровне наносекунд и даже не микросекунд а мы-то дураки не знали, используем для систем реального времени счетверенные DSP RISC процессоры с компакт-pci фейсом, чтобы успеть за потоком, вона значит как
3- не нужно приписывать моим словам того, чего я не говорил, это ваши досужие домыслы
4- пальцевать на форуме не нужно, не с того вы начали себя проявлять.

А теперь факт, который вы вполне можете почерпнуть из даташита на режимы LPT - максимальная скорость в режиме EPP до 1.7 Mбайт/с и то с выпаянными конденсаторами с data линий для уменьшения затягивания фронтов.

OFFTOP >
Цитата:
Еще добавлю что в некоторых АСУ (автоматических системах управления) опрос периферии ПП (первичных преобразователей) происходит через RS485(COM) таких ПП может быть тысячи через ветвления, а управление идет в реальном времени
вот не надо мне рассказывать про АСУ ...вы путаете понятие реального времени вообще как таковое и соразмерность наносекунд и миллисекунд, там скорости обмена дай боже в лучшем случае миллисекунды с учетом всех протоколов ...как правило используются конверторы USB/RS-485, для RS-485 (это лишь физический протокол) максимально достижимый поток неограничен по скорости, однако он ограничен реально существующими LVDS драйверами, которые выпускаются на данный момент и сотни мегабит вытянут на паре-десятке сантиметров, далее порядки в десять раз меньше, а на километрах в условиях промпомех эти скорости еще меньше до 10 мегабит.

p.s.: вы далеко отошли от своей же темы, если вы хотите подискутировать на тему реал-ос и устройствам, то велкам в свободное общение или тему железа ...возвращаясь к вашему вопросу:
Цитата:
Как организовать задержку между действиями в цикле в наносекундах в delphi на LPT или COM?
никак.
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation

Последний раз редактировалось raxp; 02.10.2010 в 13:10.
raxp вне форума Ответить с цитированием
Старый 02.10.2010, 12:59   #8
Levsha100
Заблокирован
Старожил
 
Регистрация: 20.07.2008
Сообщений: 4,032
По умолчанию

Дергать линиями порта программно - это извращенство. Существуют протоколы передачи данных, которые уже реализованы аппаратно, например rs-232.
Как вариант можно сделать аппаратный "драйвер" на микроконтроллере, и уже с него рулить.

Не обратил внимание на НАНОСЕКУНДЫ- что за бред?
У вас там в России все свихнулись на нано?

Последний раз редактировалось Levsha100; 02.10.2010 в 13:02.
Levsha100 вне форума Ответить с цитированием
Старый 02.10.2010, 13:04   #9
midis
 
Регистрация: 18.09.2010
Сообщений: 9
По умолчанию

Вот еще добавлю ссылочку http://silver-dog.narod.ru/hands/ports/ports.htm там есть описание низкоскоростных последовательных портов COM Если 10 Мбит/с эт низкая скорость то я со всеми выше изложенными критиками согласен
midis вне форума Ответить с цитированием
Старый 02.10.2010, 13:14   #10
midis
 
Регистрация: 18.09.2010
Сообщений: 9
По умолчанию

Цитата:
Сообщение от Levsha100 Посмотреть сообщение
Дергать линиями порта программно - это извращенство. Существуют протоколы передачи данных, которые уже реализованы аппаратно, например rs-232.
Как вариант можно сделать аппаратный "драйвер" на микроконтроллере, и уже с него рулить.

Не обратил внимание на НАНОСЕКУНДЫ- что за бред?
У вас там в России все свихнулись на нано?
Спс за предложения создать драйвер на контролере в дальнейшем так и поступлю може возьму че небуть готовое из инета на основе AVR но пока эт усложнит конструкцию А что касается наносекунд то в чем же тут бред ? Яж и прошу объяснить, если это не возможно то так и скажите.
midis вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Автоматизация средствами Delphi >>arty<< Общие вопросы Delphi 18 06.08.2010 15:53
Форматирование средствами Delphi Life_Master Общие вопросы Delphi 4 20.05.2010 08:04
Отладка DLL средствами Delphi mMAg Помощь студентам 4 25.08.2009 17:54
Создание защиты средствами DELPHI JustKurt Общие вопросы Delphi 10 30.07.2009 09:50
Задержка в Delphi Wi1D Помощь студентам 5 09.03.2009 12:41