อยากเก่ง Lapview

Started by robodceest, March 11, 2013, 12:03:19 PM

Previous topic - Next topic

electrical55

พอจะมี WWW ไหนที่เป็นกระดานถามตอบเกี่ยวกับ Labview ที่เป็นภาษาไทยไหมครับ

nattapholj

www.facebook.com/thaitechzone  มีพี่ๆเค้าสอนให้ สอบถามได้ แต่ส่วนใหญ่มุ่งเน้นสอนทางด้านอุตสาหกรรมครับผม

robodceest

หลังจากได้เล่น Labview คู่กับ MCU ยิ่งเล่นยิ่งมันยิ่งลองทำอะไรใหม่ๆ ยิ่งชอบ ว่างก็มาทำ อ่านหนังสือ ดูตัวอย่างของคนอื่นตามเว็บไซต์ ตอนนี้ใช้ ฟังก์ชัน scan from string แยกสัญญาณมา 5 ช่องจาก Mcu ที่ printf มาเล่นรับสัญญาณจากเซ็นเซอร์ อยากได้ใช้ข้อมูลจำนวนซัก 28 ชุดส่งเข้ามาให้แลบวิวมันก็เจออุปสรรค์แบบนี้ครับ 1 สัปดาห์แล้วหาทางออกไม่เจอ ประมาณนี้ครับ ช่วยผมแนะนำหน่อยครับ
"ผมรับสัญญาณAnalog to digital มีข้อมูลจาก ADC0-27 ช่องสัญญาณ จะเส่งเข้า Labview ทีเดียวเลยทั้ง 28 ช่องมันไม่ตอบสนองครับมันจะรวนๆ (แต่ถ้ากับ hyperterminal มันรับได้ครับ) โดยแต่ละช่องสัญญาณ ส่งค่าตัวที่ 0-1023 ครับ โดยคำสั่ง Printf
ผมลองลดช่องสัญญาณที่ส่งมาลดลงแค่ครั้งและ 10 ชุด มันทำงานได้  เพราะฉนั้นถ้าผมหน่วงเวลาให้มันทะยอยมา เป็นชุด 10 10 8 ชุด โดยหน่วงเวลาแต่ละชุด โดยผ่าน Visa ใช้ baud =9600 ถ้าผมหน่วงเวลาที่ MCU ดังนี้



printf (ชุดสัญญาณ1-10)
delay_ms(1000);
printf (ชุดสัญญาณ11-20)
delay_ms(1000);
printf (ชุดสัญญาณ21-28)
delay_ms(1000);


ทางด้าน Labview จะดักข้อมูลพวกนี้แยกเป็นุชุดใครชุดมันได้ยังไงบ้างครับ"
หรือมีวิธีอื่นมั้ยครับ


robodceest

ผมส่งข้อมูลเข้า Labview ผ่าน Visa ครับ
รับค่าจาก MCU ด้วยคำสั่ง Printf ตามนี้ครับ โดยใน Labview ใช้ Scan from string ไปแยกเป็นแต่ละชุด

printf("\n\r%1.2f,%1.2f,%1.2f,%1.2f,%1.2f,%1.2f,%1.2f,%1.2f,%1.2f,%1.2f,%1.2f,%1.2f,%1.2f,%1.2f,%1.2f,%1.2f,%1.2f,%1.2f,%1.2f,%1.2f,%1.2f,%1.2f,%1.2f,%1.2f,%1.2f,%1.2f,%1.2f,%1.2f",value1,value2,value3,value4,value5,value6,value7,value8,value9,value10,value11,value12,value13,value14,value15,value16,value17,value18,value19,value20,value21,value22,value23,value24,value25,value26,value27,value28);

โดยข้อมูลทั้งหมด 28 ชุด โดยแต่ละชุดมีค่าตัวเลข 0-1024 คับ ปัญหาคือ เมื่อส่งสัญญาณมาเหมือนมันรับข้อมูลทีเดียวไม่ได้มาไม่ครบครับ ทำงานแบบ รวนๆ
เหมือนกับมาทีละ 11 ชุด

แต่ถ้าเปลี่ยนใหม่ให้โปรแกรม MCU เป็นแบบนี้ เป็นทีละ 8 ช่องโดยหน่วงเวลาห่างกัน 100 ms
printf("\n\r%1.2f,%1.2f,%1.2f,%1.2f,%1.2f,%1.2f,%1.2f,%1.2f",value1,value2,value3,value4,value5,value6,value7,value8);
delay_ms(100);
printf("\n\r%1.2f,%1.2f,%1.2f,%1.2f,%1.2f,%1.2f,%1.2f,%1.2f",value9,value10,value11,value12,value13,value14,value15,value16);
delay_ms(100);
printf("\n\r%1.2f,%1.2f,%1.2f,%1.2f,%1.2f,%1.2f,%1.2f,%1.2f",value16,value17,value18,value19,value20,value21,value22,value23);
delay_ms(100);

ถ้าเราต้องการข้อมูลไปใช้งานมากขนาดนี้ มีวิธีหน่วงเวลา หรือ มีวิธีไหนที่สามารถทำได้บ้างครับ ผมหาทางเดินต่อไม่เจอเลยครับ
ช่วยแนะนำผมหน่อยคับ