۴۸صنعت
+۵۰۰زیرسیستم
+۱۰۰۰پروژه
۱۸سال
شرکتصنایعسامانه‌ها و APIتماسدانلود
درس ۸ از ۸۱۷ دقیقه

عیب‌یابی

هدف درس

سه شکایت رایج «تجهیز قطع است»، «عدد تکان نمی‌خورد» و «هشدار نیامد» را با یک چک‌لیست ثابت و روی صفحه‌های درست تشخیص دهید.

کجای نرم‌افزار

«طراحی سیستم» ← «مدیریت ساختار» ← «دستگاه‌ها» و «مدیریت ACVها»؛ «تنظیمات» ← «تنظیمات پروژه» ← «تستر پروتکل»؛ «طراحی سیستم» ← «طراحی منطقی» ← «موتور قوانین و اتوماسیون»؛ کنسول سرور ← «Connections» و «ACV Monitor»

بیشتر تماس‌های پشتیبانی یکی از سه شکل را دارند: تجهیزی قطع است، عددی روی داشبورد ثابت مانده، یا هشداری که انتظار می‌رفت نیامده است. این درس برای هر سه یک چک‌لیست ترتیبی می‌دهد و نشان می‌دهد پاسخ هر پرسش را در کدام صفحه بخوانید. همیشه از سناریوی ۱ شروع کنید؛ دو سناریوی دیگر اغلب به آن برمی‌گردند.

صفحه‌های عیب‌یابی را بشناسید

صفحهبه چه پرسشی پاسخ می‌دهد
دستگاه‌هاکدام تجهیزات آنلاین یا آفلاین‌اند؛ فیلتر فیلتر وضعیت (همه، آنلاین، آفلاین، فعال، غیرفعال، در حال تعمیر)
تستر پروتکل (عنوان «تستر پروتکل دستگاه‌ها»)آیا تجهیز SNMP یا Modbus TCP همین حالا به یک خواندن واقعی پاسخ می‌دهد؟
مدیریت متغیرهای کنترلیتعریف نقطه و حدهای هشدار آن (مرحلهٔ «محدودیت‌ها و هشدارها»)
موتور قوانین و اتوماسیونآیا قانون مورد انتظار فعال است و در دورهٔ سکوت نیست؟
کنسول سرور: Connections و ACV Monitorوضعیت سرویس نظرسنجی هر پروتکل، Last Poll و Errors هر تجهیز؛ مقدار زنده و وضعیت هر نقطه در سرور
نکته: در جدول «دستگاه‌ها» دو ستون شبیه هم هستند: ستون CONNECTION وضعیت ارتباط را از روی زمان آخرین فعالیتی که مرورگر دیده نشان می‌دهد (زیر ۲۰ دقیقه «آنلاین»، ۲۰ تا ۴۰ «هشدار»، ۴۰ تا ۶۰ «بحرانی»، بیش از ۶۰ «آفلاین»)؛ اما سرور پس از ۵ دقیقه بی‌پیامی تجهیز را آفلاین می‌کند. مرجع درست، فیلتر و شمارندهٔ آنلاین/آفلاین است. ستون STATUS وضعیت اداری است (فعال، غیرفعال، در حال تعمیر)، نه ارتباط.

سناریو ۱ — «تجهیز قطع است»

  1. وضعیت را از منبع درست بخوانید. در دستگاه‌ها فیلتر وضعیت را روی «آفلاین» بگذارید. اگر تجهیز اینجاست، سرور آن را آفلاین اعلام کرده است. ستون STATUS را هم ببینید: «غیرفعال» یا «در حال تعمیر» یعنی وضعیت عمداً تغییر کرده است.
    فیلتر وضعیت در صفحهٔ دستگاه‌ها
    فیلتر وضعیت · گزینه‌های همه، آنلاین، آفلاین، فعال، غیرفعال و در حال تعمیر
  2. سرویس پروتکل را بررسی کنید. در کنسول سرور، Connections ← بخش Protocol Polling Services: اگر سرویس پروتکل این تجهیز STOPPED است، هیچ تجهیزی از آن پروتکل خوانده نمی‌شود؛ با هماهنگی آن را شروع کنید.
  3. خطاهای تجهیز را ببینید. در همان زبانه، جدول Device Connection Status: ستون‌های Last Poll و Errors تجهیز را بخوانید و Test را بزنید (Connection OK یا Connection FAILED).
  4. یک خواندن واقعی بفرستید. در تستر پروتکل تجهیز را در فیلد دستگاه انتخاب و اجرای تست را بزنید. نتیجهٔ «ناموفق» با مقادیر «خطا» یعنی مشکل در شبکه، نشانی، پورت، community یا شناسهٔ Slave است. پیام «هیچ OID/Register mapping برای این دستگاه ثبت نشده» یعنی نگاشت نقاط تعریف نشده است.
    صفحهٔ تستر پروتکل دستگاه‌ها
    تستر پروتکل · فیلد دستگاه و دکمهٔ اجرای تست؛ نتیجه برای هر OID یا Register نمایش داده می‌شود
  5. نظرسنجی تجهیز را بررسی کنید. در صفحهٔ ویرایش تجهیز، زبانهٔ SNMP، اگر تراشهٔ پایش «غیرفعال» است با فعال‌سازی Polling روشنش کنید و تست اتصال را بزنید.
  6. پس از رفع مشکل صبر کنید. برای تجهیزی که پشت‌سرهم خطا داده، فاصلهٔ تلاش‌های SNMP به‌تدریج زیاد می‌شود؛ بازگشت به «آنلاین» ممکن است با تأخیر دیده شود. با تست اتصال سریع‌تر تأیید کنید.

