| 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) آزمایش شده است.
اطلاعات بیشتر دربارهٔ این یوپیاس را میتوانید در اینجا بیابید:
اطلاعات بیشتر دربارهٔ Moxa ioLogik R1212 و E1212 را میتوانید در اینجا بیابید:
دستگاه 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
device_model=value
سریال (Serial):
ser_baud_rate=value
ser_data_bit=value
ser_parity=value
ser_stop_bit=value
مادباس (Modbus):
rio_slave_id=value
وضعیتها (States) (X = OL, OB, LB, HB, RB, CHRG, DISCHRG, FSD)
<X>_addr=value
<X>_regtype=value
مقادیر پیشفرض:
1 for X = OL, OB, LB ,HB, RB, CHRG, DISCHRG 0 for X = FSD
مقادیر معتبر:
0:COIL, 1:INPUT_B, 2:INPUT_R, 3:HOLDING
<X>_noro=value
مقادیر معتبر:
0:NC, 1:NO
یادداشت (Note)
عبارت NO نشاندهندهٔ کنتاکت در حالت عادی باز (normally open) و NC نشاندهندهٔ کنتاکت در حالت عادی بسته (normally closed) است.
خاموشسازی (Shutdown)
FSD_pulse_duration=value
مثالهایی برای پیکربندی سیگنال 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
نصب (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 <dimitris.s.economou@gmail.com>
همچنین ببینید (SEE ALSO)
درایور اصلی (The core driver):
منابع اینترنتی (Internet resources):
| 06/21/2026 | Network UPS Tools 2.8.5 |