اتصال انکودر به PLC S7-300
اتصال انکودر افزایشی به PLC S7-300 کامپکت زیمنس برای اتصال انکودر به PLCهای سری 300 نیاز به PLC از نوع […]
اتصال انکودر افزایشی به PLC S7-300 کامپکت زیمنس
برای اتصال انکودر به PLCهای سری 300 نیاز به PLC از نوع کامپکت است. اگر Plc S7-300 از نوع کامپکت نبود، از کارت FM350 استفاده میشود. در این قسمت نحوه اتصال انکودر به PLC سری کامپکت 300 را توضیح میدهیم. بنا به نوع plc تعداد کانالهایی که به آن انکودر یا سنسور high speed متصل کرد، بهصورت زیر است:
برای بهرهمندی از مشاوره رایگان جهت خرید پی ال سی زیمنس براساس نوع پروژه با کارشناسان فروش نیک صنعت تماس بگیرید. ماکزیمم فرکانسی که پالسهای انکودر در plc S7-300 شمارش میکند بهصورت زیر است:
نحوه اتصال انکودر به پی ال سی S7-300 کامپکت زیمنس
برای اتصال پی ال سی 300 زیمنس مراحل زیر را انجام دهید:
- ابتدا پالسهای A و B انکودر را که پالس 24 ولت میدهند؛ بهصورت زیر، با توجه به نوع plc به ورودیهای مورد نظر متصل شوند.
شماتیک سخت افزاری PLC S7-314C کامپکت
در جدولهای بالا سه نوع PlC S7-300 کامپکت مشخص است و هر کانال پالس A و B انکودر باید به کدام ورودی متصل شود. مثلا در plc 314 c اگر از کانال صفر (اولین کانال) استفاده شود؛ باید پالس A به ورودی I0.0 و پالس B به ورودی I0.1 متصل شود. (منظور از اولین ورودی دیجیتال این است که آدرس دیجیتالها ممکن است از بایت صفر شروع نشود، اما از لحاظ سختافزاری بایت اول ورودی مد نظر است. کانکتور X2 شمارههای 2 و 3 در شماتیک سخت افزاری است)
- در نرم افزار سیماتیک منیجر وارد بخش hardware شوید و CPU مورد نظر را انتخاب کنید و روی بخش count کلیک نمایید.
- قسمتchannel شماره کانال مورد نظر انتخاب شود و در بخشoperation mode میتوان انتخاب کرد که در چه مدی کار کند. اولین مد یعنیcount continuously برای همان حالت شمارش مداوم پالسها است و مد frequency counting برای به دست آوردن فرکانس پالس انکودر است.
در ادامه هریک از این مدها را توضیح میدهیم:
count continuously
این مد برای شمارش پالس بهطور مداوم است و از این مد برای پوزیشن استفاده میشود. اگر این مد در کانال مورد نظر انتخاب شود، یک ستون به نام count به پنجره قبلی اضافه میشود:
روی سربرگcount کلیک شود تا تنظیمات مورد نظر انکودر را انجام شود.
نوع ورودی سیگنالی است که پالس آن باید شمارش شود. از قسمت input سربرگ signal evaluation گزینه مورد نظر انتخاب شود. پالسهای سنسور دیجیتال شمارش شود و یک ورودی بهعنوان direction تعیین میشود. گزینه اول pulse directio تعیین شود و طبق جدول، ورودیهای مربوطه pulse و direction متصل شود. در صورت اتصال انکودر، گزینهها Rotary encoder انتخاب شود. برای انکودر 3 حالت وجود دارد که با توجه به دقت مورد نیاز، یکی از این 3 حالت، single یا double یا quadruple انتخاب میشود.
در حالت Single فقط لبه بالا پالس A خوانده میشود. این حالت تعداد پالسها در یک دور برابر با تعداد رزولوشن انکودر (تعداد پالس انکودر در یک دور) است. حالت double لبههای بالا و پایین پالس A خوانده میشود و حالت تعداد پالس شمارش در یک دور 2 برابر رزولوشن انکودر خواهد بود. حالت quadruple دقت 4 برابر میشود. لبههای بالا و پایین پالس A و B خوانده میشود. تعداد پالسها در یک دور حرکت انکودر 4 برابر رزولوشن انکودر است. در حالت double ،Single و quadruple از پالس B جهت تغییر حرکت استفاده میشود.
اگر ورودی GATE فعال شود، ورودی پالسهای انکودر شمارش میشود. تیک Hardware gate زده شود و با نرم افزار میتوان این تیک را برداشت.

