در تنظیمات HSC وقتی Type of counting بر روی single phase تنظیم می شود .
می توان مشخص کرد ، شماره سرعت بالا به صورت Count up عمل شمارش را انجام دهد یا Count down
اما می توان در برنامه نویسی با استفاده از تابع CTRL_HSC طوری برنامه ریزی کرد که
با استفاده از یک تریگر بیتی جهت شمارش تغییر کند . در عمل برای این کار نیاز به انکودر با فاز A/B است .
ولی فرض رو بر این بگیرید به جای انکودر یک سنسور القایی دارید که داره پالس های زائده های یک شفت را میخواد .
در اینجا دیگر انکودری وجود ندارد که بخواد دو فاز بشمرد .
یا اینکه در ورودی های S7-1200 زیمنس ، محدودیت وجود دارد .
برای این کار ابتدا تابع CTRL_HSC رو وارد محیط برنامه نویسی می کنیم .
سپس یک مقدار بیتی BIT به DIR یا Direction اختصاص می دهیم . مثلا m0.0
حالا می توانیم مقدار NEW_DIR رو 1 یا 1- کنیم .
اما چون میخواهیم تغییر جهت در دست خودمان باشد . به جای عدد از یک حافظه مثل MW10 استفاده می کنیم .
حال هر موقع بخواهیم به صورت صعودی یا بالا شماره یا UP count بشماریم ، کافیست در NEW-DIR مقدار 1 را بریزیم .
سپس DIR رو فعال کنیم . دقت داشته باشید حتما باید لبه بالا رونده داشته باشیم .
یعنی اگر DIR از قبل یک باشد یا اینکه اونو صفر کنیم ، این حال کار نمیکنه .
حالا وقتی میخواهیم به صورت نزولی یا پایین شمار یا Down count بشمارد ، کافیست مقدار NEW-DIR منفی یک 1- شود .
و سپس DIR را یک کنیم . یا به آن لبه بالا رونده اعمال کنیم .
دقت داشته باشید حتما باید این ترتیب حفظ شود .
برای مثال اگر اول لبه اعمال شود و بعد مقدار NEW-DIR منفی یک شود . عمل شمارش به صورت down انجام نمیشود .
در عمل و در پروزه این مموری به جای Watch table در پذوسه برنامه نویسی تغییر خواهد کرد .
مموری m0.0 هم میتواند بنا به شرایطی در برنامه تغییر کند و یا به جای ان از Q و I استفاده کنیم .
دقت داشته باشید ، وقتی انکودر ما تک فاز است و در حال شمارش به صورت Up یا Down است .
فرقی در جهت چرخش وجود ندارد . مثلا در هر دو جهت up یا down خواهد شمرد .