مرکز دانش درایو HiPower VSES نسخه ۱.۸ - شهریور ۱۴۰۵
مرکز دانش آفلاین
در حال بارگذاری...
در حال جستجو...
یافت نشد
پروتکل ارتباطی Modbus
مرکز دانشاتوماسیون، ورودی‌ها و ارتباطاتراهنمای فنی 20پروتکل ارتباطی Modbusپیکربندی ارتباط، رجیستر‌ها، کد‌های تابع و خطا‌های Modbus RTU.PDF اصلیمنبع ناشر
نسخهٔ مطالعه، چیدمان چاپی و اجزای تکراری را حذف کرده است. شکل‌ها و نمودار‌ها در همان بخش نمایش داده می‌شوند؛ پیوند PDF برای بزرگ‌نمایی یا تطبیق نهایی باقی مانده است.
پارامتر‌های قابل جست‌وجو: F21 F23 Frq I60 I61 I65 I74 drv

1. معرفی کلی

این راهنما نحوه پیکربندی ارتباط مدباس درایو، نقشه رجیستر‌های خواندنی و نوشتنی Function Code، های پشتیبانی‌شده، حافظه فرکانس هدف با پارامتر Broadcast، I74 با آدرس صفر، پاسخ‌های Exception و جدول کد‌های وضعیت و خطا را ارائه می‌کند. همه آدرس‌ها، ضرایب تبدیل و مقادیر کنترلی مطابق اطلاعات فنی درایو تنظیم شده‌اند. برای راه‌اندازی ارتباط، ابتدا مشخصات ارتباطی درایو تنظیم می‌شود؛ سپس مستر مدباس می‌تواند اطلاعات عملکردی را از رجیستر‌های خواندنی دریافت کند یا فرمان‌های مجاز را در رجیستر‌های نوشتنی قرار دهد. شکل (1) ترتیب پیشنهادی تنظیم، فرمان و پایش را نشان می‌دهد.

شکل (1): مسیر پیشنهادی راه‌اندازی و پایش مدباس
شکل (1): مسیر پیشنهادی راه‌اندازی و پایش مدباسبزرگ‌نماییصفحهٔ 4 در PDF

2. پیکربندی ارتباط

پارامتر‌های I60، I61 و I65 به‌ترتیب برای تعیین آدرس درایو، نرخ تبادل داده و تنظیم Parity و Stop Bit استفاده می‌شوند. پارامتر I74 نیز نحوه نگهداری فرکانس هدف مدباس را تعیین می‌کند. مقادیر قابل انتخاب و مقدار پیش‌فرض هر پارامتر در جدول (1) آمده است.

جدول (1): پارامتر‌های پیکربندی ارتباط مدباس
پارامترمحدوده تعیینمقدار پیش‌فرضتوضیح
I601 تا 2501تعیین آدرس درایو (Slave Address)
I610 تا 50تعیین نرخ تبادل []bps 9600:0 14400:1 19200:2 38400:3 57600:4 115200:5
I650 تا 30Stop Bit و Parity تعیین Parity None, Stop Bit 1:0 Parity None, Stop Bit 2:1 Parity Even, Stop Bit 1:2 Parity Odd, Stop Bit 1:3
I740 تا 10تعیین حافظه فرکانس هدف مدباس؛ :0 فقط RAM؛ RAM:1 و EEPROM

3. نقشه رجیستر‌های خواندنی (0x03/0x04)

۲) آدرس‌های جدول با فرمان Read Holding Registers (0x03) خوانده می‌شوند. فرمان Read Input Registers (0x04) فقط برای مقدار‌های Actual/Input در بازه‌های 0x0005 تا 0x000E و 0x0064 تا 0x006B قابل استفاده است. وضعیت I74 در آدرس 0x000F فقط با فرمان 0x03 خوانده می‌شود. ستون ضریب تبدیل، مقیاس مقدار دریافتی را نشان می‌دهد.

