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

Вниз

зациклился на циклах(начинающий)   Найти похожие ветки 

 
Сергей М. ©   (2011-09-12 16:54) [40]


> Станок надеюсь будет работать по дереву


Ну по дереву еще ладно - дерево и не такое стерпит)..
Там плюс-минус туда-сюда пол-сантимметра потом допиливается, шпаклюется-шлифуется и лажа "станкопрограммиста" в результате практически не заметна)


 
LAZudhic   (2011-09-12 16:58) [41]

вот можешь воодушевить =)


 
LAZudhic   (2011-09-12 17:25) [42]

НУ ЧТО поехали нужна маленькая помощь к примеру при нажатии кнопки пуск запускается цикл а при нажатии кнопки стоп и команды break выход из цикла(посоветуйте как это сделать и если не сложно объяснить )
вот код программы после создания второй кнопки:

unit Unit155;

interface

uses
 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
 Dialogs, StdCtrls;

type
 TForm1 = class(TForm)
   Button1: TButton;
   Button2: TButton;
   procedure Button1Click(Sender: TObject);
   procedure Button2Click(Sender: TObject);
 private
   { Private declarations }
 public
   { Public declarations }
 end;

var
 Form1: TForm1;

implementation

{$R *.dfm}
function Inp32(PortAdr: word): byte; stdcall; external "inpout32.dll";
function Out32(PortAdr: word; Data: byte): byte; stdcall; external "inpout32.dll";
procedure TForm1.Button1Click(Sender: TObject);
var i,j,a,b: Integer;
begin
for i := 1 to 400 do
begin
out32(888,17);
out32(888,19);
sleep(20);
out32(888,18);
out32(888,22);
sleep(20);
out32(888,20);
out32(888,28);
sleep(20);
out32(888,24);
out32(888,25);
sleep(20);
end;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin

end;

end.


 
Inovet ©   (2011-09-12 18:06) [43]

> [42] LAZudhic   (12.09.11 17:25)
> при нажатии кнопки пуск запускается цикл а при нажатии кнопки
> стоп и команды break выход из цикла


type
 TForm1 = class(TForm)
   btStart: TButton;
   btStop: TButton;
   procedure btStartClick(Sender: TObject);
   procedure btStopClick(Sender: TObject);
 private
   { Private declarations }
   FlagStop: bool;
 public
   { Public declarations }
 end;

var
 Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.btStartClick(Sender: TObject);
begin
 FlagStop := false;
 while not FlagStop do
 begin
   Application.ProcessMessages;
 end;
 ShowMessage("Stop");
end;

procedure TForm1.btStopClick(Sender: TObject);
begin
 FlagStop := true;
end;

end.


 
Сергей М. ©   (2011-09-12 21:20) [44]

Дрова из-под такого станка выползут, вестимо, классные)
Чуть драчевым напильником шлифануть - и готова итальянская мебель)


 
Inovet ©   (2011-09-12 21:31) [45]

А движки от принтера не надорвутся деревяшки таскать?


 
Германн ©   (2011-09-13 00:24) [46]


> LAZudhic   (12.09.11 17:25) [42]
>
> НУ ЧТО поехали

Мне одному кажется, что код по ссылке - "перевод на Дельфи" старой Паскалевской проги, написанной для MSDOS?


 
Inovet ©   (2011-09-13 09:21) [47]

> [46] Германн ©   (13.09.11 00:24)
> что код по ссылк

По какой ссылке?


 
Германн ©   (2011-09-13 10:37) [48]


> По какой ссылке?

Ну там, где "Поехали".
LAZudhic   (12.09.11 17:25) [42]


 
Inovet ©   (2011-09-13 10:55) [49]

> [48] Германн ©   (13.09.11 10:37)
> Ну там, где "Поехали".
> LAZudhic   (12.09.11 17:25) [42]

ДОСовская по управлению шаговым двигателем? По распайке разъёма разве что пожно идентифицировать.
Идентифицировал
http://subscribe.ru/archive/comp.hard.38445/200704/15064647.html


 
aleko ©   (2011-09-13 18:22) [50]


