مدباس یکی از پروتکل های ارتباطی تجهیزات کنترلی است که به عنوان استاندارد توسط سازندگان تجهیزات اتوماسیون صنعتی استفاده می شود. کاربرد اصلی این پروتکل ارتباط برقرار کردن بین پی ال سی های دلتاست که این ارتباط در بستر فیزیکی سریال RS485 و RS232 انجام می گیرد. به دلیل همین ارتباط و بستر فیزیکی است که می توان از محصولات سازندگان تجهیزات اتوماسیون صنعتی در کلیه پروژه های بزرگ استفاده کرد. تهیه دستگاه های پی ال سی دلتا برای بهبود عملکرد ماشین آلات صنعتی در کنار پروتکل های مدباس می تواند فرآیند تولید شما را بهبود ببخشید. در ادامه قصد داریم به طور کامل و به شکل تصویری به آموزش شبکه مدباس دلتا بپردازیم.
تاریخچه مدباس یا MODBUS
این نوع شبکه ارتباطی ابتدا در سال 1191 توسط Modicon که مالک آن امروزه Schneider Electric است. این نوع شبکه ارتباطی در ابتدا فقط برای پی ال سی ها استفاده می شد ولی رفته رفته با پذیرش آن به عنوان یک استاندارد ارتباطی و پشتیبانی شدن توسط تولید کنندگان تجهیزات اتوماسیون، به شکل استاندارد باز مطرح شد و محصولات سازندگان مختلف با این پروتکل به یکدیگر متصل و مرتبط شدند. پس از آن بود که تولید کنندگان وسایل کوچک هم تصمیم گرفتند تا از این پروتکل با RS-232 و RS-485 روی وسایل خود استفاده کنند تا امکان بکارگیری در پروژه های بزرگتر فراهم شود.
نسخه های مختلف مدباس
مدباس از سه نسخه اصلی تشکیل شده که در برخی ویژگی ها با یکدیگر متفاوت هستند:
- Modbus RTU/ASCII که در آن ارتباط به شکل سریالی از طریق پورت های RS-485 یا RS-232 است
- Modbus TCP/IP که ارتباط از طریق پورت اترنت انجام می شود
- Modbus Plus که ارتباط به شکل Token Pass با سرعت بالا و باس انحصاری است
ارتباط سریال مدباس RS-485 در پی ال سی دلتا
ارتباطی که سریال مدباس RS-485 در پی ال سی دلتا برقرار می کند فقط یک خط است و به همین دلیل در هر لحظه فقط یک بیت بین فرستنده و گیرنده جابجا می شود و ارزانتر بودن و سرعت کمتر ارتباط سریال نسبت به موازی هم به همین موضوع بر می گردد. پورت ارتباطات سری را با COM مشخص می کنند.
در زمینه ارتباطات داده به دو مورد اصلی باید توجه شود:
- استاندارد واسط (مثل سیم کشی و موارد مربوط به ولتاژ)
- پروتکل نرم افزاری (مثل مدل و ترتیب کاراکترهای منتقل شونده)
شکل و فرم پیام های ارتباط اطلاعات در سیستم آسنکرون RS-232 مطابق زیر است:
در ابتدا، لینک ارتباطات داده در سطح منطقی 1 است. بیت توازن نقش اثر انگشت کاراکتر در انتهای آن را دارد تا گیرنده متوجه وجود خطا های احتمالی در هنگام انتقال شوند. مثلا توازن زوج یعنی عدد کل بیت های 1 منطقی در داده به همراه بیت توازن آن باید همیشه عدد زوج باشد. به عبارت دیگر در یک سیستم آسنکرون، تنظیم های انتخابی انتقال و ارسال در ارتباط اطلاعات به صورت زیر است:
بیت های داده (Data Bit)، بیت های توازن (Parity Bit)، بیت های توقف (Stop Bit) و سرعت انتقال داده (Baud Rate).
طبق تعریف به تعداد بیت های ارسال شده یا دریافت شده در یک ثانیه، سرعت انتقال داده می گویند که با واحد bps نمایش می دهند. به عبارت دیگر سرعت انتقال داده یعنی عدد و تعداد تغییرات سیگنال در هر ثانیه بدون اینکه وجود داده های مفید در جریان بیت لحاظ شوند.
ارتباط مدباس در PLC دلتا
در ادامه آموزش مدباس دلتا به مبحث ارتباط مدباس در پی ال سی دلتا می رسیم که چندین نوع است:
Simplex یا سیمپلکس
در این مدل ارتباط مدباس، برای ارسال و دریافت هر کدام یک سیم و یک مشترک استفاده می کنند مثل RS-232 که در آن به دلیل ارسال اطلاعات با یک سیم، نویزپذیری پیدا کرده و بنابراین برای فواصل دور مناسب نیست.
Duplex یا دوبلکس
در این ارتباط برای ارسال یا دریافت از جفت سیم استفاده می کنند بین سیم ارسال و دریافت هم پایه اشتراک به کار نمی رود. این ارتباط ممکن است به شکل Half یا Full باشد. در این مدل سیم کشی به خاطر وجود اتصال دیفرانسیلی، نویزپذیری خیلی کم است و برای فواصل دور هم مناسب هستند.
Full Duplex
در این نوع ارتباط، از چهار رشته سیم استفاده می کنند که دو سیم برای ارسال و دو سیم برای دریافت اطلاعات است. از جمله نمونه های این نوع ارتباط می توان به اترنت، RS-422 و غیره اشاره کند.
Half Duplex
طبق آموزش مدباس دلتا، در این نوع ارتباط از دو رشته سیم استفاده می شود که هم برای انتقال و دریافت اطلاعات استفاده می کنند نمونه چنین ارتباطی را در RS-485 مشاهده می کنید.
آدرس دهی حافظه ها و رجیسترها در شبکه مودباس
هر کد در پروتکل مدباس معرف یک رجیستر است مثلا در پی ال سی دلتا رجیستر (D در این پروتکل با کد 1000H تعریف می شود که این آدرس ها توسط شرکت سازنده مشخص می گردد. این آدرس ها به دو شکل هستند یا به صورت اعداد هگز و یا به شکل عددی ساده.
برای تبدیل این دو مدل فرمت به یکدیگر باید به شکل زیر عمل کنید:
نحوه ارتباط مدباس در DELTA PLC
همانطور که گفتیم ارتباط بین تجهیزات در پروتکل Modbus RTU/ASCII روی پورت های سریالی RS-232، RS-485 و RS-422 به طور Master/Slave هستند. برای ارتباط گرفتن هر Master با Slave، شماره آدرس Slave در پیغام ارسالی قرار گرفته و پیغام ارسال می شود. همه Slave ها پیغام را گرفته ولی آن Slave که شماره آدرس آن در پیغام نوشته شد پاسخ می دهد بنابراین در هر لحظه امکان وجود یک پیغام روی خط وجود خواهد داشت. در اینجا Slave می توانند ورودی و خروجی دیجیتال یا آنالوگ، شیرهای برقی، درایورهای موتورها یا تجهیزات اندازه گیری مثل ترانسمیتر های دمایی و لودسل و غیره باشند.
نحوه تبادل شدن اطلاعات در پروتکل مدباس در شبکه های سریال
پروتکل مدباس روی پورت های سریال RS-232، RS-422 و RS-485 از دو مد انتقال RTU و ASCII کمک می گیرد:
ASCII یا همان انتقال اطلاعات با فرمت کدهای اسکی و RTU یا همان انتقال اطلاعات با فرمت هگزا دسیمال هستند. قالب و فریم اطلاعات در MODBUS RTU به شکل زیر است:
در این حالت با کمک بایت اول مشخص می کنیم که پیغام را کدام Slave دریافت کند. در نرم افزار با کمک بایت دوم نوع پیغام تعریف می شود. هر پیغام در پروتکل مدباس یک کد استاندارد دارد. بایت های بعدی هم مربوط به اطلاعاتی هستند که با توجه به نوع پیغام نوشته می شوند مثل شماره رجیستر، تعداد و مقدار رجیستر. دو بایت آخر هم مربوط به CRC یا بررسی خطا در ارتباطات هستند.
در مد RTU هر بایت پیام عددی بین 0 تا 255 دارد و برای اینکه شروع و پایان فریم را تشخیص دهند از پارامتر زمان کمک می گیرند.
قالب و فریم اطلاعات در MODBUS ASII به شکل زیر است:
در مد ASCII هر بایت اطلاعات با دو کاراکتر یا بایت که شامل کدهای اسکی 0~9 , A~F هستند فرستاده می شوند. برای مشخص کردن ابتدای فریم از کاراکتر ‘ : ‘ و برای مشخص کردن انتهای فریم از کاراکترهای CR,LF استفاده می کنند. مد RTU نسبت به مد ASCII سرعت بیشتری در تبادل اطلاعات دارد که این موضوع بخاطر کوچکتر بودن فریم های مبادله شده است.
شیوه خطایابی فریم ها در شبکه مدباس
مبحث بعدی در زمینه آموزش مدباس دلتا، شیوه خطایابی در این شبکه های ارتباطی است. در هر بار ارسال یا دریافت یک بایت، بیتی هم به اسم PARITY فرستاده می شود و تنظیم آن توسط فرستنده بر حسب زوج یا فرد بودن تعداد یک های بایت ارسالی انجام می شود. گیرنده هم با چک کردن این بیت نسبت به وجود خطا مطلع می گردد.
برای اینکه کل فریم بررسی شود، فرستنده دو بایت آخر فریم را با مقداری پر کرده و گیرنده آن را چک می کند تا نسبت به درستی فریم دریافت شده اطمینان حاصل کند. در مد MODBUS RTU از شیوه خطایابی CRC و در MODBUS ASCII از روش خطایابی LRC استفاده می شود.
تنظیم پورت MODBUS
در این قسمت از آموزش مدباس دلتا به تنظیم پورت می پردازیم. برای تنظیم کردن پورت ها کافیست از منوی Help وارد قسمت Auxiliary Editing شده و سپس از قسمت Protocol، گزینه Setting Code را بزنید تا عدد مربوط به نوع تنظیمات هر پورت را مشخص کنید. طبق تصویر زیر روش تنظیم پورت به شرح زیر است:
- عددی که برای COM1 به دست می آید را باید در رجیستر D1036 قرار داد و با یک کردن بیت M1138 مقدار معلوم شده را در CPU ذخیره کرد.
- رجیسترهایی مثل COM2، D1120 و M1120 برای COM3، D1109 و M1136 هستند.
- وقتی بیت های M1139، M1143 و M1320 را برای COM1، COM2 و COM3 روشن می کنید امکان تغییر پروتکل پورت از ASCII به RTU فراهم می شود.
- برای اینکه دستور ارسال کنید، باید بیت های M1321، M1121 و M1316 را برای COM1، COM2 و COM3 مشخص کنید تا مشخص شود دستور از کدام COM ارسال خواهد شد.
تابع MODRW
سه نوع فرمان در شبکه مدباس دلتا وجود دارند:
- دستور کد 11: برای عمل Writing (نوشتن بر روی تعدادی رجیستر از Slave)
- دستور کد 03: برای خواندن Reading (خواندن تعدادی رجستر از Slave)
- دستور کد 06: نوشتن بر روی فقط یک رجیستر از Slave که به آن Single Write می گویند
اطلاعات ارسالی – دریافتی بین Slave و Master به شرح زیر هستند:
ابتدا مقادیر رجیسترهای 11 بیتی از Slave خوانده می شوند:
کاربرد تابع 150 “MODRW” برای ارسال دستور توسط Master است.
بعد از ارسال این دستور، مقادیر رجیسترهای خوانده شده در رجیسترهای D1296 ~ D1311 به نمایش در می آیند و باید این مقادیر به رجیسترهای دلخواه منتقل شوند.
مثال زیر نمونه ای از اتصال 4 ماژول ترانسمیتر مودباس به باس RS-485 است که آدرس هر کدام از رجیسترهای ماژول در زیر آن قابل مشاهده است.
- برنامه ای بنویسید که با کمک COM2 مربوط به PLC فقط از رجیستر شماره صفر مقدار لودسل را بخوانیم و مقادیر سرعت و تعداد میانگین گیری آن را تنظیم کنیم.
- برنامه ای بنویسید که با کمک COM2 مربوط به PLC از رجیستر شماره صفر مقدار لودسل را بخوانیم و مقادیر سرعت و تعداد میانگین گیری آن را تنظیم کرده و 4 رجیستر Slave 2 و یک رجیستر از Slave 2 و سه رجیستر از Slave 3 را بخوانیم.
برنامه الف
برنامه ب
تنظیمات شبکه مدباس COM3 (RS-485) در پی ال سی های مدل 12SA2 و 12SE
در پی ال سی های مدل 12SA2 و 12SE دو پورت RS-485 وجود دارند که در این قسمت از آموزش مدباس دلتا قصد داریم در خصوص تنظیمات پروتکل شبکه برای COM3 (RS-485) و بعضی از ویژگی های مهم COM3 صحبت کنیم.
پین های RS-485 مربوط به COM3
در زیر قسمت هایی که دور آنها مربع قرمز کشیده شده محل قرار گرفتن پین های RS-485 بر روی PLC های 12SA2 و 12SE هستند. در هر کدام از این نوع پی ال سی ها یک ال ای دی هم برای COM3 در نظر گرفته اند که موقع گرفتن یا فرستادن اطلاعات از طریق این پورت، خاموش و روشن می شود.
تنظیمات پروتکل شبکه مدباس برای COM3 (RS-485)
برای تنظیم کردن پروتکل شبکه برای COM3 از بخش Wizard نرم افزار WPLSoft مطابق تصویر زیر عمل کنید:
ابتدا وارد بخش Wizard شده و سپس Program Example Generator را انتخاب نموده و وارد بخش Communication Program شوید.
تنظیمات مربوط به COM3 (RS-485) از پی ال سی سری DVP دلتا
پس از انجام این تنظیمات در صفحه Wizard کدهایی که در زیر مشاهده می کنید داخل برنامه WPLSoft ایجاد خواهد شد:
با توجه به مواردی که تا الان در خصوص آموزش مدباس دلتا توضیح دادیم از کدهای بالا باید متوجه شوید که تنظیمات پروتکل شبکه برای COM3 (RS-485) در رجیستر D1109 قرار دارد. برای نگه داشتن این تنظیمات باید فلگ M1136 فعال شود که برای انتخاب مد ASCII یا RTU کاربرد دارد. در صورتی که این فلگ Off باشد مد آن ASCII و در صورتی که ON باشد مد آن RTU است. زمان دریافت دیتا مربوط به COM3 در رجیستر D1252 بر حسب میلی ثانیه ذخیره خواهد شد.
دو فلگ مهم دیگر هم در خصوص COM3 (RS-485) مطرح هستند که M1318 و M1319 نام دارند. فلگ M1318 در صورتی فعال می شود که داده را به طور کامل دریافت کند و فلگ M1319 موقعی فعال می شود که خطا در دریافت داده ایجاد شود.
نکته 1:
در شبکه مدباس و ارتباط برقرار کردن از طریق COM3 شماره شناسه دستگاه در رجیستر D1255 ذخیره شده و برای تغییر دادن آن بایستی مقدار مورد نظر به رجیستری که در تصویر زیر می بینید انتقال داده شود:
اما برای COM1 و COM2 شماره شناسه دستگاه در رجیستر D1121 ذخیره می گردد.
نکته 2:
برای برنامه نویسی شبکه مدباس با کمک COM3 (RS-485) باید از دستور MODRW استفاده کنید که مزیت خاصی دارد. مزیت ویژه آن این است که مثلا در کد تابع K3 که برای خواندن رجیستر از شبکه است می توانید مستقیما رجیستر خوانده شده را در رجیستری که مشخص شده ذخیره نمود. اما این حالت از خواندن در COM2 (RS-485) دیده نمی شود.
معنی هر یک از این موارد به شرح زیر است:
- K1 برای خواندن از تجهیزی است که شماره شناسه یک داشته باشد.
- K3 کد دستور MODRW است که با اعمال این دستور، خواندن تعدادی رجیستری شروع می شود.
- H1000 که آدرسی از رجیسترهای تجهیز با شماره شناسه یک است که باید خوانده شود.
- D0 که در آن مقادیر خوانده شده ذخیره می شوند
- K1 برای مشخص کردن تعداد رجیسترهایی که باید خوانده شود.
ذخیره سازی مقدار رجیسترهای خوانده شده از شبکه از طریق COM2 در رجیسترهای D1050 ~D1055 با استفاده از دستور MODRD و در رجیسترهای D1296 ~D1311 با کمک دستور MODRW انجام می شود. اگر قصد انتقال به رجیستر مدنظر را دارید باید علاوه بر دستورات مدنظر، از یک دستور MOV هم کمک گرفت. اما همانطور که در طی صحبت های خود در آموزش مدباس دلتا مطرح کردیم، در خواندن رجیسترها از طریق COM3 با دستور MODRW امکان انتقال مستقیم مقدار خوانده شده به رجیستر مدنظرتان و بدون نیاز به دستور MOV وجود دارد.
ارتباط PLC و کنترلر دما DTC از طریق شبکه مد باس (COM3(RS-485
در تصویر زیر برنامه نحوه ارتباط برقرار کردن PLC مدل 12SA2 از طریق شبکه مدباس از COM3 با کنترلر دمای DTC1000 را مشاهده می کنید. کنترلر دمای DTC1000 شماره شناسه یک دارد و یک DTC2000 با شماره شناسه 2 به آن وصل است.
در این برنامه خوانش دمای سنسوری که به DTC1000 و DTC2000 وصل است به کمک رجیستر H1000 انجام می شود که ذخیره سازی آن به ترتیب در رجیسترها D0 و D1 است. ضمنا مقادیر رجیسترهای D20 و D21 به عنوان Set Value از طریق آدرس H1001 در این دو کنترلر دما نوشته می شوند.
شبکه کردن دو یا چندین PLC دلتا از طریق Modbus
در ادامه آموزش مدباس دلتا وارد مبحث شبکه دو یا چند پی ال سی دلتا با کمک مودباس شده ایم. در این شرایط، یک پی ال سی که کمترین مقدار Station Address را داشته باشد به عنوان Master و مابقی پی ال سی ها به عنوان Slave خواهند بود.
تنظیمات شبکه برای PLC Master
طبق تصویر زیر می توانید تنظیمات شبکه را برای PLC Master انجام دهید:
از طریق منو ابتدا وارد بخش Wizard و سپس Program Example Generator شده و قسمت Communication Wizard را انتخاب نمایید. با توجه به پی ال سی یکی از پورت های که برای RS-485 مشخص شده را انتخاب کرده و روی Next کلیک کنید.
گزینه هایی که در تصویر بالا می بینید مربوط به تنظیمات شبکه است که مطابق با نیاز خودتان قابل تغییر است. ولی ما پیشنهاد می کنیم که Modbus ASCII<7 E 1 > باشد. ضمنا دقت داشته باشید که حتما گزینه Hold Communication تیک خورده باشد و آدرس Station هم حتما کمترین مقدار باشد.
تنظیمات شبکه برای PLC Slave
همین رویه را برای PLC Slave هم انجام دهید اما امکان اینکه در بخش آدرس Slave هر مقدار و عدد در رنج مورد نظر بخواهد داشته باشد وجود دارد.
برنامه PLC Master
فرض کنید در PLC Master قصد داشته باشید، مقدار D0 را از PLC Slave بخوانید، مقدار D256 را Set و خروجی Y0 را فعال کنید.
با توجه به تصویری که مشاهده می کنید در خصوص پارامترهای دستورات MODRD، MODRW و MODWR توضیحات کاملی ارائه می کنیم.
MODRD: در این دستور می خواهیم مقدار D0، PLC SLAVE را بخوانیم. براساس جداول زیر، آدرس هگز D0، H1000 است:
بنابراین باید دستور را به شکل زیر نوشت:
MODRD K2 H1000 K1
طبق این دستور یعنی از Slave 2 به آدرس H1000 که همان D0 است برو و یک رجیستر را بخوان.
دقت کنید در مواردی که از دستور خواندن استفاده می کنید، مقدار خوانده شده در حالت ASCII در دیتا رجیسترهای D1050-D1055 و در حالت RTU در رجیسترهای D1070-D1085 ذخیره خواهد شد.
MODWR: در این دستور قصد داریم به رجیستر D256 در Slave یک مقدار و عدد دلخواه را Set کنیم. دستور باید اینگونه نوشته شود:
MODWR K2 H1100 D10
طبق این دستور یعنی به Slave شماره 2 به آدرس H1100 که D256 است برو و مقدار D10 هر چه بود انتقال بده.
MODRW: با این دستور میخواهیم خروجی Y0 در Slave را ON کنیم. بنابراین باید دستور اینگونه نوشته شود:
MODRW K2 K5 H500 D5 K1
طبق این دستور یعنی Slave شماره 2، آدرس H500 که همان Y0 است برو (به شکل بیتی K5) و آن را روشن (K1) کن. دقت داشته باشید که برای خاموش کردن باید آخرین سلکتور، K0 باشد. ضمنا دقت کنید که D5 هر رجیستر دیگری هم می تواند باشد و فعالیتی هم ندارد و فقط به شکل Reversed است.
جمع بندی مطالب
در آموزش مدباس دلتا تلاش کردیم تا همه مواردی که برای شبکه کردن پی ال سی های دلتا و نحوه ارتباط آن و ایجاد دستورهای لازم نیاز دارید را آموزش دهیم. با کمک این پروتکل برقراری ارتباطات بین دستگاه های اتوماسیون صنعتی به خصوص کنترل کننده های منطقی قابل برنامه ریزی افزایش می یابد. اگر قصد دارید فرآیند تولید خود را به روز کنید، به حداقل یک پی ال سی دلتا نیاز خواهید داشت. از جمله مجموعه های بزرگی که دستگاه های plc را با کیفیتی مطلوب تولید می کنند، شرکت بزرگ آزند اتوماسیون می باشد. شما با مراجعه به سایت این مجموعه می توانید از خدمات مشاوره ای رایگان بهره بگیرید.
نویسندگان:
- علیرضا قانع
- مائده فقیهی
- مهشید علینقیان