سناریو ۲ — «عدد تکان نمی‌خورد»

  1. اول تجهیز مادر. سناریو ۱ را برای تجهیز مادر اجرا کنید. نقاط تجهیز آفلاین آخرین مقدار سالم را نگه می‌دارند و «کهنه» یا «خطا» علامت نمی‌خورند؛ پس عدد ثابت اغلب نشانهٔ قطع ارتباط است.
  2. مقدار در سرور. در کنسول ← ACV Monitor شناسهٔ ENID را جست‌وجو کنید. اگر مقدار خام (Value Init) تغییر می‌کند ولی مقدار نهایی (Value Final) نه، مشکل در مقیاس یا عبارت محاسبهٔ نقطه است.
  3. مقدار در تجهیز. در تستر پروتکل ستون «آخرین آپدیت» نگاشت مربوط را ببینید. اگر تجهیز مقدار تازه می‌دهد ولی داشبورد نه، اتصال المان داشبورد به ENID درست را بررسی کنید.
  4. ثابت بودن طبیعی را کنار بگذارید. صفحهٔ «مدیریت متغیرهای کنترلی» ستون زمان آخرین به‌روزرسانی ندارد؛ برای تشخیص کهنگی به آن تکیه نکنید. مقدار واقعاً پایدار (مثل دمای ثابت اتاق) کهنگی نیست؛ سامانه فقط وقتی مقدار تغییر کند آن را پردازش می‌کند.

سناریو ۳ — «هشدار نیامد»

  1. کنترل حد روشن است؟ نقطه را در ویزارد متغیر باز کنید و به مرحلهٔ محدودیت‌ها و هشدارها بروید. کنترل حد باید «بله» باشد و مقدار حد سطح موردنظر (مثلاً «حد بالا (High)») پر شده باشد؛ سطح خالی نادیده گرفته می‌شود.
    مرحلهٔ محدودیت‌ها و هشدارها در ویزارد متغیر
    محدودیت‌ها و هشدارها · تنظیمات کلی (کنترل حد، نوع اعلام) و گروه‌های حد با مقدار، وضعیت و متن اعلام
  2. وضعیت سطح را دستی تعیین کنید. وضعیت همان سطح را روی «2 - هشدار» یا «3 - خطر» بگذارید. اگر روی مقدار پیش‌فرض بماند، عبور از حد در وضعیت نقطه «عادی» می‌ماند و در Active Alarms کنسول دیده نمی‌شود.
  3. مقایسه را بشناسید. برای حد بالا مقدار باید بیشتر از حد باشد؛ برابر بودن کافی نیست. حد فقط هنگام دریافت مقدار تازهٔ متفاوت ارزیابی می‌شود؛ تجهیز قطع یا مقدار یخ‌زده هشدار نمی‌سازد (به سناریو ۱ و ۲ برگردید).
  4. کانال اعلان. نوع اعلام نباید «اعلام نشود» باشد و پروژه دست‌کم یک گیرندهٔ فعال اعلان داشته باشد. اعلان تکراری تا گذشت «زمان مابین هر اعلام» و تغییر به اندازهٔ «مقدار عددی مابین هر اعلام» دوباره ارسال نمی‌شود و متن تکراری هم دوباره نمی‌رود. در نسخهٔ فعلی گزینه‌های «Telegram» و «همه» ممکن است به کانال مورد انتظار نرسند؛ برای هشدارهای حیاتی SMS یا Email را انتخاب کنید و با یک آزمون واقعی تأیید کنید.
  5. ارزیابی را از ارسال جدا کنید. در کنسول ← ACV Monitor فیلتر وضعیت را روی Caution یا Danger بگذارید. اگر نقطه اینجاست ولی پیامک یا ایمیل نیامده، مشکل در کانال اعلان است، نه در ارزیابی حد.
  6. اگر هشدار از یک قانون انتظار می‌رفت. در موتور قوانین و اتوماسیون، زبانهٔ قوانین، کلید «وضعیت» قانون را ببینید و ستون cooldown را بخوانید؛ قانون در دورهٔ سکوت دوباره اجرا نمی‌شود. با دکمهٔ آزمون ردیف یا آزمایشگاه تست آن را امتحان کنید.
