Форум: "Начинающим";
Текущий архив: 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