مرکز دانش • شبکه و اتوماسیون صنعتی

اتصال ترانسمیترها و ماژول‌های Modbus به PLC، DCS و SCADA و تفسیر رجیسترها

اندازه‌گیری دقیق در فیلد تنها نیمی از کار است؛ عدد باید درست به PLC، DCS یا SCADA برسد و درست تفسیر شود. بسیاری از خطاهای راه‌اندازی از همین مرحله است: بازهٔ مقیاس‌بندی که با تنظیم ترانسمیتر یکی نیست، آدرس رجیستری که یک واحد جابه‌جاست، یا عدد Floatی که ترتیب کلمه‌هایش برعکس خوانده شده. در این مقاله هر دو مسیر آنالوگ ۴ تا ۲۰ میلی‌آمپر و دیجیتال Modbus RTU را با مثال‌هایی از محصولات دلیجه ارتباط پویا مرور می‌کنیم.

اتصال ترانسمیتر دما و ماژول Modbus RTU به PLC و SCADA
دو مسیر انتقال دادهٔ دما به سیستم کنترل: کارت ورودی آنالوگ و شبکهٔ Modbus RTU

آنالوگ یا Modbus؟ انتخاب مسیر اتصال

معیار ترانسمیتر ۴ تا ۲۰ میلی‌آمپر ماژول Modbus RTU
کابل‌کشییک زوج سیم برای هر نقطهیک زوج سیم برای ده‌ها نقطه
سمت PLCیک کانال کارت ورودی آنالوگ برای هر نقطهیک پورت سریال RS-485
اطلاعات منتقل‌شدهفقط مقدار، خطا با جریان خارج از بازهمقدار، کد وضعیت، مقاومت، دمای CJC و تنظیمات
سرعت به‌روزرسانیپیوستهوابسته به Baud Rate و تعداد دستگاه‌ها
کاربرد مناسبحلقه‌های کنترلی سریع و سیستم‌های موجود با کارت آنالوگپایش چندکاناله، تابلوهای دور و توسعهٔ کم‌هزینه
محصولات DEPDEP-1RTDU-1IS و DEP-1TCU-1ISDEP-3PT100-MB، DEP-4TCU-MB، DEP-8I12-MB و DEP-8I24-MB

مسیر ۱: اتصال ترانسمیتر دما به PLC و DCS

ترانسمیترهای DEP-1RTDU-1IS و DEP-1TCU-1IS سیگنال سنسور را به جریان ۴ تا ۲۰ میلی‌آمپر تبدیل می‌کنند. ترانسمیتر با ۲۲ تا ۲۶ ولت DC تغذیه می‌شود و خروجی جریان به یک کانال کارت ورودی آنالوگ PLC یا DCS می‌رود. سیم‌بندی دقیق ترمینال‌ها را از کاتالوگ محصول بردارید و مطمئن شوید که در حلقهٔ خروجی فقط یک منبع ولتاژ وجود دارد؛ این قاعده در مقالهٔ تفاوت ورودی Active و Passive توضیح داده شده است.

مقیاس‌بندی در PLC

رابطهٔ جریان و دما خطی است، چون خطی‌سازی سنسور داخل ترانسمیتر انجام شده است:

T = Tmin + (I − 4) × (Tmax − Tmin) ÷ 16

Tmin و Tmax همان بازه‌ای است که با USB Type-C در ترانسمیتر تنظیم شده. اگر بازهٔ ترانسمیتر ۰ تا ۴۰۰ درجه باشد، جریان ۱۲ میلی‌آمپر یعنی ۲۰۰ درجه.

بیشتر کارت‌های آنالوگ جریان را به یک عدد خام تبدیل می‌کنند. برای مثال در خانوادهٔ S7 زیمنس، بازهٔ ۴ تا ۲۰ میلی‌آمپر معمولاً به ۰ تا ۲۷۶۴۸ نگاشت می‌شود. در این حالت مقیاس‌بندی باید از عدد خام انجام شود. مهم‌ترین نکته این است که بازهٔ مقیاس‌بندی PLC دقیقاً با بازهٔ تنظیم‌شده در ترانسمیتر یکی باشد. اگر بعدها بازهٔ ترانسمیتر را تغییر دادید، برنامهٔ PLC هم باید به‌روز شود. برای تبدیل سریع جریان، مقاومت و دما می‌توانید از محاسبه‌گر سنسورهای دما استفاده کنید.