نکتهٔ مهم در آدرس‌دهی: آدرس داخل فریم مدباس PDU صفرمبنا است، اما بسیاری از HMI/PLC‌ها شمارهٔ مرجع 4xxxx را نمایش می‌دهند. رابطه به‌صورت «شمارهٔ مرجع = مقدار ده‌دهی آدرس PDU + 40001» است؛ بنابراین 0x0001 با 40002، 0x0002 با 40003، 0x0003 با 40004، 0x0004 با 40005 و 0x000F با 40016 متناظر است. بازهٔ 0x0064 تا 0x006B نیز با 40101 تا 40108 متناظر است. در فریم خام، آدرس 16 بیتی PDU و در نرم‌افزارهایی که قالب 4xxxx می‌خواهند، شمارهٔ مرجع متناظر وارد شود.
جدول (2): نقشه رجیستر‌های خواندنی
آدرس/PDU مرجع 4xxxxشرح پارامترضریب تبدیل
0x0001/40002Target Frequencyx10
0x0003/40004Acceleration Timex10
0x0004/40005Deceleration Timex10
0x0005/40006Currentx100
0x0006/40007Motor Frequencyx10
0x0007/40008Voltagex10
0x0008/40009DC Link Voltagex10
0x0009/40010Temperaturex10
0x000A/40011Iq Current ComponentNo Scaling
0x000B/40012Id Current ComponentNo Scaling
0x000C/40013Vq Voltage ComponentNo Scaling
0x000D/40014Vd Voltage ComponentNo Scaling
0x000E/40015Error CodeNo Scaling
0x000F/40016Modbus Frequency Memory Mode (I74)No Scaling
0x0064-0x006B 40101-40108Custom ParametersNo Scaling

4. نقشه رجیستر‌های نوشتنی (0x06/0x10/0x17)

به‌ترتیب برای Read/Write Multiple Registers و Write Multiple Registers، Write Single Register فرمان‌های نوشتن یک مقدار، نوشتن چند مقدار یا نوشتن و خواندن همزمان رجیستر‌های کنترلی زیر استفاده می‌شوند. شرایط و محدودیت هر رجیستر در بخش‌های بعد آمده است.

1-4. آدرس -0x0001 تنظیم فرکانس هدف

  • این رجیستر برای تنظیم فرکانس هدف درایو استفاده می‌شود؛
  • مقادیر خام مجاز فقط 0 یا بازه F23×10 تا F21× 10 هستند؛ برای مثال اگر F23 = 5.0 Hz و F21 = 50.0 Hz باشد، مقدار خام مجاز 0 یا 50 تا 500 است. مقادیر دیگر با Exception 0x03 رد می‌شوند؛ و
  • در صورت غیرفعال بودن حالت‌های خاص مانند JOG و، Multistep فرکانس به‌روزرسانی می‌شود و فرآیند شتاب یا کاهش سرعت بر همان اساس مدیریت خواهد شد.
توجه: برای ارسال فرکانس هدف به درایو از طریق ارتباط مدباس، پارامتر Frq باید روی مقدار 4 تنظیم شود.

2-4. آدرس -0x0002 فرمان استارت، توقف و جهت حرکت

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

جدول (3): مقادیر فرمان رجیستر 0x0002
مقدار فرمانعملکردتوضیح
0x01توقفدرایو را متوقف می‌کند.
0x02حرکت راستگرددرایو را در جهت راستگرد راه‌اندازی می‌کند.

پس از مقداردهی اولیه فرکانس هدف در رجیستر، 0x0001 زمان شتاب در رجیستر 0x0003 و زمان کاهش سرعت در رجیستر، 0x0004 برای ارسال فرمان 0x02 یا 0x04 نیازی به ارسال مجدد آنها نیست. فرکانس نوشته‌شده پس از توقف در حافظه RAM حفظ می‌شود و خواندن 0x0001 همان مقدار ذخیره‌شده فرمان را نشان می‌دهد؛ فرکانس واقعی موتور از 0x0006 خوانده می‌شود. نگهداری فرکانس پس از قطع برق به مقدار پارامتر I74 وابسته است. رجیستر‌های 0x0003 و 0x0004 فقط هنگام تغییر مقدار نسبت به پارامتر‌های ذخیره‌شده درایو بازنویسی شوند.

توجه: برای اجرای فرمان‌های استارت، توقف و جهت حرکت از طریق مدباس، پارامتر drv باید روی مقدار 3 تنظیم شود.