> Для компонентов можно использовать венгерскую нотацию, типа
> btnStart или dlgOpenFile или lblTime.

Что такое венгерская нотация? Первый раз слышу...
Достаточно мало-мальски знать англоязычный язык. Хотя и у меня с ним не совсем ладно, однако слова типа алярм, ворнинг, сэйв и импорт вполне понимаю. А для других случаев в сети есть транслейтер. Переведет хоть с языка суахили.


 
Inovet ©   (2011-09-13 18:43) [51]

> [50] aleko ©   (13.09.11 18:22)
> Что такое венгерская нотация? Первый раз слышу...

Забанили в поиске?
http://ru.wikipedia.org/wiki/%D0%92%D0%B5%D0%BD%D0%B3%D0%B5%D1%80%D1%81%D0%BA%D0%B0%D1%8F_%D0%BD%D0%BE%D1%82%D0%B0%D1%86%D0%B8%D1%8F


 
LAZudhic   (2011-09-13 20:07) [52]

А движки от принтера не надорвутся деревяшки таскать?-всё зависит от типа редуктора конечно страдает производительность повышается точность и к тому же я не деревяшки таскать буду а двигатель с фрезой над деревяшками
теперь второе наконец избавился от цикла for в программе. Кроме палок в колёса и насмешок всё таки были дельные советы спасибо
теперь программа приобрела вот такой вид:

unit Unit15;

interface

uses
 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
 Dialogs, StdCtrls;

type
 TForm1 = class(TForm)
   Button1: TButton;// кнопка Пуск
   Button2: TButton;// кнопка СТОП
   procedure Button1Click(Sender: TObject);
   procedure Button2Click(Sender: TObject);
 private
   { Private declarations }
 public
   { Public declarations }
 end;

var
 Form1: TForm1;
 Stop: Boolean = False;
implementation

{$R *.dfm}
function Inp32(PortAdr: word): byte; stdcall; external "inpout32.dll";
function Out32(PortAdr: word; Data: byte): byte; stdcall; external "inpout32.dll";
procedure TForm1.Button1Click(Sender: TObject);
var i: Integer; // переменые
begin
 Button2.Enabled:=True;
 Button1.Enabled:=False;
 Stop:=False;
while not(Stop) do // длительность цикла
begin
//for i := 1 to 10 do

out32(888,17);// вывод на лпт pin 2,упр pin6
out32(888,19);//вывод на лпт pin 2,3,упр pin6
sleep(20);// пауза в милисекундах
out32(888,18);//вывод на лпт pin 3,упр pin6
out32(888,22);//вывод на лпт pin 3,4,упр pin6
sleep(20);// пауза в милисекундах
out32(888,20);//вывод на лпт pin 4,упр pin6
out32(888,28);//вывод на лпт pin 4,5,упр pin6
sleep(20);// пауза в милисекундах
out32(888,24);//вывод на лпт pin 5,упр pin6
out32(888,25);//вывод на лпт pin 5,1,упр pin6
sleep(20);// пауза в милисекундах
Application.ProcessMessages
end
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
 Stop:=True;
 Button2.Enabled:=False;
 Button1.Enabled:=True;

end;

end.


 
LAZudhic   (2011-09-13 21:27) [53]

ну а теперь нужна помощь в другом как сделать чтоб 1-картинка JPEG сразу появлялась на форме после запуска программы и 2-можно ли без такого типа С:\1\1\1.jpg а проще если рисунок находится в том же каталоге с программой типа 1.jpg(рисунок будет отображать электронную схему при которой правильно будет работать программа ) код программы изложен выше что и куда дописать при использование image на форме?(надеюсь что ответ будет мне понятен будьте пожалуйста подробней    )  заранее СПС =)


 
Сергей М. ©   (2011-09-13 21:37) [54]


> надеюсь что ответ будет мне понятен


зря надеешься.
спроси почему.
а может сам догадаешься, перечитав свою же ахинею ?


 
Dennis I. Komarov ©   (2011-09-13 21:37) [55]

Плохиш в отпуске?
Ну в самом деле...


 
LAZudhic   (2011-09-13 22:04) [56]

