سلام. اگه یک ورودی داشته باشیم و بخواهیم با هر بار صفر شدن اون ورودی یک واحد به یک متغییر اضافه بشه باید چکار کرد ؟
میشه ازش به عنوان آشکارساز عبور از صفر استفاده کرد ؟
داخل توابع لب ویو یه تابع هست به اسم equal? که وقتی ورودیها مساوی باشند خروجیش یک میشه. به یکی از ورودیهاش صفر وصل کن به اون یکی هم ورودی خودتو . خروجی این تابع رو هم بعنوان شرط یه case انتخاب کن داخل کیس هم از تابع +1 استفاده کن
داخل توابع لب ویو یه تابع هست به اسم equal? که وقتی ورودیها مساوی باشند خروجیش یک میشه. به یکی از ورودیهاش صفر وصل کن به اون یکی هم ورودی خودتو . خروجی این تابع رو هم بعنوان شرط یه case انتخاب کن داخل کیس هم از تابع +1 استفاده کن
اگه منظور شما از آشکار ساز عبور از صفر طراحی یه برنامه مثلا برای نمایش شکل موج سینوسی هستش که از بیرون وارد میکنید فکر نمیکنم جواب بده چون برنامه ای که جناب mojalan فرمودن درست هست ولی زمانی که دیتای ورودی شما صاف و بدون هیچ گونه نویزی باشه. در صورتی که خیلی از مواقع وقتی ما داریم نمونه برداری میکنیم هیچ وقت مقدار صفر رو بدست نمیاریم و معمولا با یه تلورانسی برخورد میکنیم مثلا 0.001 که اگه به برنامه داده بشه به عنوان عدد غیر صفر تلقی میشه.. شما باید برای اینطور مواقع برای سیستم یه تلورانسی مشخص کنید و صفر رو به صورت یه بازه تعریف کنید. اینکاری هستش که در خیلی از پروسه ها انجام میشه...
اگه هدف فقط اندازه گیری فرکانس هست که شما نیازی به طراحی در لب ویو ندارید. منظور شم اینه که در هر ثانیه میخواهید تعداد عبور از صفر رو بشمرید و بگید این فرکانسه. حالا از لب ویو میتونید برای نمایش سیگنال استفاده کنید. یا این که اگه میدونید فرم دقیق سیگنال چیه میتونید ابتدا یه شیفت به سیگنال بدبد و بعد مقادیر نمونه ها رو بفرستید لب ویو و علاوه بر نمایش فرکانس هم بست میاد..
اگه منظور شما از آشکار ساز عبور از صفر طراحی یه برنامه مثلا برای نمایش شکل موج سینوسی هستش که از بیرون وارد میکنید فکر نمیکنم جواب بده چون برنامه ای که جناب mojalan فرمودن درست هست ولی زمانی که دیتای ورودی شما صاف و بدون هیچ گونه نویزی باشه.
بله با تشکر از آقای حسین وردی . باید اضافه کنم که اصولا برای اعداد اعشاری بدلیل نحوه ذخیره سازی اعداد اعشاری در کامپیوتر اصولا از عملگر تساوی استفاده نمیشه (عملگرهای بزرگتر کوچکتر یا اعمال یه محدوده حوالی صفر مثلا در نظر گرفته میشه)
پروژه من دو قسمت هست یکی تولید یک سیگنال با دامنه و فرکانس مشخص هست و دومی اندازه گیری فرکانس یک سیگنال ورودی.
فرکانس و دامنه سیگنال در نرم افزار labview مشخص میشه و از طریق پورت سریال به یه نمایشگر خارجی فرستاده میشه.
برای اندازه گیری هم یک اشمیت تریگر قرار دادیم و پالس ها رو می خواهیم به پورت سریال بفرستیم .
اگه هدف فقط اندازه گیری فرکانس هست که شما نیازی به طراحی در لب ویو ندارید. منظور شم اینه که در هر ثانیه میخواهید تعداد عبور از صفر رو بشمرید و بگید این فرکانسه. حالا از لب ویو میتونید برای نمایش سیگنال استفاده کنید. یا این که اگه میدونید فرم دقیق سیگنال چیه میتونید ابتدا یه شیفت به سیگنال بدبد و بعد مقادیر نمونه ها رو بفرستید لب ویو و علاوه بر نمایش فرکانس هم بست میاد..
اگه بتونم شکل موج ورودی رو هم نمایش بدم و هم فرکانس اون رو اندازه گیری کنم خیلی خوبه .
پروژه من دو قسمت هست یکی تولید یک سیگنال با دامنه و فرکانس مشخص هست و دومی اندازه گیری فرکانس یک سیگنال ورودی.
فرکانس و دامنه سیگنال در نرم افزار labview مشخص میشه و از طریق پورت سریال به یه نمایشگر خارجی فرستاده میشه.
برای اندازه گیری هم یک اشمیت تریگر قرار دادیم و پالس ها رو می خواهیم به پورت سریال بفرستیم .
حمید جان نوشته که ....
اگه شکل موج ورودی با اشمت تریگر باشه خب دامنه اش ثابته مییشه فرکانسش و اندازه بگیری .
واسه تولید شکل موج هم بلوک build wave form هست . منتهی باز آقای حسین وردی بگن بهتره .
دیدگاه