3-4. آدرس -0x0003 تنظیم زمان شتاب

  • زمان شتاب موتور در واحد 0.1 ثانیه تنظیم می‌شود؛ برای مثال مقدار 100 معادل 10.0 ثانیه است؛
  • مقدار خام معتبر فقط 1 تا 60000 است که بازه 0.1 تا 6000.0 ثانیه را پوشش می‌دهد؛ مقدار 0 یا بیش از 60000 با Exception 0x03 رد می‌شود؛ و
  • این زمان برای محاسبه افزایش گام فرکانس در جهت افزایش سرعت استفاده می‌شود.

4-4. آدرس -0x0004 تنظیم زمان کاهش سرعت

  • زمان کاهش سرعت موتور در واحد 0.1 ثانیه تنظیم می‌شود؛ برای مثال مقدار 100 معادل 10.0 ثانیه است؛
  • همانند زمان شتاب، مقدار خام معتبر فقط 1 تا 60000 است؛ مقدار 0 یا بیش از 60000 با Exception 0x03 رد می‌شود؛ و
  • این مقدار برای کنترل نمایه کاهش سرعت موتور استفاده می‌شود.

5-4. آدرس -0x000F حافظه فرکانس هدف (پارامتر )I74

پارامتر I74 تعیین می‌کند فرکانس هدفی که از مدباس در رجیستر 0x0001 دریافت می‌شود فقط در حافظه موقت نگهداری شود یا علاوه بر آن در حافظه غیر فرار نیز ذخیره گردد. مقدار پیش‌فرض این پارامتر صفر است.

  • مقدار:0 فرکانس هدف در RAM حفظ می‌شود؛ پس از توقف برای استارت بعدی در دسترس است، اما پس از قطع برق یا بازنشانی بازیابی نمی‌شود؛
  • مقدار:1 هر فرکانس هدف معتبر در RAM و EEPROM نگهداری می‌شود و پس از روشن شدن مجدد، برای فرمان حرکت بعدی بازیابی می‌گردد؛
  • رجیستر 0x000F بدون ضریب تبدیل است؛ مقدار آن با 0x03 خوانده و با 0x10، 0x06 یا 0x17 نوشته می‌شود. فرمان 0x04 برای این آدرس مجاز نیست؛
  • تغییر I74 از 0 به، 1 فرکانس فعلی موجود در RAM را همان لحظه در EEPROM ثبت می‌کند. تغییر از 1 به 0 مقدار غیر فرار را پاک می‌کند، ولی مقدار RAM تا بازنشانی باقی می‌ماند؛
  • در روشن شدن مجدد، مقدار بازیابی‌شده با حدود فعلی پارامتر‌های F23 و F21 تطبیق داده می‌شود؛
  • ارسال دوباره همان فرکانس، نوشتن اضافی در EEPROM ایجاد نمی‌کند؛ فقط تغییر واقعی مقدار ذخیره می‌شود.
شکل (2): مقایسه رفتار حافظه فرکانس هدف در دو حالت I74
شکل (2): مقایسه رفتار حافظه فرکانس هدف در دو حالت I74بزرگ‌نماییصفحهٔ 7 در PDF

مثال کاربردی: ابتدا 0x000F = 1 و سپس 0x0001 = 500 ارسال شود. مقدار 500 معادل 50.0 Hz است و پس از قطع و وصل برق نیز با خواندن 0x0001 بازیابی می‌شود. در حالت توقف ممکن است 0x0006 مقدار صفر را به‌عنوان فرکانس واقعی موتور نشان دهد.

توجه: برای مرجع‌های فرکانس پیوسته و سریع‌التغییر I74 = 0، استفاده شود تا عمر EEPROM. کاهش نیابد. حالت I74 = 1 برای کاربردهایی مناسب است که فرکانس هدف فقط هنگام تغییر واقعی تنظیم می‌شود.

5. جدول خلاصه رجیستر‌های نوشتنی

جدول (۴) پنج رجیستر کنترلی قابل نوشتن، شماره مرجع، 4xxxx مقدار خام مجاز و شرط اجرای هر کدام را به‌صورت