پیکربندی کانال در PLC

  • نوع ورودی کانال را «جریان ۴ تا ۲۰ میلی‌آمپر» انتخاب کنید، نه «۰ تا ۲۰ میلی‌آمپر».
  • اگر کارت از تشخیص قطعی سیم (Wire Break) پشتیبانی می‌کند، آن را فعال کنید.
  • مرزهای خطای NAMUR NE43 را برای آلارم تعریف کنید؛ جزئیات در مقالهٔ تشخیص خطای سنسور دما آمده است.
  • فیلتر ورودی را متناسب با سرعت فرایند تنظیم کنید. دمای کوره به فیلتر سنگین‌تری نسبت به یک حلقهٔ سریع نیاز دارد.

مسیر ۲: اتصال ماژول Modbus RTU به PLC و SCADA

ماژول‌های Modbus دلیجه ارتباط پویا نقش Slave دارند و PLC، HMI یا SCADA نقش Master را بازی می‌کند. Master باید با تنظیمات ارتباطی ماژول هماهنگ باشد:

پروتکلModbus RTU روی RS-485 دو سیمهٔ ایزوله
آدرس پیش‌فرض۲ (قابل تنظیم با DIP Switch)
Baud Rate پیش‌فرض۹۶۰۰ (گزینه‌ها: ۱۲۰۰ تا ۱۱۵۲۰۰)
خواندن رجیسترهاFC03 (Read Holding Registers)؛ برای هر مدل، فایل Modbus Poll همان مدل را مبنا قرار دهید
نوشتن رجیسترهاFC06 یا FC16 (در DEP-4TCU-MB)
ترتیب کلمه‌ها در Floatکلمهٔ پرارزش اول (Hi Word / MSW first) در DEP-4TCU-MB و ماژول‌های ۸ کاناله

پس از تغییر DIP Switch، تغذیهٔ ماژول را یک بار قطع و وصل کنید تا تنظیم جدید اعمال شود. روش تنظیم کلیدها در راهنمای DIP Switch آمده و سیم‌کشی شبکه در مقالهٔ اجرای شبکهٔ RS-485 و حفاظت ESD توضیح داده شده است.

آدرس صفرمبنا و نشانه‌گذاری 4xxxx

در جدول رجیسترهای محصولات DEP آدرس‌ها از صفر شروع می‌شوند؛ این همان آدرسی است که داخل فریم Modbus ارسال می‌شود. اما بسیاری از نرم‌افزارهای SCADA و برخی PLCها از نشانه‌گذاری قدیمی 4xxxx استفاده می‌کنند که از ۱ شروع می‌شود. اختلاف یک واحدی میان این دو، رایج‌ترین علت خواندن رجیستر اشتباه است.

آدرس در جدول DEP آدرس در فریم Modbus نشانه‌گذاری 4xxxx
0 (0x0000)040001
5 (0x0005)540006
12 (0x000C)1240013

یک راه مطمئن برای بررسی آدرس، خواندن رجیسترهای ثابت است: در DEP-3PT100-MB و ماژول‌های ۸ کاناله رجیستر ۲ آدرس Modbus خود دستگاه را برمی‌گرداند. اگر در این آدرس عدد ۲ (آدرس پیش‌فرض) را دیدید، آفست آدرس‌دهی درست است.

تفسیر رجیسترهای دما، مقاومت و جریان

ماژول‌های DEP هر مقدار را به دو شکل ارائه می‌کنند: یک عدد صحیح مقیاس‌شده در یک رجیستر و یک عدد Float در دو رجیستر. عدد صحیح برای PLCهای ساده‌تر و خواندن سریع مناسب است و Float دقت کامل را بدون محاسبهٔ اضافی می‌دهد.