با تیک count direction inverted، جهت شمارش پالسها معکوس میشود، در جهت ساعتگرد شمارنده، کانتر کاهشی است و در جهت پاد ساعتگرد، کانتر افزایشی است. در غیر این صورت، حالت (Default) شمارش در جهت ساعتگرد افزایشی و در خلاف جهت کاهشی است.
frequency counting
مد فرکانس انتخاب شود و مطابق شکل زیر، با انتخاب سربرگ frequency counting را نمایش میدهد.
روی سربرگ frequency counting کلیک شود و وارد تنظیمات آن شوید.
در قسمت input و signal evaluation میتوان نوع ورودی را تعیین کرد. با داشتن سنسور دیجیتال فرکانس بالا، میتوان حالت pulse/direction انتخاب کرد. با داشتن انکودر میتوان حالت Rotary encoder single انتخاب کرد. بخش hardware gate و بخش count direction invert همانند بخش count قبلی تنظیم شود. واحد فرکانس بهصورت میلی هرتز (mHz) است که میتواند تا حداکثر 60 کیلوهرتز را محاسبه کند. (فرکانس میتواند تا عدد 60 میلیون (mHz) باشد.) در بخش integration time میتوان زمان آپدیت محاسبه فرکانس را وارد کرد و میتواند عددی بین 1 تا 10000 میلی ثانیه باشد که بهصورت پیش فرض 100 میلی ثانیه است.
پس از تنظیمات، ok کلیک شود و بخش hardware باید save و کامپایل شود. پس از تنظیمات hardware، وارد ob1 یا fc دلخواه شوید و ob1 فرخوانی شود. با توجه به مد انتخابی count continuously یا frequency counting از مسیر زیر، sfb مورد نظر فراخوانی شود. مد count continuously در نظر گرفته شود و sfb47 را برای مد شمارش پالسها از مسیر زیر انتخاب و فراخوانی شود.
پس از انتخاب و فراخوانی sfb47، یک دیتا بلاک به آن اختصاص یابد که موارد ورودی و خروجی در دیتا بلاک ایجاد شود. البته میتوان جداگانه نیز پایههای ورودی و خروجی تابع، آدرس دهی یا مقدار دهی شود.
توضیح پایه های مهم تابع sfb47
در این قسمت پایههای مهم و کاربردی تابع را توضیح میدهیم.
پایه LADDR
آدرسی که در بخش hardware برای بخش count تعیین میشود، بهصورت کد hex وارد شود. بهصورت Default شروع آدرس در بخش hardware عدد 768 که بهصورت hex است. بهصورت W#16#300 وارد شود؛ چنانچه آدرس، در بخش count تغییر یابد، کد hex، شروع آدرس نیز در این قسمت تابع وارد شود.
پایه CHANNEL
این پایه مربوط به شماره کانالی است که در آن انکودر نصب است و تنظیمات hardware انجام شد. در صورت متصل کردن انکودر به کانالها، با توجه به تعداد کانالها، تابع sfb47 فراخوانی شود. بخش پایه LADDR عدد ثابت است و شروع آدرس مشترک است اما عدد CHANNEL به نوع PLC کامپکت مربوط است. در PLC 312 فقط 2 کانال وحود دارد، این عدد 0 یا 1 است. در PLC 314C فقط 4 کانال وجود دارد و عدد بین 0 تا 3 بیانگر کانال 1 تا 4 است.
پایه SW- GATE
پایه GATE تنظیمات نرم افزاری است و تنظیمات سخت افزاری برای پایه GATE وجود ندارد. برای جبران ورودی سخت افزاری GATE میتوان یک بیت نرم افزاری تعیین کرد که در صورت فعال شدن، این بیت شمارش پالسها را انجام میدهد. در صورت غیر فعال بودن، این بیت، عمل شمارش را انجام نمیدهد. اگر همیشه عمل شمارش توسط انکودر پی ال سی 300 انجام شود، یک بیت همیشه 1 مثلا M0.0 به این پایه نسبت داده میشود. برای خرید پی ال سی S7-300 زیمنس با کارشناسان فروش نیک صنعت تماس بگیرید.
پایه JOB_REQ
این پایه برای فعالیتهای خاص بهکار میرود که باید مقدار شمارش انکودر صفر شود. یک بیت به این پایه اختصاص یابد که این پایه حساس به لبه بالا رونده است. اگر بیت فعال شود، با توجه به پایههای JOB-ID و JOB-VAL این کار انجام میشود. برای مثال بیت M0.1 را برای صفر کردن مقدار انکودر در نظر بگیرید. این بیت در HMI قرار داده شود و اپراتور با فعال کردن این بیت مقدار شمارش انکودر را صفر میکند. نباید این بیت همواره فعال بماند و فقط برای یک لحظه فعال شود.
پایه JOB_ID
در این پایه کد، بهصورت کد hex وارد شود؛ زیرا از این پایه برای صفر کردن شمارش استفاده میشود و کد W#16#1 وارد شود. این کد، همان مقدار COUNTVAL (مقدار شمارش پالس انکودر) است.
پایه JOB_VAL
این پایه مقداری JOB را با توجه به JOB_ID قرار میدهد. این پایه یک مقدار DOUBLE INTIGER است و عدد صفر را بهصورت L#0 اینتیجر 32 بیتی قرار میدهد تا عمل صفر شدن انکودر با کد W#16#1 در پایه JOB_ID انجام شود. فعال شدن پایه JOB_REQ انجام شود یا میتوان یک MD اختصاص داد. بهطور مثال MD10 در برنامه گذاشته میشود و عدد دلخواهی ریخته شود تا عمل شمارش آن انجام گردد.
پایه COUNTVAL
این پایه مقدار شمارش پالسهای انکودر است که میتوان یک حافظه 32 بیتی از نوع DOUBLE INTIGER به آن اختصاص داد و میتوان آن را در هر لحظه صفر کرد. اگر انکودر ساعتگرد حرکت کند، این مقدار شروع افزایش مییابد و در جهت پاد ساعتگرد این مقدار کاهش پیدا میکند. برای کسب اطلاعات بیشتر میتوانید با نمایندگی زیمنس تماس حاصل فرمایید.
انواع مثال های نحوه اتصال انکودر پی ال سی s7-300 زیمنس
در ادامه چندین مثال از نحوه اتصال انکودر به PLC S7-300 را بیان میکنیم.
مثال 1) نحوه اتصال انکودر پی ال سی 300 زیمنس در 34 دور
انکودر دارای رزولوشن 1000 پالس است که به یک محور بال اسکرو متصل است و به کانال اول یک PLC314C متصل است. اگر 10 سانت حرکت محور معادل 34 دور حرکت انکودر باشد، برنامهای در PLC 300 نوشته شود که مقدار حرکت انکودر را بهصورت میلی متری در MD20 داشته باشد. اگر محور به سنسور پراکسی سوئیچ که به ورودی I1.0 متصل است، مقدار انکودر صفر میشود.
پس از تنظیمات بخش HARDWARE، ضریب مورد نظر پالس بهدست آورده میشود و در ob1 برنامه مورد نظر نوشته شود.
مقدار پالس انکودر در حرکت 100 میلی متر 34000 = 1000 × 34
ضریب پالس انکودر در حرکت 1 میلی متر 340 = 100 ÷ 34000
اگر مقدار پالس شمارش شده انکودر، تقسیم بر 340 میشود، مقدار حرکت بر حسب میلی متر محاسبه میشود. اگر ضریب، اعشاری باشد، میتوان مقادیر پالس شمارش شده را به اعشاری تبدیل کرد و محاسبات با اعشار انجام شود.
مطابق شکل، بیت M0.0 بهعنوان یک بیت set تعریف شود. sfb47 فراخوانی شود و آدرس کانال اول امال شود. برای اینکه همیشه پالسهای انکودر را شمارش کند، به پایه sw_gate بیت M0.0 اعمال شود. برای اینکه با ورودی سنسور I1.0 کانتر ریست شود؛ به پایه JOB_REQ داده شود و پایه JOB_ID، کد w#16#1 داده شود. در حالت نوشتن در پایه COUNTVAL است و مقدار صفر به پایه JOB_VAL اعمال شود. مقدار شمارش کانتر در پایه COUNTVAL ریخنه شود. در نتورک بعد، مقدار MD4 بر عدد 340 تقسیم شود و مقدار حاصل در MD20 ریخته شود. مقدار عددی MD20 پوزیشن محور بر حسب میلی متر است. از آن در برنامه یا در HMI میتوان استفاده کرد.
مثال 2) نحوه اتصال انکودر پی ال سی 300 زیمنس با راه اندازی اینورتر
فرض شود در مثال 1، محوری با درایو راه اندازی میشود و در پوزیشن 500 میلی متری محور نگهداشته شود. میتواند تا فاصله 400 میلی متری با فرکانس 50 هرتز حرکت کند و در دو یا چند مرحله فرکانس درایو کاهش مییابد. در نهایت محور در 500 میلی متری نگهداشته میشود.
برای حل، از مقایسهکنندهها استفاده میشود. مقدار فرکانس در خروجی PQW100 بهصورت ولتاژ 0 تا 10 اعمال میشود. مقدار فرکانس از 0 تا 50 هرتز در MD40 انتقال مییابد. با استفاده از FC106، آن به خروجی آنالوگ تبدیل میشود.



