آردوینو Arduinoدانستنی هامطالب علمی

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

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

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

در صنعت از چند نوع شبکه استفاده می‌شود که برخی از آن‌ها بیشتر مورد‌استفاده هستند:

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

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

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

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

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

حال اگر بخواهیم این کار را بکنیم چطور عمل کنیم؟

در اینجاست که پروتکل مدباس اهمیت خود را نشان می‌دهد. شاید نتوان به این سادگی‌ها از یک برد آردوینو به‌عنوان قلب یک کوره‌ی القایی در توان‌های بالا استفاده کرد ولی به‌سادگی می‌توان از آن در کارهای دیگری مثل مانیتور کردن استفاده کرد.

سنسور حرارت

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

123

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

برای این‌که بتوان با یک آردوینو با شبکه مدباس ارتباط برقرار کرد می‌توان از یکی از شیلد‌هایی که بستر 232 و یا 485 را فراهم می‌کنند، استفاده کرد. ما در این پروژه از یک مبدل 485 استفاده کرده‌ایم.

شیلد RS-485 یرای آردوینو

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

شیلد توسعه آردوینو

سنسور دما و برد آزدوینو و شیلد RS 485

برای سخت‌افزار 485 می‌توانید از شیلدها و مبدل‌های موجود در بازار استفاده کنید. در زیر یک شیلد و نقشه‌ی آن و یک مبدل 232 به 485 نشان داده شده است:

مبدل 232 به 485

شیلد RS 485

شماتیک شیلد RS 485

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

ماژول 485 و سنسور دمای انتخابی خود را متصل کنید و تمام.

#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();
 
}

 

نوشته های مشابه

2 دیدگاه

  1. سلام و خسته نباشید
    شیلدهای موجود در این آموزش رو چگونه میتونیم تهیه کنیم؟ در وبسایتتون ندیدم
    شیلد توسعه‌ی RS232 رو نیاز دارم، یا هر ماژول و شیلدی که یک پورت RS232 بهم ارائه بده از Arduino uno،
    این شیلد رو از کجا میتونم تهیه کنم؟
    ممنون

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا