ارسال پاسخ 
 
امتیاز موضوع:
  • 0 رأی - میانگین امتیازات: 0
  • 1
  • 2
  • 3
  • 4
  • 5
آموزش PLC شرکت Omron - قسمت هشتم - فضای حافظه
۱۳۹۹-۱-۱۵, ۰۶:۵۶ صبح (آخرین ویرایش در این ارسال: ۱۳۹۹-۱-۱۵ ۰۷:۲۶ صبح، توسط omron.)
ارسال: #1
آموزش PLC شرکت Omron - قسمت هشتم - فضای حافظه
5- فضاي حافظه
5-1- تعريف فضاي داده ها
در زير فضاي داده ها در حافظة ورودي/خروجي به تفصيل توضيح داده خواهد شد.
5-1-1- ناحية CIO (Common Input/Output Area)
هنگام وارد كردن يك آدرس از منطقة CIO حافظة PLC نيازي به وارد كردن حروف اختصاري CIO در ابتداي آدرس نمي باشد. منطقة حافظة CIO عموماً براي تبادل و تجديد (Refreshing) اطلاعات بين PLC و بخشهاي ورودي و خروجي استفاده مي شود. منطقة CIO از 6144Word از 0000 تا 6143 (از بيت 0000.00 تا 6143.15) تشكيل شده است. در اين منطقه از حافظه Word هايي كه به بخشهاي ورودي و خروجي اختصاص داده نشده باشند را مي توان در برنامه به عنوان Word ها وبيت هاي كاربردي و مجازي استفاده كرد.

[تصویر:  cio.jpg]

1. مي توان با انجام تنظيمات خاص و تعيين آدرس ابتدايي هر Rack از PLC از آدرسهاي CIO0000 تا CIO0999 براي بخشهاي ورودي و خروجي ديجيتال استفاده كرد. اين تنظيمات براي مشخص كردن آدرس ابتدايي هر Rack توسط نرم افزار CX-Programmer و در قسمت جدول ورودي/خروجي (I/O Table) انجام مي گيرد. براي تعيين آدرس ابتدايي اولين Rack مي توان از CIO0000 تا CIO0900 استفاده كرد.
2. بخشي از منطقة حافظة CIO كه "بدون كاربرد" مي باشد را مي توان به عنوان حافظة كار در برنامه نويسي استفاده كرد. البته در آينده با اضافه شدن توابع جديد به PLC ها بيت هايي از منطقة CIO كه هم اكنون بدون استفاده است نيز بكار گرفته خواهند شد، به همين دليل در ابتدا استفاده از بيتهاي منطقة W(Work Area) به عنوان بيتهاي كاربردي در برنامه توصيه ميگردد.

5-1-2- ناحية W (Work Area)
زماني كه از آدرسهاي منطقة كار (Work Area) استفاده مي شود بايد قبل از آدرس حرف "W" را براي مشخص كردن اين منطقة از حافظه قرار داد. منطقة Work Area از 512Word كه از W000 تا W511 (بيتهايW000.00 تا W511.15) مي باشد، تشكيل شده است. Word هاي اين منطقه از حافظه را فقط در برنامه نويسي مي توان استفاده كرد، بدين منظور كه از اين Word ها نمي توان به عنوان آدرس هاي ورودي و خروجي كه توسط ترمينالهاي ورودي و خروجي به عناصر خارجي متصل است استفاده كرد. از آنجايي كه در آينده تابع جديدي به اين منطقه از حافظة PLC ها اختصاص داده نخواهد شد، لذا استفاده از اين منطقة حافظه به عنوان حافظة مجازي قبل از استفاده از بيتهاي بدون كاربرد منطقة CIO توصيه مي شود.
اگر اين حافظه براي برنامه نويسي كافي نبود مي توان از حافظة CIO (CIO1200 تا CIO1499 و همچنين CIO3800 تا CIO6143) استفاده كرد.
[تصویر:  work_area.jpg]

