در این پست ما قصد داریم برنامه ای بنویسیم که پروسس های موجود در سیستم به همراه id و Priority نمایش میدهد. ما در این برنامه برای انجام این کار از API موجود در سیستم عامل استفاده میکنیم .
در این پست ما قصد داریم برنامه ای بنویسیم که پروسس های موجود در سیستم به همراه id و Priority نمایش میدهد. ما در این برنامه برای انجام این کار از API موجود در سیستم عامل استفاده میکنیم .
هر CPU دارای یک مقدار منحصر به فردی میباشد که توسط کارخانه درون آن نوشته میشود و با دستورات و حتی با ابزار های ویندوز قابل دیدن میباشد .
این مقدار بیشتر برای ایجاد قفل های سخت افزاری به کار میرود.
ما برنامه مثالی برای گرفتن و نمایش آن میگذاریم تا از توضیحات اضافی خوداری شود ... این کد در ویندوز 7 مجازی 32 بیت و در ویندوز 10 با دو CPU اینتل و ای ام دی تست و درست میباشد.
CreateNamedPipe : این تابع پس از ساخته شدن یک هندل برای کنترل برمیگرداند و سپس شروع به کار میکند.
سینتکس این تابع به صورت زیر میباشد .
HANDLE WINAPI CreateNamedPipe( LPCTSTR lpName, DWORD dwOpenMode, DWORD dwPipeMode, DWORD nMaxInstances, DWORD nOutBufferSize, DWORD nInBufferSize, DWORD nDefaultTimeOut, LPSECURITY_ATTRIBUTES lpSecurityAttributes );
هر سیستم کنترلی را به سه بخش اصلی میتوان تقسیم کرد : ورودی ، بخش پردازشگر و خروجی.
سیگنال های ورودی توسط مبدلها که کمیتهای فیزیکی را به سیگنالهای الکترونیکی تبدیل میکنند ، فراهم میشوند.
یک سیستم کنترل باید بتواند بر طریقه عملکردی یک فرآیند دخالت و تسلط داشته باشد. این کار با استفاده المانهای خروجی، از قبیل پمپها، موتورها، پیستونها، رلهها و … انجام میشود.
یک طرح کنترلی به دو روش قابل اجرا است:
با استفاده از سیستمهای کنترل غیرقابل تغییر توسط اپراتور و نیز با استفاده از کنترل کنندههای قابل برنامهریزی.
رله یکی از قطعات مهم در بیشتر سیستمهای کنترل مدرن است. این قطعه یک سوئیچ الکتریکی با ظرفیت جریانی بالاست. یک سیستم رلهای ممکن است شامل چند صد یا حتی چند هزار کنتاکت باشد.
PLC ها به عنوان جانشینی برای سیستم های منطقی رلهای و تایمری غیرقابل تغییر توسط اپراتور طراحی شدند تا به جای تابلوهای کنترل متداول قدیمی استفاده شوند. این کار به وسیله برنامهریزی آنها و اجرای دستورالعملهای منطقی ساده که اغلب به شکل دیاگرام نردبانی است، صورت میگیرد. PLC ها دارای یک سری توابع درونی از قبیل: تایمرها و شمارندهها و شیفت رجیسترها میباشند که امکان کنترل مناسب را حتی با استفاده از کوچکترین PLC نیز، فراهم میآورند.
یک PLC با خواندن سیگنالهای ورودی، کار خود را شروع کرده و سپس دستورالعملهای منطقی (که قبلاَ برنامهریزی شده و در حافظه جای گرفته است) را بر روی این سیگنالهای ورودی اعمال میکند و در پایان، سیگنالهای خروجی مطلوب را برای راهاندازی تجهیزات و ماشینآلات تولید مینماید. تجهیزات استانداردی درون PLCها تعبیه شدهاند که به آنها اجازه میدهد مستقیماَ و بدون نیاز به واسطه های مداری یا رلهها، به المان خروجی یا محرک (actuator) و مبدلهای ورودی (مانند پمپها و سوپاپها) متصل شوند.
ادامه توضیحات در ادامه مطلب
این تابع یک API ویندوز میباشد و برای ساخت یا باز کردن یک فایل یا یک جریان ورودی خروجی برای یک وسیله میباشد .
این تابع در ویندز XP و Server 2003 بعد از آنها قابل استفاده میباشد و در Kernel32.dll موجود است .
در حالت یونی کد از CreateFileW و در حالت اسکی از CreateFileA نیز استفاده میشود
HANDLE WINAPI CreateFile( LPCTSTR lpFileName, DWORD dwDesiredAccess, DWORD dwShareMode, LPSECURITY_ATTRIBUTES lpSecurityAttributes, DWORD dwCreationDisposition, DWORD dwFlagsAndAttributes, HANDLE hTemplateFile );