به گروه آموزشی مهندس فرجی خوش آمدید
گروه آموزشی مهندس فرجی|آموزش اتوماسیون صنعتیگروه آموزشی مهندس فرجی|آموزش اتوماسیون صنعتیگروه آموزشی مهندس فرجی|آموزش اتوماسیون صنعتی
09939643266
برای استعلام کلیک کنید

آموزش PROFIBUS- قسمت سیزدهم

برنامه‌نويسي سيستم Master-Slave

آموزش PROFIBUS– قسمت سیزدهم

7-1-3-1  برنامه‌نویسی سیستم Master-Slave با استفاده از کارت شبکه

به‌منظور برنامه‌نویسی این روش (و به طور کلی هرگاه از کارت شبکه پروفی‌باس استفاده شود)، باید از FC1 (DP Send) و FC2 (DP Receive) که از بلاک‌های آماده زیمنس هستند، استفاده نمود. شکل 7-19 چگونگی عملکرد سیستم را در این حالت نشان می‌دهد.

برنامه‌نویسی سیستم Master-Slave

شکل 7-19

همانطور که در شکل 7-19 نیز مشخص است، با استفاده از بلاک FC1(DP_SEND) می‌توان دیتای مورد نطر را به CP و از آنجا به کارت‌های خروجی در Slave منتقل نمود. همچنین با استفاده از بلاک FC2(DP_RECV) می‌توان اطلاعات کارت‌های ورودی Slave را دریافت نمود.

نکته مهمی که باید توجه داشت اینست که کارت CP به‌طور سیکلی ورودی‌ها را از همه‌ی کارت‌های ورودی در Slaveها خوانده و همه خروجی‌های Slaveها را Update می‌نماید.

در شکل 7-20 نحوه استفاده از بلاک‌های DP_SEND و DP_RECV و رفتار CPU در پردازش آنها نشان داده شده است.

بلاک‌های DP_SEND و DP_RECV

شکل 7-20

محل قرارگیری بلاک‌های FC1 و FC2 در بخش Library نرم‌افزار و در مسیر زیر است:

Library > SIMATIC_NET_CP > FC1 & FC2

شکل 7-21 محل قرارگیری این بلاک‌ها در Library را نشان می‌دهد.

بلاک‌ها در Library

شکل 7-21

بررسی پایه‌ها و عملکرد FC1 و FC2

شکل 7-22 پایه‌های بلاک FC1 (DP Send) و FC2 (DP Receive) را نشان می‌دهد.

بلاک FC1 (DP Send) و FC2 (DP Receive) بلاک FC1 (DP Send) و FC2 (DP Receive)

الف) FC1

ب) FC2

شکل 7-22

در جدول 7-4 ، پایه‌های (پارامترهای) FC1 و عملکرد آنها توضیح داده شده است.

جدول 7-4 پارامتر‌های (SEND) FC1

نام پایه (پارامتر) نوع (ورودی/خروجی) Data Type توضیح
CPLADDR ورودی WORD آدرس شروع کارت CP به فرم Hex
SEND ورودی ANY آدرس دیتاهای قابل ارسال در شبکه توسط کارت CP،

دیتاهای مورد نظر به کارت‌های خروجی روی ET منتقل می‌شوند.

DONE خروجی BOOL نشان‌دهنده ارسال دیتا (با نشان‌دادن مقدار1)
ERROR خروجی BOOL نشان‌دهنده وجود خطا (با نشان دادن مقدار1)
STATUS خروجی WORD کد وضعیت (بیانگر صحت عملکرد یا بروز خطا و مشخص نمودن نوع خطا)

 

در جدول 7-5، پایه‌های (پارامترهای) FC2 و عملکرد آنها توضیح داده شده است.

جدول 7-5 پارامتر‌های (RECIVE) FC2

نام پایه (پارامتر) نوع (ورودی/خروجی) Data Type توضیح
CPLADDR ورودی WORD آدرس شروع کارت CP به فرم Hex
RECV ورودی ANY آدرس دیتاهای قابل دریافت در شبکه توسط کارت CP،

دیتاهای مورد نظر از کارت‌های ورودی روی ET منتقل می‌شوند.

NDR خروجی BOOL نشان‌دهنده پذیرفتن دیتا (با نشان‌دادن مقدار1)
ERROR خروجی BOOL نشان‌دهنده وجود خطا (با نشان دادن مقدار1)
STATUS خروجی WORD کد وضعیت (بیانگر صحت عملکرد یا بروز خطا و مشخص نمودن نوع خطا)
DPSTATUS خروجی BYTE کد وضعیت DP

 

توجه: برای اطلاع از کد وضعیت و کد وضعیت DP به HELP نرم‌افزار مراجعه نمایید. در HELP نرم‌افزار، کدهای مختلفی که در کد وضعیت و کد وضعیت DP قرار می‌گیرد به همراه معنی آنها نشان داده شده است. شکل7-23 بخشی از HELP نرم‌افزار را نشان می‌دهد که کدهای مختلف به همراه معانی آنها را برای FC1 نشان داده است.

HELP نرم‌افزار

شکل 7-23

