Purpose
A description of Data Gathering in Power PMAC.
Problem Explanation/Objective
Data Gathering in Power PMAC is currently documented in many places in the Power PMAC User's and Software Reference manuals. This Technical Guide brings together that information.
Supported devices
Any Power PMAC CPU.
Requirements
No prerequisites other than a good understanding of Power PMAC.
Procedure
Gather.Items specifies the number of items to be gathered each sample when the data gathering function in the servo interrupt is enabled. The items at the addresses specified by Gather.Addr[0] through Gather.Addr[Items-1] will be gathered each sample. The Power-on default is 0.
Gather.MaxSamples specifies the maximum number of samples that can be gathered when the data gathering function in the servo interrupt is enabled in “finite” mode (Gather.Enable = 2). If data gathering is still enabled when these many samples have been stored in the buffer, Power PMAC will automatically disable gathering by setting Gather.Enable to 0. The Power-on default is 0.
Gather.MaxSamples is not used when gathering in “indefinite” mode (Gather.Enable = 3).
Gather.Period specifies the interval between consecutive samples when the data gathering function in the servo interrupt is enabled, in servo interrupt periods (“servo cycles”). If Gather.Period is set to 1, gathering is performed every servo cycle; if it is set to 2; every second servo cycle, and so on. If it is set to its default value of 0, gathering is done on a “single-shot” basis, not cyclically.
Gather.PhaseAddr[i] specifies the source address for the ith register for data gathering under the phase interrupt. The legal values of i range from 0 to 7, so up to 8 registers can be gathered each sample. The Power-on default is Sys.PhaseCount.a.
The value of Gather.PhaseAddr[i] is usually set by specifying the name of the data structure element at the register followed by the “.a” (address of) suffix. This permits the address to be specified without the user needing to know the numerical address of the register. It is also possible to specify the numerical value of the address directly. In either case, when the value of Gather.PhaseAddr[i] is queried, Power PMAC will report the numerical value of the address.
Power PMAC will interpret the data at the address specified by Gather.PhaseAddr[i] according to the setting of Gather.PhaseType[i], which Power PMAC sets automatically when Gather.PhaseAddr[i] is set to the address of an element with a script command. If Gather.PhaseAddr[i] is set directly to a number in the script environment, or set in C, the user must explicitly set Gather.PhaseType[i] for the proper data format.
The data at the specified address will be gathered each sample period when gathering is enabled if Gather.PhaseItems is greater than i.
Gather.PhaseEnable controls whether the data gathering function in the phase interrupt is activated or not. If it is set to 0, gathering under the phase interrupt is not enabled, and when it is enabled, data will be stored starting at the beginning of the buffer, overwriting any previous data in the buffer.
If Gather.PhaseEnable is set to 1, gathering under the phase interrupt is not enabled, and when it is enabled, data will be stored in the buffer starting where gathering last stopped, so new gathered data is appended to the end of the buffer. Setting this element to 1 once the addresses and number of items to gather have been specified can be useful, because it causes Power PMAC to calculate the number of words required to store each sample (Gather.PhaseLineLength) and the number of samples that can be stored (Gather.PhaseMaxLines).
If Gather.PhaseEnable is set to 2, “finite” gathering under the phase interrupt is enabled, and will proceed according to the rules established by the values of other setup elements. When the number of samples gathered equals Gather.PhaseMaxSamples, gathering is automatically disabled and Gather.PhaseEnable is set to 0. If the gathered data reaches the end of the buffer space before the number of samples gathered equals PhaseMaxSamples, the buffer will “roll over” and start storing at the beginning of the buffer.
If Gather.PhaseEnable is set to 3, “indefinite” gathering under the phase interrupt is enabled, and will proceed according to the rules established by the values of other setup elements. Gathering will continue until the user stops it by changing the value of Gather.PhaseEnable from 3.
Gather.PhaseMaxSamples is not used in this mode, and the buffer is used in “rotary” fashion, with new samples overwriting older samples as necessary.
Date/Revision History
First review 3/24/2025 V1.0
Author:
Stephen Milici, Technical Support Engineer"
References
Power PMAC Software Reference Manual: https://assets.omron.com/m/76e3f5e50c46e0e9/original/Power-PMAC-Software-Reference-Manual.pdf
Power PMAC User’s Manual: https://assets.omron.com/m/2c1a63d391d6bfa3/original/Power-PMAC-Users-Manual.pdf
Was this article helpful?
That’s Great!
Thank you for your feedback
Sorry! We couldn't be helpful
Thank you for your feedback
Feedback sent
We appreciate your effort and will try to fix the article