Modbus

برنامه بتا

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

  • در حال حاضر فقط کتابخانه TCP/UDP موجود است
  • ویرایشگر پیکربندی‌های نامعتبر را نشان نمی‌دهد
  • اسلاو Modbus در دسترس نیست

رابط Modbus می‌تواند داده‌ها بین دستگاه‌ها بخواند و بنویسد. کدهای کارکرد زیر پشتیبانی می‌شوند:

FC نام توضیحات
FC1 Read coils خواندن چندین خروجی دیجیتال
FC2 Read inputs discrete خواندن چندین ورودی دیجیتال
FC3 Read holding registers خواندن چندین ورودی آنالوگ (و خروجی)
FC4 Read input registers خواندن چندین ورودی آنالوگ (و خروجی)
FC5 Write coil نوشتن یک خروجی دیجیتال تک
FC6 Write single register نوشتن یک خروجی آنالوگ تک
FC15 Force multiple coils نوشتن چندین خروجی دیجیتال
FC16 Write multiple registers نوشتن چندین خروجی آنالوگ
FC22 Mask write تغییر دادن بیت‌های تک یک رجیستر
FC23 Read/write multiple registers عملیات خواندن-نوشتن بر روی ورودی/خروجی آنالوگ

حالت‌های Modbus

رابط Modbus به عنوان ماستر یا اسلاو کار می‌کند. اما همزمان به عنوان ماستر و اسلاو نیست. برای این کار باید چندین رابط ایجاد شود.

برای پیکربندی یک دستگاه به عنوان اسلاو، هیچ چیز خاصی در نظر گرفته نشده است. پارامتر چرخه پرس‌وجوی، Sync و Init در اسلاو نادیده گرفته می‌شوند. اما ID واحد توجه شده است. اگر در ماستر نمی‌توانید یک ID واحد تنظیم کنید، آن را بر روی 0 یا ممکن است بر روی 255 تنظیم کنید.

وارد کردن و صادر کردن به عنوان فایل CSV

ممکن است هر دستگاه را به عنوان یک فایل CSV صادر و وارد کنید. توصیه می‌شود قبل از این کار، یک فایل صادر کنید تا ساختار فایل شناخته شود. مهم است که ترتیب ستون‌ها تغییر نکند. علاوه بر این، داده‌های نامعتبر نباید وارد شوند.

پیکربندی

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

نکته: پس از راه‌اندازی اولین دستگاه، رجیسترها را کپی کنید. این کار پیکربندی را سریع‌تر می‌کند.

در ستون راست، شما ID واحد و ترتیب بایت و بیت را پیدا می‌کنید، اگر با سخت‌افزار مورد استفاده متفاوت باشد.

نشانگر

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

آدرس

این مقدار آدرس Modbus را تعریف می‌کند. این مقدار بین 0 و 65'535 یا 0x0000 و 0xFFFF است.

این مقدار می‌تواند به عنوان یک عدد دهمی 32'767 یا به عنوان یک عدد شانزده‌هیجی 0x7FFF تعریف شود.

طول

این مقدار تعداد رجیسترها را در وورد یا بایت تعریف می‌کند. یک وورد برابر با دو بایت است. این حالت می‌تواند با کلیک بر روی عنوان طول (وورد) تغییر کند.

کارکرد

این مقدار کد کارکرد را تعریف می‌کند. این کد همچنین تعیین می‌کند که آیا مقدار قابل نوشتن است یا خیر.

متغیر

متغیر ارتباط با SPS از Antcas را تعریف می‌کند. این متغیر می‌تواند به صورت فردی تنظیم شود. اگر یک مقدار برای همان متغیر خوانده و نوشته شود، می‌توانید همان متغیر با همان نوع داده برای چندین رجیستر تنظیم کنید.

نکته: از / را به عنوان جداکننده در بسیاری از متغیرها استفاده کنید تا زیرمجموعه‌ها در نصب ایجاد شوند. این کار یک دیدبازتر را فراهم می‌کند.

توضیحات

توضیحات متغیر را توضیح می‌دهد.

حساب

