اتصال ترانسمیترها و ماژولهای Modbus به PLC، DCS و SCADA و تفسیر رجیسترها
اندازهگیری دقیق در فیلد تنها نیمی از کار است؛ عدد باید درست به PLC، DCS یا SCADA برسد و درست تفسیر شود. بسیاری از خطاهای راهاندازی از همین مرحله است: بازهٔ مقیاسبندی که با تنظیم ترانسمیتر یکی نیست، آدرس رجیستری که یک واحد جابهجاست، یا عدد Floatی که ترتیب کلمههایش برعکس خوانده شده. در این مقاله هر دو مسیر آنالوگ ۴ تا ۲۰ میلیآمپر و دیجیتال Modbus RTU را با مثالهایی از محصولات دلیجه ارتباط پویا مرور میکنیم.
آنالوگ یا Modbus؟ انتخاب مسیر اتصال
| معیار | ترانسمیتر ۴ تا ۲۰ میلیآمپر | ماژول Modbus RTU |
|---|---|---|
| کابلکشی | یک زوج سیم برای هر نقطه | یک زوج سیم برای دهها نقطه |
| سمت PLC | یک کانال کارت ورودی آنالوگ برای هر نقطه | یک پورت سریال RS-485 |
| اطلاعات منتقلشده | فقط مقدار، خطا با جریان خارج از بازه | مقدار، کد وضعیت، مقاومت، دمای CJC و تنظیمات |
| سرعت بهروزرسانی | پیوسته | وابسته به Baud Rate و تعداد دستگاهها |
| کاربرد مناسب | حلقههای کنترلی سریع و سیستمهای موجود با کارت آنالوگ | پایش چندکاناله، تابلوهای دور و توسعهٔ کمهزینه |
| محصولات DEP | DEP-1RTDU-1IS و DEP-1TCU-1IS | DEP-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) | 0 | 40001 |
| 5 (0x0005) | 5 | 40006 |
| 12 (0x000C) | 12 | 40013 |
یک راه مطمئن برای بررسی آدرس، خواندن رجیسترهای ثابت است: در DEP-3PT100-MB و ماژولهای ۸ کاناله رجیستر ۲ آدرس Modbus خود دستگاه را برمیگرداند. اگر در این آدرس عدد ۲ (آدرس پیشفرض) را دیدید، آفست آدرسدهی درست است.
تفسیر رجیسترهای دما، مقاومت و جریان
ماژولهای DEP هر مقدار را به دو شکل ارائه میکنند: یک عدد صحیح مقیاسشده در یک رجیستر و یک عدد Float در دو رجیستر. عدد صحیح برای PLCهای سادهتر و خواندن سریع مناسب است و Float دقت کامل را بدون محاسبهٔ اضافی میدهد.
DEP-3PT100-MB: دما و مقاومت RTD
| رجیستر | محتوا | مثال |
|---|---|---|
| 5 تا 7 | دمای کانال ۰ تا ۲، ×۱۰، INT16 | ۲۳۵۳ یعنی ۲۳۵٫۳ °C |
| 8 تا 10 | مقاومت RTD کانال ۰ تا ۲، ×۱۰، UINT16 | ۱۳۸۵ یعنی ۱۳۸٫۵ Ω |
| 12 تا 17 | دمای هر کانال، Float (هر کدام دو رجیستر) | خطا: −999.0 |
| 18 تا 23 | مقاومت هر کانال، Float | بر حسب اهم |
| 24 تا 26 | Status هر کانال | ۰ یعنی SENSOR_OK |
رجیستر دمای صحیح از نوع INT16 علامتدار است. اگر PLC آن را بدون علامت بخواند، دمای منفی به عدد بزرگی تبدیل میشود؛ برای مثال ۵۰٫۰− درجه بهجای ۵۰۰− بهصورت ۶۵۰۳۶ دیده میشود. نوع دادهٔ تگ را INT (Signed) تعریف کنید. مقدار مقاومت در عیبیابی بسیار مفید است: با مقایسهٔ آن با جدول PT100 میتوانید درستی اندازهگیری را مستقل از تنظیمات بررسی کنید.
DEP-4TCU-MB: دمای ترموکوپل و CJC
| رجیستر | محتوا | نکته |
|---|---|---|
| 4 تا 7 | دمای کانال ۱ تا ۴، ×۱۰ | ۲۳۵۰ یعنی ۲۳۵٫۰ °C |
| 8 تا 11 | Status کانال ۱ تا ۴ | ۰ 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 را بخوانید. توضیح بیشتر در مقالهٔ دقت، رزولوشن و کالیبراسیون آمده است.
اتصال ترانسمیترهای ۴ تا ۲۰ میلیآمپر به ماژولهای Modbus
ماژولهای ۸ کاناله ترانسمیترها را تغذیه نمیکنند. برای ترانسمیتر دو سیمه، یک منبع تغذیهٔ ۲۴ ولت خارجی را بهصورت سری در هر حلقه قرار دهید: مثبت منبع به مثبت ترانسمیتر، منفی ترانسمیتر به ورودی کانال و برگشت کانال به منفی منبع. ترانسمیترهای چهار سیمه که خروجی جریان خودشان را تأمین میکنند مستقیم به کانال وصل میشوند. امپدانس ورودی هر کانال کمتر از ۱۶۵ اهم است و باید در محاسبهٔ بودجهٔ ولتاژ حلقه لحاظ شود.
CJC Mode در ماژول ترموکوپل: Auto یا Manual؟
ولتاژ ترموکوپل به اختلاف دمای نوک سنسور و محل اتصال سیمها به ترمینال (اتصال سرد) بستگی دارد. ماژول برای محاسبهٔ دمای واقعی باید دمای اتصال سرد را بداند. این کار در DEP-4TCU-MB با رجیستر CJC Mode (آدرس 40) تعیین میشود:
Auto (مقدار ۰، پیشفرض)
دمای ترمینال با سنسور داخلی ماژول اندازهگیری میشود. این حالت برای تقریباً همهٔ کاربردها مناسب است، به شرطی که ترموکوپل یا کابل جبرانی آن مستقیم به ترمینال ماژول برسد.
Manual (مقدار ۱)
ماژول بهجای اندازهگیری، مقدار ثابت رجیستر CJC Manual Value (آدرس 41، ×۱۰) را استفاده میکند؛ پیشفرض ۲۵۰ یعنی ۲۵٫۰ درجه. این حالت وقتی کاربرد دارد که اتصال سرد بیرون از ماژول و در دمای ثابت و معلوم قرار دارد، یا در آزمایش و کالیبراسیون با کالیبراتور میلیولتی.
ترتیب نوشتن تنظیمات
- کلید رمز (پیشفرض
0x1234) را در رجیستر Config Password (آدرس 27) بنویسید. - رجیسترهای پیکربندی مانند نوع ترموکوپل، حد بالا و پایین بازه، CJC Mode و CJC Manual Value را با FC06 یا FC16 بنویسید.
- برای قفل دوباره، مقدار
0x0000را در رجیستر Config Lock (آدرس 42) بنویسید. اگر این کار را نکنید، قفل پس از ۳۰ ثانیه بیکاری یا با قطع و وصل تغذیه خودکار فعال میشود. - مقادیر نوشتهشده را دوباره بخوانید و مطمئن شوید که اعمال شدهاند.
توصیههایی برای برنامهنویسی 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 تأیید کنید؛ این کار ساعتها عیبیابی را صرفهجویی میکند.