پشت صحنه: هر پیام از هر کانال، تجهیز را آنلاین می‌کند. سرور هر ۳۰ ثانیه بررسی می‌کند و اگر ۵ دقیقه هیچ پیامی نرسیده باشد تجهیز را آفلاین می‌کند؛ آفلاین شدن به‌تنهایی هشدار یا اعلان نمی‌سازد. پس از راه‌اندازی مجدد سرور، وضعیت هر تجهیز تا اولین پیام نامعلوم است. پیش‌فرض نظرسنجی: SNMP هر ۳۰ ثانیه، Modbus هر ۱ ثانیه؛ پس از ۳ خطای پیاپی تجهیز آفلاین می‌شود.

نکته‌ها و اشتباه‌های رایج

  • اختلاف چنددقیقه‌ای بین ستون CONNECTION و فیلتر آنلاین/آفلاین طبیعی است؛ دو منبع با دو آستانهٔ متفاوت‌اند.
  • «فعال» در ستون STATUS یعنی فعال اداری، نه متصل.
  • در «مدیریت متغیرهای کنترلی»، «فعال/غیرفعال» فقط نمایش نقطه است، نه کیفیت داده.
  • برای آفلاین شدن تجهیزات حیاتی هشدار خودکار انتظار نداشته باشید؛ آن را با پایش روزانهٔ فیلتر «آفلاین» یا یک قانون جداگانه پوشش دهید.
  • اگر دستیار هوشمند فهرست «تجهیزات آفلاین» داد، آن را با فیلتر «آفلاین» صفحهٔ دستگاه‌ها تطبیق دهید.

خلاصه

  • همیشه از وضعیت تجهیز شروع کنید: فیلتر «آفلاین»، سرویس پروتکل، Test و تستر پروتکل.
  • عدد ثابت اغلب یعنی تجهیز قطع است؛ مقدار خام و نهایی را در ACV Monitor مقایسه کنید.
  • برای هشدار: کنترل حد «بله»، مقدار حد پر، وضعیت سطح «هشدار» یا «خطر»، و گیرندهٔ فعال.
  • ارزیابی حد را در ACV Monitor از ارسال پیام جدا کنید.

تمرین عملی روی دموی زنده

روی دموی عمومی (bms.argsrv.com، پروژهٔ «هولدینگ ارگ») هیچ تجهیز یا نقطه‌ای را ذخیره یا حذف نکنید.

  1. در دستگاه‌ها فیلتر «آفلاین» را بزنید و تعداد را با شمارندهٔ «دستگاه‌های آنلاین» مقایسه کنید؛ برای یک تجهیز آفلاین ستون‌های CONNECTION و STATUS را یادداشت و اختلاف احتمالی را توضیح دهید.
  2. در تستر پروتکل یک تجهیز SNMP یا Modbus را انتخاب و اجرای تست را بزنید؛ نتیجه و ستون «آخرین آپدیت» را ثبت کنید.
  3. ویزارد یک نقطه را باز کنید و به مرحلهٔ محدودیت‌ها و هشدارها بروید؛ مقدار کنترل حد، نوع اعلام و وضعیت هر سطح را بخوانید و بنویسید آیا این نقطه می‌تواند هشدار بسازد. اگر حساب دمو اجازهٔ ذخیره نداد یا نقطه متعلق به دمو است، بدون ذخیره انصراف بزنید.
  4. در موتور قوانین و اتوماسیون برای یک قانون، وضعیت و cooldown را یادداشت کنید.
باز کردن دموی زنده

آزمون درس

برای گذراندن درس دست‌کم به ۳ پرسش از ۴ پرسش پاسخ درست بدهید.

  1. ۱. سرور پس از چه مدت بی‌پیامی، تجهیز را آفلاین می‌کند (پیش‌فرض)؟
  2. ۲. تجهیزی ۱۰ دقیقه است قطع شده. کدام درست است؟
  3. ۳. حد بالا ۳۰ است و مقدار دقیقاً ۳۰ شد. چه می‌شود؟
  4. ۴. کنترل حد «بله» و مقدار حد پر است و مقدار از حد گذشته، ولی نقطه در Active Alarms نیست. محتمل‌ترین علت؟