مقدار برای انتقال با فعال شدن مناسب محاسبه می‌شود. این مقدار به صورت زیر تعریف می‌شود:

/64+100

این مقدار را تقسیم بر 64 و جمع با 100 می‌کند و نتیجه را به SPS بازمی‌گرداند.

(v%2)/64

یک مقدار همچنین می‌تواند با v تعریف شده و در پرانتز قرار گیرد. باید توجه کرد که پرانتز‌ها همیشه به درستی بسته شوند. همچنین می‌توانید یک آدرس Modbus دیگر را در فرمت مانند $1000 برای محاسبه استفاده کنید. مقدار 1000 برابر است با آدرس Modbus 1'000 در پیکربندی. مرجع همیشه به مقدار خام اشاره دارد. یعنی پیوندها محاسبه نمی‌شوند. علاوه بر این، باید آدرس را در ویرایشگر استفاده کنید تا قبل از آن مقدار دکد شود.

نوع داده

نوع داده برای تبدیل از رجیستر Modbus و ارتباط با SPS را تعریف می‌کند. محاسبات پس از تبدیل انجام می‌شوند. بنابراین نوع داده به عنوان real در اکسپلورر مشخص شده است، در عوض نوع تعریف شده uint. این یک مثال برای دمای یک مکان است:

مکان مقدار نوع داده
رجیستر Modbus 215 uint
پس از تبدیل (uint) 215 uint
مقدار پس از محاسبه 21.5 real
SPS Antcas 21.5 real

برای ارسال دمای این جدول از پایین به بالا بررسی می‌شود.

نوع‌های داده Float و Double به عنوان Real تعریف و پیکربندی می‌شوند. سپس پرس‌وجو بر اساس طول وورد پیکربندی می‌شود.

نوع پرس‌وجو طول (وورد)
Float 16 1
Float 32 2
Double 4
نامعتبر طول‌های دیگر

چرخه پرس‌وجو

چرخه پرس‌وجو در میلی‌ثانیه تعریف می‌شود. این مقدار می‌تواند به عنوان یک عدد یا با زمان SPS T#1d1h1m10s500ms تعریف شود.

زمان 0 یا هیچ مقدار پرس‌وجو یا نوشتن مقدار را غیر فعال می‌کند، تا زمانی که از SPS به رابط ارسال نشود.

حداکثر زمان تعیین شده برابر است با T#1d. زیرا بدون این کار نمی‌توانید Modulus را با افست منطقه زمانی محاسبه کنید.

برای انجام یک پرس‌وجو در نیمه شب، می‌توانید منطقه زمانی را به صورت مناسب تنظیم کنید. سپس چرخه پرس‌وجو را بر روی T#1d تنظیم کنید. زمان‌های دیگر مانند ظهر می‌توانند هر ساعت پرس‌وجو شوند و ارزیابی باید در SPS انجام شود.

توجه: مناطق زمانی با تغییرات زمان ممکن است به نتایج نامطلوب در محاسبه داده‌های انرژی منجر شوند.

Sync

اگر این گزینه انتخاب شود، مقدار با ساعت واقعی همگام می‌شود. این کار مفید است اگر دستگاه یک شمارنده انرژی باشد.

Init

اگر این گزینه انتخاب شود، مقدار در زمان راه‌اندازی رابط یا اتصال به اسلاو خوانده یا نوشته می‌شود.

کombinaties van toetsen

کombinatie Functie
ENTER Volgende regel
SHIFT+ENTER Vorige regel
CTRL+ENTER Nieuwe regel onder invoegen
CTRL+SHIFT+ENTER Nieuwe regel boven invoegen
CTRL+D Regel dupliceren
CTRL+DEL Regel verwijderen
ALT+[Pijltje omhoog] Regel naar boven verplaatsen
ALT+[Pijltje omlaag] Regel naar beneden verplaatsen

Monitor

De monitor toont alleen alle wijzigingen. Het is mogelijk om een debug-modus in de instellingen te activeren, om alle berichten cyclisch te zien.

Belangrijk: Deze modus voorkomt echter het opslaan van alle waarden op de harde schijf. Daarom moet de modus na het zoeken naar fouten absoluut teruggezet worden.