This article is intended to aid a user of the MachineMetrics platform that wants to track Diagnostics from a Fanuc machine. This is an extension of the guide to configure Fanuc machines through the Machine Settings. We will be using the Configure your adapter text entry field to enable the Fanuc data collector to track Diagnostics.
Enabling the edge device to track Diagnostics on the machine requires adding entries to the Diagnostics configuration object in the Fanuc data collector for the target machine. Add an entry for each diagnostic code to track. Assigning the value as empty string ““ will default tracking for that diagnostic to be enabled.
A list of valid Diagnostics to track can be found in the Fanuc manuals for the target machine or via the Diagnostics Parameter Table Reference located at the bottom of this article.
A small number of commonly desired Diagnostics are enabled by default:
308 - Servo Motor Temperature
309 - Pulsecoder Temperature
403 - Spindle Temperature
Note: The default Diagnostics are enabled even if they are not visible in the configuration text field.
Default Diagnostics can be disabled by adding the diagnostic code to the configuration and setting the value to “false”.
Diagnostic Key Output
Diagnostic codes report values that are often represented as an individual value for each path/axis/spindle. So for example, enabling diagnostic 403 will report an individual spindle temperature for each spindle on the machine.
Some Diagnostic is a bitfield where each bit is a distinct value. The MachineMetrics Fanuc adapter will emit individual diagnostic keys for each value independently, even individual bits embedded within bit fields.
Numeric values emit a key of the form:
Bitfield values emit a key of the form:
Note: If the diagnostic is for the first path, the path# is omitted.
Note: The axis/spindle name term in this scheme are what the name is configured to be on the Fanuc controller, they are not hardcoded by the MachineMetrics adapter.
Quick Key Examples:
Diag403_S2 (S2 on Path 1)
Diag403_S22 (S2 on Path 2)
Data Mapping Diagnostics
After configuring Diagnostics, we need to map the diagnostic code so that it can show up in the Diagnostic timeline for the machine. For more detail on mapping data see Mapping Data (Machine Settings) . In this article we will explore specifics to mapping just Diagnostics. Mapping can be made easier by filtering for just the Diagnostics keys by typing the prefix “Diag” into the search field. This will filter the list so that we see a key for each value generated by the Diagnostics the machine has been configured to track in the data collector configuration.
Note: If you do not see the values, wait a short time for them to arrive and click Refresh List
For each diagnostic key, we will need to manually add these components/subcomponents as well as add display names in order to tell similar data items apart. The process of setting data item type and display names depends heavily on referencing Diagnostics Parameter Table Reference to assign the correct types and display name.
Note: If we were to not assign display names and just use component/subcomponent, the app will just use the name of the data item type/subtype which will most probably collide with other similar Diagnostics and end up being quite confusing when rendered on the Diagnostics page.
For each data item, we assign the Component appropriate for the Diagnostic key. For the data item below, Diag308_Z2, is a Linear type axis named Z2. Most of the Components will likely correspond to existing data items the machine is already reporting, so it will often be a matter of pairing the diagnostic to the appropriate Component.
Finally, choose a display name appropriate for the diagnostic, and the appropriate type for the properties of the data the diagnostic represents. In this example this is a Servo Temperature, so the Type/Subtype is Sample and Temperature.
Note: Types of common Diagnostics are defined in the Diagnostics Parameter Table Reference. If you have questions about this process, please reach out directly to your customer success manager or contact email@example.com.
Repeat the above process for every diagnostic key emitted for the Diagnostics configured on the machine.
Note: Pay attention when working with multi-path machines, the names used internally for Fanuc on path 2 don’t always 1:1 align with the names used in the app. In the case of this machine, the diagnostic with key Diag308_A12 is simply referred to as A2 in the diagnostic timeline. This is a fairly common theme with diagnostic data items on path 2 for axes/spindles where we need to use human intuition and domain knowledge to infer which component/subcomponent a diagnostic belongs to and align the key to what is actually displayed in the UI.
Once we’ve completed this process for all Diagnostics we have a list of uncommitted changes as shown below. We need to commit the changes by clicking Save Changes.
Below is a screenshot snippet for a Component on a machine configured to track several Diagnostics. The image shows a green square around the Diagnostics in the Linear/Z2 component in the Diagnostics page using chosen human readable display names.
If you have questions about this process, please reach out directly to your customer success manager or contact firstname.lastname@example.org.