придётся опять самому весь интернет перекапывать вытаскивать из примеров с кнопками и прочих примеров на других сайтах впихивать их в свою программу и глядеть а вдруг получится нет не получается и дня три убить на то чтобы получилось как задумал ведь приятно когда с твоей программой учебника не надо а каждый прекрасно понимает для чего и как она будет работать (ну к примеру винап вы что учебник как правильно настроить использовать читали ,нет просто там всё понятно что для чего а теперь найдите программу для ЧПУ и вот вам и учебник нужен как правильно настроить что где поставить а в результате и второй раз вы полезете в учебник если первый раз всё таки установили я хочу чтоб даже 10 летний мальчуган не гонял по интернету в поисках ответа на данную программу  )ай ладно не фотошоп же делаю мне денег за это не отсыпят


 
Dennis I. Komarov ©   (2011-09-13 22:27) [57]


> придётся опять самому...

и это единственный путь познания дао...


 
Inovet ©   (2011-09-13 22:27) [58]

> [56] LAZudhic   (13.09.11 22:04)
> винап вы что учебник как правильно настроить использовать
> читали ,нет просто там всё понятно что для чего а теперь
> найдите программу для ЧПУ

ЧПУ посложнее Винампа вообще-то. Ребёнка 10-тилетнего к фрезе нельзя подпускать, и взрослого нельзя без сдачи экзамена по правилам техники безопасности.


 
Inovet ©   (2011-09-13 22:40) [59]

> [52] LAZudhic   (13.09.11 20:07)
>   Button1: TButton;// кнопка Пуск
>   Button2: TButton;// кнопка СТОП

И эта. Я там в примере имена не поленился нормальные дать, а ты снова Батон1, Батон2. И текст программы не форматируешь. Я уж не говорю, что в таком виде она бессмысленная.

Загружать схему. Какую схему - тебе программу для ЧПУ надо загружать и выполнять её в своей, для этого определиться с набором команд, потом с форматом хранения программы, в чём её будешь генерировать или вручную расчитывать и набивать. В управляущей программе, о которой мы тут говорим, надо предусмотреть чтение из файла сохранённой программы ЧПУ, разбор по операциям, их выполнение, и уже на сам нижнем уровне управление двигателями.


 
LAZudhic   (2011-09-13 23:08) [60]

так тут пожалуй СТОП а ты может и знаешь на какие контакты будет идти управление а на какие поворот двигателя у меня их подключено будет 3 Х,Y,Z плюс включение реле для фрезы например или выжегателя и т.п. а контактов всего 8(pin) на выход из LPT на шаговом двигателе от 4 до 6 проводов
и так задоча для какой я схемы сделал программу ????????????


 
LAZudhic   (2011-09-13 23:20) [61]

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


 
Inovet ©   (2011-09-13 23:42) [62]

> [60] LAZudhic   (13.09.11 23:08)
> и так задоча для какой я схемы сделал программу ????????????

Да пофиг для какой. Это нижний уровень - драйвер, он отрабатывает элементарные команды: сдвинуть в (х, y), опустить, поднять, включить, выключит и т.п.. Это отдельная программа считай. А ты про какие-то схемы в JPG как на экране рисовать.


 
Германн ©   (2011-09-14 00:16) [63]

Нормальные разработчики ПО для заводских станков, стендов и т.д. и т.п. делают для них контроллеры на микропроцессорах, которые и выполняют всю тонкую работу типа управления шаговыми двигателями. Причём с очень большой точностью (так что подойдёт не только для дерева! :) А ПО на персональном компьютере только задаёт в нужный момент нужную программу действий для контроллера, общаясь с ним по СОМ-порту/USB-порту и т.д. и т.п. без всяких временнЫх проблем.


 
Inovet ©   (2011-09-14 00:37) [64]

> [63] Германн ©   (14.09.11 00:16)
> делают для них контроллеры на микропроцессорах

Вот. И автор когда-нибудь переделает, а в программе, при изначально грамотном подходе, надо будет заменить только "драйвер". Впрочем, пока и его нет.


 
Германн ©   (2011-09-14 00:42) [65]


> Вот. И автор когда-нибудь переделает, а в программе, при
> изначально грамотном подходе, надо будет заменить только
> "драйвер".