در NET WORK 4، پوزیشن محور SCALE شده با عدد 400 میلی متر مقایسه میشود. اگر فرکانس از 50 کمتر باشد، در MD40 (فرکانس اینورتر)، مراحل بعدی اجرا میشود. محور با بیشترین سرعت حرکت کند و سپس در 7 و NET WORK 5 ،6 به ترتیب مقدار فرکانس صفر اعمال شود. اگر پوزیشن محور به مقدار کمتر از 500 میلی متر رسید، فرکانس صفر و موتور متوقف شود. NET WORK 9 از FC106 استفاده میشود تا مقدار رجیستر رفرنس فرکانس MD40 به آنالوگ خروجی تبدیل شود. این محاسبات بهصورت دقیق بررسی شود تا خطا نرم افزاری ایجاد نشود. در غیر اینصورت، این خطا روی نرم افزار پی ال سی 300 زیمنس مشاهده میشود. در صورت خرابی و تعمیر پی ال سی S7-300 میتوانید با واحد تعمیرات نیک صنعت تماس بگیرید.
برای تنظیم مد frequency counting مراحل زیر اجرا شود:
- تنظیمات سخت افزاری برای این مد frequency counting در ob1 انجام شود.
- این بار از مسیر زیر تابع sfb48 انتخاب و فراخوانی شود.
مسیر انتخاب تابع sfb48 بهصورت زیر است:
Libraries > standard library > system function Blocks > sfb48