صریح نشان می‌دهد. مقدار خارج از محدوده مجاز با Exception 0x03 رد می‌شود.

جدول (4): خلاصه رجیستر‌های نوشتنی
آدرس/PDU مرجع 4xxxxنام رجیسترمقدار خام مجازشرط اجرا و توضیح
0x0001 40002تنظیم فرکانس هدف0 یا از F23×10 تا F21×10 (واحد خام)0.1 Hz:Frq = 4 و حالت‌های JOG/Multistep غیرفعال باشند. مقدار 0 مجاز است؛ برای توقف عملیاتی از 0x0002 = 0x01 استفاده شود.
0x0002 40003فرمان استارت، توقف و جهت0x04 یا 0x02، 0x01drv = 3؛ مقدار 0x01 توقف 0x02، حرکت راستگرد و 0x04 حرکت چپگرد است.
0x0003 40004تنظیم زمان شتاباز 1 تا 60000 ( 0.1 تا )s 6000.0واحد خام 0.1 ثانیه است؛ مقدار 0 یا بیش از 60000 مجاز نیست.
0x0004 40005تنظیم زمان کاهش سرعتاز 1 تا 60000 ( 0.1 تا )s 6000.0واحد خام 0.1 ثانیه است؛ مقدار 0 یا بیش از 60000 مجاز نیست.
0x000F 40016حافظه فرکانس هدف مدباس (I74)0 یا 1بدون ضریب تبدیل؛ 0 فقط RAM و 1 حافظه RAM+EEPROM را فعال می‌کند.

6. جدول کد‌های وضعیت و خطا

مقدار رجیستر 0x000E گاهی وضعیت عملکردی و گاهی خطا را نشان می‌دهد. کد‌های 0xA000 و 0xA001 خطا نیستند و فقط وضعیت چرخش یا توقف موتور را اعلام می‌کنند؛ بنابراین در جدول (5-الف) از خطا‌های واقعی جدول (5-ب) جدا شده‌اند.

جدول (5-الف): کد‌های وضعیت عملکردی (فاقد خطا)
کد وضعیتنوع وضعیتتوضیحات
0xA000START_CODEنشان‌دهنده وضعیت موتور در حالت چرخش است.
0xA001STOP_CODEنشان‌دهنده وضعیت موتور در حالت توقف است.
جدول (5-ب): کد‌های خطای درایو
کد خطانوع خطاتوضیحات
0xA002OCt_CODEخطای اضافه‌جریان؛ بیش از 200 درصد حد مجاز.
0xA003OLt_CODEخطای اضافه بار؛ قابل تنظیم توسط کاربر در گروه F
0xA004LVt_CODEخطای کاهش ولتاژ ورودی.
0xA005OHt_CODEخطای اضافه دمای درایو.
0xA006HWE_CODEخطای ایراد سخت‌افزاری.
0xA007OVt_CODEخطای اضافه‌ولتاژ ورودی.
0xA008POF_CODEخطای تشخیص قطعی یک فاز از موتور.
0xA009EST_CODEنشان‌دهنده فعال شدن پایه Emergency در ترمینال ورودی.
0xA00BIOL_CODEخطای اضافه بار روی درایو؛ بیش از 15 درصد توان نامی درایو در مدت یک دقیقه.
0xA00CntC_CODEقطعی سنسور دما یا ایراد در عملکرد آن.
0xA00DCSE_CODEایراد در عملکرد سنسور‌های جریان.
0xA00EEEP_CODEایراد در عملکرد حافظه غیر فرار.

7. کد‌های تابع پشتیبانی‌شده

کد‌های تابع قابل استفاده در این نسخه در جدول (۶) خلاصه شده‌اند. همه فیلد‌های 16 بیتی آدرس، تعداد و داده با ترتیب بایت بالا و سپس بایت پایین ارسال می‌شوند و CRC در انتهای فریم قرار می‌گیرد. پیش از اجرای هر فرمان، طول فریم، بازه آدرس، مقدار و شرایط کاری به‌طور کامل بررسی می‌شوند.

