FANUC Alarm and Event Sources
FANUC Alarm and Message handling produces alarm events. The
AlarmEventSourceInfo
object is used to handle these alarms and events.
The declaration is located in the device file (only version 1.4 or
higher).
Messages are not acknowledged by the HumanOS Plugin. Typically, this is done by the FANUC system using the RESET button or the clearAlarm command.
Alarm Source Addresses
Following memory and alarm items are available for FANUC controls:
Address | Description | ConditionName | SourceName |
---|---|---|---|
Nc{n}.NcAlarmEvent:0 | System Alarms | Alarm <number> | CNC |
Operator Messages | Message <number> | CNC | |
Nc{n}.Dynamic.Float64:0 | Messages and alarms when accessing dynamic memory (see table below) | Alarm <number> | CNC/Channel{n} |
Pmc1.OEMAlarmEvent:0 | OEM bit alarm and messages | Alarm <number> | PMC |
OEM channel messages | Alarm <number> | PMC/MessageChannel{x} |
The dynamic memory can post following alarms:
ConditionName | AlarmType | Text |
---|---|---|
Alarm 1000002 | Alarm | LOW BATTERY |
Alarm 1000003 | Alarm | FAN ALARM |
Alarm 1000004 | Warning | PS WARNING |
Alarm 1000005 | Warning | FSSB WARNING |
Alarm 1000006 | Warning | LEAKAGE WARNING |
Alarm 1000007 | Warning | ENCODER WARNING |
Alarm 1000008 | Alarm | PMC ALARM |
Alarm 10000{xy} | Alarm | UNKNOWN ALARM |
Alarm Item Structure
The TAlarmItem class is used to represent alarms and messages:
Field Name | Description | DataType |
---|---|---|
ConditionName | Contains the alarm number given by the FANUC control, e.g. Alarm 401 | System.String |
Message | Message content | System.String |
SourceName | Name of the alarm or message source, e.g. CNC or PMC | System.String |
Active | Flag if the alarm is still pending on the FANUC side | System.Boolean |
Properties | List of properties that are name-value-pairs |
Alarm-Event Tasks
The alarm-event task manages the alarms and events occurring in PMC and NC channels. The AlarmEventSourceInfo object can have several AlarmEvent tasks.
Following alarm and message reader are available:
Address | Description | Data Type |
---|---|---|
Nc1.NcAlarmEvent:0 | System Alarm and operator message reader. | TAlarmEvent[] |
Pmc1.OEMAlarmEvent:0 | OEM alarm and message structure within the PMC memory. | TAlarmEvent[] |
Example of a System AlarmEvent Task:
{
...
"AlarmEventPool": {
"Id": "FA1611AB-B6C9-4FF4-B34D-BF35E6A44232",
"Name": "AlarmEventPool",
"Tasks": [
{
"Id": "10077ca2-4e2e-493c-a531-279df6c10cc8",
"Name": "Standard Messages",
"Address": "Nc1.NcAlarmEvent:0"
}
]
}
}
OEM Alarm Message Mapping
FANUC Control driver has the possibility to map OEM alarm messages individually. The OEM messages are stored in a separate JSON file and then mapped at runtime.
The structure of the JSON is as follows:
- Messages: Root element of json file
- Message: Message element containing the OEM specific data
Field Name | Description | Data Type |
---|---|---|
Id | Original message Id | System.Int32 |
OemId | OEM Message Id | System.String |
AlarmType | Alarm type of the message Alarm: Alarm message Warning: Warning message Information: Information message | EAlarmType |
Text | Message text or text key for translation at HMI level | System.String |
Properties | Additional properties to specify the alarm | |
Properties:Name | Property name | System.String |
Properties:Value | Property value | System.String |
Example:
{
"Messages": [
{
"Id": 0,
"AlarmType": "Alarm",
"OemId": "Alarm 1",
"Text": "PU Sammelfehler",
"Properties": [
{
"Name": "MyProperty",
"Value": "Some other info"
},
{
"Name": "EnableRmq",
"Value": "1"
},
{
"Name": "EnableRest",
"Value": "0"
}
]
},
{
"Id": 1,
"AlarmType": "Alarm",
"OemId": "Alarm 2",
"Text": "Batteriefehler",
"Properties": [
{
"Name": "MyProperty",
"Value": "Some other info too"
},
{
"Name": "EnableRmq",
"Value": "1"
},
{
"Name": "EnableRest",
"Value": "0"
}
]
}
]
}
OEM AlarmEvent Tasks
Pmc1.OEMAlarmEvent needs additional properties:
Attribute | Description | Data Type |
---|---|---|
MessageFormat | Format of the message
| System.String |
StartAddress | Start address of the message field (e.g. Pmc1.Pmc_R.Uint8:900 ) | TMemoryAddress |
MessageCount | Number of messages
| System.Int32 |
MessageMappingFile | Json file containing the OEM message mapping | System.String |
SourceName | Optional name of the source. If not specified, the start address is taken as source name. | System.String |
Additionally, properties can be specified to be added to the AlarmItems. These properties are then attached to each raising alarm.
Attribute | Description | Data Type |
---|---|---|
Message:<Name> | <Name> = any name of a property being added to the alarm items. | System.String |
Example of an OEM AlarmEvent Task:
{
"Id": "DDA85843-476D-4A2A-ACC8-250266E75A88",
"Name": "FanucControl",
"DriverId": "B3CCD1A7-A49B-46FC-B983-5284992F6444",
"Address": "CNC-1",
"AlarmEventPool": {
"Id": "FA1611AB-B6C9-4FF4-B34D-BF35E6A44232",
"Name": "AlarmEventPool",
"Tasks": [
{
"Id": "10077ca2-4e2e-493c-a531-279df6c10cc8",
"Name": "Report Messages",
"Address": "Nc1.OEMAlarmEvent:0",
"Properties": [
{
"Name": "MessageMappingFile",
"Value": "MyAlarmMapping.json"
},
{
"Name": "MessageCount",
"Value": "185"
},
{
"Name": "StartAddress",
"Value": "Pmc1.Pmc_D.Uint8:972"
},
{
"Name": "SourceName",
"Value": "OEM "
},
{
"Name": "Message:Type",
"Value": "Standard"
}
]
}
]
}
}