Welcome Guest ( Log In | Register )

Help | Search | Members | Calendar

 
Управление устройством с кома, Программа на уровне портов ввода/выво
« Next Oldest | Next Newest » Track this topic | Email this topic | Print this topic
unh0|y
Posted: Jun 21 2006, 12:08

Brain Master

Group: Elite Member
Member No.: 1303

Joined: June 3, 2005

Имеется следующая задача: необходимо написать програму, которая будет управлять токарным станком, подключённым к компу через некий девайс (неважно какой и как). Станок должен получать команды от компьтера и посылать данные компьютеру:

Команды, которые станок должен получать от компьютера:
1) Включить.
5) Выключить.
5) Сдвинуть резец на шаг вправо.
6) Сдвинуь резец на шаг внутрь.
7) Передать станку скорость вращения мотора.
8) Передать станку точность движения шага.

Данные, которые станок передаёт компьютеру:
1) Сообщать занят он или нет текушим действием (прерыванием)
2) Сообщать сломан он или нет (прерыванием)
3) Сообщать включён или нет.(прерыванием)

Пусть скажем под это дело данны три порта:
1) Порт состояния – 100h
а) Вкл -------1 (последний бит)
Выкл -------0 (последний бит)

б) Сломан ------1- (7-ой бит)
Не сломан ------0- (7-ой бит)

в) Занят -----1-- (6-ой бит)
Незанят -----0-- (6-ой бит

2) Порт команд – 101h
а) Включить -------1 (последний бит)
Выключить -------0 (последний бит)

б) Резец на шаг вправо ------1- (7-ой бит)

в) Резец на шаг вовнутрь -----1-- (6-ой бит)


3) Порт данных – 102h
а) Скорость вращения 5000 об/мин -------1 (последний бит)

б) Скорость вращения 8000 об/мин ------1- (7-ой бит)

в) Скорость вращения 10000 об/мин -----1-- (6-ой бит)

г) Скорость вращения 12000 об/мин ----1--- (5-ый бит)

д) Установить точность шага в см ---1---- (4-ой бит)

е) Установить точность шага в мм –1----- (3-ий бит)

ё) Установить точность шага в мк -1------ (2-ой бит)

ж) Установить точность шага в нм 1------- (1-ый бит)

Как можно всё это реализовать?
Програма не будет использоваться в реальных условиях, это всего лишь задача.







--------------------
Если ничто другое не помогает, прочтите, наконец, инструкцию!
<Аксиома Кана>

--------------------
Die with your boots on
 
    Top
unh0|y
Posted: Jun 22 2006, 23:35

Brain Master

Group: Elite Member
Member No.: 1303

Joined: June 3, 2005

Ну? Никто не поможет?

--------------------
Если ничто другое не помогает, прочтите, наконец, инструкцию!
<Аксиома Кана>

--------------------
Die with your boots on
 
    Top
arnix
Posted: Jun 27 2006, 16:11

Challenger

Group: Moderator
Member No.: 869

Joined: July 31, 2004

Ты не имеешь никакого представления как это можно делать и хочешь чтобы тебе "помогли"? Тойсть сделали за тебя? Ты бы лучше что-нибудь конкретное спрашивал, тогда и, думаю, ответы будут, а так никто не будет просто так тратить несколько часов.
 
    Top
-=iR0Nr@T=-
Posted: Jun 27 2006, 18:21

Light Bringer

Group: Moderator
Member No.: 100

Joined: March 28, 2003

QUOTE

Данные, которые станок передаёт компьютеру:
2) Сообщать сломан он или нет (прерыванием)



а как ты будеш определять сломан / не сломан(и что сломан)?

PS.
не забудь указывать направление движения wink.gif так как резец может двигаться не только в право, но и в право... Так что 1 бит на управление одной координатой может не хватить...
 
    Top
unh0|y
Posted: Jun 27 2006, 20:10

Brain Master

Group: Elite Member
Member No.: 1303

Joined: June 3, 2005

QUOTE (In the immortal words of arnix, since Jun 27 2006, 16:11)
Ты не имеешь никакого представления как это можно делать и хочешь чтобы тебе "помогли"? Тойсть сделали за тебя? Ты бы лучше что-нибудь конкретное спрашивал, тогда и, думаю, ответы будут, а так никто не будет просто так тратить несколько часов.

Представление имею, уже сделал.

--------------------
Если ничто другое не помогает, прочтите, наконец, инструкцию!
<Аксиома Кана>

--------------------
Die with your boots on
 
    Top
unh0|y
Posted: Jun 27 2006, 20:14

Brain Master

Group: Elite Member
Member No.: 1303

Joined: June 3, 2005

QUOTE (In the immortal words of -=iR0Nr@T=-, since Jun 27 2006, 18:21)
а как ты будеш определять сломан / не сломан(и что сломан)?

PS.
не забудь указывать направление движения wink.gif так как резец может двигаться не только в право, но и в право... Так что 1 бит на управление одной координатой может не хватить...

Определяю не я, а типа станок проверяет и сообщает. Задачу составлял не я.

ПС
"двигаться не только в право, но и в право" два раза вправо?

ПС2
Топик можно закрыть.


--------------------
Если ничто другое не помогает, прочтите, наконец, инструкцию!
<Аксиома Кана>

--------------------
Die with your boots on
 
    Top
-=iR0Nr@T=-
Posted: Jun 28 2006, 11:08

Light Bringer

Group: Moderator
Member No.: 100

Joined: March 28, 2003

QUOTE
двигаться не только в право, но и в право" два раза вправо?


опечатка вышла, хотел написать двигаться не только в право, но и в лево
 
    Top
arnix
Posted: Jun 28 2006, 13:26

Challenger

Group: Moderator
Member No.: 869

Joined: July 31, 2004

QUOTE (In the immortal words of unh0|y, since Jun 27 2006, 20:10)
Представление имею, уже сделал.

Тогда прости, просто вопрос "Как можно всё это реализовать" выглядел немножко обобшённым wink.gif
 
    Top
unh0|y
Posted: Jun 28 2006, 18:16

Brain Master

Group: Elite Member
Member No.: 1303

Joined: June 3, 2005

QUOTE (In the immortal words of -=iR0Nr@T=-, since Jun 28 2006, 11:08)

опечатка вышла, хотел написать двигаться не только в право, но и в лево

2-=iR0Nr@T=->
Ок, ясно. Там по задумке резец вытачивал сначала вертикаль, возвращался на исходную позицию, затем двигался вправо и по новой вытачивал вертикаль.

2arnix>
Согласен. smile.gif


--------------------
Если ничто другое не помогает, прочтите, наконец, инструкцию!
<Аксиома Кана>

--------------------
Die with your boots on
 
    Top
seagull
Posted: Nov 7 2007, 20:26

Incomer

Group: Member
Member No.: 2945

Joined: August 30, 2007

Linux I/O programming
Загляни сюда,может понадобиться в следующий раз.

--------------------
Говорящий не знает,знающий не говорит!
{ Лао Цзы }
 
      Top
9 replies since Jun 21 2006, 12:08 Track this topic | Email this topic | Print this topic

<< Back to System and low-level programming

 




Arminco Global Telecommunications