تفسیر رجیسترهای مقیاس‌شده و Float در ماژول Modbus
یک مقدار، دو نمایش: عدد صحیح مقیاس‌شده در یک رجیستر و Float در دو رجیستر با کلمهٔ پرارزش اول

DEP-3PT100-MB: دما و مقاومت RTD

رجیسترمحتوامثال
5 تا 7دمای کانال ۰ تا ۲، ×۱۰، INT16۲۳۵۳ یعنی ۲۳۵٫۳ °C
8 تا 10مقاومت RTD کانال ۰ تا ۲، ×۱۰، UINT16۱۳۸۵ یعنی ۱۳۸٫۵ Ω
12 تا 17دمای هر کانال، Float (هر کدام دو رجیستر)خطا: −999.0
18 تا 23مقاومت هر کانال، Floatبر حسب اهم
24 تا 26Status هر کانال۰ یعنی SENSOR_OK

رجیستر دمای صحیح از نوع INT16 علامت‌دار است. اگر PLC آن را بدون علامت بخواند، دمای منفی به عدد بزرگی تبدیل می‌شود؛ برای مثال ۵۰٫۰− درجه به‌جای ۵۰۰− به‌صورت ۶۵۰۳۶ دیده می‌شود. نوع دادهٔ تگ را INT (Signed) تعریف کنید. مقدار مقاومت در عیب‌یابی بسیار مفید است: با مقایسهٔ آن با جدول PT100 می‌توانید درستی اندازه‌گیری را مستقل از تنظیمات بررسی کنید.

DEP-4TCU-MB: دمای ترموکوپل و CJC

رجیسترمحتوانکته
4 تا 7دمای کانال ۱ تا ۴، ×۱۰۲۳۵۰ یعنی ۲۳۵٫۰ °C
8 تا 11Status کانال ۱ تا ۴۰ OK، ۱ مدار باز، ۲ Over، ۳ Under، ۴ Fault
12، 15، 18، 21شروع Float دمای کانال ۱ تا ۴هر Float دو رجیستر؛ آدرس‌ها پیوسته نیستند
24 و 25دمای اتصال سرد (CJC)، Floatبرای پایش دمای ترمینال

دقت کنید که شروع Floatهای دما در این ماژول ۱۲، ۱۵، ۱۸ و ۲۱ است و بین آن‌ها یک رجیستر فاصله وجود دارد. اگر رجیسترها را دوتایی و پشت سر هم تعریف کنید، از کانال دوم به بعد اعداد اشتباه خواهید دید.

DEP-8I12-MB و DEP-8I24-MB: جریان ورودی

رجیسترمحتوامثال
5 تا 12جریان کانال ۱ تا ۸، ×۱۰۰۲۰۰۰ یعنی ۲۰٫۰۰ mA
14 تا 29جریان هر کانال، Float (MSW، LSW)۱۱٫۹۹۲۸۳ mA
30 تا 37جریان کانال ۱ تا ۸، ×۱۰۰۰۱۹۹۹۱ یعنی ۱۹٫۹۹۱ mA

این ماژول‌ها جریان را بر حسب میلی‌آمپر گزارش می‌کنند و تبدیل آن به کمیت فرایند (فشار، سطح، دما) در PLC با همان رابطهٔ خطی مسیر آنالوگ انجام می‌شود. رجیستر ×۱۰۰ گام ۰٫۰۱ میلی‌آمپری دارد و برای DEP-8I12-MB کافی است. برای استفاده از دقت کامل DEP-8I24-MB، رجیستر ×۱۰۰۰ یا Float را بخوانید. توضیح بیشتر در مقالهٔ دقت، رزولوشن و کالیبراسیون آمده است.

ترتیب کلمه‌ها در Float: در DEP-4TCU-MB و ماژول‌های ۸ کاناله، کلمهٔ پرارزش (Hi Word) در رجیستر اول است (Big-Endian Word Order). بعضی درایورها به‌طور پیش‌فرض ترتیب معکوس را فرض می‌کنند. اگر Float عددی بسیار بزرگ، بسیار کوچک یا بی‌معنا نشان داد، گزینهٔ Word Swap را در تعریف تگ تغییر دهید.

