الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

مساعدة في استخدام دلفي في التحكم الصناعي

مغلق
بدأه engassaf في 25 ديسمبر 2002 · 13 رد · 1,963 مشاهدة · في لغة Delphi
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

أنا المهندس محمد عســاف من سوريا

أريد أن أعرف عن استخدام دلفي في

برمجة منافذ الحاسب والتحكم بها ( المنافذ التسلسلي والتفرعية و USB

أي كيفية أرسال أو استقبال من هذه المنافذDATA

وإظهار ذلك في FORM

أو كيفية التحكم من هذه المنافذ بالـ PIN

مع الأمثلة

وجزاك الله كل خير

العضو :المهندس محمد عساف

هندسة التحكم الآلي والإلكترونيات الصناعية

وأنا مستعد لأي خدمة تطلبوها في مجال اختصاصي

راسلني على هذا العنوان

engassaf@scs-net.org

#2

اخي العزيز اضن ان الاخ tmaaa من ينفعك اتمتي لك التوفيق

#3

السلام عليكم

LOL

زكيري :mad: ورطتني يا شيخ . :D

(ما بدنا توريط ثاني , باقي لي شويه مواضيع وعدت أكتبها , و بعدها أتوقف عن المشاركه هنا ..) .

جرب استعمال winio الذي يمكن ان تجده هنا

http://www.internals.com (مرفق مثال vb,c ). (شكرا للاخ عبدالحفيظ لتنبيهي لهذه المكتبه ) .

أظن ان هناك component لمثل هذه العمليات التي تريد القيام بها حاول تبحث في google او http://www.vclcomponents.com .

هذا مثال جيد :

http://www.vclcomponents.com/search.asp?GR...0&ID_CATEGORY=0

ابحث هنا :

http://groups.google.com/groups?hl=en&lr=&...ort&sa=N&tab=wg

http://www.google.com/search?hl=en&lr=&ie=...ort&sa=N&tab=gw

الحل الامثل :

عليك بدراسه Driver Model Programing, لابد ان تكون لدي خبره في لغه c و c++ , لا بد ان يكون لديك windows DDK ( حسب الويندوز التي لديك ) .

هناك العديد من الكتب في هذا المجال منها windows Driver Model Programing MS Press و غيرها الكثير ...

شخصيا لي اهتمام في هذا المجال ولكن مازلت في البدايه , في نيه للبدء في العطله ( بعد اسبوعين تقريبا ) ..

ان كان لك اهتمام بالـ Driver Model ممكن تضع سؤالك في قسم الفيجوال سي , مشرفي القسم هاني و Developer.Net لهما خبره في هذا المجال . ان كنت تريد E-Book في هذا المجال ممكن أضع لك بعضها ...

ان شاء الله سابحث لك في Google عن أشياء لها علاقه بالموضوع ...

(f)

CIONO1

هناك حتى الأحلام أصبحت ممنوعة ...

إنه لعار أن ننتمي لهكذا أوطان ... لكن ... ربما العار أن نكون نحن أبناء لتلكم أوطان .. من يدري ؟!!

ليعلم أولئك ... إنّ الشعوب إنْ هي استيقظت تسحق ظُلامََهَا ...

There, even in dreams u r wanted

To be a programmer, how a nice dream it was

Leaving ...

أعيدوا لإسمي لونه المفضل

#4

السلام عليكم

Back

هنا سأضع بعض المواقع التي ربما يكون لها علاقه بالموضوع

http://homepages.borland.com/efg2lab/Libra...i/IO/PortIO.htm

http://www.wideman-one.com/gw/tech/Delphi/iopm

http://www.southwest.com.au/~jfuller/delph...phi/delphi1.htm

http://www.delphispirit.com/rd/Delphi/35/256

http://www.delphi32.com/vcl/lists/sc_n_62.asp

ألقي نظره على المواقع السابقه وان كنت تريد المزيد فيمكن البحث في google كما قلت .

(f)

CIONO1

هناك حتى الأحلام أصبحت ممنوعة ...

إنه لعار أن ننتمي لهكذا أوطان ... لكن ... ربما العار أن نكون نحن أبناء لتلكم أوطان .. من يدري ؟!!

ليعلم أولئك ... إنّ الشعوب إنْ هي استيقظت تسحق ظُلامََهَا ...

There, even in dreams u r wanted

To be a programmer, how a nice dream it was

Leaving ...

أعيدوا لإسمي لونه المفضل

#5

مرحباً بك اخي engassaf

معنا في المنتدى

وانشاء تستفيد منه وتفيد :D

على العموم

بالنسبة لموضوعك فحقيقة انه مالي خبره في هالمجال ;) ولكني اصادف دائماً كائنات ومواضيع حول هذا الموضوع ولعل رد الأخ tmaaa يكون هو المطلوب :)