5-1-3- ناحية H (Holding Area)
زماني كه از آدرسهاي منطقة پايدار (Holding) استفاده مي شود بايد قبل از آدرس حرف "H" را براي مشخص كردن اين منطقة حافظه قرار داد. از اين منطقه از حافظه فقط در برنامه مي توان استفاده كرد (نمي توان از اين حافظه به عنوان حافظه مربوط به ورودي و خروجي هاي فيزيكي PLC استفاده كرد).
محتواي اين حافظه از PLC در صورت خاموش شدن PLC و يا تغيير مد عملكرد آن ازمد Program به مد Run و يا مد Monitor حفظ خواهد شد. محتواي اين منطقه در صورت وجود باتري حفظ مي شود.
منطقة Holding Area از 512Word كه از H000 تا H511 (بيتهايH000.00 تا H511.15) مي باشد، تشكيل شده است. مي توان از اين منطقه به صورت مورد نياز، به صورت كنتاكتهاي بسته و باز در برنامه استفاده كرد.

[تصویر:  holding_area.jpg]

5-1-4- ناحية A (Auxiliary Area)
زماني كه از آدرسهاي منطقة كمكي (Auxiliary) استفاده مي شود بايد قبل از آدرس حرف "A" را براي مشخص كردن اين منطقة حافظه قرار داد. منطقة Auxiliary شامل فلگهاي از پيش تعيين شده و بيتهاي كنترلي است كه براي نشان دادن سلامت CPU، و بخش هاي ورودي و خروجي خاص و همچنين مسير ارتباطي CPU و باتري به كار مي روند.
اين منطقه شامل 960Word است كه از A000 تا A959 مي باشد. اين منطقه از حافظه به دو بخش تقسيم شده است: A000 تا A447 منطقة با قابليت فقط خواندني و A448 تا A959 منطقة با قابليت خواندن و نوشتن توسط برنامه مي باشد.

[تصویر:  auxiliary_relay_area.jpg]

5-1-5- ناحية D (Data Memory Area)
زماني كه از آدرسهاي منطقة Data Memory استفاده مي شود بايد قبل از آدرس حرف "D" را براي مشخص كردن اين منطقة حافظه قرار داد (در گذشته اين منطقه با حروف اختصاري "DM" نشان داده مي شد كه اين مشخصه هنوز نيز در بعضي از PLC ها به كار مي رود). اين منطقه از حافظه، منطقه اي چند منظوره مي باشد كه فقط به صورت Word قابل استفاده است. محتواي اين منطقه از حافظه در صورت خاموش شدن PLC و يا تغيير مد عملكرد آن از مد Program به مد Monitor و يا Run و بالعكس حفظ مي شود. اين منطقه از حافظه توسط باتري PLC پشتيباني مي گردد.
منطقه D از 32,768Word تشكيل شده است كه از D00000 تا D32767 مي باشد. اين منطقه براي ذخيره كردن اطلاعات و همچنين انجام عمليات محاسباتي كه به صورت Word انجام مي گيرد، استفاده مي شود.
منطقة D معمولا براي ذخيره كردن اطلاعات همچون مقادير ثابت، مقادير ثبت شدة گذشته، نتايج عملياتهاي محاسباتي و غيره . . . به كار مي رود.
بيتهاي اين منطقه از حافظه قابل دسترسي به صورت مستقيم نمي باشند ولي مي توان اين بيتها را با دستورالعملهاي BIT TEST همچون دستور TST(350) و TSTN(351) كنترل كرد. لازم به ذكر است كه اين بيتها را نمي توان با جبر (Force) روشن و يا خاموش كرد.

[تصویر:  data_memory_area.jpg]