جدول (6): کد‌های تابع پشتیبانی‌شده
کد تابعنام استانداردکاربرد و محدودیت
0x03Read Holding Registersخواندن رجیستر‌های نگهدارنده و نقشهٔ کاربردی جدول (۲)، شامل وضعیت I74 در 0x000F؛ از 1 تا 125 رجیستر پیوسته. Broadcast مجاز نیست.
0x04Read Input Registersخواندن مقادیر Actual/Input در بازه‌های 0x0005 تا 0x000E و 0x0064 تا 0x006B از 1 تا 125 رجیستر پیوسته؛ Broadcast مجاز نیست.
0x06Write Single Registerنوشتن یک رجیستر در بازه 0x0001 تا 0x0004 یا آدرس 0x000F؛ پاسخ عادی تکرار درخواست است؛ Broadcast مجاز است.
0x08Diagnosticsآزمون ارتباط، خواندن رجیستر تشخیصی و شمارنده‌ها و پاک کردن آنها؛ Broadcast مجاز نیست.
0x10Write Multiple Registersنوشتن چند رجیستر پیوسته پس از اعتبارسنجی کامل؛ بازه 0x0001 تا 0x0004 یا یک رجیستر در 0x000F؛ Broadcast مجاز است.
0x17Read/Write Multiple Registersنوشتن و سپس خواندن در یک تراکنش؛ بخش نوشتن بازه 0x0001 تا 0x0004 یا یک رجیستر 0x000F را می‌پذیرد؛ Broadcast مجاز نیست.
0x2B/0x0ERead Device Identificationخواندن شناسه سازنده، کد محصول و نسخه نرم‌افزار؛ Broadcast مجاز نیست.

انتخاب سریع تابع: برای خواندن مقدار‌های تنظیمی و I74 از 0x03 برای مقدار‌های لحظه‌ای از 0x04 برای نوشتن یک رجیستر از 0x06 برای چند رجیستر پیوسته از 0x10 و برای نوشتن و خواندن در یک تراکنش از 0x17 استفاده کنید 0x08. برای عیب‌یابی و 0x2B/0x0E برای شناسایی دستگاه است.

1-7. خواندن رجیستر‌ها (0x03/0x04)

؛ Slave Address | Function Code | Start Address | Quantity | CRC:• ساختار درخواست؛ Slave Address | Function Code | Byte Count | Register Data | CRC:• ساختار پاسخ.

  • تعداد رجیستر در هر درخواست باید از 1 تا 125 باشد. تمام آدرس‌های بازه درخواستی پیش از پاسخ بررسی می‌شوند و غیرمجاز بودن حتی یک آدرس، پاسخ Exception 0x02 ایجاد می‌کند؛ و
  • در فرمان 0x04 فقط بازه‌های 0x0005 تا 0x000E و 0x0064 تا 0x006B مجاز هستند. رجیستر‌های، 0x0001 0x0004، 0x0003 و 0x000F با فرمان 0x03 خوانده می‌شوند. درخواست 0x04 برای 0x000F پاسخ ایجاد می‌کند Exception 0x02

2-7. نوشتن رجیستر‌ها (0x06/0x10)

  • فرمان 0x06 یک آدرس و یک مقدار 16 بیتی را می‌نویسد و در پاسخ عادی، آدرس و مقدار درخواست را تکرار می‌کند؛
  • فرمان 0x10 شامل آدرس شروع، تعداد رجیستر، تعداد بایت و داده‌های نوشتنی است. حد پروتکلی تعداد رجیستر 1 تا 123 است؛ با توجه به نقشه کاربردی این درایو، بازه پیوسته 0x0001 تا 0x0004 یا یک رجیستر در آدرس 0x000F قابل نوشتن است؛
  • در 0x10 همه آدرس‌ها، مقادیر و شرایط کاری پیش از نخستین تغییر اعتبارسنجی می‌شوند؛ بنابراین درخواست نامعتبر باعث اعمال بخشی از داده‌ها نمی‌شود؛ و
  • مقدار خام هر رجیستر باید دقیقاً مطابق جدول (۴) باشد. مقدار خارج از محدوده، خطای Exception 0x03 و آماده نبودن وضعیت درایو برای فرمان موردنظر، خطای Exception 0x06 ایجاد می‌کند.

