Mapping for acyclic data access from AC500 to a UMC100.3 over

APPLICATION NOTE
Mapping for acyclic data access from AC500 to a
UMC100.3 over Profibus
UMC100.3
2CDC135045M0201
With Profibus communication it’s possible to access the data with cyclic
and acyclic communication. The cyclic communication transfers
command and monitoring telegrams with actual data between the
UMC100.3 and the master PLC.
Application Note │ Mapping for acyclic data access from AC500 to a UMC100.3 over Profibus
The cyclic data contains following command and monitoring data:
The acyclic communication has to be started separately and delivers further, specially requested
information, which are not available in the cyclic data, for example the Motor operation hours.
2
Application Note │ Mapping for acyclic data access from AC500 to a UMC100.3 over Profibus
3
For acyclic communication a separate function block has to be used.
The accessible data can be found in the table on the next page. Each master PLC uses its own method
for getting the acyclic data from the UMC100.3. In this document the access of the acyclic data is
described for Profibus communication with an AC500 PLC.
Slot
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
Index
Length
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
AcycCommand0
y
word0
AcycMonitoring0
y
g
word0
Motor Running I>20%
AcyclicMonitoring
DI0…7
PTC (Ohm)
Therm Load (%)
Binär I/O Module DX1xx
UMC Meßdaten 1
UMC Meßdaten 2
Current
Current
Max. Current at Startup
UMC Basic Data
Number of starts
UMC Time since PowOn Time since power on (s)
Detail Errors Part 0
Detail Errors Part 1
Detail Errors Part 2
Detail Errors Part 3
Detail Warnings Part 0
Detail Warnings Part 1
Detail Warnings Part 2
Detail Warnings Part 3
AcyclicMonitoring
AcyclicCommand
AcyclicCommand
Cyclic Monitoring Data
Cyclic Monitoring Data
CyclicMonitoring0
y
g
word 1
CyclicCommand0
y
word0
Cyclic Command Data
Cyclic Command Data
DI
UMC / Panel
Byte 0
R
R
R
R
R
R
R
R
R
R
R
AM1 CH1 value
AM1 CH1 value
Motor stand still hours [s]
Current L1 (%)
Current L1 (Abs)
Current L3 (Abs)
AM1
AM2
Wartung
UMC interne Daten
UMC interne Daten
UMC interne Daten
reserved
Number of Starts >1
Energy [kWh]
Permissible Starts
VI15x Part4
UMC interne Daten 1
Active power [W] (without power scale factor)
VI15x Part3
Current Unbal (%)
Line Freq (Hz)
Current L2 (%)
AM1 CH2 value
AM1 CH2 value
1 Start Possible
No Start Possible
THD L2 [0,1%]
Line Freq (Hz)
THD L3 [0,1%]
do not use!
do not use!
Time To Restart(s)
Current L2 (Abs)
Current L3 (%)
AM1 CH3 value
AM1 CH3 value
Current to earth [%]
g
g
g
U average L1…L3 [1V]
VI15x Status
Bit0: Voltage module ready
Bit1: Voltage phase loss
Bit2: Voltage freq. out of range
Bit3: Voltage DIP detected
Bit4: Voltage out of range (ADC
setting)
Bit 5: Wrong phase sequ.
do not use!
do not use!
Wrong Phase Seq.
Number emergency starts
y
word3
y
word3
word 4
y
word3
y
word
y 0
Motorstarter Commandstatus
Gen. Fault/Warn
Byte 6
AM2 temp max value
AM1 temp max value
apparent power [VA] (without power scale factor)
Voltage unbalance
[0,1%]
do not use!
BusAddress
do not use!
Time To Restart(s)
U L3L1 [1V]
THD L1 [0,1%]
do not use!
do not use!
Time To Trip (s)
g
Operating hours
Overload trips
Current (Abs)
y
word2
y
word2
CyclicMonitoring4
y
g
word 3
CyclicMonitoring5
Basic DI:
Fault Reset Bit0
CEM11 Bit1
Basic DI:
Force loc Bit0 Prep.Em.Start B7
y
word2
Byte 5
Byte 4
U L2L3 [1V]
do not use!
do not use!
Time To Trip (s)
Current Unbal (%)
AO0
Number of trips
do not use!
Power factor [0,01%]
g
CyclicMonitoring3
CyclicCommand3
UMC-Version low
Byte 3
Motor Startup time (100ms)
Current (%)
y
word1
y
word1
CyclicMonitoring2
y
g
word 2
CyclicCommand2
y
word1
UMC-Version high
Byte 2
Password changed
do not use!
Therm Load (%)
DO0…3
AcycMonitoring1
AcycCommand1
CyclicMonitoring1
CyclicCommand1
DO
Byte 1
VI15x Part2
UMC interne Daten
ParameterLocked
UMC Password WriteAck. Write Password
UMC Bus Addr. WriteAck. Write Bus Address
Bit
0: Operation hours
1: Number starts
2: Number trips +
Nu. Therm trips
3: Nu. Therm trips
4: Nu. Emerg. Starts
5: Energy
W Reset Counters
U L1L2 [1V]
R VI15x Part1
R
R
R
R
R
W
W
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
W
W
Access Title
not used
do not use!
do not use!
Byte 7 not used
Nr. ext. Diag
UMC-Version 3.
Pos.
Byte 7
Application Note │ Mapping for acyclic data access from AC500 to a UMC100.3 over Profibus
4
Application Note │ Mapping for acyclic data access from AC500 to a UMC100.3 over Profibus
5
Read acyclic data with ABB AC500
For reading acyclic data with an AC500 PLC the “DPV1_MSAC1_READ” block has to be used:
PN IO _ R E A D F U N C T I O N B L O C K
Instance
Data Type
Description
EN
Input
BOOL
Enabling of the Function Block processing
SLOT
Input
BYTE
Slot (module number) of the Communication Module
SLV
Input
BYTE
DPV1 slave address
SLV_SLOT
Input
BYTE
Slot number of the data block to be read
SLV_IDX
Input
BYTE
Index of the data block to be read
LEN
Input
BYTE
Length of the data block to be read
DATA
Input
POINTER TO BYTE
Memory address for data block (via ADR operator)
DONE
Output
BOOL
Ready message of the block
ERR
Output
BOOL
Error message of the Function Block
ERNO
Output
WORD
Error number
ERNO1
Output
Byte
Additional error information
ERNO2
Output
Byte
Additional error information
DATA_LEN
Output
WORD
Actual length of the read data
Application Note │ Mapping for acyclic data access from AC500 to a UMC100.3 over Profibus
6
Example: Reading acyclically the motor operation hours from UMC100.3 with Profibus
address 3
1.
The in- and outputs will be connected as on the picture below. “DPV1_Read” is the instance of the
“DPV1_MSAC1_READ” block.
2.
For “Slot” insert the communication slot from the AC500, where the Profibus master is plugged on
(in this example slot 1).
3.
For “SLV” insert the fieldbus plug address of the UMC100.3
4.
For “SLV_SLOT” insert the virtual slot (in the mapping table mentioned below “Slot”). The motor
operation hours are in Slot 4
5.
“SLV_IDX” is the data index (“Index” in the mapping table). The motor operation hours are stored in
Index 61.
6.
For the above mentioned mapping table always 8 byte have to be read, so “LEN” has to be at least
set to “8”.
7.
The “DATA” input has to be connected to the starting address of the array, where the data has to
be written to.
Application Note │ Mapping for acyclic data access from AC500 to a UMC100.3 over Profibus
7
8.
After downloading and starting the application, all data will be available in the “DPV1_READ_DATA”
array. In the mapping table the read 8 byte are containing “Time after Startup” and “Motor
operation hours”. Both values can be found in the array. The content inside the red box displays the
motor operation hours in seconds:
9.
For converting the value into the format “hh:mm:ss”, we need the total amount of seconds and can
calculate the minutes and hours by division:
a.
Convert the values to hexadecimal values (34d  22h and 146d  92h).
b.
Data field “4” of the array is the most significant byte for the motor operation hours. We now
connect the hexadecimal values (22h and 92h  2292h)
c.
And convert it back to decimal (2292h  8850d)
d.
8850 is the motor operation hours in seconds (8850s in format hh:mm:ss are 2:27:30 hours)
The process for reading other indices are similar to this example. Change only the index in step 5 for the
requested index and get the requested data in the data array.
Application Note │ Mapping for acyclic data access from AC500 to a UMC100.3 over Profibus
8
Example: Reset acyclically the number of trips from UMC100.3 with Profibus address 3
1.
The in- and outputs will be connected as on the picture below. “DPV1_ WRITE” is the instance of the
“DPV1_MSAC1_WRITE” block.
2.
For “Slot” insert the communication slot from the AC500, where the Profibus master is plugged on
(in this example slot 1).
3.
For “SLV” insert the fieldbus plug address of the UMC100.3 (in this example 3).
4.
For “SLV_SLOT” insert the virtual slot (in the mapping table mentioned below “Slot”). The number
of trips are in Slot 4.
5.
“SLV_IDX” is the data index (“Index” in the mapping table). The number of trips are stored in Index
108.
6.
“LEN” is the amount of bytes which shall be send. For the above mentioned mapping table always
8 byte have to be written.
Application Note │ Mapping for acyclic data access from AC500 to a UMC100.3 over Profibus
9
7.
The “DATA” input has to be connected to the starting address of the array. In this array the data
which shall be written is stored. According to the mapping table bit 2 of byte 0 has to be true for
resetting the number of trips. For that we have to save the “16#04” in the first array field
(“00000100”; only bit 2 is set).
8.
After downloading and starting the application, the number of trips inside the UMC will be “0”.
The process for writing other indices are similar to this example. Change only the index in step 5 for the
requested index and save the data to be send in the data array.
Application Note │ Mapping for acyclic data access from AC500 to a UMC100.3 over Profibus
Contact us
ABB STOTZ-KONTAKT GmbH
Eppelheimer Straße 82
69123 Heidelberg
Germany
You can find the address of your
local sales organization on the
ABB home page
http://www.abb.com/contacts
-> Low Voltage Products and Systems
Legal note
We reserve the right to make technical changes
or modify the contents of this document without
prior notice. With regard to purchase orders, the
agreed particulars shall prevail. ABB AG does not
accept any responsibility whatsoever for
potential errors or possible lack of information in
this document.
We reserve all rights in this document and in the
subject matter and illustrations contained
therein. Any reproduction, disclosure to third
parties or utilization of its contents – in whole or
in parts – is forbidden without prior written
consent of ABB AG.
Copyright© 2017 ABB
All rights reserved
10