5-1-6- ناحية E (Extended Data Memory Area)
زماني كه از آدرسهاي منطقة Extended Data Memory استفاده مي شود بايد قبل از آدرس حرف "E" را براي مشخص كردن اين منطقة حافظه قرار داد (در گذشته اين منطقه با حروف اختصاري "EM" نشان داده مي شد كه اين مشخصه هنوز نيز در بعضي از PLC ها به كار مي رود). اين منطقه از حافظه، منطقه اي چند منظوره مي باشد كه فقط به صورت Word قابل دسترسي مي باشد. محتواي اين منطقه از حافظه در صورت خاموش شدن PLC و يا تغيير مد عملكرد آن از مد Program به مد Monitor و يا Run و بالعكس حفظ مي شود. اين منطقه از حافظه توسط باتري PLC پشتيباني مي گردد.
اين منطقة حافظه از بانكهاي حافظه تشكيل شده است، كه هر كدام از اين بانكها شامل 32,768Word مي باشند. حافظة E از آدرس E0_0000 تا En_32767 تشكيل شده است. اين منطقه براي ذخيره كردن اطلاعات و همچنين انجام عمليات محاسباتي كه به صورت Word انجام مي گيرد، استفاده مي شود.
تعداد بانكهاي موجود در اين منطقه به مدل CPU بستگي دارد، كه حداكثر تعداد آنها 13بانك ( از 0 تا C) مي باشد.
منطقة E معمولا براي ذخيره كردن اطلاعاتي همچون مقادير ثابت، مقادير ثبت شدة گذشته، نتايج عملياتهاي محاسباتي و غيره . . . به كار مي رود.
بيتهاي اين منطقه از حافظه قابل دسترسي به صورت مستقيم نمي باشند ولي مي توان اين بيتها را با دستورالعملهاي BIT TEST همچون دستور TST(350) و TSTN(351) كنترل كرد. لازم به ذكر است اين بيتها را نمي توان با جبر (Force) روشن و يا خاموش كرد.
تعيين آدرسهاي ناحية E
براي تعيين آدرس در منطقة E دو روش وجود دارد: تعيين همزمان آدرس و همچنين بانك و يا مشخص كردن آدرس در بانك فعلي. به طور كلي آدرس دهي همزمان بانك مورد نظر و همچنين آدرس مورد نظر در آن بانك توصيه مي گردد.
1. مشخص كردن بانك و آدرس
در اين روش شمارة بانك مورد نظر بايد بعد از "E" ذكر شود، مانند E2_00010 كه مشخص كنندة آدرس 00010 از بانك 2 در منطقة E مي باشد.
2. مشخص كردن آدرس در همان بانك فعلي
در اين روش فقط آدرس مورد نظر در E بايد مشخص گردد. به عنوان مثال E00010 كه مشخص كنندة آدرس 00010 در بانك فعلي مي باشد.
بانك فعلي زماني كه مد PLC از مد Program به مد Run/Monitor تغيير كند به 0 تبديل مي شود مگر اينكه بيت A500.12 كه بيت نگهدارندة حافظة IO مي باشد روشن باشد.

[تصویر:  extended_memory_area.jpg]
5-1-7- ناحية تايمر (Timer Area)
دو ناحيه براي اطلاعات تايمر وجود دارد: فلگ اتمام كار تايمرها (Completion Flag) و همچنين ارزش فعلي تايمرها (Present Value). هنگام مشخص كردن فلگ اتمام كار تايمرها بايد حرف "T" قبل از آدرس ذكر شود. 4096 تايمر با شمارة تايمر T0000 تا T4095 در PLC وجود دارد. كه همة دستورات تايمر، كه شامل دستورات TIM، TIMH(015)، TMHH(540)، TTIM(087)، TIMW(813) و TMHW(815) مي باشد بخشي از اين فضاي حافظه را اشغال مي كنند. براي اين دستورالعملها فلگ اتمام كار و همچنين ارزش فعلي با شماره تايمر مشخص مي گردد. (براي دستورهاي TIML(542) و MTIM(543) از اين فضاي حافظه استفاده نمي شود).
زمانيكه از آدرس يك تايمر در دستوري با عملگر بيتي، به عنوان عملگر استفاده مي شود، اين داده به عنوان فلگ اتمام كار تايمر در نظر گرفته مي شود. ولي زمانيكه از آدرس تايمر در دستوري با عملگر Word استفاده شود، اين داده به عنوان ارزش فعلي تايمر كه خود داده اي به صورت Word است در نظر گرفته مي شود. فلگ اتمام كار تايمر را مي توان به دفعات مورد نياز در برنامه به صورت كنتاكت باز و يا بسته استفاده كرد و همچنين ارزش فعلي تايمر را هم مي توان به صورت يك دادة Word به دفعات در دستورالعملهاي مختلف استفاده كرد.
استفاده از دو تايمر مختلف با يك شمارة تايمر در برنامه به هيچ عنوان توصيه نمي گردد، اين امر باعث عملكرد نادرست تايمرها هنگام عملكرد همزمان آنان خواهد شد. (اگر از دو يا چند تايمر مختلف با يك شمارة تايمر در برنامه استفاده شود در هنگام بررسي برنامه توسط نرم افزار خطايي ايجاد مي گردد).
فلگ اتمام كار تايمر
اين فلگ به صورت بيتي فراخوانده مي شود. اين فلگ زماني كه زمان مشخص شده براي تايمر به پايان رسيد و يا به عبارتي زماني كه كار تايمر به اتمام رسيد روشن خواهد شد.