3-7. عیب‌یابی و شمارنده‌ها (Diagnostics 0x08)

در این فرمان، زیرتابع در دو بایت پس از Function Code قرار می‌گیرد. به‌جز زیرتابع، 0x0000 فیلد Data درخواست باید 0x0000 باشد. پاسخ شامل همان زیرتابع و مقدار 16 بیتی متناظر است. برای آزمون ساده مسیر، زیرتابع 0x0000 را با یک داده دلخواه ارسال کنید؛ پاسخ سالم باید همان داده را بازگرداند.

زیرتابععنوانعملکرد و مقدار بازگشتی
0x0000Return Query Dataتمام داده‌های درخواست را با طول زوج، بدون تغییر بازمی‌گرداند و برای آزمون مسیر ارتباط مناسب است.
0x0002Return Diagnostic Registerرجیستر تشخیصی را برمی‌گرداند؛ بیت 0 خطای ارتباط و بیت 1 سرریز دریافت کاراکتر را نشان می‌دهد.
0x000AClear Counters and Diagnostic Registerرجیستر تشخیصی و همه شمارنده‌های مدباس را صفر می‌کند.
0x000BBus Message Countتعداد فریم‌های دریافت‌شده با CRC صحیح را برمی‌گرداند.
0x000CBus Communication Error Countتعداد خطا‌های ارتباطی شامل CRC نامعتبر، فریم ناقص و خطا‌های دریافت را برمی‌گرداند.
0x000DException Error Countتعداد پاسخ‌ها یا رخداد‌های Exception را برمی‌گرداند.
0x000EServer Message Countتعداد پیام‌های معتبر دریافت‌شده برای آدرس درایو یا آدرس Broadcast را برمی‌گرداند.
0x000FServer No Response Countتعداد پیامهایی را برمی‌گرداند که طبق پروتکل بدون پاسخ ماندهاند؛ Broadcast در این شمارنده ثبت می‌شود.
0x0010Server NAK Countشمارنده NAK برای سازگاری و توسعه آینده است؛ نسخه فعلی مسیر عملیاتی تولید 0x07 Exception ندارد.
0x0011Server Busy Countتعداد پاسخ‌های 0x06 Exception ناشی از آماده نبودن وضعیت درایو را برمی‌گرداند.
0x0012Character Overrun Countتعداد رخداد‌های سرریز بافر یا دریافت کاراکتر را برمی‌گرداند.
0x0014Clear Overrun Counter and Flagفقط شمارنده سرریز، بیت سرریز رجیستر تشخیصی و پرچم داخلی مرتبط را پاک می‌کند.
توجه: شمارنده‌ها در 0xFFFF اشباع می‌شوند و با بازنشانی دستگاه یا زیرتابع 0x000A صفر می‌شوند. در این نسخه فعال نیستند و Force Listen Only Mode و Restart Communications Option زیرتابع‌های Exception 0x03 ایجاد می‌کنند.

4-7. تبادل اتمیک خواندن/نوشتن (0x17)

Slave | 0x17 | Read Start | Read Quantity | Write Start | Write Quantity | Write: ساختار درخواست •؛ Byte Count | Write Data | CRC.

  • تعداد رجیستر خواندنی باید از 1 تا 125 و تعداد رجیستر نوشتنی از 1 تا 121 باشد. بخش نوشتن بازه 0x0001 تا 0x0004 یا یک رجیستر در 0x000F و بخش خواندن فقط نقشه کاربردی رجیستر‌ها را می‌پذیرد؛
  • تمام آدرس‌ها، مقادیر و شرایط ابتدا بررسی می‌شوند؛ سپس نوشتن انجام و پس از آن مقادیر خوانده می‌شوند. بنابراین مستر، نتیجه جدید را در همان پاسخ دریافت می‌کند و درخواست نامعتبر هیچ تغییر جزئی ایجاد نمی‌کند. برای مثال می‌توان 0x0001 = 500 را نوشت و در همان تراکنش مقدار واقعی 0x0006 را خواند؛
  • اتمیک بودن در این راهنما به معنی یکپارچگی تراکنش مدباس و اعتبارسنجی کامل پیش از نوشتن است و به معنی قفل شدن وقفه‌های پردازنده نیست؛ و
  • این فرمان با آدرس Broadcast. مجاز نیست.

