ثبات انتقالی یا Shift Register در لوگو زیمنس
ثبات انتقالی یا shift register در لوگو از جمله توابع خاصی است که در برخی دیگر از رلههای قابل برنامهریزی هم وجود دارد. در این آموزش تصویری، با این بلوک و عملکرد آن آشنا میشویم.
آنچه در این مقاله می خوانید
بلوک Shift Register در لوگو
برای انتخاب بلوک shift register در لوگو سافت، باید از ساختار درختی وارد بخش متفرقه (Miscellaneous) شویم و در این بخش بلوک Shift register را انتخاب کنیم و روی صفحه قرار دهیم.
همانگونه که در تصویر مربوط به این بلوک میبینید، چهار ورودی برای این بلوک در نظر گرفته شده است:
In : ورودی (Input) که به تابع داده میشود.
Trg : تریگر که با هر بار فعال شدن آن، مقدار خوانده شده از ورودی را بین بیتها جابهجا خواهد کرد.
Dir : مسیر (Direction) حرکت را بین بیتها تعیین میکند.
R : ورودی ریست (Reset) که خروجی مربوط به این بلوک ریست میکند.
عملکرد بلوک Shift Register در لوگو
این بلوک درواقع تابعی است که مقدار قرار داده شده در ورودی را میخواند و این مقدار را بین بیتهای تعیین شده انتقال میدهد. پس باید بیتهایی برای این تابع در نظر گرفته شود تا بتوان عملکرد آنها بررسی و مورد استفاده قرار داد. این بیتها با عنوان بلوک Shift register bit هستند.
همچنین در نظر داشته باشید که نهایتا از 4 بلوک shift register در لوگو میتوانیم استفاده کنیم و تعداد بیشتر در آن قابل استفاده نیست.
بلوک Shift register bit
بیتهای مربوط به این بلوک در نرمافزار لوگو سافت به عنوان یک ورودی دیجیتال در نظر گرفته شدهاند. برای دسترسی به آنها کافی است از بخش ورودیهای دیجیتال، بلوک Shift register bit را روی صفحه قرار دهیم.
نام هرکدام از این بلوکها نشان دهنده بیت مورد استفاده است. به عنوان مثال S1.7 اشاره به بیت هفتم از shift register شماره یک دارد. تعداد ماکزیمم بیت مورد استفاده برای هر ثبات انتقالی به مقدار 8 بیت است.
نحوه استفاده از ثبات انتقالی (Shift Register)
اگر یک ورودی را با مقدار 1 به ورودی In در بلوک shift register در لوگو وصل کنیم و یک شستی نیز به ورودی Trg آن اتصال دهیم، آنگاه در بار اول که ترگیر فعال میشود، مقدار ورودی را خوانده و در بیت شماره یک قرار میدهد. اکنون بیت شماره یک مقدار 1 دارد و مابقی بیتها مقدار صفر.
اگر کماکان ورودی In مقدار 1 داشته باشد و دوباره تریگر را برای بار دوم فعال کنیم، مقدار بیت شماره یک ابتدا به بیت شماره دو منتقل میشود و سپس مقدار ورودی در بیت شماره یک قرار داده میشود. پس حال، بیتهای شماره یک و شماره دو مقدار یک دارند.
برای فهم بهتر موضوع، فیلم آموزشی ابتدای مقاله را از زمان 03:35 به بعد ملاحظه بفرمایید.
جهت حرکت این انتقال بین بیتها توسط ورودی Dir تعیین میشود. در توضیح قبل دیدیم که مقدار بین بیتها از بیت یک به بیت دو و الی آخر اتفاق میافتد. این در حالتی است که مقدار ورودی Dir برابر با صفر باشد. اما اگر مقدار ورودی Dir برابر با 1 قرار گیرد آنگاه ابتدا مقدار ورودی وارد بیت شماره 8 شده و جهت انتقال آن به طرف بیت شماره 7 و الی آخر خواهد بود.
پنجره تنظیمات Shift Register در لوگو سافت
علاوه بر تنظمیات عمومی مثل نام و کامنت که در پنجره تنظیمات بلوکهای موجود در لوگو سافت وجود دارد، یک مقدار ویژه برای عملکرد این بلوک در نظر گرفته شده است. با تعیین این تنظیمات، هرگاه بیت مشخصی از بین بیتهای مربوط به این بلوک مقدار 1 داشته باشد، آنگاه بلوک Shift Register نیز مقدار خروجی آن 1 خواهد شد.
در بخش Shift Register در این پنجره دو بخش قابل تنظیم وجود دارد:
Shift register index : این بخش شماره مربوط به بلوک ثبات انتقالی را تعیین میکند و بین مقادیر 1 تا 4 قابل انتخاب است.
Shift register bit at the output connector : این بخش تعیین کننده بیتی است که قرار است با 1 شدن آن، مقدار shift register نیز برابر با 1 شود یا به عبارتی فعال شود.
به عنوان مثال فرض کنید مقدار بخش اول را 1 و بخش دوم را 4 قرار دهیم؛ در این حالت در کنار بلوک شیفت رجیستر مقدار Q=S1.4 قرار میگیرد که به این معنی است که با فعال شدن (یک شدن) بیت شماره 4 مربوط به شیفت رجیستر شماره 1، این shift register مقدار 1 را به خروجی منتقل خواهد کرد یا به عبارتی فعال خواهد شد.
بلوک shift register در لوگو را میتوان با ترکیب با تایمرها و بلوکهای دیگر در برنامههای مختلفی مورد استفاده قرار داد. مثلا در برنامه یکی پس از دیگری میتوان این بلوک را با مولد پالس آسنکرون به کار برد و برنامه را طراحی کرد.