Hi Patrick ...
good to have you here on our SIMATIC AX Mendix community, ... publicly sharing important and interesting questions which helps everyone working with AX tools.
Regarding your question:
Yes, SIMATIC AX already provides a ProgramAlarm systemlibrary block, which is in the "Siemens.Simatic.S71500.Alarming" library apax package.
Simply add the latest version to your project with:
apax add @ax/simatic-1500-alarming
Once you instanciate an "ProgramAlarm" within your program there will be an codeaction-plugin/extension by your site helping you to further define properties of that specific alarm (Text, InfoText, Type, Priority, Group, DisplayClass, AdditionalTexts etc.). For sure you also can use "Keywords" and "SD" parameters-references in your Alarmtext to further adjust the message to your liking.
Trigger the ProgramAlarm instance with its optional TransferParameters (SD) now via its blockinterface, ... just like you do within TIAP.
In order to show/ receive the actual active alarms in your engineering, just use the "plc-control" tool.
apax add @ax/plc-control --dev
That way you easily can test the alarm generation prior to setting up "real" (HMI) alarm-clients.
Talking of which ... in order to receive all the PLC Alarms (which incl. the UserAlarms) in any alarm client, activate the OPC-UA server settings within the PLC1500 configuration with enabled "Alarms & Condition" property. This activates the OPC UA Alarmserver on the PLC1500 which can be accessed with opcua-clients.
Alternatively on a Siemens WinCC Unified Runtime configuration, you can setup an unspecified S7-connection to the AX-loaded 1500PLC. Just add an "AlarmView" widget to a screen which should be able to show all the received PLC Alarms via that S7-connection.
I hope that helps.
Keep going & happy coding ...
🐱💻 BEEP, BOOP, BEEP, BEEP, BOOP 🐱🏍