اتصال ترانسمیترهای ۴ تا ۲۰ میلی‌آمپر به ماژول‌های Modbus

ماژول‌های ۸ کاناله ترانسمیترها را تغذیه نمی‌کنند. برای ترانسمیتر دو سیمه، یک منبع تغذیهٔ ۲۴ ولت خارجی را به‌صورت سری در هر حلقه قرار دهید: مثبت منبع به مثبت ترانسمیتر، منفی ترانسمیتر به ورودی کانال و برگشت کانال به منفی منبع. ترانسمیترهای چهار سیمه که خروجی جریان خودشان را تأمین می‌کنند مستقیم به کانال وصل می‌شوند. امپدانس ورودی هر کانال کمتر از ۱۶۵ اهم است و باید در محاسبهٔ بودجهٔ ولتاژ حلقه لحاظ شود.

CJC Mode در ماژول ترموکوپل: Auto یا Manual؟

ولتاژ ترموکوپل به اختلاف دمای نوک سنسور و محل اتصال سیم‌ها به ترمینال (اتصال سرد) بستگی دارد. ماژول برای محاسبهٔ دمای واقعی باید دمای اتصال سرد را بداند. این کار در DEP-4TCU-MB با رجیستر CJC Mode (آدرس 40) تعیین می‌شود:

Auto (مقدار ۰، پیش‌فرض)

دمای ترمینال با سنسور داخلی ماژول اندازه‌گیری می‌شود. این حالت برای تقریباً همهٔ کاربردها مناسب است، به شرطی که ترموکوپل یا کابل جبرانی آن مستقیم به ترمینال ماژول برسد.

Manual (مقدار ۱)

ماژول به‌جای اندازه‌گیری، مقدار ثابت رجیستر CJC Manual Value (آدرس 41، ×۱۰) را استفاده می‌کند؛ پیش‌فرض ۲۵۰ یعنی ۲۵٫۰ درجه. این حالت وقتی کاربرد دارد که اتصال سرد بیرون از ماژول و در دمای ثابت و معلوم قرار دارد، یا در آزمایش و کالیبراسیون با کالیبراتور میلی‌ولتی.

اگر حالت Manual را برای اتصال سردی انتخاب کنید که دمای آن واقعاً تغییر می‌کند، هر درجه تغییر دمای تابلو تقریباً یک درجه خطا در اندازه‌گیری ایجاد می‌کند. در شرایط عادی حالت Auto را تغییر ندهید. مبانی CJC در راهنمای جامع ترموکوپل آمده است.

ترتیب نوشتن تنظیمات

  1. کلید رمز (پیش‌فرض 0x1234) را در رجیستر Config Password (آدرس 27) بنویسید.
  2. رجیسترهای پیکربندی مانند نوع ترموکوپل، حد بالا و پایین بازه، CJC Mode و CJC Manual Value را با FC06 یا FC16 بنویسید.
  3. برای قفل دوباره، مقدار 0x0000 را در رجیستر Config Lock (آدرس 42) بنویسید. اگر این کار را نکنید، قفل پس از ۳۰ ثانیه بیکاری یا با قطع و وصل تغذیه خودکار فعال می‌شود.
  4. مقادیر نوشته‌شده را دوباره بخوانید و مطمئن شوید که اعمال شده‌اند.

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

  • بلوکی بخوانید: به‌جای چند درخواست جداگانه، یک بازهٔ پیوسته از رجیسترها را در یک درخواست FC03 بخوانید. این کار بار شبکه و زمان چرخهٔ خواندن را کم می‌کند.
  • زمان پاسخ و تکرار: Timeout را با توجه به Baud Rate و تعداد دستگاه‌ها تنظیم کنید و برای قطع ارتباط، آلارمی جدا از خطای سنسور تعریف کنید.
  • اول Status: مقدار دما را فقط وقتی در کنترل به کار ببرید که Status کانال سالم باشد.
  • آزمایش پیش از برنامه‌نویسی: با نرم‌افزار Modbus Poll و فایل‌های آمادهٔ صفحهٔ دانلودها ابتدا ارتباط و مقادیر را تأیید کنید و سپس سراغ برنامهٔ PLC بروید.

