GENERIC_MODBUS(8) NUT Manual GENERIC_MODBUS(8) نام (NAME) generic_modbus - درایور برای دستگاه‌های یوپی‌اس دارای سیگنال تماسی (مستقیم) متصل‌شده از طریق درگاه‌های ورودی/خروجی راه دور (RIO) مادباس خلاصه دستور (SYNOPSIS) generic_modbus -h generic_modbus -a DEVICE_NAME [OPTIONS] یادداشت (Note) این صفحهٔ راهنما فقط ویژگی‌های خاص درایور generic_modbus را مستند می‌کند. برای اطلاعات دربارهٔ درایور اصلی، nutupsdrv(8) را ببینید. سخت‌افزارهای پشتیبانی‌شده (SUPPORTED HARDWARE) این یک درایور عمومی مادباس (modbus) است که انتظار می‌رود با دستگاه‌های یوپی‌اس (UPS) دارای سیگنال تماسی (مستقیم) که از طریق مادباس RIO (ورودی/خروجی راه دور) به‌صورت سریال یا TCP/IP متصل شده‌اند، کار کند. این درایور با یوپی‌اس PULS (مدل UB40.241) از طریق MOXA ioLogikR1212 (پروتکل RS485) و ioLogikE1212 (پروتکل TCP/IP) آزمایش شده است. اطلاعات بیشتر دربارهٔ این یوپی‌اس را می‌توانید در اینجا بیابید: https://products.pulspower.com/ca/ubc10-241-n1.html اطلاعات بیشتر دربارهٔ Moxa ioLogik R1212 و E1212 را می‌توانید در اینجا بیابید: https://www.moxa.com/en/products/industrial-edge-connectivity/controllers-and-ios دستگاه PULS UPS UB40.241 از سیگنال‌های زیر پشتیبانی می‌کند: Ready contact (DO) <--> HB Buffering contact (DO) <--> OL | OB Battery-low (DO) <--> LB Replace Battery (DO) <--> RB Inhibit (DI) <--> FSD جهت پورت دیجیتال (DI/DO) از دیدگاه دستگاه در نظر گرفته می‌شود. مفهوم این درایور، نگاشت وضعیت‌های یوپی‌اس (آن‌گونه که در NUT تعریف شده است) بر وضعیت کنتاکت‌های یوپی‌اس است. این درایور دارای یک رابط پیکربندی گسترده است که با استفاده از متغیرهای تعریف‌شده در ups.conf پیاده‌سازی شده است. اتصال درونی سخت‌افزار (HARDWARE INTERCONNECTION) راه‌اندازی سرور ورودی/خروجی راه دور مادباس و همچنین دستگاه یوپی‌اس با پیروی از کتابچه‌های راهنمای مربوطه انجام می‌شود. شکل زیر مسیر ارتباطی و اتصال درونی سخت‌افزاری مورد انتظار را نشان می‌دهد: +------+ +----------------+ +------------+ +------------+ | UPSD | <---> | GENERIC_MODBUS | <---> | MODBUS RIO | <---> | UPS DEVICE | +------+ (1) +----------------+ (2) +------------+ (3) +------------+ | | +------------------+ HOST CONTROLLER (1) Unix IPC (2) RS232 | TCP/IP (3) contacts آرگومان‌های اضافی (EXTRA ARGUMENTS) این درایور از تنظیمات اختیاری زیر در فایل ups.conf(5) پشتیبانی می‌کند: عمومی (Generic): device_mfr=value رشته‌ای که سازندهٔ دستگاه یوپی‌اس را مشخص می‌کند (پیش‌فرض UNKNOWN). device_model=value رشته‌ای که مدل دستگاه یوپی‌اس را مشخص می‌کند (پیش‌فرض UNKNOWN). سریال (Serial): ser_baud_rate=value یک عدد صحیح که نرخ باود پورت سریال را مشخص می‌کند (پیش‌فرض 9600). ser_data_bit=value یک عدد صحیح که بیت دادهٔ پورت سریال را مشخص می‌کند (پیش‌فرض 8). ser_parity=value یک نویسه که توازن پورت سریال را مشخص می‌کند (پیش‌فرض N). ser_stop_bit=value یک عدد صحیح که بیت توقف پورت سریال را مشخص می‌کند (پیش‌فرض 1). مادباس (Modbus): rio_slave_id=value یک عدد صحیح که شناسهٔ تابع مادباس RIO را مشخص می‌کند (پیش‌فرض 1). وضعیت‌ها (States) (X = OL, OB, LB, HB, RB, CHRG, DISCHRG, FSD) _addr=value عددی که آدرس مادباس را برای وضعیت X مشخص می‌کند. _regtype=value عددی که نوع ثبات مادباس را برای وضعیت X مشخص می‌کند. مقادیر پیش‌فرض: 1 for X = OL, OB, LB ,HB, RB, CHRG, DISCHRG 0 for X = FSD مقادیر معتبر: 0:COIL, 1:INPUT_B, 2:INPUT_R, 3:HOLDING _noro=value عددی که پیکربندی کنتاکت را برای وضعیت X مشخص می‌کند (پیش‌فرض 1). مقادیر معتبر: 0:NC, 1:NO یادداشت (Note) عبارت NO نشان‌دهندهٔ کنتاکت در حالت عادی باز (normally open) و NC نشان‌دهندهٔ کنتاکت در حالت عادی بسته (normally closed) است. خاموش‌سازی (Shutdown) FSD_pulse_duration=value عددی که مدت‌زمان پالس بازدارنده را بر حسب میلی‌ثانیه مشخص می‌کند. اگر تعریف نشده باشد، سیگنال بسته به پیکربندی FSD_noro تنها یک گذار خواهد داشت. مثال‌هایی برای پیکربندی سیگنال FSD: FSD_noro = 1 FSD_pulse_duration = 150 +-----+ | | inhibit pulse >-----+ +------------------> <---> 150ms FSD_noro = 0 inhibit pulse >-----+ | +------------------------> پیکربندی (CONFIGURATION) در اینجا نمونه‌ای از پیکربندی درایور generic_modbus در فایل ups.conf آمده است: [generic_modbus] driver = generic_modbus port = /dev/ttyUSB0 desc = "generic ups driver" # device info device_mfr = "PULS" device_model = "UB40.241" # serial settings ser_baud_rate = 9600 ser_parity = N ser_data_bit = 8 ser_stop_bit = 1 # modbus slave id rio_slave_id = 5 # UPS signal state attributes OB_addr = 0x0 OB_regtype = 1 OB_noro = 0 LB_addr = 0x1 LB_regtype = 1 HB_addr = 0x2 HB_regtype = 1 RB_addr = 0x3 RB_regtype = 1 FSD_addr = 0x0 FSD_regtype = 0 FSD_pulse_duration = 150 دستورات فوری (INSTANT COMMANDS) این درایور از دستورات فوری زیر پشتیبانی می‌کند: load.off دستور «خاموش کردن فوری» (instant poweroff) را اجرا می‌کند. نصب (INSTALLATION) ممکن است این درایور به‌طور پیش‌فرض ساخته نشود. می‌توانید با نصب libmodbus و اجرای configure --with-modbus=yes آن را بسازید. همچنین باید مجوزهای مناسب را روی فایل دستگاه سریال محلی (برای مثال /dev/ttyUSB0) تنظیم کنید تا حساب کاربری زمان اجرای درایور NUT بتواند به آن دسترسی داشته باشد. نکات دیگر (OTHER NOTES) درایور generic_modbus با هدف پشتیبانی از دستگاه‌های عمومی یوپی‌اس دارای سیگنال‌های تماسی از طریق درگاه‌های مادباس TCP/RTU (که با نام RIO — ورودی/خروجی‌های راه دور شناخته می‌شوند) طراحی شده است. مسیر داده و سیگنال به شکل زیر است: [UPSD] <--- IPC ---> [GENERIC_UPS] <--- modbus TCP/RTU ---> MODBUS-RIO <--- contacts ---> [UPS DEVICE] از سوی دیگر، می‌توانید هر نوع سرور مادباس را راه‌اندازی کنید و درایور generic_modbus را برای اتصال و خواندن یا نوشتن در ثبات‌های مشخص پیکربندی نمایید. برنامه کاربردی یا سرور مادباس شما در این صورت می‌تواند با بازنویسی آن ثبات‌ها، وضعیت‌های NUT (مانند OL، OB، HB و غیره) را کنترل کند. مشکلات شناخته‌شده (KNOWN ISSUES) استفاده از نام میزبان برای NMC یوپی‌اس (Using host names for UPS NMC) کارت مدیریت شبکهٔ (NMC) یک یوپی‌اس ممکن است دارای یک آدرس IP ثابت یا پویا (مثلاً از طریق DHCP) در شبکهٔ شما باشد. به همین دلیل، ممکن است بخواهید یا مجبور باشید از یک سرویس نام‌گذاری پویا برای دسترسی به یوپی‌اس استفاده کنید. توجه داشته باشید که این موضوع به‌ویژه در زمان قطعی‌های بزرگ برق و خاموش‌سازی‌ها می‌تواند مشکل‌ساز شود؛ زمانی که سرور DHCP/DNS شما ممکن است از کار افتاده باشد در حالی که درایور نیاز به حل‌وفصل نام مربوطه دارد (به‌ویژه در قلاب‌های خاموش‌سازی پایانی، زمانی که نمونهٔ جدیدی از برنامهٔ درایور ممکن است تنها برای دستور به یوپی‌اس جهت خاموش کردن بار یا چرخهٔ روشن/خاموش راه‌اندازی شود). عاقلانه است اطمینان حاصل کنید که کلاینت سرویس نام‌گذاری سیستم‌عامل شما می‌تواند نام یوپی‌اس را به مدت کافی کش کند، یا از آدرس‌دهی IP ثابت استفاده نمایید (و برای محکم‌کاری یک مدخل در /etc/hosts قرار دهید تا در صورت نیاز به پیکربندی مجدد، فقط یک نقطه برای تغییر وجود داشته باشد). نویسنده (AUTHOR) Dimitris Economou همچنین ببینید (SEE ALSO) درایور اصلی (The core driver): nutupsdrv(8), ups.conf(5) منابع اینترنتی (Internet resources): • صفحهٔ اصلی NUT (ابزارهای یوپی‌اس تحت شبکه): https://www.networkupstools.org/historic/v2.8.5 • صفحهٔ اصلی libmodbus: http://libmodbus.org Network UPS Tools 2.8.5 06/21/2026 GENERIC_MODBUS(8)