نحوه استفاده از تابع sfb48 در این مثال وتفاوت آن با تابع sfb47
پس از انتخاب تابع sfb48 و فراخوانی در برنامه، باید یک دیتا بلاک به آن اختصاص داد تا موارد ورودی و خروجی در دیتا بلاک ایجاد شود. میتوان جداگانه پایههای ورودی و خروجی تابع را آدرسدهی یا مقداردهی کرد. تابع sfb48 دقیقا مشابه sfc47 است، جزء کدهای JOB_ID که کدهای مخصوص به خود را دارد. تابع sfb48 یک پایه اضافهتر از sfb47 دارد و آن پایه MEAS_VAL است. این پایه مقدار فرکانس پالس انکودر را بهصورت آنلاین در زمان معین بهصورت DOUBLE INTIGER با دقت 100 میلی ثانیه نشان میدهد. تعداد پالسهای شمارش همانند تابع SFC47 در پایه COUNTVAL وجود دارد. برای فعال بودن تابع sfb48 حتما پایه SW_GATE همیشه فعال باشد.
مثال 2) نحوه اتصال انکودر پی ال سی 300 زیمنس با تابع SFB48
یک انکودر با رزولوشن 500 پالس به یک موتور متصل شود و پالسهای انکودر به PLC 314C متصل شود. محاسبه فرکانس موتور بر حسب هرتز و سرعت موتور برحسب RPM به ترتیب در رجیسترهای MD10 و MD20 بهصورت عدد صحیح قابل نمایش در HMI محاسبه شود.
برای این کار، SFB48 فراخوانی شود و مقدار فرکانس پالس انکودر، از پایه MEAS_VAL به MD30 اعمال شود. رزولوشن انکودر 500 است و هدف، محاسبه فرکانس موتور است. این مقدار تقسیم بر 500 میشود و سپس مقدار فرکانس موتور بر حسب میلی هرتز را محاسبه میشود. این مقدار باید بر حسب هرتز باشد؛ بنابراین، عدد حاصل را بر 1000 تقسیم میشود. مقدار حاصل نهایی در MD10 منتقل میشود. برای محاسبه RPM موتور، باید فرکانس موتور بر حسب هرتز در 60 ضرب شود و مقدار حاصل در MD20 منتقل شود. این برنامه بهصورت زیر است:
اگر قصد یادگیری پی ال سی برند زیمنس را دارید و میخواهید به برنامه نویسی PLC مسلط شوید میتوانید در دوره PLC زیمنس مجموعه نیک صنعت بهصورت عملی و پروژه محور شرکت کنید و آن را بهصورت حرفه ای یاد بگیرید.




نظرات کاربران