Modbus – KWh meter – DDS238-1 ZN
Info (ENG)
This is a DIN-rail mounted product. Our DDS238-1 ZN single phase multifunction energy meter is designed to measure the active energy used as well as calculate the real current, real voltage, real power, and power factor. Equipped with a RS485 port, it is just 1 module width similar to a circuit breaker.
Technical Specification
1. Voltage: 230V ±10%
2. Basic Current: 5A
3. Max. Current: 32A
4. Starting Current: 20mA
5. Impulse Output: 3200imp/kWh
6. LCD display is 6+1 (one decimal), kWh, A, V, KW, COS display step by step
7. Wire Connection: LLN
8. Meter Accuracy: ±1%
9. Baud/ Transmission Rate: 4800bps
10. RS485 Port: Support
11. Communication Protocol: DL/T645-2007 or MODBUS
Schema’s
Foto’s
Mobus registers
Voorbeeld uitlezen
Fabriek gegevens
Standaard adres: 1
Baud rate: 9600
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 |
#!/usr/bin/env python # Modbus uitlezen # Apparaat: DDS238-1 ZN (KWh meter) # # Script gemaakt door S. Ebeltjes (domoticx.nl) from __future__ import division import pymodbus import serial from pymodbus.pdu import ModbusRequest from pymodbus.client.sync import ModbusSerialClient as ModbusClient #initialize a serial RTU client instance from pymodbus.transaction import ModbusRtuFramer from pymodbus.constants import Endian # Nodig voor 32-bit float getallen (2 registers / 4 bytes) from pymodbus.payload import BinaryPayloadDecoder # Nodig voor 32-bit float getallen (2 registers / 4 bytes) from pymodbus.payload import BinaryPayloadBuilder # Nodig om 32-bit floats te schrijven naar register method = "rtu" port = "/dev/ttyUSB0" baudrate = 9600 stopbits = 1 bytesize = 8 parity = "N" timeout = 1 retries = 2 try: client = ModbusClient(method = method, port = port, stopbits = stopbits, bytesize = bytesize, parity = parity, baudrate = baudrate, timeout = timeout, retries = retries) connection = client.connect() except: print "Modbus connectie error / DDS238-1 ZN" def kwh(appid): try: data = client.read_holding_registers(0, 2, unit=appid) dds2381zn_kwh_L = data.registers[0] dds2381zn_kwh_H = data.registers[1] / 100 client.close() return dds2381zn_kwh_L + dds2381zn_kwh_H except: print "Modbus register error (kwh)" return 0 print kwh(1) |
[#/handleidingen/modbus_DDS238-1_ZN” ]