وبلاگ - آخرین اخبار
راه‌اندازی Modbus RTU Slave در تیا پورتال

راه‌اندازی Modbus RTU Slave در تیا پورتال

آیا می‌خواهید توسط یک S7-1500 اطلاعات را در یک شبکه Modbus RTU ردوبدل کنید؟ برای این کار تنها نیاز به یک ماژول آداپتور سریال با امکان Modbus RTU دارید.

آداپتور ارتباطی

ازآنجایی‌که PLC های S7-1500 به‌طورمعمول توانایی ارتباط سریال ندارند، نیاز است تا از یک ماژول آداپتور که از پروتکل Modbus RTU Slave پشتیبانی می‌کند، استفاده کنید. برای این کار دو گزینه زیر وجود دارد:

  • ماژول CM PtP RS232 HF
  • ماژول CM PtP RS422/485 HF

آداپتور ارتباطی

تنظیمات پورت

در ادامه این مقاله از ماژول CM PtP RS232 HF استفاده خواهیم کرد.

در پنجره تنظیمات ماژول ارتباطی در نرم‌افزار TIA Portal ، به بخش رابط پورت (در این مثال ، رابط RS-232) بروید ، سپس پیکربندی پورت (Configuration Port) را انتخاب کنید. پروتکل پورت را روی Freeport / Modbus تنظیم کنید. با این تنظیم پورت برای استفاده از پروتکل Modbus و پارامترهای دستور Modbus_Comm_Lload پیکربندی می‌شود (در ادامه در مورد این دستور صحبت خواهیم کرد)

تنظیمات پورت

برنامه‌نویسی سرور

