۱۷
دی

مدباس ( ModBus ) چیست؟ ( بخش دوم )

Slave ID چیست ؟

به هر Slave در یک شبکه یک شماره واحد منحصر به فرد از 1 تا 247 اختصاص داده می شود. وقتی Master درخواست داده می کند ، اولین بایت ارسال شده آدرس Slave است. به این ترتیب که هر Slaveپس از بایت اول می داند که پیام را نادیده بگیرد یا خیر.

کد عملکرد ( Function Code ) چیست ؟      

دومین بایت ارسال شده توسط Master کد عملکرد است. این شماره به Slave می گوید که کدام جدول باید به آن دسترسی داشته باشد یا اینکه از جدول بخواند یا بنویسد.

CRC چیست ؟

CRC مخفف Cyclic Redundancy check است. دو بایت که به انتهای هر پیام modbus برای شناسایی خطا اضافه شده می شود. از هر بایت در پیام برای محاسبه CRC استفاده می شود. دستگاه گیرنده همچنین CRC را محاسبه کرده و آن را از دستگاه ارسال کننده با CRC مقایسه می کند. اگر حتی یک بیت در پیام صحیح دریافت نشود ، CRC ها متفاوت خواهند بود و خطایی در پی خواهد داشت.

ترتیب بایت و کلمه چگونه است ؟

Modbus specification دقیقا نحوه ذخیره داده ها در رجیستر ها را مشخص نمی کند. از این رو برخی تولیدکنندگان جهت ذخیره سازی و ارسال بایت های بالاتر و به ترتیب بایت های پایین تر مدباس را در تجهیزات خود پیاده سازی کرده اند .

به طور مشابه ، هنگامی که رجیسترها برای نشان دادن انواع داده های 32 بیتی ترکیب می شوند ، برخی از دستگاه ها 16 بیت بالاتر (کلمه بالا) را در اولین رجیستر و کلمه پایین باقی مانده را در دومین (AE41 قبل از 5652) ذخیره می کنند در حالی که برخی دیگر برعکس عمل می کنند. (5652 قبل AE41).

باید در نظر داشت تا زمانی که دستگاه دریافت کننده نحوه دریافت دیتا را تشخیص می دهد، اینکه کدام کلمه یا بایت ارسال می شود، تفاوتی ندارد.   

Modbus Map  چیست ؟     

نقشه مدباس به طور ساده یک لیست برای تجهیزات Slave  است که مشخص می کند :

  • نوع دیتا چیست ؟ ( فشار، دما ، متن …. )
  • دیتا در کجا ذخیره می شود ؟ ( کدام جدول و آدرس )
  • نحوه ذخیره دیتا ( نوع دیتا، اولویت بایتی و متنی )

بعضی از تجهیزات با یک نقشه از قبل مشخص شده توسط تولیدکننده ارائه می شوند و قابل تغییر نیست . ولی بعضی تولید کنندگان به کاربر اجازه انجام تغییرات در تنظیمات و بومی سازی جهت هم پوشانی نیاز های کاربر را می دهند.