[تصویر:  timer_area.jpg]

تايمر SV/PV
Set Valueزمان تعيين شده براي تايمر است كه بايد سپري شود تا فلگ اتمام كار تايمر روشن گردد. Present Value به صورت Word در برنامه نوشته و يا فراخوانده مي شود. در زمان فعال بودن تايمر PV به صورت معكوس شروع به كاهش مي كند كه نشان دهندة زمان باقي مانده تايمر مي باشد.
تايمرها براي ايجاد فاصلة زماني قبل از اجراي مرحلة بعدي برنامه به كار مي روند. تا اين امكان را به وجود آورند كه قبل شروع مرحلة بعدي مرحلة قبلي به پايان رسيده باشد

[تصویر:  timer_sp_pv.jpg]

5-1-8- ناحية كانتر (Counter Area)
دو ناحيه براي اطلاعات كانتر وجود دارد: فلگ اتمام كار كانترها (Completion Flag) و همچنين ارزش فعلي كانترها (Present Value). هنگام مشخص كردن فلگ اتمام كار كانترها بايد حرف "C" را قبل از آدرس قرار داد. 4096 كانتر با شماره كانتر C0000 تا C4095 وجود دارد. كه همة دستورات كانتر كه شامل دستورات CNT، CNTR(012) وCNTW(814) مي باشد، بخشي از اين فضاي حافظه را به خود اختصاص مي دهند. براي اين دستورالعملها فلگ اتمام كار و همچنين ارزش فعلي با شماره كانتر مشخص مي گردد.
زمانيكه آدرس كانتر در دستوري با عملگر بيتي، به عنوان عملگر استفاده مي شود، اين داده به عنوان فلگ اتمام كار كانتر در نظر گرفته مي شود. ولي زمانيكه آدرس كانتر در دستوري با عملگر Word استفاده شود، اين داده به عنوان ارزش فعلي كانتر كه خود داده اي Word است در نظر گرفته مي شود.
استفاده از دو كانتر مختلف با يك شمارة كانتر در برنامه به هيچ عنوان توصيه نمي گردد، اين امر باعث عملكرد نادرست كانترها هنگام عملكرد همزمان آنان خواهد شد. (اگر از دو يا چند كانتر مختلف با يك شمارة كانتر در برنامه استفاده شود در هنگام بررسي برنامه توسط نرم افزار به عنوان خطا در نظر گرفته مي شود).

فلگ اتمام كار كانتر
اين فلگ به صورت بيتي فراخوانده مي شود. اين فلگ زماني كه شمارش تعداد پالسهاي مشخص شده براي كانتر به پايان رسيد و يا به عبارتي زماني كه كار كانتر به اتمام رسيد روشن خواهد شد.

[تصویر:  counter_area.jpg]

كانتر SV/PV
Set Valueتعداد شمارش تعيين شده براي كانتر است كه بايد توسط كانتر شمرده شود تا فلگ اتمام كار كانتر روشن گردد.
Present Value به صورت Word در برنامه نوشته و يا فراخوانده مي شود. در زمان فعال بودن كانتر PV به صورت افزايشي و يا كاهشي چگونگي شمارش را نشان مي دهد.
كانترها براي شمارش كالاهاي بازگشتي و يا كالاهاي توليد شده به كار مي روند.

[تصویر:  counter_sp_pv.jpg]

