سلام چگ.نه میتوان برای باسکول رو ی رایانه پورت تعریف کرد با سی شارپ
سلام چگ.نه میتوان برای باسکول رو ی رایانه پورت تعریف کرد با سی شارپ
سلام دوست عزیز
از سریال پورت استفاده کنید. عموما روی هر باسکول بیت ریت و دیتا ریت رو نوشته.
بعد نوع اطلاعاتی رو که ارسال میکنه رو نیز نوشته. مثلا 10 کاراکتری. که بعد از خوندن اون اطلاعات میتونید با کم و زیاد کردن نمایش بیت ها عدد باسکول رو بدست بیارید.
مرسی از جوابتون من عکس زیر پورت باسکول رو کشیدم آیا سریال پورت همین است؟
اگر درسته ممنون میشم نحوه کد نویسی رو ارائه فرمایید.
port.jpg
سلام دوست عزیز.
RS232 هست ولی باید دید خروجی هست یا ورودی.
با هایپرترمینال تستش کنید ببینید اطلاعات میفرسته یا خیر. اگه میفرستاد بعد دیتاشو حالتهای استاندارد بزارید و تست کنید تا عددی رو که نشون میده توی هایپر ترمینال هم بهتون نشون بده.
اصلا متوجه منظورتون نشدم . هایبرترمینال اصلا چی هست؟
http://s2.picofile.com/file/8262622126/RS232.zip.htmlلطفا یک نمونه اتصال به پورت و نحوه شناسایی رو اینجا قرار بدین
آخرین ویرایش به وسیله علی فتحی : شنبه 16 مرداد 1395 در 00:34 صبح
این فایلی رو که فرستادید درسته و به راحتی به باسکول وصل میشه.
BaoudRate:1200
ReadBufferSize:2048
و توی ایونت serialPort1_DataReceived:
try
{
//lblvazn.Text = "0";
string s = serialPort1.ReadExisting();
int j = 0;
int k = 0;
for (int i = 0; i < s.Length; i++)
{
try
{
if (Convert.ToInt32(s.Substring(i, 1)) >= 0)
{
j = i;
i = s.Length;
}
}
catch { }
}
string s2 = s.Substring(j);
string w = "";
for (int i = 0; i < s2.Length; i++)
{
try
{
if (Convert.ToInt32(s2.Substring(i, 1)) >= 0)
{
w += s2.Substring(i, 1);
}
}
catch
{
k = i;
i = s2.Length;
}
}
//string s2 = s.Substring(0, 10).Replace("P","").Replace("p","").Replace("+","" ).Replace("\r","").Replace("t","").Replace("T","") .Replace("-","");
// if (w.Length > 5)
lblvazn.Text = w;//(Convert.ToDecimal(w)).ToString();//Convert.ToDecimal( s.Substring(j, k)).ToString("000000");//(Convert.ToDecimal( s.Substring(j,k))).ToString("00000");// Convert.ToDecimal(s).ToString("00000");
}
catch
{
}
فقط یادتون باشه lblvan لیبلی هست که مقدار باسکول رو توش نمایش میدم.
بعد از اینکه دکمه اتصال رو زدید و پورت رو باز کردید دستورات بالا شروع به کار میکنن.
با عرض سلام مجدد و تشکر از جواب دوستان من تنظیمات پورت رو پیدا کردم روی باسکول :
1-فرمت ارسال = Alpha
2-تنظیمات سرعت =1 8 n 1200
تنظیمات سرعت معلومه:
stop bit=1
data=8
parity=n
baud rate=1200
فرمت ارسال چی است و کجا استفاده میشه ؟ Alpha
آخرین ویرایش به وسیله علی فتحی : یک شنبه 17 مرداد 1395 در 21:03 عصر
اینم نمونه که خودم ساختم لطفا در نحوه کد نویسی و بهینه کردن کمک کنید. با تشکر
http://s1.picofile.com/file/8262883884/Baskol.zip.html
اینم یک سری کد که نتونستم استفاده کنم .
WeighingForm.MySetting.ComPortNo = this.d.Text; WeighingForm.MySetting.BaudRate = Convert.ToInt32(this.j.Text);
WeighingForm.MySetting.DataBits = Convert.ToInt32(this.k.Text);
WeighingForm.MySetting.parity = this.l.Text;
WeighingForm.MySetting.StopBoit = Convert.ToInt32(this.m.Text);
WeighingForm.MySetting.OutdoorType = this.o.Text;
WeighingForm.MySetting.SaveSetting();
WeighingForm.Closeflag = true;
int num1 = (int) MessageBox.Show("تنظیم پورت سریال تغییر کرد");
WeighingForm.MySetting.LoadSetting();
this.d.Text = WeighingForm.MySetting.ComPortNo;
this.j.Text = WeighingForm.MySetting.BaudRate.ToString();
this.k.Text = WeighingForm.MySetting.DataBits.ToString();
this.l.Text = WeighingForm.MySetting.parity;
this.m.Text = WeighingForm.MySetting.StopBoit.ToString();
this.o.Text = ((object) WeighingForm.MySetting.OutdoorType).ToString();
this.q.Text = WeighingForm.MySetting.MahakIdCode.ToString();
دوستان حرفه ای ممنون میشم نمونه سورس ارسالی رو اصلاح بفرمایید .پست 10
پست 9 .alpتفاده بشهh هست و کجا باید اسa. چی
خود دستگاه باسکول یک پورت ورودی و یک پورت خروجی داره کامپیوتر باید به کدوم وصل بشه؟
سلام دوست عزیز.
باید به پورت خروجی وصل بشه.
برید توی تنظیمات خود دستگاه باسکول قسمت کانکشن رو چک کنید.
زمانی که پورت رو اپن میکنید تکس دریافت میکنید. حالا ایا این تکسی رو که دریافت میکنید اعدادی مفهوم هم داخل هست یا خیر؟ ایا تمام کاراکترها نامفهوم هستن؟ اگهنامفهوم هستن بیت ریتشو تغییر بدین
سلام اگه به نتیجه نرسیدی به من پیام بزار کارم کلا همین باسکوله و برنامه نویسی اش میتوتم تا حدی کمکت کنم شماره تلگرامم اینه
۰۰۹۳۷۹۴۰۴۰۲۹۸
کابل خروجی اش ر ا چک کنید
اینم اطلاعات باسکول یک سری کد هم داده ممنون میشم راهنمایی کنید مشکل بنده فقط در نمایش عدد می باشد
Outdoor 3000 Samples:
P+ 01994
@+ 01990
@+ 01993
p+ 00000
I>>>>>>>
@- 01994
@-01,994
p+00,000
P+01,994
all packets ended with Enter character with ascii code=0x0d
Line2: stable weight no decimal point {P+ 01994}
Line3 and Line4: varying weight(motion) {@+ 01990} and {@+ 01993}
Line5: zero stable weight {p+ 00000}
Line6: Error {I>>>>>>>}
Line7: negative weight {@- 01994}
Line8: negative weight + decimal point=3 {@-01,994}
Line9: zero stable weight + decimal point=3 {p+00,000}
Line10: stable weight + decimal point=3 {P+01,994}
default RS232 serial port Settings : 9600,8,E,2
outdoor 3000 RS232 serial port Settings: 2400,7,E,1