واشكر الأخ العزيز tmaaa على رده

ولكن اشوف يااخ tmaaa مشاركاتك بدأت تقل معنا في هذا القسم :D إن شاء الله خير ;) بس لاتقول لي انك بطلت الدلفي :(

وتقبلوا اطيب تحياتي اخوكم SUM

#6

السلام عليكم

لا ما بطلت دلفي ( ما أعتقد اني حأبطلها -ان شاء الله-), انا ناوي أبطل الفريق العربي بس :D

(f)

CIONO1

هناك حتى الأحلام أصبحت ممنوعة ...

إنه لعار أن ننتمي لهكذا أوطان ... لكن ... ربما العار أن نكون نحن أبناء لتلكم أوطان .. من يدري ؟!!

ليعلم أولئك ... إنّ الشعوب إنْ هي استيقظت تسحق ظُلامََهَا ...

There, even in dreams u r wanted

To be a programmer, how a nice dream it was

Leaving ...

أعيدوا لإسمي لونه المفضل

#7

السلام عليكم

اقتباس
لا ما بطلت دلفي ( ما أعتقد اني حأبطلها -ان شاء الله-), انا ناوي أبطل الفريق العربي بس

:mad::mad::mad::mad::mad::mad::mad::mad::mad::'(

#8

إن ماقدمتموه هو مساعدة لرؤية هذا الطريق

إن هذا الموضوع من المواضيع الفائقة الأهمية التي يجب العمل بها في هذا المنتدى

للفائـــــــــــــــــــــدة:

يوجد أجهزة plc وهي أجهزة تحكم منطقية قابلة للبرمجة تستخدم في الأتمتة الصناعية وأنا والحمد لله أتقن برمجة معظم أنواع هذه الأجهزة المصنعة من قبل أقوى شركات الأتمتة في العالم

معظم هذه الأجهزة مزودة ببرنامج غرافيك يظهر حالات العمل للآلة والأخطاء التي تمر بها وكيفية الإصلاح طبعاً ذلك يكون بالبرمجة الذكية لهذه الأجهزة

باستخدام تقنيات الذكاء الصناعي وغيرها

وبالتالي فإنه عند استخدام التوابع المنطقية والرياضية في هذه البرمجة والتي تتطلب استجابة سريعة في بعض الأحيان فإن أجهزة الPLC والتي سرعة استجابتها من مرتبة الميلي ثانية لايمكن أن تحقق الغرض المطلوب

وبالتالي فإنه عند استخدام الحاسب في عملية التحكم الصناعي نحصل على الغاية المطلوبة وأريحة أكثر ووثوقية وأداء عالي وخطط ومناورات أكثر في عملية البرمجة

طبعا توجد دراسات قامت بها بعض الشركات كونها شركات بسبب وجود GROUP

للعمل في هذا المجال.

ونحن هنا في هذا المنتدى لاينقصنا شيء عنهم ولدينا إن شاء الله الخبرة الكافية للوصول إلى المطلوب وجعله في متناول كل إنسان عربي

لإن الأتمتة والتكنولوجيا أصبحت قانون هذا العصر

وأنا من خلال هذا المنتدى أدعو إلى العمل في هذا المشروع

من خلال طرح الأفكار والأراء والخبرات والعمل أولاً وأخيراً وهو الشيء الهام

من أراد الاستفسار بريدي هو ENGASSAF@SCS-NET.ORG

ووفقكم الله وجزاكم كل خير

ENGASSAF

#9

:Dأخوتي وأخواتي رواد منتدى المبرمجين العرب أنا عضو جديد في هذا المنتدا ;) وإني سعيد لكوني أصبحت أحد أفراد عائلة هذا النتدى وفقكم الله ورعاكم

أما بخصوص الموضوع فإني لا زلت أبحث في مكنونات النت لعلي إجد ما قد أفيد به وشكراً;)

#10

السلام عليكم

الاخ العزيز engassaf

هل أفادتك الوصلات التي ذكرتها في شئ ؟

الموضوع شيق و أتمنى لك التوفيق فيه . الاخوه هنا ما راح يقصروا معاك .

شخصيا أعتذر عن المشاركه في النقاش ... :)

(f)

CIONO1

هناك حتى الأحلام أصبحت ممنوعة ...

إنه لعار أن ننتمي لهكذا أوطان ... لكن ... ربما العار أن نكون نحن أبناء لتلكم أوطان .. من يدري ؟!!

ليعلم أولئك ... إنّ الشعوب إنْ هي استيقظت تسحق ظُلامََهَا ...

There, even in dreams u r wanted

To be a programmer, how a nice dream it was

Leaving ...

أعيدوا لإسمي لونه المفضل

#11

شكراً لك ياأخ tmaaa