5-1-9- فلگهاي وضعيت
اين فلگها شامل فلگهاي محاسباتي و منطقي مانند فلگ خطا (Error Flag) و فلگ مساوي (Equal Flag) مي باشند، كه نتيجة اجرا يك دستورالعمل را نشان مي دهند. علاوه بر آن فلگهاي هميشه روشن (Always On Flag) و هميشه خاموش (Always Off Flag) نيز جز اين فلگها مي باشند. در PLC هاي قديمي تر اين فلگها در منطقة SR حافظه قرار داشتند.
فلگهاي وضعيت با اصطلاحات خاص مانند CY و يا ER مشخص مي شوند و يا اين فلگها با نمادهاي خاصي همچون P_Carry و يا P_Error به جاي آدرس آنها مورد استفاده قرار مي گيرند. حالت اين فلگها از نتيجة اجرا دستورات در برنامه تأثير مي پذيرد. اين فلگها داراي دسترسي فقط خواندني بوده و نمي توان آنها را مستقيما با استفاده از دستورالعمل خاصي فرمان داد.
حالت تمام فلگهاي وضعيت، زماني كه برنامه بين Task هاي مختلف سوييچ مي كند باز نشانده (Reset) مي شود. در نتيجه حالت فلگهاي مانند ER و AER فقط در همان Task كه استفاده مي شوند صادق است.
همچنين اين فلگها را نمي توان با استفاده از جبر (Force) روشن و خاموش كرد.

[تصویر:  equal_flag.jpg]

در CX-Programmer فلگهاي وضعيت نيز مانند بقية نمادها با "P_" آغاز مي شوند.
5-1-10- پالسهاي زماني
پالسهاي زماني توسط تايمر داخلي CPU روشن و خاموش مي شوند. اين بيتها را با استفاده از نمادها به جاي آدرس در برنامه مورد استفاده قرار مي دهند.
پالسهاي زماني فقط خواندني هستند، اين پالسها را نمي توان با استفاده از دستورات فرمان داد.
اين پالسها همگي در شروع عملكرد PLC بازنشانده (Reset) مي شوند.

[تصویر:  pulse_flag.jpg]

5-1-11- ناحية TK (Task Flag Area)
اين ناحيه از حافظه از TK00 تا TK31 تشكيل شده است كه مربوط به Task هاي سيكلي PLC مي باشد. اين فلگ در صورتي كه Task مورد نظر با همان شماره قابل اجرا و يا در حالت Run باشد روشن و در صورتي كه Task مورد نظر قابل اجرا نباشد و يا در حالت انتظار باشد خاموش مي شود.
اين فلگها فقط نشان دهندة حالت Task هاي سيكلي بوده و از Task هاي وقفه اي تأثير نمي پذيرد.
5-1-12- ناحية IR (Index Register)
اين 16 ثبات شاخص (IR00 تا IR15) براي ذخيره كردن آدرسهاي حافظة PLC براي آدرس دهي غير مستقيم حافظه به كار برده مي شود (آدرسهاي مطلق حافظه در RAM). هر كدام از ثباتهاي شاخص قابليت حفظ يكي از آدرس هاي PLC را دارا مي باشد، كه اين آدرس ها به حافظه هاي مطلق PLC اشاره مي كنند. اين منطقه از حافظه را مي توان به صورت جداگانه در يك Task و يا، براي PLC هاي مدل CJ1H در همةTask ها استفاده كرد.
5-1-13- ناحية DR (Data Register)
منطقه ثبات داده از حافظه (DR00 تا DR15) توأم با منطقة IR استفاده مي شود. زمانيكه داده اي درست قبل از وارد شدن يك آدرس در حافظة IR ، در حافظة DR وارد شود محتواي اين حافظه به محتواي حافظة IR براي مشخص كردن آدرس به صورت آدرس دهي غيرمستقيم اضافه مي شود. از آنجايي كه محتواي حافظة DR به صورت باينري علامت دار است، لذا محتوايIR مي تواند به آدرسهاي بالاتر و يا پايين تر تبديل شود. اين منطقه از حافظه مي تواند به صورت جداگانه در هر Task به كار برده شود و يا براي PLC مدل CJ1-H براي همة Task ها به كار برده شود.
براي وارد كردن داده هاي مورد نياز در منطقة DR مي توان از دستورالعملهاي معمول برنامه نويسي استفاده كرد.

5-2- نقشة حافظه

[تصویر:  memory_map.jpg]

یافتن تمامی ارسال‌های این کاربر
نقل قول این ارسال در یک پاسخ
ارسال پاسخ 

آموزش   در این تالار کلیه مطالب آموزشی قرار می گیرد.
کاربران حاضر
کاربرانِ درحال بازدید از این موضوع: 1 مهمان
آغاز کننده omron
ارسال ها 1
بازديد ها 215


پرش به انجمن: