راه اندازی مدباس توسط آردوینو

0
2046
راه اندازی مدباس
راه اندازی مدباس

آشنایی با مدباس و جایگاه آن در اتوماسیون صنعتی

امروزه کاربرد شبکه‌های صنعتی نظیر مدباس بر کسی پوشیده نیست. در گذشته برای ارتباط بین دو دستگاه لازم‌بود سیگنال‌های کنترلی توسط سیم‌کشی یک به یک به هم متصل‌شوند (Hardwire)؛ حال‌اینکه امروزه به‌سادگی توسط یک زوج سیم یا فیبرنوری این ارتباط برقرار می‌شود. این ارتباط در سیستم‌های کنترل، مانیتورینگ و سیستم‌های کنترل نظارتی SCADA به‌وفور مشاهده می‌شود. در صنعت از چند نوع شبکه استفاده می‌شود که برخی‌از آن‌ها بیشتر مورد‌استفاده هستند:

  • Industrial Ethernet
  • Profibus
  • Modbus
  • Foundation Fieldbus
  • ASI

در این مقاله سعی داریم به زبان ساده و به‌دور از مباحث پیچیده‌ی شبکه و لایه‌های نرم‌افزاری، با آردوینو ارتباط modbus را پیاده‌سازی کنیم. پس با ما همراه باشید.

آیا می‌توان از آردوینو در صنعت استفاده کرد؟

از گذشته تا کنون هر زمان صحبت از طرح برد کنترلری در زمینه‌ی صنعت می‌شده است، PLC ها در اوج قله و تقریباً بدون هیچ رقیبی خود‌نمایی می‌کرده‌اند. البته این موفقیت بی‌دلیل هم نیست. در نقطه‌ی مقابل، آردوینو یک برد ساده با امکانات محدود، که برای روی میز و کاربردهای آموزشی معرفی شده است. حتی فکرکردن به‌اینکه یک برد آردوینو بخواهد مثلاً یک کوره‌ی القایی را کنترل و یا مانیتور کند، کمی دوراز ذهن است. حال اگر بخواهیم این‌کار را بکنیم چطور عمل‌کنیم؟ در اینجاست که پروتکل مدباس اهمیت خود را نشان می‌دهد. شاید نتوان به‌این سادگی‌ها از یک برد آردوینو به‌عنوان قلب یک کوره‌ی القایی در توان‌های بالا استفاده کرد ولی به‌سادگی می‌توان از آن در کارهای دیگری مثل مانیتورکردن استفاده‌کرد.

سنسور درجه حرارت
سنسور درجه حرارت

 

در این مقاله سعی می‌کنیم داده‌های یک سنسور درجه حرارت را توسط پروتکل مدباس در یک شبکه SCADA توسط آردوینو دریافت‌کنیم. رجیستر و داده‌های سنسور مطابق جدول‌زیر است:

 

شیلد توسعه‌ی RS232 و RS485 برای آردوینو

برای این‌که بتوان با یک آردوینو با شبکه مدباس ارتباط برقرارکرد می‌توان از یکی از شیلد‌هایی که بستر ۲۳۲ و یا ۴۸۵ را فراهم می‌کنند، استفاده‌کرد. ما در این پروژه از یک مبدل ۴۸۵ استفاده کرده‌ایم.

مبدل 485
مبدل 485

 

برای این منظور از یک برد آردوینو UNO و یک شیلد توسعه و یک مبدل ۴۸۵ استفاده شده‌است.

 

برای سخت‌افزار ۴۸۵ می‌توانید از شیلدها و مبدل‌های موجود در بازار استفاده‌کنید. در زیر یک شیلد و نقشه‌ی آن و یک مبدل ۲۳۲ به ۴۸۵ نشان داده شده‌است:

 

سورس برنامه‌ی آردوینو برای ارتباط با پروتکل مدباس

ماژول ۴۸۵ و سنسور دمای انتخابی خود را متصل‌کنید و تمام.

#include <Wire.h>

// Cooking API libraries
#include <arduinoUtils.h>

// Include these libraries for using the RS-485 and Modbus functions
#include <arduinoRS485.h>
#include <ModbusMaster485.h>
#include <SPI.h>

// Instantiate ModbusMaster object as slave ID 254
ModbusMaster485 node(254);

// Define one address for reading
#define address 101

// Define the number of bits to read
#define bitQty 2

void setup()
{
// Power on the USB for viewing data in the serial monitor
Serial.begin(115200);

// Initialize Modbus communication baud rate
// Only allowed in SOCKET1
node.begin(9600);

// Print hello message
Serial.println("Modbus communication over RS-485");
delay(100);
}


void loop()
{
// This variable will store the result of the communication
// result = 0 : no errors 
// result = 1 : error occurred 
int result = node.readCoils(address,bitQty);

if (result != 0) {
// If no response from the slave, print an error message
Serial.println("Communication error");
delay(1000);
} 
else {

// If all OK
Serial.print("Read value : ");

// Print the read data from the slave 
Serial.print(node.getResponseBuffer(0));
delay(1000);
}

Serial.print("\n");
delay(1000);

// Clear the response buffer 
node.clearResponseBuffer();

}

 

فایل‌های دانلودی موردنیاز:

arduinoRS485-Modbus-library-v0_4

 

 

 

منبع: سیسوگ

مطلب قبلیپروگرامر USB برای FPGA + سورس و شماتیک
مطلب بعدیآشنایی و راه‌اندازی پروتکل CAN با استفاده از STM32

پاسخ دهید

لطفا نظر خود را وارد کنید!
لطفا نام خود را در اینجا وارد کنید