Format: GGGG GGNN NNNN NNNN
G Graph selection index (includes axis number and data type). 8 to 55.
N Time index. 0 to 1023.
Note: These commands are available only through RMC PROFIBUS modules using Compact Mode and require RMC100 CPU firmware dated 19980811 or newer. RMC DI/O modules cannot download graphs. Modbus Plus, Ethernet, and PROFIBUS in Message Mode can read the plots registers directly. See the appropriate RMC Register Map and Reading Plot Data from the Motion Controller for further details.
Download Graph Data commands allow the PROFIBUS-DP master to get the same graph data that is available to RMCWin for graphing and debugging. Each of these commands read a single word of graph data. The RMC starts its graph data acquisition when a Go, Move Relative, Open Loop, Sine Move, Follow Spline, or Start Graph command is issued. At that time the RMC starts to fill six 1024-word arrays at a rate determined by the Plot Time parameter. The master can retrieve the graph data one word per scan per axis until the graph data gets overwritten by the next graph. This will only happen when another graph is initiated using one of the commands above. If you wish to issue one of the commands above but don’t want to overwrite the current graph for that axis, set the Graph Disable bit in the Mode word.
Note: You need not read the entire 1024-element graph. Therefore, if you only require 256 points from the graph, just read those 256 points.
Note: Because only a single word of graph data can be read by each axis each command cycle, reading a full graph can be quite slow. For higher performance, consider using the RMC PROFIBUS in Message Mode instead of Compact Mode. See Using the PROFIBUS-DP Message Mode for details.
Following is a list of the Graph Selection Index values. These values are stored in bits 10-15 of the command word. Each Graph Selection Index holds a block of 1024 registers of the same data type and for the same axis.
GSI |
Command Range |
Description |
8 |
0x2000-0x23FF |
Axis 0 Target Position/Pressure |
9 |
0x2400-0x27FF |
Axis 0 Actual Position/Pressure |
10 |
0x2800-0x2BFF |
Axis 0 Status Bits |
11 |
0x2C00-0x2FFF |
Axis 0 Drive Output |
12 |
0x3000-0x33FF |
Axis 0 Option Data A |
13 |
0x3400-0x37FF |
Axis 0 Option Data B |
14 |
0x3800-0x3BFF |
Axis 1 Target Position/Pressure |
15 |
0x3C00-0x3FFF |
Axis 1 Actual Position/Pressure |
16 |
0x4000-0x43FF |
Axis 1 Status Bits |
17 |
0x4400-0x47FF |
Axis 1 Drive Output |
18 |
0x4800-0x4BFF |
Axis 1 Option Data A |
19 |
0x4C00-0x4FFF |
Axis 1 Option Data B |
20 |
0x5000-0x53FF |
Axis 2 Target Position/Pressure |
21 |
0x5400-0x57FF |
Axis 2 Actual Position/Pressure |
22 |
0x5800-0x5BFF |
Axis 2 Status Bits |
23 |
0x5C00-0x5FFF |
Axis 2 Drive Output |
24 |
0x6000-0x63FF |
Axis 2 Option Data A |
25 |
0x6400-0x67FF |
Axis 2 Option Data B |
26 |
0x6800-0x6BFF |
Axis 3 Target Position/Pressure |
27 |
0x6C00-0x6FFF |
Axis 3 Actual Position/Pressure |
28 |
0x7000-0x73FF |
Axis 3 Status Bits |
29 |
0x7400-0x77FF |
Axis 3 Drive Output |
30 |
0x7800-0x7BFF |
Axis 3 Option Data A |
31 |
0x7C00-0x7FFF |
Axis 3 Option Data B |
32 |
0x8000-0x83FF |
Axis 4 Target Position/Pressure |
33 |
0x8400-0x87FF |
Axis 4 Actual Position/Pressure |
34 |
0x8800-0x8BFF |
Axis 4 Status Bits |
35 |
0x8C00-0x8FFF |
Axis 4 Drive Output |
36 |
0x9000-0x93FF |
Axis 4 Option Data A |
37 |
0x9400-0x97FF |
Axis 4 Option Data B |
38 |
0x9800-0x9BFF |
Axis 5 Target Position/Pressure |
39 |
0x9C00-0x9FFF |
Axis 5 Actual Position/Pressure |
40 |
0xA000-0xA3FF |
Axis 5 Status Bits |
41 |
0xA400-0xA7FF |
Axis 5 Drive Output |
42 |
0xA800-0xABFF |
Axis 5 Option Data A |
43 |
0xAC00-0xAFFF |
Axis 5 Option Data B |
44 |
0xB000-0xB3FF |
Axis 6 Target Position/Pressure |
45 |
0xB400-0xB7FF |
Axis 6 Actual Position/Pressure |
46 |
0xB800-0xBBFF |
Axis 6 Status Bits |
47 |
0xBC00-0xBFFF |
Axis 6 Drive Output |
48 |
0xC000-0xC3FF |
Axis 6 Option Data A |
49 |
0xC400-0xC7FF |
Axis 6 Option Data B |
50 |
0xC800-0xCBFF |
Axis 7 Target Position/Pressure |
51 |
0xCC00-0xCFFF |
Axis 7 Actual Position/Pressure |
52 |
0xD000-0xD3FF |
Axis 7 Status Bits |
53 |
0xD400-0xD7FF |
Axis 7 Drive Output |
54 |
0xD800-0xDBFF |
Axis 7 Option Data A |
55 |
0xDC00-0xDFFF |
Axis 7 Option Data B |
The data returned in the option data arrays (Option Data A and Option Data B) is selected by the plot options; see Selecting the Data to Plot for details. The data retrieved from each of these arrays is listed below:
Extra Position Precision
Option Data A: Fractional part of the target position.
Option Data B: Fractional part of the actual position.
Command/Command Value
Option Data A: Last command issued by the PROFIBUS master to this axis.
Option Data B: Command value of the last command.
Current Event/Link Value
Option Data A: Current event step number being executed.
Option Data B: Link value of current wait condition.
Raw Transducer Counter.
Option Data A: Low 16 bits of the transducer counter.
Option Data B: Transducer-type dependent; either upper bits and/or status bits.
Internal Speeds.
Option Data A: The Target Speed computed internally in position units per second.
Option Data B: The Actual Speed computed internally in position units per second.
Integral Drive.
Option Data A: The integral drive in drive count units. There are 8192 drive count units in 10000 mV. Therefore a value of 819 is equal to 1000 mV.
Option Data B: The fractional part of the integral drive. The fractional part is in parts in 65,536 of one drive count. This can usually be ignored except when determining the rate the integral is winding up or down.
Below are examples of two methods of downloading graph data. The first uses only one axis’s PROFIBUS registers, which allows the other axes to be receiving different commands but is slow. The second uses multiple axes’ PROFIBUS registers, which speeds up the graph download by receiving multiple graph data words per command cycle. In the list of steps below, PROFIBUS Input Registers are referred to as I+n, where n is the offset from the first input register. Similarly, PROFIBUS Output Register are referred to as O+n. See Input Register Overview and Output Register Overview for further details:
To download Axis 0’s Target Position graph data using only axis 0:
Write 0x2000 hex to the Axis 0 Command Register (O+1).
If using sync registers, increment the Sync Out Register (O+0) and wait for Sync In (I+0) to match Sync Out (O+0).
The Axis 0 Data In Register (I+2) will hold a Axis 0’s Target Position value from the graph. Store this value in your graph array.
Increment the Axis 0 Command Register (O+1) to the next time period.
Repeat steps 2 through 4 until all the desired data has been read.
To download Axis 0’s Target Position graph data using axes 0-3:
Write 0x2000 hex to the Axis 0 Command Register (O+1).
Write 0x2001 hex to the Axis 1 Command Register (O+3).
Write 0x2002 hex to the Axis 2 Command Register (O+5).
Write 0x2003 hex to the Axis 3 Command Register (O+7).
If using sync registers, increment the Sync Out Register (O+0) and wait for Sync In (I+0) to match Sync Out (O+0).
The Axis 0 Data In Registers (I+2, I+4, I+6, I+8) will hold Axis 0’s Target Position values from the graph. Store these values in your graph array.
Add four to each of the Axis 0 Command Registers (O+1, O+3, O+5, O+7) to request the next four time periods.
Repeat steps 5 through 7 until all the desired data has been read.
Tips
Do not download more data than you need. For example, if only 256 points are required for a graph, don’t download all 1024 points.
Copyright (c) 1997-2015 by Delta Computer Systems, Inc.