5-7. خواندن شناسه دستگاه (0x2B/0x0E)

Read Device کد‌های Slave | 0x2B | MEI = 0x0E | Read Device ID Code | Object ID | CRC.: ساختار درخواست ID از 0x01 تا 0x04 پشتیبانی می‌شوند. کد 0x04 فقط شیء درخواستی را بازمی‌گرداند. مقدار ProductCode متناسب با نوع ورودی و توان انتخاب‌شده در زمان ساخت نرم‌افزار تولید می‌شود.

جدول (8): اشیای شناسایی دستگاه
شناسه شیءنام شیءمقدار فعلی پاسخ
0x00VendorNameHipowerVSES
0x01ProductCodeوابسته به مدل؛ برای مثال K100-S1R5G
0x02MajorMinorRevisionV1.0
توجه: مقدار Conformity Level برابر 0x81 است. این فرمان با آدرس Broadcast مجاز نیست.

۸) Broadcast با آدرس صفر

  • آدرس 0x00 فقط برای فرمان‌های نوشتنی 0x06 و 0x10 پشتیبانی می‌شود. بنابراین تنظیم I74 در 0x000F و ارسال فرکانس هدف در 0x0001 به چند درایو امکان‌پذیر است؛
  • درایو پس از دریافت Broadcast هیچ پاسخی ارسال نمی‌کند؛ حتی اگر نوشتن موفق نباشد. برای تأیید نتیجه، مستر باید بعداً با آدرس اختصاصی درایو رجیستر موردنظر را بخواند. در حالت I74 = 1 فرکانس هدفی که با Broadcast دریافت می‌شود نیز در EEPROM ذخیره خواهد شد؛
  • فرمان‌های 0x17، 0x08، 0x04، 0x03 و 0x2B/0x0E با آدرس صفر مجاز نیستند و طبق قواعد مدباس، پاسخ روی باس تولید نمی‌کنند؛ و
  • پیام Broadcast معتبر در شمارنده پیام‌های سرور و شمارنده بدون پاسخ ثبت می‌شود. درخواست Broadcast نامعتبر نیز به‌صورت داخلی در شمارنده Exception ثبت می‌شود، ولی پاسخ ارسال نمی‌شود.

۹) پاسخ‌های Exception

اگر فریم دارای CRC صحیح و آدرس آن برابر آدرس درایو باشد، ولی تابع، آدرس، مقدار یا وضعیت اجرای فرمان معتبر نباشد، پاسخ Exception ارسال می‌شود. در این پاسخ، بیت بیشینهٔ Function Code یک می‌شود.

جدول (9): کد‌های Exception مدباس
کدعنوان استانداردشرایط استفاده در این نسخه
0x01Illegal FunctionFunction Code یا MEI پشتیبانی نمی‌شود، یا تابع خواندنی/تشخیصی با آدرس Broadcast ارسال شده است.
0x02Illegal Data Addressآدرس یا بازه رجیستر در نقشه مجاز نیست، انتهای بازه سرریز می‌کند یا شناسه شیء Device ID در درخواست Individual نامعتبر است.
0x03Illegal Data Valueطول فریم، تعداد رجیستر، Byte Count، مقدار رجیستر، مقدار I74 خارج از 0/1 زیرتابع Diagnostics یا کد Read Device ID نامعتبر است.
0x04Server Device Failureپس از اعتبارسنجی، عملیات داخلی خواندن/نوشتن یا تشکیل پاسخ با شکست غیرمنتظره روبهرو شده است.
0x06Server Device Busyشرایط فعلی درایو اجازه اجرای فرمان را نمی‌دهد؛ مانند انتخاب نبودن مرجع مدباس، فعال بودن JOG/Multistep یا انتخاب نبودن فرمان مدباس.

.Slave Address | (Function Code + 0x80) | Exception Code | CRC Low | CRC High.: ساختار پاسخ برای فریم با CRC نامعتبر، فریم ناقص، آدرس متعلق به دستگاه دیگر یا هر پیام، Broadcast پاسخی ارسال نمی‌شود.