برای تشخیص جهت چرخش انکودر در PLC S7-1200 SIEMENS نیاز به انکودر به صورت دو فاز داریم .
شاید راه حل اینطور به ذهن برسد اگر عدد در حال افزایش باشد یعنی انکودر به صورت UP در حال شمارش است .
اگر عدد کم شود یعنی به صورت Down در حال شمارش است .
پس از اینجا نتیجه می گیریم که جهت عوض شده است .
ولی راه حل ساده تری نیز در نرم افزار TIA Portal برای این منظور وجود دارد .
کافیست در قسمتی که HSC را فعال می کنیم و تیک Generate interrupt for Change of direction event را فعال کنیم .
دقت داشته باشید این event را با Counter value equal to reference value اشتباه نگیرید .
در Counter value equal to reference value وقتی شما به ست پوینت to reference value میرسید ،
وقفه مورد نظر اجرا میشود .
ولی در اینجا تغییر جهت باعث اجرای وقفه سخت افزاری مورد نظر می شود .
برای مثال اگر وقفه Counter value رو فعال نکرده باشید OB40 به این وقفه اختصاص داده میشود .
و اگر از Counter value استفاده کرده باشید ، خود به خود OB بعدی که OB41 است به direction event اختصاص داده میشود .
به تبع برای HSC های بعدی ، شماره های بالاتر OB منظور خواهد شد .
پس هر بار که جهت چرخش انکودر تغییر کند ، Change of direction ، اجرا خواهد شد .
برای مثال ما NOT یک خروجی رو میدیم به OUT همان خروجی .
با هر بار تغییر جهت انکودر ، مثلا Q0.3 تغییر وضعیت می دهد .
حتی می توان از تابع INC برای شمارش تغییر جهت ها استفاده کرد .
و هر کار دیگر که قرار است در لحظه تغییر جهت اجرا شود .
چون در اینجا از وقفه های سخت افزاری استفاده می کنیم ،
در کم ترین زمان ممکن بعد از تغییر جهت ، برنامه مورد نظر در وقفه سخت افزاری اجرا خواهد شد .
همانطور که در آموزش می بینید ، برای استفاده از این قابلیت ، نیازی به استفاده از تابع CTRL-HSC نداریم .