PDA

View Full Version : مقاله: وصل نمودن ترازوی دیجیتال مثل AND به کامپیوتر



hasanain
پنج شنبه 19 اردیبهشت 1387, 00:36 صبح
بسم الله الرحمن الرحیم
قبلاً در پست دیگری با عنوان اتصال ترازوی دیجیتال به برنامه VB (http://barnamenevis.org/forum/showthread.php?t=87537&highlight=%D8%AA%D8%B1%D8%A7%D8%B2%D9%88) در این زمینه سؤال کردم ولی متأسفانه به جواب نرسیدم. مایل بودم که در همان پست این مطلب را درج کنم که موفق نشدم چون با اخطار (این پست مربوط به 147 روز پیش است و قدیمی است و ...) مواجه میشدم.

به هرحال:
شکر خدا، توانستم با مطالعه کتاب (اصول و راهنمای استفاده از پورت Serial) کانون نشر علوم و با دیدن برنامه شرکت AND که WinCT نام دارد ترازوی دیجیتال را به کامپیوتر وصل کنم و اطلاعات را دریافت نمایم.

نکته مهم در این ارتباط، بدین قرار است که باید پس از تعیین پورت و تعیین مشخصات آن، ابتدا به ترازو یک Command مناسب بدهیم تا ترازو به ما وزن را بدهد و الا از وزن خبری نیست. این Command که از نوع رشته (String) است برای ترازوهای مختلف متفاوت است. حتی در دفترچه راهنمای ترازوی AND مدل GF، برای سریهای مختلف همین ترازو رشته های مختلفی درج شده بود.
نکته دیگری هم که باید در نظر داشت، این است که در انتهای رشته ای که به ترازو میدهیم حتماً نیاز به یک پایان دهنده (Terminator) داریم که یا کارکتر CR است که در VB با vbcr قابل دسترسی است یا دو کاراکتر CrLf که در VB با vbcrlf قابل استفاده است.
بنابر آنچه عرض شد باید متناسب با ترازوهای مختلف، ابتدا مشخصات پورت و باندریت و پاریتی و... تنظیم گردد سپس باید این مطلب را بیابیم که این ترازو با چه Commandی مثلاً صفر میشود با کدام، وزن میدهد و نیز Terminator در رشته Command کدام است.

تجربه ای که در مورد ترازوهای AND مدل GF داشتم بدین قرار بود که Setting مربوط به کنترل MSComm باید 2400 و E و 8 و 1 باشد. جهت گرفتن وزن باید رشته PRT را با پایاندهنده vbcrlf به ترازو داد تا رشته ای مشابه ST,+00015.27 g را با همان پایاندهنده دریافت داشت.

از دوستانی که در پستهای قبلی راهنمایی فرمودند، کمال تشکر و امتنان را دارم.

hasanain
شنبه 01 تیر 1387, 12:33 عصر
کابل اتصال:
پورتی که پشت ترازو دیده میشود و 25 پین دارد، پورت RS232 است. پورت سریال است و با پورت پارالل (پورت مشهور به پرینتر) اشتباه گرفته نشود.
در کامپیوتر، پورت RS232 یا همان سریال به صورت 9 پین قابل مشاهده است.
کابلهای موجود در بازار با قیمت 15 الی 20 هزار تومان قابل تهیه است؛ اما خودتان با صرف هزینه حدود 5 هزار تومان و ساعتی وقت میتوانید کابل را تهیه کنید. حتماً از کابل شیلددار استفاده شود تا با مشکل نویز برنخورید.
نکته: در کامپیوترهای جدید، -مخصوصاً لپتاپها- دیگر پورت 9پین سریال قرار داده نشده است. چنانچه خواستید ترازو را به چنین کامپیوترهایی وصل کنید باید کابل مبدل USB به سریال را خریداری کنید (در جمهوری با قیمت حدود 11 هزار تومان قابل تهیه است). برنامه ای که همراه با آن ارائه میشود پس از نصب، پورت USB را به عنوان پورت سریال به کامپیوتر میشناساند و از نظر برنامه نویسی، خیالتان کاملا راحت خواهد بود.

برنامه نویسی
چنانچه میدانید، جهت ارتباط کامپیوتر با پورت سریال، کنترل بسیار کارآمد MsComm32 که همراه با VB6 است، وجود دارد.
جهت اطلاع از نحوه کار با این کنترل، همچنین پورت سریال میتوانید به این تاپیکها سری بزنید:
خواندن اطلاعات از پورت سریال (http://barnamenevis.org/showthread.php?t=6474&highlight=%D9%BE%D9%88%D8%B1%D8%AA+%D8%B3%D8%B1%DB %8C%D8%A7%D9%84)
سوال: کامپوننت پورت سریال در VB (http://barnamenevis.org/showthread.php?t=107315&highlight=%D9%BE%D9%88%D8%B1%D8%AA+%D8%B3%D8%B1%DB %8C%D8%A7%D9%84)
پورت سریال در vb (http://barnamenevis.org/showthread.php?t=103385&highlight=%D9%BE%D9%88%D8%B1%D8%AA+%D8%B3%D8%B1%DB %8C%D8%A7%D9%84)

کتاب
اصول و راهنمای استفاده از پورت Serial. ناشر: www.nashreoloom.com (http://www.nashreoloom.com)
http://www.nashreoloom.com/bookpics/serialport.gif


نمونه برنامه
برنامه شرکت AND که اتفاقاً با VB6 نوشته شده و در آن از کنترل MsComm32 استفاده شده است + سورس برنامه نمونه ای که خودم جهت اتصال به ترازو نوشته ام.

محمدامین شریفی
شنبه 01 تیر 1387, 17:24 عصر
خیلی جالب بود.
دوست خوبم اگه برای ادامه اش به تاپیک آموزشavr (http://barnamenevis.org/forum/showthread.php?t=110663)بیای خیلی جالب میشه.مطالب به هم خیلی وابسته اند

a_mohammadi_m
پنج شنبه 06 تیر 1387, 12:41 عصر
با سلام
من نوشته هاي قبلي رو در مورد اتصال ترازو خوندم چند تا نكته مي خواستم بگم
1- پورت پارالل ( PRN - LPT - Printer ) معمولا در پشت كامپيوتر و در جاهاي ديگه ( فكر كنم ) بصورت كانكتور مادگي هست ( يعني 25 تا سوراخ نه 25 تا پين ميخ شكل ) در حالي كه پورت سريال ( COM ) بصورت نري هست كه تشخيص اونا رو از هم راحت ميكنه ( پشت كامپيوتر يك نگاهي بنداز )
2- فايل dll معرفي شده يه فايل عمومي براي ارتباط راحت با پورتها در VB هست كه بجاي اون ميشه از توابع API ويندوز هم استفاده كرد كه كار باهاش سخت تره ولي امكانات بيشتري در اختيار برنامه نويس ميذاره

من خودم يكبار براي ارتباط دادن يك دستگاه باسكول با VB كل مستنداتشو خوندم و كلي ام برنامه باهاش تست كردم ولي جواب نداد بالاخره فهميدم كه كابل ارتباطي كه فروشنده باسكول همراه متعلقات داده بوده اشتباه يا خراب بوده و كلي سركار بودم آخرش هم قرار شد كابل رو دوباره تهيه كنن تا حالا هم كه يك سالي ميگذره خبري نشده

موفق باشيد.

vbhamed
سه شنبه 28 اردیبهشت 1389, 10:08 صبح
سلام

من با ترازوي AND GF-3000 كار كردم كه تو طلا فروشي كاربرد داره و خروجيش سريال است - RS232
البته اين برنامه فقط مخصوص اين مدل نيست و با همه AND ها كار مي كنه

116868

مشخصات پيش فرض ارتباط به صورت زير هست

Bit per second : 2400
Data bit : 7
Parity : Even
Stop bit : 1
Flow control : Noneتنظيمات بالا رو مي تونيد توي Hyper Terminal تنظيم كنيد

بعد از ارتباط هر ثانيه 2 بار خروجي مشابه فرمت زير رو مي ده
البته در بعضي مدلها هم بايد كاراكتر Q به همراه VbCrLf فرستاده بشه تا ترازو خروجي بده


ST,+00000.00 g
ST,+00000.00 g
ST,+00000.00 g
ST,+00000.00 g
US,+00001.47 g
US,+00002.95 g
US,+00003.11 g
US,+00003.11 g
ST,+00003.11 g
ST,+00003.11 g
ST,+00003.11 gST يعني Stable و منظور اينكه اندازه گيري تموم شده
US يعني Unstable يعني در حال اندازه گيري هست

چيزي كه از خروجي خونده شده رو پرازش كنيد و آخرين مقدار كه با ST شروع ميشه رو بخونيد
هر بار كه خروجي مي ده با كاراكتر Enter و خط بعد يعني VbCrLf از قبلي جدا ميشه
حرف g آخر هم به معني گرم است

حالت ST يا US با كاما، 3 كاراكتر
طول وزن برگردانده شده با احتساب علامت + و - 9 كاراكتر مي باشد
واحد اندازه گيري 3 كاراكتر مثل

" g", " oz", "ozt"البته تمام نكات بالا با تنظيمات پيش فرض ترازو هست كه قابل تغيير مي باشد

يك نمونه پروژه هم ضميمه شده است


145173

mmahdi302
پنج شنبه 04 فروردین 1401, 17:06 عصر
سلام به همه اساتید
پست خاک خورده میکشم بالا، شرمنده ام
من میخوام اطلاعات از ترازو and Gf4000 بخونم
برنامه های شما رو دیدم 2تا سوال برام پیش اومده
1- ترازو های یک سری مد کاری دارن مثلا همین ترازویی که من باهاش کار میکنم یک مد کاری داره به اسم stream . حالا برنامه هایی که نوشتید با این مد کار میکنه یا نه؟ چیزی که خود منوال دستگاه میگه میگه در حالت استریم به طور پیوسته وزن با توجه به قالبی که انتخاب میکنی میفرسته منظورم اینه که فکر میکنم اگر در این مد کاری باشه نیازی نیست دستوری بفرستیم تا مقدار برای ما برگردونه
2- اگر قرار دستوری بفرستیم برای خواندن مقدار وزن اون دستور چیه؟
3- من با VB.net2022 کار میکنم مقدار ترمینیتور یا همون cr یا crlf هست چجوری باید تنظیم کنم
ممنون میشم راهنماییم کنید