على هذه الوصلات والتي تحوي بعض الأمثلة الهامة تفيد في دعم هذا البحث

ورجائي منك الاستمرار معنا.

وفقك الله ورعاك

engassaf

#12

الله يعطيك العافية على هذا المضوع المهم وأنا من المتشوقين كثيرا للعمل في هذا المجال و أحاول أن أتوصل لشيء فيه

أعرف جيد جيدا في الدلفي ومبتدى في الأسمبلي

وأنا مستعد للتعاون معك بشتى الوسائل

لك تحياتى

محمد أنس سوسو

وبريدي الألكتروني

anas_soso@shuf.com

#13

اللاخوة الاعزا / السلام عليكم ورحمة ورحمة الله وبركاته وبعد

تستطيع فتح المنفذ عن طريق اجراء بالاسمبلي ظمن برنامج دلفي وكذلك قفل المنفد مثل com1 و com2...الخ.

function getport(p:word):byte; stdcall;

begin

asm

push edx

push eax

mov dx,p

in al,dx

mov @result,al

pop eax

pop edx

end;

end;

Procedure Setport(p:word;b:byte);Stdcall;

begin

asm

push edx

push eax

mov dx,p

mov al,b

out dx,al

pop eax

pop edx

end;

end;

ولكن لاختصر لكم الوقت والجهد لدي كومبوننت جاهزة وقد جربت مع اجهزة السنتالات للمراقبة المكالمات الهادفبة في كثير من الفنادق والشقق المفروشة بالسعودية. وللحصول عليها مجاننا يمكنك مراسلتي علىmof400@hotmail.com وسوف ارفقها بهذا المندى لاحقا ان شاء الله

#14

بسم الله الرحمن الرحيم

أخي العزيز الأستاذ ماهر

أنا من سوريا أدرس معهد هندسة كمبيوتر

في الواقع الموضوع الذي تبحث فيه هو في غاية

الروعة , لأن فكرة الربط و التحكم عبر الحاسب الآلي هي

بالنسبة لي نقلة نوعية نحو التطور , وذلك لربط الأجهزة عبر الحاسب

الذي يتيح إمكانيات أعلى بكثير من الآلات الخارجية

بالنسبة للغة البرمجة ديلفي و نظام التشغيل Linux

فهما أقوياء جداً في هذا المجال

ولكن الديلفي مع الويندوز الذي نستخدمه ربما

أسهل من الـ Linux

في الواقع لقد دخلت هذا المجال ومنذ

فترة قصيرة كان لي مشروعاً صغيراً ً على لغة الديلفي

الجميل في لغة الديلفي هي أنك قادر على كتابة كود

أسيمبلي داخلها كالتالي

asm

your code Stuff

end

و بذلك نستطيع التعامل مع المنافذ عن طريق كود الأسيمبلي

و مشروعي كان على أساس رغبة من أستاذ مادة الأسيمبلي

وكان مشروعي عبارة عن التحكم بمنفذ الطابعة عن طريق برنامج على

الديلفي : البرنامج عبارة هو برنامج تشغيل أغاني يقوم بعمل ميكس

بين الأغاني و هذا البرنامج يتحكم بدارة بسيطة تتألف من 32 ليد

موضوعين كل شكل صفين كل 8 ليدات في زاوية

وبرنامج يقوم بالتحكم بهذه الدارة اعتماداً على تردد الأغنية

وبذلك تكون لدينا مجموعة ليدات تتحرك مع الأغنية

وسأشرح الآن القليل عن منفذ الطابعة الذي استعملته في المشروع

أولاً : منفذ الطابعة يتألف من 25 Pin من ضمن هذه البيننات هناك

8 بيننات للخرج وأرقامها من 2 و حتى 9 و هناك بيننات للدخل و بيننات

للأرضي و على سبيل الذكر الرقم 25 هو خط أرضي

و منفذ الطابعة يعطي على كل نقطة خرج 5 فولط

فإذا وصلنا طرف ليد موجب إلى الرقم 2 و الطرف السالب إلى الرقم

25 فالكود اللازم لإرسال 5 فولط أو إشعال الليد هو

asm

mov dx,$378

mov al,$1

out dx,al

end

ففي هذا الكود نضع أولاً في المسجل Dx عنوان منفذ الطابعة

وللتفصيل هذا عنوان أحد أجزاء منفذ الطابعة الخاص بالخرج

ثم نضع في المسجل Al القيمة المراد إرسالها إلى المنفذ

وهنا وضعنا الرقم 1 أي 0001 أي جميع خطوط الخرج عليها 0 منطقي

ماعدا البين رقم 1 في الخرج أي رقم 2 في المنفذ

ثم في الجزء الأخير أرسلنا القيمة المطلوبة إلى المنفذ