نکات مهم در استفاده از FC1 و FC2:

  • در S7-300، استفاده از این بلاک‌ها در فقط یک کلاس اولویت امکان‌پذیر است. یعنی نباید آنها را در دو OB از دو کلاس متفاوت فراخوانی نمود.
  • در FC1 و در پایه Send اندازه‌ی آدرس وارد شده باید با اندازه آدرس مجموع کارت‌های خروجی Slaveها یکسان باشد.
  • در FC2 و در پایه Recieve اندازه‌ی آدرس وارد شده باید با اندازه آدرس مجموع کارت‌های ورودی Slaveها یکسان باشد.

تذکر: در وارد نمودن آدرس، شماره بایت آدرس در کارت مهم است. مثلا اگر یک کارت ورودی یا خروجی با 16 کانال و آدرس شروع 200 و پایان 201 داشته باشیم، باید 202 بایت را آدرس‌دهی نماییم.    P#DB88.DBX13.0 BYTE 202

اصول استفاده برنامه‌نویسی با استفاده از FC1 و FC2 در ارتباط Master-Slave

  • یک دیتا بلاک برای آدرس‌های ورودی کارت‌های نصب شده در ET ایجاد نموده و در آن از بایت صفر تا بایت آخر در کارت‌های ورودی، متغیر از نوع بایت تعریف نمایید. مثلا اگر یک کارت با 16 کانال ورودی دیجیتال با آدرس بایت‌های 15 و 16 داشته باشیم، در DB باید از بایت صفر الی 16 را تعریف نمایید.
  • یک دیتا بلاک دیگر برای آدرس‌های خروجی کارت‌های نصب شده در ET ایجاد نموده و در آن از بایت صفر تا بایت آخر در کارت‌های خروجی، متغیر از نوع بایت تعریف نمایید. مثلا اگر یک کارت با 16 کانال خروجی دیجیتال با آدرس بایت‌های 19 و 20 داشته باشیم، در DB باید از بایت صفر الی 20 را تعریف نمایید.
  • در ابتدا بلاک FC1 (SEND) را فراخوانی نموده و متغیر‌های DB مربوط به کارت خروجی را ارسال نمایید.
  • سپس بلاک FC2 (RECIVE) را فراخوانی نموده و متغیرهای DB مربوط به کارت ورودی را دریافت نمایید.
  • برنامه مورد نظر را پیاده‌سازی نمایید.

مثال 7-3 در یک PLC S7-300 از پیکربندی نشان داده شده در شکل 7-24 استفاده شده است. همانطور که در این شکل مشاهده می‌شود که از یک عدد CP 342-5 به عنوان Master و یک عدد ET200M بعنوان Slave استفاده شده است. در ET200M نیز از یک عدد کارت DI 16xDC24V و یک عدد کارت DO 16xDC24V/0.5A استفاده شده است.

PLC S7-300

شکل 7-24

الف) برنامه تبادل دیتا بین PLC و کارت‌های نصب شده در ET200M را پیاده‌سازی نمایید.

 

مراحل انجام برنامه

1- در محیط Simatic Manager وارد پوشه بلاک شده و یک DB با شماره 1 و نام سمبولیک Output ایجاد نمایید.

متغییرها در DB1ایجاد DB1

شکل 7-25 ایجاد DB1

2- متغیرهای مورد نیاز را مطابق شکل 7-26 در DB1 ایجاد نمایید.

متغییرها در DB1

شکل 7-26

3- تنظیمات را ذخیره نمایید.

4- یک DB دیگر به‌نام DB2 با نام سمبولیک Input ایجاد نمایید.

5- متغیرهای مورد نیاز را مطابق شکل 7-27 در DB2 ایجاد نمایید.

متغییرها در DB1

شکل 7-27

6- تنظیمات را ذخیره نمایید.

7- وارد OB1 شده و از مسیر Library > SIMATIC_NET_CP > FC1 ، بلاک FC1 را در Network1 فراخوانی نمایید.

OB1

شکل 7-28

8- مطابق شکل 7-29 روی گزینه CPLADDR راست‌کلیک نموده و گزینه Connection را انتخاب نمایید. در اینصورت کادر Block parameter for DP systems باز می‌شود. از این کادر، CP 342-5 را انتخاب نموده و روی گزینه OK کلیک نمایید.

کادر Block parameter for DP systems

شکل 7-29

9- سایر تنظیمات را مطابق شکل 7-30 انجام دهید.

FC1

شکل 7-30

10- در Network2 در OB1، بلاک FC2 را فراخوانی نمایید. و تنظیمات نشان داده شده در شکل 7-31 را انجام دهید.

Network2 در OB1

شکل 7-31

ب) برنامه‌ای بنویسید که در صورت فعال‌شدن I15.7 در کارت DI روی ET200M، خروجی Q20.0 روی کارت خروجی نصب شده در ET200M، روشن شود.

پاسخ: برنامه مورد نظر را می‌توان مطابق شکل 7-32 در Network3 پیاده‌سازی نمود.

Network3

شکل 7-32

تنظیمات را ذخیره‌سازی و دانلود نمایید.

 

تمرین 7-4   با توجه به پیکربندی ارائه شده درشکل 7-24، برنامه‌ای بنویسید که در صورت فعال شدن I15.0 در کارت DI نصب شده در ET200M، سه خروجی در کارت DO نصب شده در PLC به ترتیب با فاصله زمانی 3 ثانیه روشن شده و با فعال شدن ورودی I15.7 در کارت DI نصب شده در ET200M، سه خروجی مذکور خاموش شوند.

پاسخ: بر عهده دانشجویان گرامی

 

پیام بگذارید