سرورهای زیمنس برای Modbus RTU در دو بلوک ، Modbus_Comm_Load و Modbus_Slave قرار دارند. می‌توانید هر دو مورد را در پوشه “(Communication–>MODBUS (RTU” پیدا کنید.

برنامه‌نویسی سرور

بد نیست بدانید که از بلوک (Function Block) Modbus_Master برای Modbus Master یا Client در کنترلر PLC استفاده می‌شود. همچنین بلوک Modbus_Comm_Load ماژول را برای برقراری ارتباط با شبکه Modbus RTU پیکربندی می‌کند. بلوک Modbus_Slave اطلاعات را در سرور پیکربندی می‌کند. بلوک Modbus_Slave ساده‌ترین راهکار است و ما با آن شروع خواهیم کرد.

پارامترها در Modbus_Slave

پارامترها در Modbus_Slave

در این آموزش ، بلوک Modbus_Slave را در OB1 نام‌گذاری کردیم و یک نمونه داده بلوک (DB5) برای آن ایجاد کردیم. می‌توانید با این بلوک در هر نقطه از برنامه خود ارتباط بگیرید و داده‌های آن را در یک بلوک داده یک یا چند نمونه ذخیره کنید (این عمل روی سرور شما تأثیر نمی‌گذارد)

لوگو ۸ و پروژه های هوشمندسازی (BMS)
<-- بیشتر بخوانید

در اینجا فقط دو ورودی وجود دارد، MB_ADDR و MB_HOLD_REG ، که عملکرد هر یک به شرح زیر است:

MB_ADDR: در واقع همان Modbus Slave ID است ، که Master برای ارتباط به PLC از آن استفاده خواهد کرد.

MB_HOLD_REG: برای تعریف مکان (نقطه شروع و اندازه دیتا) برای رجیسترهای موجود و در دسترس استفاده می‌گردد (حداکثر تعداد رجیسترهای در دسترس ۴۰۰۰۱ است). می‌تواند هر نوع دیتا بلاک عمومی یا حافظه داخلی (M) باشد که برای توابع مودباس شامل ۳ برای Read Word، ۶ برای Write Word و ۱۶ برای write multiple Words است. ذر این مقاله تمرکز ما روی رشته‌ای از اطلاعات (“DataArray”) با دیتا بلاک (“Modbus_server_data”) است.
در زیر رشته دیتا ارسالی (“Modbus_sever_data”.DataArray)شامل ۱۰ کلمه (Words) به‌عنوان دیتای ارسالی از سوی سرور در نظر گرفته‌شده است.

با توجه به توضیحات بالا، این رشته باعث می‌شود که از رجیستر ۴۰۰۰۱ تا رجیستر ۴۰۰۱۰ توسط این اطلاعات اشغال شود.

فریم ارسالی از سرور

زمانی که پارامترهای این دو ورودی تنظیم شود، بلاک Modbus_Slave آماده است.

پارامترهای Modbus_Comm_Load

پارامترهای Modbus_Comm_Load

مشابه بلاک Modbus_Slave، در این آموزش، Modbus_Comm_Load را در OB1 فراخوانی کرده و یک instance DB برای آن ایجاد می‌کنیم. این دیتا بلاک را می‌توانید از نوع تکی (Single) یا چندگانه (multi-instance) تعریف کنید.

نکته: دقت کنید که Modbus_Comm_Load باید یک مرحله بالاتر از Modbus_Slave فراخوانی گردد. شما ابتدا باید ماژول ارتباطی را تنظیم کنید (Config) کنید تا بتوانید به اطلاعات آن دسترسی داشته باشد.

در ادامه به معرفی ورودی‌های Modbus_Comm_Load می‌پردازیم:

REQ: بلاک comm_load با لبه بالارونده در این ورودی فعال خواهد شد. این بیت رو بهتر است در اولین اسکن تگ‌ها قرار دهید، زیرا این بلاک قبل از فراخوانی بلاک Modbus_Slave نیاز به‌یکبار فراخوانی دارد. اگر شما هم تصمیم دارید که آن را به بیت اول اسکن پیوند دهید ، لازم است تا first scan PLC tag را روی ۱۵۰۰ PLC مانند تصویر زیر فعال کنید.

آموزش نصب و سیم‌بندی لوگو
<-- بیشتر بخوانید

دکمه Enable را بررسی کنید تا اولین بیت اسکن در PLC در هنگام شروع صحیح باشد (سایر Tagهای داخلی PLC را نیز فعال می‌کند).

Port: این به پورت مربوط می‌شود که از طریق آن سرور شما با استاد ارتباط برقرار می‌کند. آن را به شناسه HW ماژول ارتباطی سریالی با قابلیت Modbus RTU Slave که تصمیم دارید از آن در پیکربندی خود استفاده کنید ، پیوند دهید.

شماره پورت

برای پیدا کردن پورت به قسمت Hardware Identifier در تنظیمات ماژول (Device Properties) بروید.

Baud: مربوط به پارامتر سرعت نرخ انتقال (Baud rate) است.معمولاً این عدد روی ۹۶۰۰ تنظیم می‌شود.

Parity: این پارامتر مربوط به تنظیمات پریتی در پروتکل مودباس است و باید با تنظیمات Master یکسان باشد، ۰برای None، ۱ برای حالت odd، ۲ برای even

Flow Control: اگر می‌خواهید حالت flow control داشته باشید لازمست تا از حالت پیش‌فرض “۰” تغییر کند. دقت کنید که این حالت در RS422/484 CMs پشتیبانی نمی‌شود.

RTS_ON_DLY: مقدار تأخیر برحسب میلی‌ثانیه از زمان “RTS active” تا ارسال اولین کارکتر در فریم. به‌صورت پیش‌فرض این زمان “۰”به معنی بدون تأخیر است.

RTS_OFF_DLY: مقدار تأخیر برحسب میلی‌ثانیه از زمان ارسال آخرین کارکتر در فریم تا “RTS inactive”. به‌صورت پیش‌فرض این زمان “۰”به معنی بدون تأخیر است.

RESP_TO: مدت‌زمانی که Master منتظر پاسخ از سمت Slave می‌ماند. این زمان برحسب میلی‌ثانیه است. این پارامتر برای هدف فعلی ما بی‌تأثیر است، چون ما از PLC خود به‌عنوان Slave استفاده می‌کنیم. و این پارامتر برای زمانی که ما از PLC به‌عنوان مستر استفاده کنیم اهمیت دارد.

MB_DB: این پایه به دیتاتایپ MB_DB در بلاک Modbus_slave متصل است. ما حافظه استاتیک بلوک Modbus_Slave را در بلاک Modbus_Slave_DB (DB5) پارامتر کردیم ، بنابراین متغیر MB_DB بلوک Comm ما را به “Modbus_Slave_DB” .MB_DB پیوند می‌دهیم.

اتصال HMI به لوگو
<-- بیشتر بخوانید

پس از فراخوانی و تنظیم پارامترهای Modbus_Comm_Load و به دنبال آن Modbus_Slave ، PLC خود را به‌عنوان یک Slave در شبکه مودباس تنظیم کرده‌اید.

 

 

2 پاسخ
    • مدیر سایت
      مدیر سایت گفته:

      سلام. سلامت باشید. آموزش PLC برندهای مختلف در این لینک موجود است و هر هفته یک آموزش جدید اضافه می‌شود: https://kooshanic.com/learning/
      اگر میخواهید در جریان اضافه شدن مقالات جدید باشید کافیست به شماره ۰۹۳۸۷۱۹۹۰۷۵ در تلگرام پیام ارسال نمایید.

      پاسخ

دیدگاه خود را ثبت کنید

تمایل دارید در گفتگوها شرکت کنید؟
در گفتگو ها شرکت کنید.

پاسخی بگذارید

You have to agree to the comment policy.

این سایت از اکیسمت برای کاهش هرزنامه استفاده می کند. بیاموزید که چگونه اطلاعات دیدگاه های شما پردازش می‌شوند.

کلیه حقوق این سایت متعلق به شرکت مهندسی کوشا الکترونیک البرز می‌باشد.