أما إشارة الـ $ فهي تدل لغة البرمجة إلى أن الرقم الذي بعدها هو بالست عشري وبذلك يمكننا وضع هذا الكود في أي جزء برمجي , زر مثلاً

و من أجل جميع خطوط الخرج فإليك الجدول التالي

ولكن أرجو أن تقلب الكتابة الآن إلى اليسار من أجل القراءة الواضحة و الصحيحية للجدول أي حتى تظهر الأرقام باللغة الإنكليزية

وهذا الجدول يصلح لو وضعنا على كل خرج طرف موجب لليد و السوالب كلها

نوصلها مع بعضها إلى البين رقم 25

فالجدول التالي يصلح لكي نعرف كل خرج و ماذا نريد أن نفعل!

d9 d8 d7 d6 d5 d4 d3 d2

0 0 0 0 0 0 0 1 = $1 فهنا نقوم بإشعال الضوء الأول

d9 d8 d7 d6 d5 d4 d3 d2

0 0 0 0 0 0 1 1 = $3 الأول و الثاني

d9 d8 d7 d6 d5 d4 d3 d2

0 0 0 0 0 1 1 1 = $7 الأول و الثاني و الثالث

d9 d8 d7 d6 d5 d4 d3 d2

0 0 0 0 1 1 1 1 = $F الأول و الثاني و الثالث و الرابع

d9 d8 d7 d6 d5 d4 d3 d2

0 0 0 1 1 1 1 1 = $1F 1,2,3,4,5

d9 d8 d7 d6 d5 d4 d3 d2

0 0 1 1 1 1 1 1 = $3F 1,2,3,4,5,6

d9 d8 d7 d6 d5 d4 d3 d2

0 1 1 1 1 1 1 1 = $7F 1,2,3,4,5,6,7

d9 d8 d7 d6 d5 d4 d3 d2

1 1 1 1 1 1 1 1 = $FF 1,2,3,4,5,6,7,8

وهكذا تم التحكم بجميع الليدات.

وهذا من أجل تغذية من الجهاز

فمن أجل تغذية من الخارج (مثلاً ماذا لو وضعنا بدل من الليدات لمبات 220فولط

كيف سيتم التحكم؟

نفس الطرق السابقة ولكن علينا بتغذية المبات عن طريق التيار العادي

تيار المدينة

ولكن علينا القيام بعدة عمليات

وأنصح غير المختصين بعدم تجربة هذا المثال لأنه ربما يقوم بإيذاء نفسه

وجهازه أما للطريقة السابقة (الليدات) فهي سهلة و ليست خطيرة

أولاً نوصل جميع اللمبات على التفرع بالطريقة التي نراها مناسبة

(طبعاً عدد اللمبات هو 8 حسب عدد خطوط الخرج للمنفذ)

ونغذيها كهربائياً و لكن نقطع كل طرف عند كل لمبة أي نترك مكان لقاطعة مثلاً

لكل لمبة أي أصبح لدينا 8 قواطع ولكل قاطعة طرفان

ثانياً : نأتي بعنصر إلكتروني إسمه الترياك

ولهذا الترياك 3 خطوط , أحد هذه الخطوط إذا مررنا عليه تيار صغير مثل

5 فولط يقوم الترياك بوصل الخطين الآخرين مع بعضهما

و بهذا نضع كل طرفي ترياك على طرفي القاطعة و الخط الثالث لكل

تراك نوصله مع أحد بيننات الخرج

ولكني سمعت أن الترياك لا يؤمن الحماية الكاملة فربما أعاد تياراً

إلى المنفذ و بالتالي عطب الجهاز , لاأعرف تماماً فلست مختصاً في هذا المجال فمن أجل ذلك هناك عنصر آخر اسمه ريليه يوصل بنفس الطريقة

ولكن له صوت مزعج.

أتمنى إخوتي أن لاأكون قد طولت عليكم الحديث فأنا أرغب أن أقدم كا

ماعندي في هذا المجال

ملاحظة : بالنسبة لكود الأسيمبلي فإنه لايعمل إلا على أنظمة ال Win9x

فإذا أردنا التعامل مع ال WinNT فعلينا كتابة Driver ضمن البرنامج وهذا

أسعى لتعلمه الآن

و لكن هناك بعض العناصر التي يمكن إرفاقها و استعمالها في الديلفي

فهي تعمل على جميع الأنظمة ولكن مع الأسف ليست فري

فعليك تسجيلها

وفي النهاية أتمنى أني قد قدمت الفائدة للجميع

وشكراً لكل من يساهم في هذا الموضوع

ولمزيد من الاستفسارات أرجو المراسلة على البريد التالي

PLANSHARP@hotmail.com

و العنصر سأرسله قريباً

والسلام عليكم و رحمة الله و بركاته

هذا الموضوع مغلق.

مواضيع مشابهة