آموزش ایجاد مدل فرآیند گره هاب در آپنت OPNET
در این بخش از آموزش شبیه ساز OPNET ایجاد مدل فرآیند گره هاب موجود در آپنت را برای شما کاربران آماده کردیم که به صورت مختصر در ادامه شرح داده شده
ایجاد مدل فرآیند گره هاب :
در این نوع مدل هاب بسته را دریافت کرده و بر اساس آدرس مقصد آن را به فرستنده می فرستد که آن را به گره مقصد بفرستد. حالا مدل فرآیند هاب را ایجاد خواهیم کرد. در مدل گره ، ماژول پردازشگر هاب به فرستنده و گیرنده از طریق جریان بسته ها متصل می شود. و هر بسته همراه با یک وقفه می باشد. مدل فرآیند هاب در هر زمانی که یک بسته از دریافت کننده برسد یک وقفه دریافت می کند.
برای ساخت مدل فرآیند هاب از منوی File گزینه New… و سپس Process Model را انتخاب نمایید و کلید OK را فشار داده و از نوار ابزار دکمه Create State را فشار داده و یک حالت در پنجره ویرایشگر ایجاد کنید. صفت نام آن را به idle عوض کرده از کلید Create Transition استفاده نمایید و یک گذر از idle را رسم کرده بر روی گذر راست کلیک کنید و Edit Attributes را انتخاب نمایید. صفت condition را به PK_ARRVL و صفت executive را به route_pk() تغییر بدهید. زمانی که یک بسته از نقطه به نقطه دریافت می شود، مدل فرآیند توسط جریان وقفه درخواست می کند. باید گذر برای انجام این شرط امتحان شود. برای بستن پنجره گفتگوی attribute کلید OK را کلیک نمایید.
توضیحات بیشتر جهت ایجاد مدل فرآیند گره هاب موجود در آپنت در ادامه مطلب.
در مرحله بعد ماکروی PK_ARRVL را تعریف کرده و بر روی دکمه Edit Header Block از نوار ابزار کلیک نمایید. ماکرو زیر را برای تعریف PK_ARRVL وارد نمایید.
#define PK_ARRVL (op_intrpt_type () == OPC_INTRPT_STRM)
از منوی File گزینه Save را انتخاب نمایید تا تغییرات ایجاد شده ذخیره شود. شرط PK_ARRVL نوع وقفه ای را که تحویل داده شده را با ثابت سمبلیک از قبل تعریف شده OPC_INTRPT_STRM مقایسه کرده و یک جریان وقفه را نمایش می دهد. در این مدل نوع وقفه مورد انتظار است ولی باید از خطای گذر در زمان اجرا جلوگیری کنیم. برای انجام این کار شما باید یک گذر پیش فرض چرخشی به حالات غیرجبری ایجاد نمایید. برای ایجاد یک گذر پیش فرض غیرجبری ، یک گذر در روی حالت idle به خودش ایجاد نمایید. صفت condition را به default تغییر داده و برای بستن پنجره گفتگو بر روی OK کلیک نمایید. نتیجه کار شما باید شبیه شکل مقابل شده باشد.
و همچنین شما می توانید route_pk() transition executive را تعریف کنید برای این کار از نوار ابزار دکمه Edit Function Block را کلیک نمایید. و کد زیر را در پنجره گفتگوی باز شده وارد نمایید و از منوی File گزینه Save را انتخاب نمایید این کد تا موقعی اجرا خواهد شد که FSM گذر را دنبال کند. اولین خط بعد از FIN(route_pk()) دو اثر دارد. بسته رسیده شده از جریان ورودی را بازیابی می کند(شاخص به وسیله op_intrpt_strm() مشخص می شود) سپس op_pk_get() از شاخص جریان بسته برای بازگرداندن اشاره گر به بسته استفاده می شود.
باید فرآیند آدرس مقصد انتقال شده در بسته را بدست آورد. آدرس مقصد در فیلد dest_address بسته قرار داده می شود که نوعی داده صحیح می باشد.خط دوم کد آدرس مقصد را به متغیر محلی dest_address تخصیص خواهد داد. آخرین خط کد بسته را به فرستنده نقطه به نقطه صحیح بر اساس آدرس مقصد می فرستد.
static void route_pk(void)
{
int dest_address;
Packet * pkptr;
FIN(route_pk());
pkptr = op_pk_get(op_intrpt_strm ());
op_pk_nfd_get_int32 (pkptr, “dest_address”,&dest_address);
op_pk_send (pkptr, dest_address);
FOUT;
}
در پایان کار می توانید صفت واسط مدل را برای فرآیند تعریف نموده و مدل را کامپایل کنید. ابتدا صفات وقفه begsim را فعال کرده از منوی Interfaces گزینه Process Interfaces را انتخاب کرده و صفت begsim intrpt را در روی enabled تنظیم نمایید. در صورت نیاز توضیحاتی برای آن وارد کرده سپس در روی OK کلیک نمایید تا تنظیمات واسط فرآیند خاتمه یابد. گام دیگر کامپایل مدل است. برای این کار کلید Compile Process Model را از صفحه کلید فشار داده و سپس کلید Save را کلیک نمایید. مدل را با نام
پنجره گفتگوی وضعیت کامپایل پدیدار خواهد شد. هنگامی که وضعیت به done تغییر کرد کلید close را کلیک نمایید در پایان از منوی File گزینه close را انتخاب نمایید تا پنجره ویرایشگر فرآیند بسته شود.
بعد از تعریف مدل فرآیند هاب می توانید صفات مدل فرآیند ماژول پردازشگر hub را در ویرایشگر گره تنظیم نمایید از منوی Window گزینه Node Model و سپس
هیچ نظری ثبت نشده است