{ "$schema": "https://raw.githubusercontent.com/nobrega8/mbmap-library/main/schema/mbmap-2.schema.json", "mbmap": 2, "vendor": "Korenix", "model": "JetI/O 6520", "models": ["JetI", "O 6520"], "vendor_website": "beijerelectronics.com", "description": "4-CH analog output Ethernet I/O server, Modbus/TCP. Output range set globally at addr 9 (0=0~+10V, 1=-10V~+10V, 2=0~20mA). Output values at addr 22-25 (s16; 0-10000=0-10V, ±10000=±10V, 0-20000=0-20mA). Slew rate at addr 8 (4-bit code per channel). Power-on values at addr 10-13. Calibration offset/span at addr 14-21.", "revision": 2, "source": "Omni Console device library (OmniCoreST), modbus-library/korenix-jetio-6520.toml; Source: JetI/O 6520 User's Manual V0.1 (Jan. 2008). Not verified against the manufacturer's documentation", "notes": [ "Korenix JetI/O 6520.", "Converted automatically from the Omni Console device library (OmniCoreST).", "Not verified against the manufacturer's documentation.", "Corrections are welcome (CONTRIBUTING.md). Change x_status once this table has been checked against the manual.", "| Korenix JetI/O 6520 Industrial Intelligent Ethernet I/O Server", "|", "| Source: JetI/O 6520 User's Manual V0.1 (Jan. 2008)", "| Protocol: Modbus/TCP (Ethernet port 502); FC03 read holding, FC06 write single", "| Module: 4-channel analog output, 16-bit", "| Output ranges (set globally at addr 9):", "| 0 = 0~+10V (0~10000 = 0~10V)", "| 1 = -10V~+10V (-10000~10000 = -10V~+10V)", "| 2 = 0~20mA (0~20000 = 0~20mA)", "| Slew rate (addr 8): 4-bit code per channel packed into one register (ABCD = ch3,ch2,ch1,ch0).", "| Power-on DA values (addr 10-13): stored output value applied on power-up." ], "byte_order": "big", "word_order": "big", "address_base": 0, "x_status": "unofficial", "x_origin": "omniconsole", "registers": [ {"name": "Watchdog enable (0x0000=disable 0xFF00=enable)", "area": "holding", "address": 0, "type": "uint16", "access": "R"}, {"name": "Watchdog cycle count (BB×0.1s, range 1-255)", "area": "holding", "address": 1, "type": "uint16", "access": "R"}, {"name": "Host-watchdog status (R: 0x0000=OK 0xFF00=fail; W: 0xFF00=reset)", "area": "holding", "address": 2, "type": "uint16", "access": "R"}, {"name": "Firmware version (reads 0xF20A = 6520 firmware)", "area": "holding", "address": 3, "type": "uint16", "access": "R"}, {"name": "Module name (reads 0x6520)", "area": "holding", "address": 4, "type": "uint16", "access": "R"}, {"name": "Reset status (0x0000 after read; 0x0001 after reset)", "area": "holding", "address": 5, "type": "uint16", "access": "R"}, {"name": "Reserved (always 0) (6)", "area": "holding", "address": 6, "type": "uint16", "access": "R"}, {"name": "Reserved (always 0) (7)", "area": "holding", "address": 7, "type": "uint16", "access": "R"}, {"name": "DA slew rate code (4-bit per ch: ABCD=ch3,ch2,ch1,ch0; 0=immediate)", "area": "holding", "address": 8, "type": "uint16", "access": "R"}, {"name": "Output range per channel (ABCD bits; 0=0~+10V 1=-10~+10V 2=0~20mA)", "area": "holding", "address": 9, "type": "uint16", "access": "R"}, {"name": "Power-on DA value channel 0", "area": "holding", "address": 10, "type": "uint16", "access": "R"}, {"name": "Power-on DA value channel 1", "area": "holding", "address": 11, "type": "uint16", "access": "R"}, {"name": "Power-on DA value channel 2", "area": "holding", "address": 12, "type": "uint16", "access": "R"}, {"name": "Power-on DA value channel 3", "area": "holding", "address": 13, "type": "uint16", "access": "R"}, {"name": "DA offset calibration channel 0 (write 0xFF00)", "area": "holding", "address": 14, "type": "uint16", "access": "R"}, {"name": "DA span calibration channel 0 (write 0xFF00)", "area": "holding", "address": 15, "type": "uint16", "access": "R"}, {"name": "DA offset calibration channel 1 (write 0xFF00)", "area": "holding", "address": 16, "type": "uint16", "access": "R"}, {"name": "DA span calibration channel 1 (write 0xFF00)", "area": "holding", "address": 17, "type": "uint16", "access": "R"}, {"name": "DA offset calibration channel 2 (write 0xFF00)", "area": "holding", "address": 18, "type": "uint16", "access": "R"}, {"name": "DA span calibration channel 2 (write 0xFF00)", "area": "holding", "address": 19, "type": "uint16", "access": "R"}, {"name": "DA offset calibration channel 3 (write 0xFF00)", "area": "holding", "address": 20, "type": "uint16", "access": "R"}, {"name": "DA span calibration channel 3 (write 0xFF00)", "area": "holding", "address": 21, "type": "uint16", "access": "R"}, {"name": "Analog output channel 0 value", "area": "holding", "address": 22, "type": "int16", "access": "R"}, {"name": "Analog output channel 1 value", "area": "holding", "address": 23, "type": "int16", "access": "R"}, {"name": "Analog output channel 2 value", "area": "holding", "address": 24, "type": "int16", "access": "R"}, {"name": "Analog output channel 3 value", "area": "holding", "address": 25, "type": "int16", "access": "R"}, {"name": "Positive trim channel N (write 0ABB: A=ch 0-3, BB=trim count 0-FF)", "area": "holding", "address": 26, "type": "uint16", "access": "R"}, {"name": "Negative trim channel N (write 0ABB: A=ch 0-3, BB=trim count 0-FF)", "area": "holding", "address": 27, "type": "uint16", "access": "R"} ] }