В ПО при изначально грамотном подходе останется только сделать удобный интерфейс. Удобный для конкретного пользователя. Что мы и делали уже для ЗИЛ"а, ПЕКАРЗ"а и ДААЗ"а.


 
Inovet ©   (2011-09-14 00:44) [66]

> [64] Inovet ©   (14.09.11 00:37)

Я кажется понял всю "глубину" мысли автора. Программа для ЧПУ и будет состоять из последовательности вот таких строк

out32(888, aa);
out32(888, bb);
sleep(20);


 
Германн ©   (2011-09-14 01:09) [67]


> Я кажется понял всю "глубину" мысли автора. Программа для
> ЧПУ и будет состоять из последовательности вот таких строк

Именно так!
Но в ДОСе это нормально (более-менее) работало. Ибо однозадачная ОС. Для Винды сделали функции типа In32/Out32 чтобы работать с портами ввода/вывода. Но нынешний дельфийский Sleep не годится даже в подмётки старому турбопаскалевскому Delay. Именно по причине другой ОС.


 
Inovet ©   (2011-09-14 01:57) [68]

> [67] Германн ©   (14.09.11 01:09)
> Но в ДОСе это нормально

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


 
brother ©   (2011-09-14 03:08) [69]

> С:\1\1\1.jpg а проще

да, просто 1.jpg

> (рисунок будет отображать электронную схему при которой
> правильно будет работать программа )

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


 
Jeer ©   (2011-09-14 09:55) [70]


> Я о том что неужели всё изготовление детали будет описано
> вот таким набором команд коммутации обмоток шагового двигателя.
>


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

http://vri-cnc.ru/


 
Inovet ©   (2011-09-14 10:30) [71]

> [69] brother ©   (14.09.11 03:08)
> те ты хочешь анализировать чертеж и по нему давать команды на обработку?

Нет, я выше уже понял. Это для удобства программирования обмоток. Ужас.


 
LAZudhic   (2011-09-14 16:40) [72]

нет вы меня не поняли я ещё не хочу заняться управлением я хочу чтобы человек собрав свой первый контролер на тм7 и драйвер(силовая часть) на транзисторах не ломал голову а как мне проверить работает ли он и тут скачав программу в которой есть рисунок (схема простого чпу) и нажимая на клавиши он проверит крутятся ли двигатели если нет то схема перед глазами и он начнёт искать неисправности в электрической части и так вы поможете мне вывести рисунок на форму или нет


 
RWolf ©   (2011-09-14 17:50) [73]


> LAZudhic   (14.09.11 16:40) [72]

чего там выводить, кинул на форму TImage с картинкой да развернул его во все поля.


 
Inovet ©   (2011-09-14 18:14) [74]

> [72] LAZudhic   (14.09.11 16:40)
> рисунок (схема простого чпу)
> и так вы поможете мне вывести рисунок на форму или нет

Архи сложно. Ты прикалываешься?

unit Unit1;

interface

uses
 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
 Dialogs, StdCtrls, ExtCtrls;

type
 TForm1 = class(TForm)
   imgCircuit: TImage;
   btnLoad: TButton;
   procedure btnLoadClick(Sender: TObject);
 private
   { Private declarations }
 public
   { Public declarations }
 end;

var
 Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.btnLoadClick(Sender: TObject);
begin
 imgCircuit.Picture.LoadFromFile("MyCoolCircuit1.bmp");
end;

end.



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

Форум: "Начинающим";
Текущий архив: 2011.12.25;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.62 MB
Время: 0.01 c
15-1315750988
Kerk
2011-09-11 18:23
2011.12.25
Попиарю чуток свое творчество :)


2-1316021139
pravd
2011-09-14 21:25
2011.12.25
работа с БД paradox


2-1316273416
Anny
2011-09-17 19:30
2011.12.25
Координаты точек


2-1316362141
Pcrepair
2011-09-18 20:09
2011.12.25
Отобразить hwnd в Label1 или Edit1


15-1315485452
Тимохов Д
2011-09-08 16:37
2011.12.25
Попиарю свой родной НИВЦ МГУ





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский