در این قسمت از آموزش های نمایندگی زیمنس با نحوه عملکرد تابع Shift Register و کاربرد آن در PLC های زیمنس آشنا خواهید شد و با مثال های کاربرد نحوه عمل این تابع را یاد خواهید گرفت.
از تابع شیفت رجیستر می توان برای خواندن مقدار یک ورودی و شیفت بیت ها استفاده کرد. در این تابع مقدار خروجی (Q) با بیت ایجاد شده توسط شیفت رجیستر مطابقت دارد. جهت شیفت بیت ها به راست یا چپ با دادن مقدار به پایه Dir قابل کنترل است.
توسط ورودی فوق می توان مشخص
نمود چند ورودی را بپذیرد.
این تابع ویژه با یک لبه بالا رونده ورودی به Trg مقدار موجود در پایه IN را یک
خانه شیفت می دهد.
با ورودیDir می توان جهت شیفت را در Shift Register bits تعیین نمود:
شیفت به راست 0 SHR
If:Dir
شیفت به چپ 1 SHR
این تابع مقادیر موجود در پایه In را با ورود لبه بالا رونده به پایه Trg می خواند. این مقدار به یک بایت به اسم Shift Register bits که شامل هشت بیت به نامها ی S8 , S7 , S6 , S5 , S4 , S3 , S2 , S1 است، منتقل می شود.
سپس تابع بسته به مقدار Dir به دو صورت زیر عمل می کند.
در اینجا مسالهای که کمی به نظر مجهول مانده Shift Register bits است. این bitها با شکل ظاهری در قسمت Digital در نرم افزار LOGO! موجود است و عبارتند از: S8 , S7 , S6 , S5 , S4 , S3 , S2 , S1 بیت هایی هستند که تنها با تابع Shift Register به کار برده می شوند و فقط مقدار شیفت رجیستر را می خوانند. این بیتها به صورت ورودی در برنامه ها کاربرد دارند.
نکته: از تابع Sift Register ققط برای یکبار می توان در یک برنامه استفاده کرد ولی در نسخه جدید تا چهار بلوک قابل استفاده است.
تمرین: برنامهای بنویسید که به وسیله آن مقدار داده شده به شیفت رجیستر به طور اتوماتیک هر یک ثانیه شیفت (به راست) پیدا کند.
همان طور که از متن مسئله مشخص است باید از یک شیفت رجیستر که به پایه Trg آن یک تایکر آسنکرون متصل است استفاده کرد. شکل این برنامه در زیر آمده است:
با وصل شدن I1 خروجی Q1 روشن می شود و پس از گذشت یک ثانیه با اعمال یک لبه بالا رونده به پایه Trg این مقدار به Q2 می رسد؛ سپس با آمدن لبه های بالا رونده دیگر این روند شیفت تا S8 ادامه پیدا می کند.