Camax Powercom3 User Manual

Undercover modbus unit

Advertisement

Quick Links

Page 1
Powercom3
Undercover Modbus Unit
User Manual
Revision 04
Camax UK Limited
Unit 8 Jubilee Court
Copgrove
Harrogate
North Yorkshire
Telephone:
01423 340 000
Website:
www.camax.co.uk
E-Mail:
sales@camax.co.uk

Advertisement

Table of Contents
loading

Summary of Contents for Camax Powercom3

  • Page 1 Page 1 Powercom3 Undercover Modbus Unit User Manual Revision 04 Camax UK Limited Unit 8 Jubilee Court Copgrove Harrogate North Yorkshire Telephone: 01423 340 000 Website: www.camax.co.uk E-Mail: sales@camax.co.uk...
  • Page 2: Table Of Contents

    Page 2 Table of Contents 1. Introduction ............................4 2. Configuration ........................... 4 2.1. DIP Switch ............................ 4 2.1.1 Address ............................4 2.1.2 Modbus disable ........................... 5 2.1.3 Meter type ........................... 5 3. Device modes ........................... 5 3.1 Program mode ..........................5 3.1.1 Command set ..........................
  • Page 3: Introduction

    Page 3 1. Introduction The Modbus Unit has been specifically designed to work with Elster's A1140 and A1700 energy meters and fits under the terminal cover. The power supply of the unit is taken directly from a A1140 and from an additional power adapter when used with the A1700. The unit can be configured in one of three modes;...
  • Page 4: Modbus Disable

    The program mode command interpreter will listen on the RS232 port (RJ12) at 9600 baud, no parity and one stop bit. A USB dongle available from Camax UK may be used to gain access to the RS232 port. 3.1.1 Command set Typing help at the command line displays the available commands, these are: METER, RS232 and RS485.
  • Page 5: Meter Command

    Page 5 3.1.1.1 METER command Sets the outstation and password via parameters: --addr=<outstation> --pass=<oldpass,newpass> e.g. meter --addr=2 meter --pass=FEDC0003,12345678 3.1.1.2 RS232 command Sets the parameters for the RS232 port (RJ12) via parameters: --baud=<baudrate> --parity=<0=none | 1=odd | 2=even> --stopbits=<1 | 2> --read-timeout=<milliseconds>...
  • Page 6: Addressed Transparent Mode

    Page 6 3.3 Addressed transparent mode This mode is entered then the address bits are set to a non zero address and the modbus disable bit is set to on. The meter type field is ignored. 1 2 3 4 5 6 7 In this mode the unit acts as an addressable RS232 to RS485 converter.
  • Page 7: Annexure A: Register Map

    Page 7 Annexure A: Register Map Instrumentation Register Address Description Data type Total Active Power float32 Phase A Active Power float32 Phase B Active Power float32 Phase C Active Power float32 Total Reactive Power float32 Phase A Reactive Power float32 Phase B Reactive Power float32 Phase C Reactive Power...
  • Page 8 Page 8 Cumulatives Register Address Description Data type Import Wh float64 Export Wh float64 Q1 varh float64 Q2 varh float64 Q3 varh float64 Q4 varh float64 float64 Customer Defined 1 float64 Customer Defined 2 float64 Customer Defined 3 float64 Hist Import Wh float64 Hist Export Wh float64...
  • Page 9 Page 9 Cumulatives (32bit Alternatives) Register Address Description Data type 1200 Import Wh float32 1202 Export Wh float32 1204 Q1 varh float32 1206 Q2 varh float32 1208 Q3 varh float32 1210 Q4 varh float32 1212 float32 1214 Customer Defined 1 float32 1216 Customer Defined 2...
  • Page 10 Page 10 Time of use (32bit Alternatives) Register Address Description Data type 1300 TOU1 float32 1302 TOU2 float32 1304 TOU3 float32 1306 TOU4 float32 1316 HIST_TOU1 float32 1318 HIST_TOU2 float32 1320 HIST_TOU3 float32 1322 HIST_TOU4 float32 Maximum Demand Register Address Description Data type float64 float64...
  • Page 11 Page 11 Maximum Demand (32bit Alternatives) Register Address Description Data type 1500 float32 1502 float32 1504 float32 1506 float32 1524 HIST_MD1 float32 1526 HIST_MD2 float32 1528 HIST_MD3 float32 1530 HIST_MD4 float32 Multi Utility Register Address Description Data type MULTI_UTIL1 float64 MULTI_UTIL2 float64 MULTI_UTIL3...
  • Page 12 Page 12 General Register Address Description Data type Meter Date (seconds since 1 Jan 1970) uint32 Uptime uint32 Version uint32 Meter Serial Number digit 1 and 2 uint16 Meter Serial Number digit 3 and 4 uint16 Meter Serial Number digit 5 and 6 uint16 Meter Serial Number digit 7 and 8 uint16...
  • Page 13: Annexure B: Status Indication

    Page 13 Annexure B: Status indication Status LED (A) Modbus enabled (Address > 0), meter found: 80ms on/80ms 0ff/80ms on/3s off, repeat Modbus enabled (Address > 0), meter not found: 500ms on/500ms 0ff, repeat Modbus enabled (Address = 0), invalid setting: All LEDS 100ms on/100ms 0ff, repeat Modbus disabled (Address = 0), non addressed transparent mode: 100ms on/1000ms 0ff, repeat...
  • Page 14 Page 14 RS485 Receive LED (D) Indicates incoming data on the RS485 interface. RS485 Transmit LED (E) Indicates outgoing data on the RS485 interface. Program mode LEDS will show a walking 'on' from left to right.
  • Page 15: Annexure C: Pinouts

    Page 15 Annexure C: Pinouts RS232 – RJ12 Pin Number Name Direction Description Output Transmit data output Input Receive data input Not used Not used Power supply common Power supply voltage (5..12VDC) RS485 – RJ12 Pin Number Name Direction Description Bidir Positive RS485 signal Bidir...
  • Page 16: Annexure D: Usb Adapter

    Page 16 Annexure D: USB Adapter Configuration of the modem on a PC is done via a USB adapter that provides the communications interface and PSU. The FTDI controller chip is used in the adapter. The newest driver is available at www.ftdichip.com...
  • Page 17: Annexure E: Python Code Examples

    Page 17 Annexure E: Python Code Examples readInstrumentation.py import sys import getopt import struct from pymodbus.client.sync import ModbusSerialClient as ModbusClient def getFloatBigEndian(client,unit, address): regs = client.read_input_registers(address=address, count=2, unit=unit).registers ii = regs[0] * 0x10000 + regs[1] f = struct.unpack('f', struct.pack('I', ii)) return f[0] def getFloatArray(client,unit,address,count): values = []...
  • Page 18 Page 18 readCumulatives.py import sys import getopt import struct from pymodbus.client.sync import ModbusSerialClient as ModbusClient def getFloatBigEndian(client,unit, address): regs = client.read_input_registers(address=address, count=2, unit=unit).registers ii = regs[0] * 0x10000 + regs[1] f = struct.unpack('f', struct.pack('I', ii)) return f[0] def getDoubleBigEndian(client, unit, address): try: tmpaddress = int(address) tmpunit = int(unit)
  • Page 19 Page 19 readTOU.py import sys import getopt import struct from pymodbus.client.sync import ModbusSerialClient as ModbusClient def getFloatBigEndian(client,unit, address): regs = client.read_input_registers(address=address, count=2, unit=unit).registers ii = regs[0] * 0x10000 + regs[1] f = struct.unpack('f', struct.pack('I', ii)) return f[0] def getDoubleBigEndian(client, unit, address): try: tmpaddress = int(address) tmpunit = int(unit)
  • Page 20 Page 20 readMD.py import sys import getopt import struct from pymodbus.client.sync import ModbusSerialClient as ModbusClient def getIntBigEndian(client,unit, address): regs = client.read_input_registers(address=address, count=2, unit=unit).registers i = regs[0] * 0x10000 + regs[1] return i def getDoubleBigEndian(client, unit, address): try: tmpaddress = int(address) tmpunit = int(unit) except: return None...
  • Page 21 Page 21 readMeterSerial.py import sys import getopt import struct from pymodbus.client.sync import ModbusSerialClient as ModbusClient def regArrayToString(regs): s = '' for reg in regs: s += chr((reg >> 8) & 0x00FF) s += chr(reg & 0x00FF) s = s.strip('\x00') return s name == ' main ':...

Table of Contents