Download presentation
Presentation is loading. Please wait.
Published byChristian Stafford Modified over 9 years ago
1
Application Protocol for Veris E30 Panel-board Monitoring System Jaein Jeong UC Berkeley LoCal Workshop Oct 5 th, 2009
2
2 Motivation Power monitoring for individual AC devices –Receptacle-level instruments are available. –Fine-grained measurement at receptacle / power-strip level. However, they are hard to scale. –Should support non-intrusive measurement. –Should support higher current. –Large number of instrument points. Source: Kill-a-Watt Source: ACME Receptacle Power Strip Circuit Breaker Floor Building
3
3 Requirements and solutions for panel-level monitoring Non-intrusive measurement Support higher current Large number of measurement points A centralized control point Current transformers (CT) Array of CTs TCP/IP & Web-based networking and software interface Requirements: Solutions:
4
4 Veris E30 - Platform for panel-level monitoring Current Transducers (CT) for mains Current Transducers (CT) for branches Veris E30 Panel RS485 serial Interface PC or Other RS485 Master Non-intrusive Current Monitoring Higher Current Monitoring Large Number of Measurement Points Still Needed! TCP/IP & Web-based networking and software interface
5
5 Current Status and Organization Working configuration with Veris E30 Provided a TCP/IP application interface to Veris E30. Sensing Interface Communication : Physical and Link Level Interface Communication : Application Level Interface Current Status: Organization
6
6 Sensing Interface Veris E30 provides sensing interfaces –Branch-CT board (branch-level current) –Mains-CT (mains-level current) –Voltage terminal (voltage) Before they are used, they need to be configured for correct operation –Installation Mode –CT Scale –Alarms –Demand –Register Map
7
7 Sensing Interface (Installation Mode: Layout of CT arrays) Panel 1Panel 2 A B A B Four different modes –Top feed : reg6 = 0 (default) –Bottom feed : reg6 = 1 –Single row (sequential) : reg6 = 2 –Single row (Odd/even) : reg6 = 3 1 5 9 13 17 21 25 29 33 37 41 3 7 11 15 19 23 27 31 35 39 A 2 6 10 14 18 22 26 30 34 38 42 4 8 12 16 20 24 28 32 36 40 B 1 5 9 13 17 21 25 29 33 37 41 3 7 11 15 19 23 27 31 35 39 A 2 6 10 14 18 22 26 30 34 38 42 4 8 12 16 20 24 28 32 36 40 B
8
8 Sensing Interface (Installation Mode: Layout of CT arrays) Four different modes –Top feed : reg6 = 0 (default) –Bottom feed : reg6 = 1 –Single row (sequential) : reg6 = 2 –Single row (Odd/even) : reg6 = 3 1 5 9 13 17 21 25 29 33 37 41 3 7 11 15 19 23 27 31 35 39 A 2 6 10 14 18 22 26 30 34 38 42 4 8 12 16 20 24 28 32 36 40 B 1 5 9 13 17 21 25 29 33 37 41 3 7 11 15 19 23 27 31 35 39 A 2 6 10 14 18 22 26 30 34 38 42 4 8 12 16 20 24 28 32 36 40 B Panel 1Panel 2 A B A B
9
9 Sensing Interface (Installation Mode: Layout of CT arrays) Four different modes –Top feed : reg6 = 0 (default) –Bottom feed : reg6 = 1 –Single row (sequential) : reg6 = 2 –Single row (Odd/even) : reg6 = 3 1 3 5 7 9 11 13 15 17 19 21 2 4 6 8 10 12 14 16 18 20 A 22 24 26 28 30 32 34 36 38 40 42 23 25 27 29 31 33 35 37 39 41 B 1 3 5 7 9 11 13 15 17 19 21 2 4 6 8 10 12 14 16 18 20 A 22 24 26 28 30 32 34 36 38 40 42 23 25 27 29 31 33 35 37 39 41 B Panel 1Panel 2 A B A B
10
10 Sensing Interface (Installation Mode: Layout of CT arrays) Four different modes –Top feed : reg6 = 0 (default) –Bottom feed : reg6 = 1 –Single row (sequential) : reg6 = 2 –Single row (Odd/even) : reg6 = 3 Panel 1Panel 2 A B A B 1 5 9 13 17 21 25 29 33 37 41 3 7 11 15 19 23 27 31 35 39 A 2 6 10 14 18 22 26 30 34 38 42 4 8 12 16 20 24 28 32 36 40 B 1 5 9 13 17 21 25 29 33 37 41 3 7 11 15 19 23 27 31 35 39 A 2 6 10 14 18 22 26 30 34 38 42 4 8 12 16 20 24 28 32 36 40 B
11
11 Sensing Interface (CT Scale) CT Scale: Sets the scaling factor for Mains CT CTs for mains CTs for branches This is fixed to 20A (Registers 73 – 114 for branches 1 – 42).
12
12 Sensing Interface (Alarms) Alarm is used to trigger interrupt on the change of current of each CT or voltage of mains voltage.
13
13 Sensing Interface (Demand) Demand is an electrical characteristic averaged over recent history. –Present / Max KW Demand –Present / Max Current Demand Parameters –# sub-intervals per demand interval (register 71) Range: 1 – 6, Default: 1 –Sub-interval length in seconds (register 72) Range: 10 – 32767 sec, Default: 900 sec
14
14 Sensing Interface (Register Map) A user accesses Veris E30 by issuing register reads or writes. NOTE –Register address in E30 point map 1-based. –But, a MODBUS command expects 0-based address. –Address in a MODBUS command = Address in the point map – 1 Example : Register for installation mode –Point-map address: 6 –MODBUS address: 5
15
15 Physical and Link Level Interface RS485 Slave RS485 Master RS485 Serial Interface RS485 Wiring
16
16 Physical and Link Level Interface RS485 Slave –On receiving a request, it sends a reply message. –Allows multiple RS485 slaves : 8-bit address (1 to 246) –Connectivity: direct or daisy-chained over RS485.
17
17 Physical and Link Level Interface RS485 Master –Sends a request and receives a reply message. –Does not have an address. –Only a single RS485 master in a network.
18
18 Physical and Link Level Interface RS485 Serial Interface –Converts to a more widely available interface (e.g. RS232, Ethernet). –We used an RS485-to-Ethernet interface (GW215 node).
19
19 Physical and Link Level Interface RS485 Wiring –Cable Modbus recommendation: 2-wire or 4-wire twisted pair cable. We have used three wires of a CAT-5 cable (Data+, Data-, GND). –Line Termination 150 Ohm resistor used on RS485 slave, not on RS485 serial interface.
20
20 Application Interface - Modbus RTU A Modbus client (PC) requests read / write of a register to a Modbus server (Veris E30). General Modbus Frame Modbus transaction (error free)Modbus transaction (exception response)
21
21 Application Interface - Veris E30 Modbus Address –Unique address for each Modbus Slave –Set by a DIP switch (1-254) General Modbus Frame Modbus RTU Frame
22
22 Application Interface - Veris E30 Veris E30 supports subset of Modbus function codes –03h: read a holding register (16-bit register) –06h: write a single register –10h: write multiple registers –11h: report slave id Modbus RTU Frame
23
23 Application Interface - Read a holding register (03h) Modbus RTU Frame Reads configuration or data
24
24 Application Interface - Writes single register (06h) Modbus RTU Frame Writes configuration
25
25 Application Interface - Report slave ID (11h) Modbus RTU Frame Reads description ID for the device –This will include the following info in the "Additional Data" area: –"Veris Model Exxx Branch Circuit Monitor, S/N=0x12345678, Location=" ""
26
26 Reference Implementation TCPModbusClient: E30 Modbus Client –TCP client program that sends a request and receives a reply from E30. –Supported function codes: register read (0x03), single register write (0x06), multiple register write (0x10), and query ID (0x11) TCPModbusServer: E30 Modbus Server –TCP server program that emulates the operation of Veris E30. –Supported function codes: register read (0x03) and query ID (0x11)
27
27 Reference Implementation (TCPModbusClient: Register Read) Example: how TCPModbusClient program is used to get the CT scales and current measurements for CT arrays. jaein@redcat:~/latex_doc/veris/code/CSockets$./TCPModbusClient r E30 TCP Modbus Client Usage:./TCPModbusClient read [ ]
28
28 Reference Implementation (TCPModbusClient: Register Read) Example: how TCPModbusClient program is used to get the CT scales and current measurements for CT arrays. –This example first issues a register-read command to read current scale of CTs (register address 1000 - 1041). jaein@redcat:~/latex_doc/veris/code/CSockets$./TCPModbusClient r 10.0.50.100 4660 1 999 42 Number of transmitting bytes: 8 01 03 03 E7 00 2A 74 66 Number of received bytes: 89 01 03 54 FF FE FF FE FF FE FF FE FF FE FF FE FF FE FF FE FF FE FF FE FF FE FF FE FF FE FF FE FF FE FF FE FF FE FF FE FF FE FF FE FF FE FF FE FF FE FF FE FF FE FF FE FF FE FF FE FF FE FF FE FF FE FF FE FF FE FF FE FF FE FF FE FF FE FF FE FF FE FF FE FF FE FF FE 95 14 Response received: Modbus addr: 1 Modbus function: 3 Modbus value bytes: 84 registers (signed dec): -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 CRC (hex): 1495
29
29 Reference Implementation (TCPModbusClient: Register Read) Example: how TCPModbusClient program is used to get the CT scales and current measurements for CT arrays. –Then, it issues another register-read command to read current of CTs (register address 1335 - 1377). jaein@redcat:~/latex_doc/veris/code/CSockets$./TCPModbusClient r 10.0.50.100 4660 1 1335 42 Number of transmitting bytes: 8 01 03 05 37 00 2A 75 17 Number of received bytes: 89 01 03 54 00 00 00 18 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 FC 93 Response received: Modbus addr: 1 Modbus function: 3 Modbus value bytes: 84 registers (signed dec): 0 24 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 CRC (hex): 93FC
30
30 Reference Implementation (TCPModbusClient: Register Read) Example: how TCPModbusClient program is used to get the CT scales and current measurements for CT arrays. –We can see that all the CTs have scale factor of -2 for the current, and channel 2 has current reading of 24 while all other channels have current reading of 0. –This gives 0.24A (= 24 * 10^-2) for channel 2 and 0A for all other channels. registers (signed dec): 0 24 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 registers (signed dec): -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 CT Reading: CT Scale:
31
31 Reference Implementation (TCPModbusClient: Single register write) Example: how to set the installation mode by using a write command. jaein@redcat:~/latex_doc/veris/code/CSockets$./TCPModbusClient w E30 TCP Modbus Client Usage:./TCPModbusClient write
32
32 Reference Implementation (TCPModbusClient: Single register write) Example: how to set the installation mode by using a write command. –We can see that the E30 node is configured for top feed (register 6 with value 0). jaein@redcat:~/latex_doc/veris/code/CSockets$./TCPModbusClient r 10.0.50.100 4660 1 5 1 Number of transmitting bytes: 8 01 03 00 05 00 01 94 0B Number of received bytes: 7 01 03 02 00 00 B8 44 Response received: Modbus addr: 1 Modbus function: 3 Modbus value bytes: 2 registers (signed dec): 0 CRC (hex): 44B8 0
33
33 Reference Implementation (TCPModbusClient: Single register write) Example: how to set the installation mode by using a write command. –We set the register 6 with value 1 to configure the E30 node for bottom feed. jaein@redcat:~/latex_doc/veris/code/CSockets$./TCPModbusClient w 10.0.50.100 4660 1 5 1 Number of transmitting bytes: 8 01 06 00 05 00 01 58 0B Number of received bytes: 8 01 06 00 05 00 01 58 0B Response received: Modbus addr: 1 Modbus function: 6 Modbus register address: 5 Modbus register value (signed dec): 1 CRC (hex): B58
34
34 Reference Implementation (TCPModbusClient: Single register write) Example: how to set the installation mode by using a write command. –We can see that the E30 node is now configured for bottom feed (register 6 with value 1). jaein@redcat:~/latex_doc/veris/code/CSockets$./TCPModbusClient r 10.0.50.100 4660 1 5 1 Number of transmitting bytes: 8 01 03 00 05 00 01 94 0B Number of received bytes: 7 01 03 02 00 01 79 84 Response received: Modbus addr: 1 Modbus function: 3 Modbus value bytes: 2 registers (signed dec): 1 CRC (hex): 8479
35
35 Reference Implementation (TCPModbusClient: Multiple register write) Example: how to set the CT scales by using a mwrite command jaein@redcat:~/latex_doc/veris/code/CSockets$./TCPModbusClient m E30 TCP Modbus Client Usage:./TCPModbusClient writem...
36
36 Reference Implementation (TCPModbusClient: Multiple register write) Example: how to set the CT scales by using a mwrite command –We can see that initially four mains CTs of the E30 node is configured for 200A (register 115 - 118). jaein@redcat:~/latex_doc/veris/code/CSockets$./TCPModbusClient r 10.0.50.100 4660 1 114 4 Number of transmitting bytes: 8 01 03 00 72 00 04 E4 12 Number of received bytes: 13 01 03 08 00 C8 00 C8 00 C8 00 C8 BD A3 Response received: Modbus addr: 1 Modbus function: 3 Modbus value bytes: 8 registers (signed dec): 200 200 CRC (hex): A3BD
37
37 Reference Implementation (TCPModbusClient: Multiple register write) Example: how to set the CT scales by using a mwrite command –We set these registers to 300A so that these values match the properties of CTs we use. jaein@redcat:~/latex_doc/veris/code/CSockets$./TCPModbusClient m 10.0.50.100 4660 1 114 4 300 300 Number of transmitting bytes: 17 01 10 00 72 00 04 08 01 2C 01 2C 01 2C 01 2C 72 A3 Number of received bytes: 8 01 10 00 72 00 04 61 D1 Response received: Modbus addr: 1 Modbus function: 16 Modbus register address: 114 Modbus register quantity: 4 CRC (hex): D161
38
38 Reference Implementation (TCPModbusClient: Multiple register write) Example: how to set the CT scales by using a mwrite command –We can now see that four mains CTs are configured for 300A (register 115 - 118). jaein@redcat:~/latex_doc/veris/code/CSockets$./TCPModbusClient r 10.0.50.100 4660 1 114 4 Number of transmitting bytes: 8 01 03 00 72 00 04 E4 12 Number of received bytes: 13 01 03 08 01 2C 01 2C 01 2C 01 2C E9 B6 Response received: Modbus addr: 1 Modbus function: 3 Modbus value bytes: 8 registers (signed dec): 300 300 CRC (hex): B6E9
39
39 Future Work To provide a higher-level (e.g. Web) network interface. To provide a unified application interface that abstracts variations in hardware capabilities and deployments –Variations of hardware capabilities E.g. : Types of sensors, number of sensors, sampling rate –Variations of deployments
40
40 Conclusion A working configuration with Veris E30 panel monitoring system. Provided application interface to Veris E30 at TCP/IP level.
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.