/**********************************************/ /* EEPROM location for iP-8000 Modbus library */ /**********************************************/ Following EEPROM location are applied to Hardware:iP-8000-MTCP SDK:Modbus library 1.7.2, I/O library 1.6.3 ====== Block 0~7==================================================== //Store IP, Mask, Gateway ====== Block 8 ===================================================== // System 0x00~0x01: Modbus Lib version=123~nnn: version 1.2.3 0x02: NetID=0x00~0xFF 0x03: Station Per COM port=0x00~0xFF 0x04: Freeze I/O Config=0 or <>0 0x05~0x06 I/O scan Lib version=123~nnn: version 1.2.3 0x07~0x08 CPU reset events (0~65535) 0x09~0x0F //COM port configuration [Enable mode] [Timeout] [Reserved] 0x10: 0x11~0x12 0x13 (COM1) 0x14: 0x15~0x16 0x17 (COM2) 0x18: 0x19~0x1A 0x1B (COM3) 0x1C: 0x1D~0x1E 0x1F (COM4) 0x20: 0x21~0x22 0x23 (COM5) 0x24: 0x15~0x26 0x27 (COM6) 0x28: 0x19~0x2A 0x2B (COM7) 0x2C: 0x1D~0x2E 0x2F (COM8) //I/O Module Basic information [ModuleType] [NameOfModule] [Reserved] [Reserved] 0x30 0x31 0x32 0x33 (Slot0) 0x34 0x35 0x36 0x37 (Slot1) 0x38 0x39 0x3A 0x3B (Slot2) 0x3C 0x3D 0x3E 0x3F (Slot3) 0x40 0x41 0x42 0x43 (Slot4) 0x44 0x45 0x46 0x47 (Slot5) 0x48 0x49 0x4A 0x4B (Slot6) 0x4C 0x4D 0x4E 0x4F (Slot7) //Watch Dog Timer 0x50~0x51: Watch dog timer for AO and DO safe value. Range=0~65535 <5 : Disable safe value 5~65535: Enable safe value unit: second. ====== Block 9 ===================================================== // I/O Module Range Code Each slot uses 20 channels Each channel uses 1 bytes 0x00~0x13: Ch0~Ch19 (Slot0) 0x14~0x27: Ch0~Ch19 (Slot1) 0x28~0x3B: Ch0~Ch19 (Slot2) 0x3C~0x4F: Ch0~Ch19 (Slot3) 0x50~0x63: Ch0~Ch19 (Slot4) 0x64~0x77: Ch0~Ch19 (Slot5) 0x78~0x8B: Ch0~Ch19 (Slot6) 0x8C~0x9F: Ch0~Ch19 (Slot7) ====== Block 10===================================================== // 87K DI counter enable/disable Each channel uses 1 bytes(True or False) 0x00~0x1F: Ch0~Ch31 (Slot0) 0x20~0x3F: Ch0~Ch31 (Slot1) 0x40~0x5F: Ch0~Ch31 (Slot2) 0x60~0x7F: Ch0~Ch31 (Slot3) 0x80~0x9F: Ch0~Ch31 (Slot4) 0xA0~0xBF: Ch0~Ch31 (Slot5) 0xC0~0xDF: Ch0~Ch31 (Slot6) 0xE0~0xFF: Ch0~Ch31 (Slot7) ====== Block 11 ==================================================== // AI/AO offset value (for iP-8000 only) Each channel uses 2 bytes(-32768~+32767) 0x00~0x27: Ch0~Ch19 (Slot0) 0x28~0x4F: Ch0~Ch19 (Slot1) 0x50~0x77: Ch0~Ch19 (Slot2) 0x78~0x9F: Ch0~Ch19 (Slot3) ====== Block 12 ==================================================== // AI/AO offset value (for iP-8000 only) Each channel uses 2 bytes(-32768~+32767) 0x00~0x27: Ch0~Ch19 (Slot4) 0x28~0x4F: Ch0~Ch19 (Slot5) 0x50~0x77: Ch0~Ch19 (Slot6) 0x78~0x9F: Ch0~Ch19 (Slot7) ====== Block 13 ==================================================== //AO Power on value (128 bytes) 0x00~0x0F: Ch0~Ch15 (Slot0) 0x10~0x1F: Ch0~Ch15 (Slot1) 0x20~0x2F: Ch0~Ch15 (Slot2) 0x30~0x3F: Ch0~Ch15 (Slot3) 0x40~0x4F: Ch0~Ch15 (Slot4) 0x50~0x5F: Ch0~Ch15 (Slot5) 0x60~0x6F: Ch0~Ch15 (Slot6) 0x70~0x7F: Ch0~Ch15 (Slot7) //AO Safe value (128 bytes) 0x80~0x8F: Ch0~Ch15 (Slot0) 0x90~0x9F: Ch0~Ch15 (Slot1) 0xA0~0xAF: Ch0~Ch15 (Slot2) 0xB0~0xBF: Ch0~Ch15 (Slot3) 0xC0~0xCF: Ch0~Ch15 (Slot4) 0xD0~0xDF: Ch0~Ch15 (Slot5) 0xE0~0xEF: Ch0~Ch15 (Slot6) 0xF0~0xFF: Ch0~Ch15 (Slot7) ====== Block 14 ==================================================== //DO Power on value (32 bytes) 0x00~0x03: Ch0~Ch31 (Slot0) 0x04~0x07: Ch0~Ch31 (Slot1) 0x08~0x0B: Ch0~Ch31 (Slot2) 0x0C~0x0F: Ch0~Ch31 (Slot3) 0x10~0x13: Ch0~Ch31 (Slot4) 0x14~0x17: Ch0~Ch31 (Slot5) 0x18~0x1B: Ch0~Ch31 (Slot6) 0x1C~0x1F: Ch0~Ch31 (Slot7) //DO Safe value (32 bytes) 0x20~0x23: Ch0~Ch31 (Slot0) 0x24~0x27: Ch0~Ch31 (Slot1) 0x28~0x2B: Ch0~Ch31 (Slot2) 0x2C~0x2F: Ch0~Ch31 (Slot3) 0x30~0x33: Ch0~Ch31 (Slot4) 0x34~0x37: Ch0~Ch31 (Slot5) 0x38~0x3B: Ch0~Ch31 (Slot6) 0x3C~0x3F: Ch0~Ch31 (Slot7) not used ====== Block 15~20 ================================================= Reserved ====== Block 21~63 ================================================= not used ====== Register Mapping ============================================ === iMemory_IO_DO === 0x13C: Write DO Power on value to EEPROM 0x13D: Write DO Safe value to EEPROM 0x13E: Write AO Power on value to EEPROM 0x13F: Write AO Safe value to EEPROM //DO Power on value (320~575) 0x140~0x15F: Ch0~Ch31 (Slot0) 0x160~0x17F: Ch0~Ch31 (Slot1) 0x180~0x19F: Ch0~Ch31 (Slot2) 0x1A0~0x1BF: Ch0~Ch31 (Slot3) 0x1C0~0x1DF: Ch0~Ch31 (Slot4) 0x1E0~0x1FF: Ch0~Ch31 (Slot5) 0x200~0x21F: Ch0~Ch31 (Slot6) 0x220~0x23F: Ch0~Ch31 (Slot7) //DO Safe value (576~831) 0x240~0x25F: Ch0~Ch31 (Slot0) 0x260~0x27F: Ch0~Ch31 (Slot1) 0x280~0x29F: Ch0~Ch31 (Slot2) 0x2A0~0x2BF: Ch0~Ch31 (Slot3) 0x2C0~0x2DF: Ch0~Ch31 (Slot4) 0x2E0~0x2FF: Ch0~Ch31 (Slot5) 0x300~0x31F: Ch0~Ch31 (Slot6) 0x320~0x33F: Ch0~Ch31 (Slot7) === iMemory_IO_AO === //AO Power on value (320~383) 0x140~0x147: Ch0~Ch7 (Slot0) 0x148~0x14F: Ch0~Ch7 (Slot1) 0x150~0x157: Ch0~Ch7 (Slot2) 0x158~0x15F: Ch0~Ch7 (Slot3) 0x160~0x167: Ch0~Ch7 (Slot4) 0x168~0x16F: Ch0~Ch7 (Slot5) 0x170~0x177: Ch0~Ch7 (Slot6) 0x178~0x17F: Ch0~Ch7 (Slot7) //AO Safe value (384~447) 0x180~0x187: Ch0~Ch7 (Slot0) 0x188~0x18F: Ch0~Ch7 (Slot1) 0x190~0x197: Ch0~Ch7 (Slot2) 0x198~0x19F: Ch0~Ch7 (Slot3) 0x1A0~0x1A7: Ch0~Ch7 (Slot4) 0x1A8~0x1AF: Ch0~Ch7 (Slot5) 0x1B0~0x1B7: Ch0~Ch7 (Slot6) 0x1B8~0x1BF: Ch0~Ch7 (Slot7)