محصولات دلیجه ارتباط پویا برای اتصال به سیستم کنترل

پرسش‌های متداول

جریان ۴ تا ۲۰ میلی‌آمپر را در PLC چگونه به دما تبدیل کنیم؟

از رابطهٔ خطی T = Tmin + (I − 4) × (Tmax − Tmin) ÷ 16 استفاده کنید که در آن Tmin و Tmax همان بازه‌ای است که در ترانسمیتر تنظیم شده. برای مثال اگر بازه ۰ تا ۴۰۰ درجه باشد، جریان ۱۲ میلی‌آمپر برابر ۲۰۰ درجه است.

چرا عدد خوانده‌شده از رجیستر دما ده برابر مقدار واقعی است؟

رجیسترهای صحیح دما در ماژول‌های DEP-3PT100-MB و DEP-4TCU-MB مقیاس ×۱۰ دارند. یعنی عدد ۲۳۵۰ برابر ۲۳۵٫۰ درجهٔ سانتی‌گراد است و باید در PLC بر ۱۰ تقسیم شود. اگر به عدد اعشاری مستقیم نیاز دارید، رجیسترهای Float را بخوانید.

چرا مقدار Float خوانده‌شده در PLC عدد بی‌معنایی است؟

هر عدد Float در دو رجیستر ۱۶ بیتی ذخیره می‌شود. در DEP-4TCU-MB و ماژول‌های ۸ کاناله ابتدا کلمهٔ پرارزش (Hi Word یا MSW) قرار دارد. اگر PLC یا SCADA ترتیب کلمه‌ها را برعکس فرض کند، عدد بی‌معنا می‌شود و باید گزینهٔ Word Swap را در درایور تغییر دهید.

رجیستر ۵ در نرم‌افزار SCADA با چه آدرسی خوانده می‌شود؟

آدرس‌های جدول رجیستر از صفر شروع می‌شوند. در نرم‌افزارهایی که از نشانه‌گذاری 4xxxx استفاده می‌کنند، رجیستر Holding با آدرس ۵ معمولاً به‌صورت 40006 وارد می‌شود. اگر عددی که می‌خوانید متعلق به رجیستر کناری است، اختلاف یک واحدی آدرس را بررسی کنید.

CJC Mode در ماژول DEP-4TCU-MB چه گزینه‌هایی دارد؟

رجیستر CJC Mode دو حالت دارد: ۰ یعنی Auto که دمای اتصال سرد با سنسور داخلی اندازه‌گیری می‌شود و ۱ یعنی Manual که یک مقدار ثابت از رجیستر CJC Manual Value (با مقیاس ×۱۰، پیش‌فرض ۲۵۰ یعنی ۲۵٫۰ درجه) استفاده می‌شود.

برای تغییر تنظیمات DEP-4TCU-MB از طریق Modbus چه باید کرد؟

ابتدا کلید رمز (پیش‌فرض 0x1234) را در رجیستر Config Password بنویسید، سپس رجیسترهای پیکربندی را با FC06 یا FC16 تغییر دهید و در پایان مقدار 0x0000 را در رجیستر Config Lock بنویسید. در صورت بیکاری ۳۰ ثانیه‌ای یا قطع و وصل تغذیه، قفل به‌طور خودکار فعال می‌شود.

جمع‌بندی

در مسیر آنالوگ، کلید کار یکسان بودن بازهٔ مقیاس‌بندی PLC با بازهٔ ترانسمیتر و تعریف درست مرزهای خطاست. در مسیر Modbus سه نکته بیشترین خطا را از بین می‌برد: آدرس صفرمبنا در برابر 4xxxx، ضریب مقیاس رجیسترهای صحیح (×۱۰، ×۱۰۰ و ×۱۰۰۰) و ترتیب کلمه‌ها در Float. پیش از نوشتن برنامهٔ PLC، ارتباط و مقادیر را با Modbus Poll تأیید کنید؛ این کار ساعت‌ها عیب‌یابی را صرفه‌جویی می‌کند.