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

هل يمكن ان نتحكم بطريقة عكسية

مغلق
بدأه squrban في 1 أكتوبر 2004 · 9 رد · 1,752 مشاهدة · في التحكم الصناعي وربط الحاسب بالعالم الخارجي
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ..

لقد قمت بتنفيذ بعض المشاريع البسيطة التحكم من خلال LPT ...والحمد لله

لكن سؤال هو هل يمكن ان نرسل بتات معينة من جهاز خارجي ال الحاسوب يعني بطريقة عكسية..... حيث اني افكر بمشروع يقوم مثلاً بما يلي :

1- ارسال بتات من الحاسوب الى جهاز خارجي // وهذا بسيط

2- عادة ارسال بتات معينة اخرى من الجهاز الحاسوب // وهذه ايضاً عملية بسيط

3-استقبال البتات من قبل LPT للحاسوب لكي تتم معالجتها واظهار النتيجة// وهنا المشكلة

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

التعريف في الموديلز

Public Declare Function Inp Lib "inpout32.dll" _
    Alias "Inp32" (ByVal PortAddress As Integer) As Integer

وهذا الامر مثلاًً

 Command5.Caption = Inp(&H378)

حيث يتم القراء من النفذ بحيث يتم تغير اسم الكموند الى قيمة البت المرسل مسبقاً ال النفذ .......

اما بالنسبة لمحاولتي الفاشلة كانت كتالي

قمت بارسال الامر Out &H378, 1 ثم قراة المنفذ عن طريق الامر inp فكانت صحيح

ثم قمت بوصل D0 مع D1 "يعني حاولت اكساب D1 بت من D0 وهكذا وثم قمت بعملية القراء فاكنت ماتزال 1 حيث انه يجب ان تتغير القيمة الى 3 ...."بالنسبة لاعتقادي"

ارجو ان اكون قد اوضحت المشكلة

وسؤالي الاخير هل تنصحوني بالتعامل مع المنفذ التسلسلي RS وهل هو اكثر عملية من LPT ...

وشكراً

#2

جرب القراءة من العنوان 379h

ويجب أن تلاحظ أن العنوان المذكور يتعامل مع 5 أطراف فقط من المنفذ التفرعي، ليست هي البتات الثمانية الخاصة بالعنوان 378h

لست أذكرها بالضبط، ولكني أذكر أن منها من يتحسس بشكل عكسي، وأن أحدها هو البن الأول في المنفذ.

كذلك جرب العنوان 37ah

بالتوفيق، وفي حال لم تفلح في ذلك، أخبرني لأضع الطريقة بشكل أكثر وضوحا.

ومن يتق الله يجعل له مخرجا

]

#3

اشكر لك على الرد

لكن اريد ان اتاكد فقط هل ما تقصده هو ان اتعمل مع البينات الموجودة بالون الاحمر في الصورة المرفقة

parallel.gif

طلب اخير هل التعامل مع منفذ RS232 سهل مثل lpt

rs232.gif

ارجو المساعدة لاني محتار بين lpt و RS232 وايهما اكثر عملية من ناحية ارسال واستقبال ...... ,وهل يوجد امثلة على التعامل مع RS232...

وشكراً لكم

#4

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

حياك الله أخوي squrban.. ايش الاخبار؟

نعم المطلوب هو أن تتعامل مع المنافذ الموجودة في الصورة باللون الأحمر ( الصورة في ردك السابق )

مع أني دائما ألقى عدة صور لمنفذ الطابعة توضح أن عدد منافذ الادخال أكثر من 5 !! :s

راح أجربها عمليا وأشوف!!!

وعندي لك سؤال يالغالي..

هل لنا بمثال بسيط لطريقة كتابة أمر للتحكم عن طريق المنفذ التسلسلي؟؟

وننتظر ردك يالغالي

وحنا بالخدمة

أخوك طالب الخبرة

#5

السلام عليكم ...

اشكرك اخي طالب الخبرة

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

عند القراءة من H379 تكون القيمة الافتراضية تساوي 120 مع العلم ان H379 يتكون من 5 اي يجب ان تكون 248 وبعد التجارب المتكرر "توصيل كل بن لوحده مع الارضي واعاد القراءة" توضح لي ان البن رقم 11 يتصرف بطريقة عكسية اي عند توصيله الى الارضي يعطي قيمة البت واحد على عكس البنات 10 12 13 15 واعتقد بان هذا سوف يسسبب بعض الارباك لي....icon2.gif

