متغیر حافظه که در برنامه نویسی (تجهیزات اتوماسیون صنعتی) از آن استفاده می شود در جدول زیر لیست شده اند:
نوع متغیر حافظه | علامت اختصاری در برنامه | کاربرد |
input | I | ورودی های دیجیتال و آنالوگ |
output | Q | خروجی های دیجیتال و آنالوگ |
MEMORY BIT | M | نتایج میان برنامه |
TIMER | T | زمان سنجی |
COUNTER | C | شمارش |
LOCAL DATA | L | مقادیر محلی داخل یک بلاک |
انواع متغیر های حافظه
I و Q و M.و L میتوانند به صورت بیت یا BYTE یا WORD یا DOUBLE WORD آدرس دهی شوند. این آدرس دهی ماکزیمم 32 بیتی است. برای آدرس دهی مقادیر 64 بیتی نمیتوان از این روش استفاده نمود.
ورودی یا خروجی PLC میتواند جنس Bit یا Byte یا Word یا Dword باشد. به عنوان مثال برای وضعیت یک سوئیچ که به کارت DI متصل است و فقط حالت صفر یا یک دارد یک Bit کافی است ولی وقتی لازم باشد 8 ورودی DI به صورت یک جا خوانده شوند یک Byte لازم است. برای ورودی و خروجی های آنالوگ یک Word مورد نیاز خواهد بود، به همین ترتیب برای خواندن 32 ورودی دیجیتال یا دو ورودی آنالوگ متوالی نیاز به یک Double Word خواهد بود.
نوع داده | نحوه نمایش | مثال |
Input | Bit | I | I 0.1 |
Byte | IB | IB 1 | |
Word | IW | IW 2 | |
Dword | ID | ID 8 | |
Output | Bit | Q | Q 0.1 |
Byte | QB | QB 1 | |
Word | QW | QW 2 | |
Dword | QD | QD 8 | |
Memory Bit | Bit | M | M 0.1 |
Byte | MB | MB 1 | |
Word | MW | MW 2 | |
Dword | MD | MD 8 | |
Local Data | Bit | L | L 0.1 |
Byte | LB | LB 1 | |
Word | LW | LW 2 | |
Dword | LD | LD 8 |
انواع روش های آدرس دهی متغیر های حافظه
روش آدرس دهی Bit
برای آدرس دهی یک بیت باید ابتدا شماره بیت را نوشته سپس با گذاشتن نقطه آدرس بیت را در آن بایت مشخص کنیم.
بدیهی است عدد سمت راست که بیت را مشخص میکند نمیتواند از عدد 7 بزرگتر باشد چون در یک بایت 8 بیت داریم که از صفر تا 7 شماره دهی میشوند، از این رو آدرسی مانند 0.8 نادرست خواهد بود.
روش آدرس دهی Bit
برای آدرس دهی یک بیت باید ابتدا شماره بایت را نوشته و سپس با گذاشتن نقطه آدرس بیت را در آن بایت مشخص کنیم.
بدیهی است عدد سمت راست که بیت را مشخص میکند نمیتواند از عدد 7 بزرگتر باشد چون در یک بایت 8 بیت داریم که از صفر تا 7 شماره دهی میشوند، از این رو آدرسی مانند 0.8 نادرست خواهد بود.
روش آدرس دهی Word
برای آدرس دهی Word مرسوم این است که عددی که در رو به روی آن نوشته میشود زوج باشد، علت این است که هر Word با Word بعدی به اندازه دو بایت فاصله دارد. اگر این نکته مراعات شود میتوان آدرس فرد را به کار برد. به عنوان مثال به کار بردن IW0، IW2، IW4 درست است، همین طور به کار بردن IW1 و IW3 و IW5 نیز درست است ولی به کار بردن IW0 و IW1 اشتباه است زیرا این دو با یکدیگر در بایت شماره 1 مشترک میباشند.
روش آدرس دهی Double word
هر آدرس دهی با آدرس بعدی باید 4 بایت فاصله داشته باشد. مثلا MD0 و MD4.
ورودی یا خروجی PLC در اتوماسیون صنعتی میتواند از جنس BIT یا BYTE یا DWORD باشد. به عنوان مثال برای وضعیت یک سوئیچ که به کارت DI متصل است و فقط حالت صفر یا یک دارد یک BIT کافی است ولی وقتی لازم باشد 8 ورودی DI به صورت یکجا خوانده شوند یک BYTE لازم است. برای ورودی و خروجی های آنالوگ یک WORD مورد نیاز خواهد بود به همین ترتیب برای خواندن 32 ورودی دیجیتال یا دو ورودی آنالوگ متوالی نیاز به DOUBLE WORD خواهد بود.
در HWCONFIG پس از این که کارت های دیجتال و آنالوگ زیمنس وارد گردید می توان از طریق منوی VIEW یا انتخاب گزینه ADDRESS OVERVIEW لیست آدرس کارت ها را مشاهده نمود.
آدرس دهی کارت های دیجیتال ورودی در نمایندگی اتوماسیون صنعتی زیمنس
در کارت های دیجیتال به ازای هر کانال ورودی، یک بیت از ناحیه آدرس ها (PII) اختصاص داده میشود. در واقع میتوان گفت به ازای هر هشت کانال ورودی یا خروجی دیجیتال، یک بایت از حافظه اختصاص داده میشود. برای آدرس دهی هر ورودی یا خروجی لازم است ابتدا شماره بایت اختصاص داده شده را مشخص نموده و سپس شماره بیت اختصاص داده شده را ذکر نمود.
همانطور که بیان شد، به ازای هر هشت کانال یک بایت از ناحیه آدرسها اختصاص داده میشود. بنابراین به هشت کانال اول کارت، آدرس Byte 0 و به هشت کانال دوم کارت، آدرسByte 1، به هشت کانال سوم کارت، آدرس Byte 2 و به هشت کانال چهارم کارت، آدرس Byte 3 اختصاص داده شده است.
وقتی کارت دیجیتال در محیط TIA Portal وارد میشود، برنامه به طور خودکار آدرسی را به آن اختصاص میدهد. این آدرس یک عدد شروع و یک عدد پایان دارد. طول این بازه به تعداد کانال کارت بستگی دارد.
به طور مثال در یک کارت ورودی 32 کاناله دیجیتال آدرس شروع تا پایان به اندازه 4 بایت فاصله دارد. این فاصله بایتی را میتوان در ستون I Address یا با دو بار کلیک نمودن روی کارت در سر برگ Addresse مشاهده نمود. پس در اینجا آدرس اولین کانال I 8.0 و آدرس آخرین کانال I 11.7 خواهد بود.
اگر کاربر بخواهد در همین پنجره آدرس کانالها را به طور دقیق و تفکیکی ببیند میتواند روی کارت دو بار کلیک نموده IQ tags که برای اختصاص نام به کانالهاست انتخاب شود. در این حالت پنجره ای نشان داده میشود که آدرس واقعی همه کانال ها در آن لیست شده است. این پنجره را در ادامه بحث آدرس دهی مطلق و سمبلیک تشریح میکنیم.
در TIA Portal پس از اینکه کارت های دیجیتال و آنالوگ وارد گردید میتوان با دابل کلیک بر روی CPU و از طریق منویGeneral، با انتخاب گزینه Overview of Addresse لیست آدرس کارت ها را مشاهده نمود.
آدرس دهی کارت های دیجیتال خروجی
یک کارت دیجیتال خروجی 32 کاناله در TIA Portal را فرض کنید. با دو بار کلیک نمودن روی کارت در سر برگ General و انتخاب گزینه I/O Addresse میتوان دید که شروع عدد 0 و پایان عدد 3 است، زیرا این کارت چهار بایت را در حافظه اشغال میکند.
آدرس های این کارت از Q 0.0 شروع و به Q3.7 ختم میشود.
تذکر 1: آدرس شروع و پایان به طور خودکار توسط برنامه داده میشود ولی کاربر نیز میتواند آدرس دلخواه خود را وارد کند.
تذکر 2: آدرسی که به طور خودکار توسط برنامه داده میشود به اسلاتی که کارت در آن قرار میگیرد بستگی ندارد. به عنوان مثال اگر کارت فرضی که در بالا گفتیم را به یک اسلات پایینتر منتقل کنیم، برنامه همان آدرس قبلی را برای آن در نظر میگیرد.
تذکر 3: برای استفاده بهینه از حافظه می توان آدرس ها را تغییر داد و به دنبال هم قرار داد تا بین آنها فضای خالی بدون استفاده نباشد.
این آدرس ها را میتوان در پنجره IO tags به همان روش ذکر شده قبل مشاهده نمود.