PDA

View Full Version : اتوماسیون صنعتی با دلفی



mahdi moghadampour
شنبه 15 اسفند 1383, 21:01 عصر
من می خواستم ببینم چطوری در دلفی می شه برنامه هایی برای استفاده در اتوماسیون صنعتی و ارسال یا دریافت سیگناهایی به یا از پورتهای ورودی و خروجی یا مثلا به پین شماره 2 فیش چاپگر عدد 1 باینری فرستاد یا از آن مقدار وارد شده توسط یک سیستم متصل به آن مثلا یک میکرو سوئیچ را خواند

متشکرم

khafanovich
یک شنبه 16 اسفند 1383, 08:24 صبح
باری ایت کار یک منبع خوب بهتون معرفی میکنم.
یک کتاب هست به نام :
Pc Interface
که به فارسی هم ترجمه شده ( تو مشهد هم هست )
تمام عملیات و سورس کدهای مربوط به کار با سخت افزار و مدار های کنترلی را با
دلفی و وی بی بررسی کرده ..چند تا Dll خوب و کامل هم در سی دی همراه این کتاب هست...
با این حا یک پیشنهاد...برای هر کار به دنبال ابزار مناسب بروید.
مثلا برای اتوماسیون صنعتی در سطح کلان دیگر دلفی مناسب نیست...نرم افزار های بسیار زیادی برای این منظور طراحی شده اند. در ضمن اگر دوست داشتید یک پی ام به من بدید تا بیشتر راهنمایی کنمتون.
موفق باشید.

esi022
یک شنبه 16 اسفند 1383, 10:02 صبح
http://www.sxlist.com/techref/mem/flash/mmc.htm این منبع خوبیه.
اما میتونی از کامپوننتهای زیادی که وجود داره استفاده کنی.
در ضمن دستور port که تو پاسکال بود تو دلفی نیست. بجاش از این توابع میتونی استفاده کنی :


function ReadPortB( wPort : Word ) : Byte;
begin
asm
mov dx, wPort
in al, dx
mov result, al
end;
end;


procedure WritePortB( wPort : Word; bValue : Byte );
begin
asm
mov dx, wPort
mov al, bValue
out dx, al
end;
end;

Delphi Skyline
یک شنبه 16 اسفند 1383, 15:23 عصر
اقای esi022 این دستور ها رو برای پرت پارالل (پرینتر) نوشتید ؟ اگر نوشتید یک مثال هم بنویسید که چه جور یک چراغو خاموش روشن کنم.
بای.. با تشکر
:flower:

esi022
یک شنبه 16 اسفند 1383, 15:36 عصر
بله نوشتم . زمان پاسکال ( قرین رحمت )
رو cd دارم . برات میارم . اما برای دلفی از کامپوننتها استفاده نمایید

Delphi Skyline
یک شنبه 16 اسفند 1383, 15:43 عصر
یعنی برای دلفی نمی شه؟

esi022
یک شنبه 16 اسفند 1383, 15:57 عصر
میشه

Delphi Skyline
یک شنبه 16 اسفند 1383, 16:08 عصر
پس متشکرم . یک مثال برای ارسال بزن (هر چی . البته برای پارالل)

esi022
چهارشنبه 19 اسفند 1383, 10:20 صبح
پاسکال:

port[$378]:=255;
port[$378]:=$d;

value=port[$255]

delphi:

procedure Out32(portadresse: Word; wert: Byte);
var
val: Byte;
begin
val := Byte(wert);
asm
push dx
mov dx,portadresse
mov al,val
out dx,al
pop dx
end;
end;

function Inp32(portadresse: Word): Byte;
var
val: Byte;
begin
asm
push dx
mov dx,portadresse
in al,dx
mov val,al
pop dx
end;
Inp32 := Byte(val) and $00ff;
end;


// Example/Beispiel:

Out32($378, 0) {= Dataport all 8 Bit Low}
Out32($378, (Inp32($378) or 1); {Dataport Bit 1 High}
Out32($378, (Inp32($378) and 254); {Datap. Bit 1, Low}

ok?

http://www.lvr.com/parport.htm#UsingPrinters
http://www.doc.ic.ac.uk/~ih/doc/par/

hamed darvishi
پنج شنبه 05 خرداد 1384, 11:29 صبح
مثلا برای اتوماسیون صنعتی در سطح کلان دیگر دلفی مناسب نیست...نرم افزار های بسیار زیادی برای این منظور طراحی شده اند. در ضمن اگر دوست داشتید یک پی ام به من بدید تا بیشتر راهنمایی کنمتون.


سلام من E-mail شما رو می خوام تا بیشتر راهنمایی بشم. با تشکر :kaf:

Delphi Skyline
پنج شنبه 05 خرداد 1384, 16:36 عصر
من بلدم شما را راهنمایی کنم . برای روشن و خاموش شدن LED در ویندوز XP .
کسی خواست Pm بده .

reza_electronic2007
پنج شنبه 17 خرداد 1386, 18:10 عصر
دوست عزیز اتوماسیون صنعتی
یا هر کار کنترلی که پای الکترونیک هم توی وان باشه
به غیر از روش برنامه نویسی نیاز کامل داره به شناخت معماری سخت افزار
در حد امکان آشنائی با برنامه نویسی اسمبلی

بهتره اگه گروهی کار می کنی یکی رو مامور بکنی روی معماری پورت موازی کار بکنه
موفق باشی :لبخندساده:

ghabil
پنج شنبه 17 خرداد 1386, 18:53 عصر
برای کار با پورتها در دلفی به راحتی میتونید پورتها رو بصورت فایل در نظر بگیرید و روشون Read و Write بکنید ، نیازی هم نیست اسمبلی استفاده کنید


AssignFile(F, 'LPT1');


اینکه چی بنویسید هم بستگی داره به دستورات Deviceی که باهاش کار میکنید.

پ.ن : COM1,COM2 و ...

saeid5977
شنبه 19 خرداد 1386, 02:00 صبح
دوست عزیز اتوماسیون صنعتی
یا هر کار کنترلی که پای الکترونیک هم توی وان باشه
به غیر از روش برنامه نویسی نیاز کامل داره به شناخت معماری سخت افزار
در حد امکان آشنائی با برنامه نویسی اسمبلی

بهتره اگه گروهی کار می کنی یکی رو مامور بکنی روی معماری پورت موازی کار بکنه
موفق باشی :لبخندساده:

سلام
من زیاد موافق نیستم. نیازی به آشنایی کامل با پورت سریال نیست همینطور آشنایی با اسمبلی. چون تو ویندوز و تو این سطح از کار اسمبلی جایگاهی نداره.

ehsan_electronic
شنبه 19 خرداد 1386, 07:53 صبح
سلام به همگی دوستان
من با نظر reza_electronic2007 موافقم . شاید توی این سطح کار احتیاجی نباشه ولی شما دید کافی نخواهید داشت و اگر مشکلی توی کار پیش بیاد شاید نتونید به همین راحتی رفعش کنید.
در مورد ارسال و دریافت داده ها بصورت سریال بهتون Mscomm32.ocx را معرفی میکنم که ضمیمه خود ویندوز هست و هم بصورت اینتراپتی و هم Pulling میشه باهاش برنامه نویسی کرد.
در مورد ارسال و دریافت داده ها بصورت موازی بهتون input32.dll را پیشنهاد میکنم کار هم باهاش خیلی راحته.
اگه سوالی داشتید در حد توانم خوشحال میشم بتونم جواب بدم.

DAMAVAND
شنبه 19 خرداد 1386, 08:47 صبح
سلام به همگی دوستان
من با نظر reza_electronic2007 موافقم . شاید توی این سطح کار احتیاجی نباشه ولی شما دید کافی نخواهید داشت و اگر مشکلی توی کار پیش بیاد شاید نتونید به همین راحتی رفعش کنید.
در مورد ارسال و دریافت داده ها بصورت سریال بهتون Mscomm32.ocx را معرفی میکنم که ضمیمه خود ویندوز هست و هم بصورت اینتراپتی و هم Pulling میشه باهاش برنامه نویسی کرد.
در مورد ارسال و دریافت داده ها بصورت موازی بهتون input32.dll را پیشنهاد میکنم کار هم باهاش خیلی راحته.
اگه سوالی داشتید در حد توانم خوشحال میشم بتونم جواب بدم.
البته اگه تو دلفی میخواد با پورت سریال کار کنید COMPORT خیلی حرفه ای تر Mscocc32.ocx از است.
برای پورت موازی هم Inout 32.dll بهترین انتخابه!