اما بالنسبة 1 14 16 17 فلقد استطعت الادخال عليه ما عدا 17 حيث كانت 1 و 14 بطريقة عادية اما 16 كانت عكسية و 17 لم استطيع الادخال عليها.... اي يصبح عدد البنات القابلة للادخال عندي هي 8 . 6 بطريقة العادية و 2 بطريقة عكسية .... (((هل هذه النتائج صحيحة ام هذه القيمة تظهر عل جهازي فقد)))

اما بالنسبة المنفذ التسلسلي لايوجد لدي مثال عليه حيث ان سالت عنه احد اصدقائي واخبرني بانه يمكن التحكم به عن طريق الادا MSCOMM الموجودة مع VB ولني مازلت ابحث في المواقع الاجنبي عن اي شي يتعلق به.......

وبالمناسبة هذا البرنامج مكتوب بالغة VB جيد لفحص وضع المنفذ LPT لديك ..لقد وجد هذا الكود في احد المواقع الاجنبية..

وشكراً لكم...

#6

اسف هذا هو البرنامج

LPTstate.zip

#7

الاخ squrban ما وجدته انت من خلال التجارب ينطبق مع الرسم الموضح لمخرج المتوازي حيث تلاحظ ان سلك 11 هو معكوس و يظهر ذلك واضحا من اسمه حيث ان عليه شرطة وهي تعني ان النتيجة معكوسة. بالنسبة للمتسلسل فان اغلب ان لم تكن كل التطبيقات الصناعية تستخدمه و كما ذكرت mscomm هي الاداة للتعامل معه لكن عليك معرفة ارسال الجهاز الذي سيتم وصله و غالبا ما يكون 8 بت 1 stop bit و n و تعني no parity و السرعة في كثير من الاحيان 9600 و يبقى عليك معرفة البروتوكول اي ماذا ترسل ليتم بناء عليه تنفيذ الامر.

39_22.gif

تزود من التقوى فإنك لا تدري *** إذا جن ليل هل تعيش إلى الفجر

فكم من فتى أمسى وأصبح ضاحكاً *** وقد نسجت أكفانه وهو لا يدري

لقراءة القرآن الكريم و سماعه و تفسيره ........

ماذا يعني انني مسلم سني؟

قصة غريبة

ConflictResolution.gif

#8

السلام عليكم:

اقتباس
اما بالنسبة 1 14 16 17 فلقد استطعت الادخال عليه ما عدا 17 حيث كانت 1 و 14 بطريقة عادية اما 16 كانت عكسية و 17 لم استطيع الادخال عليها.... اي يصبح عدد البنات القابلة للادخال عندي هي 8 . 6 بطريقة العادية و 2 بطريقة عكسية .... (((هل هذه النتائج صحيحة ام هذه القيمة تظهر عل جهازي فقد)))

خطأ لأن 1 14 16 17 مخارج و ليست مداخل و لا يمكنك قراءة قيم من الخارج عن طريقها

و أما الإستخدام الأمثل للمداخل ال5 في العنوان 379 فهو :

temp = inp(0xH379);
temp = temp&248;           //calcels the effects of s0 s1 s2
temp = temp^128;          //invert s7

و سامحونا

#9

شكراً لك اخي عماد الخليل و اخي حزين على طول

بالنسبة للملاحظات سوف اخذه بعين الاعتبار احاول تطبيقها وانتظر النتائج....

اعتقد بان حبال التجارب طويلة جداً وممتعة في نفس الوقت فانها تكسبك المعرفة والخبرة ..لقد بدات بمشروع بسيط واخذت بتطوير على المشروع بشكل بسيط كل مرة والان امتلك بعض الخبرة بالنسبة لهاوي برمجة والدوائر الالكترونيات ....icon6.gif

ولكن لدى استفسار بسيط ماهو الحد الاعلى لمعدل الارسال والاستقبال الى منفذ الطابعة بشكل تقريبي.. مثلاً في الثانية 100 نبضة؟؟؟؟ وما تاثيرها على الدوائر الخارجية ؟؟؟

واشكركم على المساعدة...

تم تعديل هذه المشاركة بواسطة squrban في 4 أكتوبر 2004 في 17:57

#10

بالنسبة للسرعة القصوى لمخرج المتوازي فهي 115k بالثانية و تصل 24M اذا استخدمت ECP/EPP. و الله اعلم.

39_22.gif

تزود من التقوى فإنك لا تدري *** إذا جن ليل هل تعيش إلى الفجر

فكم من فتى أمسى وأصبح ضاحكاً *** وقد نسجت أكفانه وهو لا يدري

لقراءة القرآن الكريم و سماعه و تفسيره ........

ماذا يعني انني مسلم سني؟

قصة غريبة

ConflictResolution.gif

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

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

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…