<?xml version="1.0" encoding="UTF-8"?>
<messages language="">
  <alarms category="vms" version="2018.0">
    <alarm majorcode="1" minorcode="6" message="Vmsserver connected {devicename}">
    </alarm>
    <alarm majorcode="1" minorcode="15" message="Cow trapped. {devicename}">
    </alarm>
    <alarm majorcode="1" minorcode="105" message="Vmsserver disconnected {devicename}">
    </alarm>
    <alarm majorcode="1" minorcode="106" message="Invalid configuration {devicename}">
    </alarm>
    <alarm majorcode="1" minorcode="110" message="Unknown cow with transponder {SupportingData1}. {devicename}">
    </alarm>
    <alarm majorcode="1" minorcode="111" message="Cow not identified. {devicename}">
    </alarm>
    <alarm majorcode="1" minorcode="123" message="Cow escaped from MS stall. {devicename}">
    </alarm>
    <alarm majorcode="1" minorcode="200" message="External alarm to milking station {devicename} {SupportingData6}">
    </alarm>
    <alarm majorcode="1" minorcode="203" message="Milking station program was unexpectedly terminated {devicename}">
    </alarm>
    <alarm majorcode="1" minorcode="204" message="Milking station program was restarted {devicename}">
    </alarm>
    <alarm majorcode="1" minorcode="205" message="Milking station power failure {devicename}">
    </alarm>
    <alarm majorcode="1" minorcode="210" message="Self-test success: {SupportingData1}.{SupportingData2} {devicename}">
    </alarm>
    <alarm majorcode="1" minorcode="211" message="Self-test failure: {SupportingData1}.{SupportingData2} {devicename}">
    </alarm>
    <alarm majorcode="1" minorcode="212" message="Many self tests are performed in a short time">
    </alarm>
    <alarm majorcode="1" minorcode="303" message="Scheduled cleaning NOT started {devicename}">
    </alarm>
    <alarm majorcode="1" minorcode="312" message="Unexpected high yield for cup {SupportingData1}. Expected {SupportingData2}, got {SupportingData3} {devicename}">
      <property id="SupportingData2" unit="yield"/>
      <property id="SupportingData3" unit="yield"/>
    </alarm>
    <alarm majorcode="1" minorcode="315" message="Unexpected low yield for cup {SupportingData1}. Expected {SupportingData2}, got {SupportingData3} {devicename}">
      <property id="SupportingData2" unit="yield"/>
      <property id="SupportingData3" unit="yield"/>
    </alarm>
    <alarm majorcode="1" minorcode="316" message="TCA cleaning hasn't finished. {devicename}">
    </alarm>
    <alarm majorcode="1" minorcode="317" message="Configuration changes requires the milking station to be rebooted">
    </alarm>
    <alarm majorcode="1" minorcode="318" message="Idle stall cleaning NOT started {devicename}">
    </alarm>
    <alarm majorcode="1" minorcode="319" message="Milk truck cleaning NOT started {devicename}">
    </alarm>
    <alarm majorcode="1" minorcode="320" message="Cow preset cleaning NOT started {devicename}">
    </alarm>
    <alarm majorcode="1" minorcode="321" message="Divert cleaning NOT started {devicename}">
    </alarm>
    <alarm majorcode="1" minorcode="322" message="External cleaning NOT started {devicename}">
    </alarm>
    <alarm majorcode="1" minorcode="323" message="Manual cleaning NOT started {devicename}">
    </alarm>
    <alarm majorcode="1" minorcode="329" message="Divert Mode ended by tank cow. The cow is milked">
    </alarm>
    <alarm majorcode="1" minorcode="330" message="Divert Mode ended by tank cow. The cow is not milked.">
    </alarm>
    <alarm majorcode="1" minorcode="331" message="Divert Mode ended by scheduled cleaning">
    </alarm>
    <alarm majorcode="1" minorcode="332" message="Divert Mode ended by idle stall cleaning">
    </alarm>
    <alarm majorcode="1" minorcode="333" message="Divert Mode ended by milk truck cleaning">
    </alarm>
    <alarm majorcode="1" minorcode="334" message="Divert Mode ended by external cleaning">
    </alarm>
    <alarm majorcode="1" minorcode="335" message="Divert Mode ended by hardware error">
    </alarm>
    <alarm majorcode="1" minorcode="339" message="Cleaning failed. Divert Mode ended.">
    </alarm>
    <alarm majorcode="1" minorcode="340" message="Cleaning failed">
    </alarm>
    <alarm majorcode="1" minorcode="341" message="Cleaning aborted by user">
    </alarm>
    <alarm majorcode="2" minorcode="57" message="Teat not found for cleaning {devicename}">
    </alarm>
    <alarm majorcode="2" minorcode="102" message="Axis end point calibration failed {devicename}">
    </alarm>
    <alarm majorcode="2" minorcode="113" message="Camera is not responding {devicename}">
    </alarm>
    <alarm majorcode="2" minorcode="132" message="Io system hardware not properly connected. {devicename}">
    </alarm>
    <alarm majorcode="2" minorcode="136" message="Internal axis controller error">
    </alarm>
    <alarm majorcode="2" minorcode="140" message="Hydraulic pump - too high oil temperature {devicename}">
    </alarm>
    <alarm majorcode="2" minorcode="141" message="Hydraulic pump - too low oil level {devicename}">
    </alarm>
    <alarm majorcode="2" minorcode="142" message="Hydraulic pump - too high oil pressure {devicename}">
    </alarm>
    <alarm majorcode="2" minorcode="143" message="Hydraulic pump - too low oil pressure {devicename}">
    </alarm>
    <alarm majorcode="2" minorcode="146" message="Hydraulic pump - too low oil temperature {devicename}">
    </alarm>
    <alarm majorcode="2" minorcode="204" message="AxisController not connected {devicename}">
    </alarm>
    <alarm majorcode="2" minorcode="208" message="Invalid teat cup positions, not calibrated? {devicename}">
    </alarm>
    <alarm majorcode="2" minorcode="209" message="Invalid teat cleaner cup position, not calibrated? {devicename}">
    </alarm>
    <alarm majorcode="2" minorcode="308" message="Robot valve dead zone calibration failed {devicename}">
    </alarm>
    <alarm majorcode="2" minorcode="400" message="Camera cleaning failed {devicename}">
    </alarm>
    <alarm majorcode="2" minorcode="401" message="Hydraulic pump - cannot reach target oil pressure {devicename}">
    </alarm>
    <alarm majorcode="2" minorcode="402" message="Failed fetching teat cup {SupportingData1} {devicename}">
    </alarm>
    <alarm majorcode="2" minorcode="403" message="Failed fetching teat cleaner {devicename}">
    </alarm>
    <alarm majorcode="2" minorcode="404" message="Not all teats were disinfected {devicename}">
    </alarm>
    <alarm majorcode="2" minorcode="405" message="Failed attaching teat cup {SupportingData1} {devicename}">
    </alarm>
    <alarm majorcode="2" minorcode="406" message="Cow position sensor disabled {devicename}">
    </alarm>
    <alarm majorcode="2" minorcode="409" message="Teat {SupportingData1} outside of permitted robot movement area {devicename}">
      <property id="SupportingData1" unit="MSTeatMaskString"/>
    </alarm>
    <alarm majorcode="2" minorcode="410" message="Safety switch active. Robot arm is blocked. {devicename}">
    </alarm>
    <alarm majorcode="2" minorcode="411" message="Robot arm not operational {devicename}">
    </alarm>
    <alarm majorcode="2" minorcode="412" message="Cow position sensor not calibrated {devicename}">
    </alarm>
    <alarm majorcode="2" minorcode="413" message="NECA board lost communication with the CPU or MIO cards {devicename}">
    </alarm>
    <alarm majorcode="2" minorcode="414" message="Bad io configuration {devicename}">
    </alarm>
    <alarm majorcode="2" minorcode="415" message="ioman io system error {devicename}">
    </alarm>
    <alarm majorcode="2" minorcode="416" message="No movement detected when expected, joint: {SupportingData1} {devicename}">
    </alarm>
    <alarm majorcode="2" minorcode="417" message="Axis moves in wrong direction, joint: {SupportingData1} {devicename}">
    </alarm>
    <alarm majorcode="2" minorcode="418" message="Hardware suspended {devicename}">
    </alarm>
    <alarm majorcode="2" minorcode="419" message="Failed changing yaw {devicename}">
    </alarm>
    <alarm majorcode="2" minorcode="420" message="Robot arm needs endpoint calibration {devicename}">
    </alarm>
    <alarm majorcode="2" minorcode="421" message="Robot arm needs deadband calibration {devicename}">
    </alarm>
    <alarm majorcode="2" minorcode="422" message="Unexpected signal from gripper sensor {devicename}">
    </alarm>
    <alarm majorcode="2" minorcode="423" message="Unusual dead zone calibration values, joint: {SupportingData1} {devicename}">
    </alarm>
    <alarm majorcode="2" minorcode="424" message="Encoder pulses lost, joint: {SupportingData1} {devicename}">
    </alarm>
    <alarm majorcode="2" minorcode="425" message="Mixed attach: Cup {SupportingData1} will be used for {SupportingData2}. {devicename}">
      <property id="SupportingData2" unit="MSTeatMaskString"/>
    </alarm>
    <alarm majorcode="3" minorcode="100" message="Kick off (Exp Yield {SupportingData1}, Yield {SupportingData2}) {devicename}">
      <property id="SupportingData1" unit="yield"/>
      <property id="SupportingData2" unit="yield"/>
    </alarm>
    <alarm majorcode="3" minorcode="105" message="Flow too high {SupportingData1} from cup {SupportingData2} {devicename}">
    </alarm>
    <alarm majorcode="3" minorcode="106" message="Yield too high {SupportingData1} from cup {SupportingData2} {devicename}">
      <property id="SupportingData1" unit="yield"/>
    </alarm>
    <alarm majorcode="3" minorcode="114" message="Milkmeter {SupportingData1} conductivity ({SupportingData2}) out of range ({SupportingData3} - {SupportingData4}) {devicename}">
    </alarm>
    <alarm majorcode="3" minorcode="115" message="Conductivity differs ({SupportingData1}) too much ({SupportingData2}) between meters {devicename}">
    </alarm>
    <alarm majorcode="3" minorcode="118" message="FF meter {SupportingData1} is having problems measuring blood {devicename}">
    </alarm>
    <alarm majorcode="3" minorcode="119" message="Many milkings with high blood value {devicename}">
    </alarm>
    <alarm majorcode="3" minorcode="200" message="Kick off cup {SupportingData1} (Exp Yield {SupportingData2}, Yield {SupportingData3}) {devicename}">
      <property id="SupportingData2" unit="yield"/>
      <property id="SupportingData3" unit="yield"/>
    </alarm>
    <alarm majorcode="3" minorcode="202" message="No yield from cup {SupportingData1} {devicename}">
    </alarm>
    <alarm majorcode="4" minorcode="1" message="Cow has left the stall. {devicename}">
    </alarm>
    <alarm majorcode="4" minorcode="100" message="Failed to close gate. {devicename}">
    </alarm>
    <alarm majorcode="4" minorcode="105" message="Failed to release cow. Cow still in stall. {devicename}">
    </alarm>
    <alarm majorcode="4" minorcode="106" message="Failed to close gate. Cow still in stall. {devicename}">
    </alarm>
    <alarm majorcode="4" minorcode="109" message="Failed to close floor flush valve. {devicename}">
    </alarm>
    <alarm majorcode="4" minorcode="118" message="Unknown cow with transponder {SupportingData6}. {devicename}">
    </alarm>
    <alarm majorcode="4" minorcode="119" message="Cow too long in area {SupportingData6}">
    </alarm>
    <alarm majorcode="4" minorcode="120" message="Cow has arrived in area {SupportingData6}">
    </alarm>
    <alarm majorcode="4" minorcode="121" message="Cow has locked area {SupportingData6}">
    </alarm>
    <alarm majorcode="4" minorcode="122" message="Cow has unlocked area {SupportingData6}">
    </alarm>
    <alarm majorcode="4" minorcode="125" message="Gate changed to manual mode. Gate: {SupportingData6}">
    </alarm>
    <alarm majorcode="4" minorcode="126" message="Gate has been in manual for more than {SupportingData1} minutes. Gate: {SupportingData6}">
    </alarm>
    <alarm majorcode="4" minorcode="127" message="Gate has been idle for more than {SupportingData1} minutes. Gate: {SupportingData6}">
    </alarm>
    <alarm majorcode="4" minorcode="128" message="Too many animals in area '{SupportingData6}'. Animals: {SupportingData1}, Max.: {SupportingData2}">
    </alarm>
    <alarm majorcode="4" minorcode="300" message="The entry gate did not become fully open within {SupportingData1} seconds according to the sensor. {devicename}">
    </alarm>
    <alarm majorcode="5" minorcode="13" message="Tank can accept milk {devicename}">
    </alarm>
    <alarm majorcode="5" minorcode="14" message="Filter change requested {devicename}">
    </alarm>
    <alarm majorcode="5" minorcode="15" message="Filter change granted {devicename}">
    </alarm>
    <alarm majorcode="5" minorcode="16" message="Filter change denied {devicename}">
    </alarm>
    <alarm majorcode="5" minorcode="17" message="Filter change completed {devicename}">
    </alarm>
    <alarm majorcode="5" minorcode="102" message="Tank valve in wrong position. {devicename}">
    </alarm>
    <alarm majorcode="5" minorcode="103" message="Cleaning not completed {devicename}">
    </alarm>
    <alarm majorcode="5" minorcode="104" message="Cannot accept milk to tank {devicename}">
    </alarm>
    <alarm majorcode="5" minorcode="106" message="Timeout for milk truck to leave. {devicename}">
    </alarm>
    <alarm majorcode="5" minorcode="107" message="Timeout for tank cleaning. {devicename}">
    </alarm>
    <alarm majorcode="5" minorcode="109" message="Good milk valve in wrong position">
    </alarm>
    <alarm majorcode="5" minorcode="110" message="Divert milk valve in wrong position">
    </alarm>
    <alarm majorcode="5" minorcode="113" message="Timeout emptying endunit. {devicename}">
    </alarm>
    <alarm majorcode="5" minorcode="128" message="Timeout changing milk filter {devicename}">
    </alarm>
    <alarm majorcode="5" minorcode="134" message="Tank valve error. Sensor C{SupportingData1} is {SupportingData2} should be {SupportingData3} {devicename}">
    </alarm>
    <alarm majorcode="5" minorcode="135" message="System cleaning is needed {devicename}">
    </alarm>
    <alarm majorcode="5" minorcode="207" message="BBB valve ({SupportingData1}) in wrong position {devicename}">
    </alarm>
    <alarm majorcode="5" minorcode="208" message="Good milk bleed valve opened unexpectedly {devicename}">
    </alarm>
    <alarm majorcode="5" minorcode="250" message="No water in steam pre tank {devicename}">
    </alarm>
    <alarm majorcode="5" minorcode="253" message="Timeout filling water in steam boiler {devicename}">
    </alarm>
    <alarm majorcode="5" minorcode="254" message="No steam pressure within time {devicename}">
    </alarm>
    <alarm majorcode="5" minorcode="501" message="TankMilk valve slow to open {devicename}">
    </alarm>
    <alarm majorcode="5" minorcode="502" message="TankClean valve slow to open {devicename}">
    </alarm>
    <alarm majorcode="5" minorcode="503" message="TankMilk valve slow to close {devicename}">
    </alarm>
    <alarm majorcode="5" minorcode="504" message="TankClean valve slow to close {devicename}">
    </alarm>
    <alarm majorcode="5" minorcode="511" message="TankMilk valve failed to open {devicename}">
    </alarm>
    <alarm majorcode="5" minorcode="512" message="TankClean valve failed to open {devicename}">
    </alarm>
    <alarm majorcode="5" minorcode="513" message="TankMilk valve failed to close {devicename}">
    </alarm>
    <alarm majorcode="5" minorcode="514" message="TankClean valve failed to close {devicename}">
    </alarm>
    <alarm majorcode="5" minorcode="521" message="TankMilk is open but should be closed {devicename}">
    </alarm>
    <alarm majorcode="5" minorcode="522" message="TankClean is open but should be closed {devicename}">
    </alarm>
    <alarm majorcode="5" minorcode="523" message="TankMilk is closed but should be open {devicename}">
    </alarm>
    <alarm majorcode="5" minorcode="524" message="TankClean is closed but should be open {devicename}">
    </alarm>
    <alarm majorcode="6" minorcode="0" message="OK">
    </alarm>
    <alarm majorcode="6" minorcode="1" message="AlcomIo board reset node {SupportingData1} bus {SupportingData2}">
    </alarm>
    <alarm majorcode="6" minorcode="2" message="Vmsioman init done">
    </alarm>
    <alarm majorcode="6" minorcode="100" message="Shortcircuit on alcomio node {SupportingData1}">
    </alarm>
    <alarm majorcode="6" minorcode="101" message="Alcom error {SupportingData1} node {SupportingData2}:{SupportingData3} bus {SupportingData4}">
    </alarm>
    <alarm majorcode="6" minorcode="102" message="Alcom message invalid node {SupportingData1}">
    </alarm>
    <alarm majorcode="6" minorcode="103" message="Bad format on alcom message">
    </alarm>
    <alarm majorcode="6" minorcode="104" message="Vmsio interrupt ({SupportingData1})">
    </alarm>
    <alarm majorcode="6" minorcode="105" message="Invalid alcom bus number {SupportingData1}">
    </alarm>
    <alarm majorcode="6" minorcode="106" message="Lost token on alcomio node {SupportingData1}">
    </alarm>
    <alarm majorcode="6" minorcode="107" message="VmsIo board generated reset">
    </alarm>
    <alarm majorcode="6" minorcode="108" message="VmsIo pic has wrong version">
    </alarm>
    <alarm majorcode="6" minorcode="109" message="VmsIo board wrong version is {SupportingData1}">
    </alarm>
    <alarm majorcode="6" minorcode="110" message="Unexpected sensor status node {SupportingData1} sub {SupportingData2}">
    </alarm>
    <alarm majorcode="6" minorcode="111" message="I/O blocked">
    </alarm>
    <alarm majorcode="6" minorcode="112" message="Shortcircuit on valve axis X={SupportingData1} Y={SupportingData2} Z={SupportingData3}">
    </alarm>
    <alarm majorcode="6" minorcode="201" message="Failed to synchronize milking station with DelPro gateway">
    </alarm>
    <alarm majorcode="6" minorcode="202" message="Failed to synchronize animal with DelPro gateway">
    </alarm>
    <alarm majorcode="9" minorcode="6" message="Milking station has been idle for {SupportingData1} minutes">
    </alarm>
    <alarm majorcode="9" minorcode="11" message="Milk is diverted automatically, due to elevated conductivity">
    </alarm>
    <alarm majorcode="9" minorcode="12" message="Milk is diverted automatically, due to high blood level">
    </alarm>
    <alarm majorcode="9" minorcode="15" message="Blood level in milk is over {SupportingData1} ppm">
    </alarm>
    <alarm majorcode="9" minorcode="16" message="Cannot connect to milking station">
    </alarm>
    <alarm majorcode="9" minorcode="17" message="OCC value is above {SupportingData1}">
    </alarm>
    <alarm majorcode="9" minorcode="18" message="Milk is diverted automatically, due to MDi level">
    </alarm>
    <alarm majorcode="9" minorcode="19" message="MDi level in milk is over {SupportingData1}">
    </alarm>
    <alarm majorcode="9" minorcode="22" message="Cannot connect to gate controller">
    </alarm>
    <alarm majorcode="9" minorcode="23" message="Cannot connect to IO config coordinator">
    </alarm>
    <alarm majorcode="9" minorcode="26" message="Cannot connect to loop cleaning device">
    </alarm>
    <alarm majorcode="12" minorcode="0" message="Cooling recovered OK">
    </alarm>
    <alarm majorcode="12" minorcode="1" message="BCC Low cleaning water temperature">
    </alarm>
    <alarm majorcode="12" minorcode="2" message="BCC Detergent tank is empty">
    </alarm>
    <alarm majorcode="12" minorcode="3" message="BCC Drain fail. Can not empty the buffer tank">
    </alarm>
    <alarm majorcode="12" minorcode="4" message="BCC No water supply during cleaning">
    </alarm>
    <alarm majorcode="12" minorcode="5" message="BCC Checksum error in parameter memory">
    </alarm>
    <alarm majorcode="12" minorcode="6" message="BCC Checksum error in program memory">
    </alarm>
    <alarm majorcode="12" minorcode="7" message="BCC Tank is filled up completely, alarm level reached">
    </alarm>
    <alarm majorcode="12" minorcode="8" message="BCC Too long time no cleaning">
    </alarm>
    <alarm majorcode="12" minorcode="9" message="BCC Valve in wrong position">
    </alarm>
    <alarm majorcode="12" minorcode="10" message="BCC CPU Watch-dog reset">
    </alarm>
    <alarm majorcode="12" minorcode="11" message="BCC Milk temperature too high">
    </alarm>
    <alarm majorcode="12" minorcode="12" message="BCC Milk too long in buffer tank">
    </alarm>
    <alarm majorcode="12" minorcode="13" message="BCC Has had power failure">
    </alarm>
    <alarm majorcode="12" minorcode="14" message="BCC Too low milk temperature">
    </alarm>
    <alarm majorcode="12" minorcode="15" message="ICS Tank alarm from non FCC tank">
    </alarm>
    <alarm majorcode="12" minorcode="16" message="BCC Temperature sensor broken">
    </alarm>
    <alarm majorcode="12" minorcode="17" message="BCC Cooling not started within time">
    </alarm>
    <alarm majorcode="12" minorcode="18" message="ICS BBB valves in wrong position">
    </alarm>
    <alarm majorcode="12" minorcode="19" message="BCC Short circuit in detergent dosing device">
    </alarm>
    <alarm majorcode="12" minorcode="20" message="ICS Cleaning stopped because tank BB&amp;B is not in position">
    </alarm>
    <alarm majorcode="12" minorcode="21" message="FCC Low cleaning water temperature">
    </alarm>
    <alarm majorcode="12" minorcode="22" message="FCC Detergent tank is empty">
    </alarm>
    <alarm majorcode="12" minorcode="23" message="FCC Short circuit detergent detection">
    </alarm>
    <alarm majorcode="12" minorcode="24" message="FCC Time out water filling">
    </alarm>
    <alarm majorcode="12" minorcode="25" message="FCC Checksum error in parameter memory">
    </alarm>
    <alarm majorcode="12" minorcode="26" message="FCC Checksum error in program memory">
    </alarm>
    <alarm majorcode="12" minorcode="27" message="FCC Tank is not empty after cleaning">
    </alarm>
    <alarm majorcode="12" minorcode="28" message="FCC Possible mixing of detergents">
    </alarm>
    <alarm majorcode="12" minorcode="29" message="FCC Power failure during cleaning">
    </alarm>
    <alarm majorcode="12" minorcode="30" message="FCC Outlet valve closed during cleaning">
    </alarm>
    <alarm majorcode="12" minorcode="31" message="FCC CPU Watch-dog reset">
    </alarm>
    <alarm majorcode="12" minorcode="32" message="FCC Timeout during cleaning, pump not running">
    </alarm>
    <alarm majorcode="12" minorcode="33" message="FCC Milk temperature too low">
    </alarm>
    <alarm majorcode="12" minorcode="34" message="FCC Too long cooling time">
    </alarm>
    <alarm majorcode="12" minorcode="35" message="FCC Power failure during cooling">
    </alarm>
    <alarm majorcode="12" minorcode="36" message="FCC Temperature sensor broken">
    </alarm>
    <alarm majorcode="12" minorcode="37" message="FCC Cooling not started within time">
    </alarm>
    <alarm majorcode="12" minorcode="38" message="FCC Agitator not running when expected">
    </alarm>
    <alarm majorcode="12" minorcode="39" message="FCC Too long time no hot cleaning">
    </alarm>
    <alarm majorcode="12" minorcode="40" message="FCC Pickup alarm. Milk suspect. Milk must be checked before pickup">
    </alarm>
    <alarm majorcode="12" minorcode="41" message="FCC Excessive heat of cleaning water">
    </alarm>
    <alarm majorcode="12" minorcode="42" message="FCC Dosing pump feedback failure">
    </alarm>
    <alarm majorcode="12" minorcode="43" message="FCC Low level sensor failure">
    </alarm>
    <alarm majorcode="12" minorcode="44" message="FCC High level sensor failure">
    </alarm>
    <alarm majorcode="12" minorcode="45" message="FCC Heating timeout during cleaning">
    </alarm>
    <alarm majorcode="12" minorcode="46" message="FCC BBB valve failure">
    </alarm>
    <alarm majorcode="12" minorcode="47" message="High level of milk in the tank! Make sure that milk will be collected soon otherwise the tank can overflow">
    </alarm>
    <alarm majorcode="12" minorcode="48" message="GSM configuration error">
    </alarm>
    <alarm majorcode="12" minorcode="49" message="No CANIO connection">
    </alarm>
    <alarm majorcode="12" minorcode="70" message="There is a major alarm on the milk tank">
    </alarm>
    <alarm majorcode="12" minorcode="71" message="There is an alarm on the milk tank">
    </alarm>
    <alarm majorcode="12" minorcode="72" message="There is an electrical fault in the milkroom controller">
    </alarm>
    <alarm majorcode="12" minorcode="73" message="The outlet valve is stuck in open position">
    </alarm>
    <alarm majorcode="12" minorcode="74" message="Power supply problem in the milkroom">
    </alarm>
    <alarm majorcode="12" minorcode="75" message="You have an alarm on the milkroom controller">
    </alarm>
    <alarm majorcode="12" minorcode="76" message="You have a major alarm on the milkroom controller">
    </alarm>
    <alarm majorcode="12" minorcode="77" message="Outletvalve on buffer is not closed">
    </alarm>
    <alarm majorcode="12" minorcode="78" message="There is an alarm from buffer tank">
    </alarm>
    <alarm majorcode="12" minorcode="79" message="Buffer tank is almost full">
    </alarm>
    <alarm majorcode="12" minorcode="80" message="Buffer tank is full">
    </alarm>
    <alarm majorcode="12" minorcode="81" message="Receive all notifications">
    </alarm>
    <alarm majorcode="12" minorcode="82" message="Receive all alarms">
    </alarm>
    <alarm majorcode="12" minorcode="83" message="Warning the tank is almost full">
    </alarm>
    <alarm majorcode="12" minorcode="84" message="Error the tank is full">
    </alarm>
    <alarm majorcode="12" minorcode="85" message="Please move hose to clean position">
    </alarm>
    <alarm majorcode="12" minorcode="86" message="Please move hose to milk position">
    </alarm>
    <alarm majorcode="12" minorcode="87" message="No communication from MRC to tank">
    </alarm>
    <alarm majorcode="12" minorcode="88" message="No communication from MRC to second tank">
    </alarm>
    <alarm majorcode="12" minorcode="89" message="No communication from MRC to Master VMS">
    </alarm>
    <alarm majorcode="12" minorcode="90" message="Air pressure too low in milkroom">
    </alarm>
    <alarm majorcode="12" minorcode="91" message="Milk temperature too low in milkroom">
    </alarm>
    <alarm majorcode="12" minorcode="92" message="Milk temperature too high in milkroom">
    </alarm>
    <alarm majorcode="12" minorcode="93" message="Milkroom cleaner alarm">
    </alarm>
    <alarm majorcode="12" minorcode="94" message="BBB failure ">
    </alarm>
    <alarm majorcode="12" minorcode="95" message="Loop cleaner alarm">
    </alarm>
    <alarm majorcode="12" minorcode="96" message="Warning: Filter change takes too long - forgot to release?">
    </alarm>
    <alarm majorcode="12" minorcode="97" message="Warning: hose change has taken too long - check switch">
    </alarm>
    <alarm majorcode="12" minorcode="98" message="Cannot detect Milk in buffer tank">
    </alarm>
    <alarm majorcode="12" minorcode="99" message="PumpOver motor current sensor is broken">
    </alarm>
    <alarm majorcode="12" minorcode="100" message="Buffer tank should be empty but failing to detect it">
    </alarm>
    <alarm majorcode="12" minorcode="101" message="Truckdriver probably forgot to start a cleaning">
    </alarm>
    <alarm majorcode="12" minorcode="102" message="You have an alarm on the primary tank">
    </alarm>
    <alarm majorcode="12" minorcode="103" message="You have an alarm on the secondary tank/BVV">
    </alarm>
    <alarm majorcode="12" minorcode="255" message="Communication lost with tank">
    </alarm>
    <alarm majorcode="13" minorcode="100" message="VP overheat">
    </alarm>
    <alarm majorcode="13" minorcode="105" message="VP temperature sensor loss">
    </alarm>
    <alarm majorcode="13" minorcode="106" message="VP-B temperature sensor loss">
    </alarm>
    <alarm majorcode="13" minorcode="107" message="VP-C temperature sensor loss">
    </alarm>
    <alarm majorcode="13" minorcode="110" message="VP pump seal temp high (clogged pump)">
    </alarm>
    <alarm majorcode="13" minorcode="115" message="VP maximum number of failed cleanings exceeded">
    </alarm>
    <alarm majorcode="13" minorcode="125" message="VP out of oil">
    </alarm>
    <alarm majorcode="13" minorcode="126" message="VP-B out of oil">
    </alarm>
    <alarm majorcode="13" minorcode="127" message="VP-C out of oil">
    </alarm>
    <alarm majorcode="13" minorcode="150" message="VP general alarm">
    </alarm>
    <alarm majorcode="13" minorcode="200" message="VP pump seal at high temp warning level">
    </alarm>
    <alarm majorcode="13" minorcode="205" message="VP vacuum over the setpoint">
    </alarm>
    <alarm majorcode="13" minorcode="210" message="VP MVR or system leakage fault">
    </alarm>
    <alarm majorcode="13" minorcode="215" message="VP no cleaning">
    </alarm>
    <alarm majorcode="13" minorcode="220" message="VP cleaning temperature problem">
    </alarm>
    <alarm majorcode="13" minorcode="225" message="VP no cooling">
    </alarm>
    <alarm majorcode="13" minorcode="230" message="VP cooling temperature problem">
    </alarm>
    <alarm majorcode="13" minorcode="235" message="VP cooling too often">
    </alarm>
    <alarm majorcode="13" minorcode="236" message="CheckPumpA">
    </alarm>
    <alarm majorcode="13" minorcode="237" message="CheckPumpB">
    </alarm>
    <alarm majorcode="13" minorcode="238" message="CheckPumpC">
    </alarm>
    <alarm majorcode="13" minorcode="239" message="Vacuum sensor signal out of range">
    </alarm>
    <alarm majorcode="13" minorcode="240" message="VP no vacuum on high speed">
    </alarm>
    <alarm majorcode="13" minorcode="245" message="VP low oil level">
    </alarm>
    <alarm majorcode="13" minorcode="246" message="VP-B low oil level">
    </alarm>
    <alarm majorcode="13" minorcode="247" message="VP-C low oil level">
    </alarm>
    <alarm majorcode="13" minorcode="250" message="VP time for major service">
    </alarm>
    <alarm majorcode="13" minorcode="251" message="VP time for minor service">
    </alarm>
    <alarm majorcode="15" minorcode="302" message="No detergent pumps are configured in the VC. {devicename}">
    </alarm>
    <alarm majorcode="15" minorcode="307" message="Water is not available for teat cleaning. {devicename}">
    </alarm>
    <alarm majorcode="15" minorcode="309" message="Failed to prepare cleaning. {devicename}">
    </alarm>
    <alarm majorcode="15" minorcode="310" message="Failed to run cleaning. {devicename}">
    </alarm>
    <alarm majorcode="15" minorcode="311" message="Failed to run backflush. {devicename}">
    </alarm>
    <alarm majorcode="15" minorcode="313" message="Failed to run drain teat cleaning. {devicename}">
    </alarm>
    <alarm majorcode="15" minorcode="317" message="Teat cleaner tank is full. {devicename}">
    </alarm>
    <alarm majorcode="15" minorcode="318" message="Too low teat cleaning temperature: {SupportingData1} ({SupportingData2}-{SupportingData3}). {devicename}">
    </alarm>
    <alarm majorcode="15" minorcode="321" message="Too high teat cleaning temperature: {SupportingData1} ({SupportingData2}-{SupportingData3}). {devicename}">
    </alarm>
    <alarm majorcode="15" minorcode="322" message="Possible hardware error during backflush. Do NOT continue milking until a successful backflush has been performed!. {devicename}">
    </alarm>
    <alarm majorcode="15" minorcode="401" message="No vacuum, no sense to start cleaning. {devicename}">
    </alarm>
    <alarm majorcode="15" minorcode="402" message="Teat cup {SupportingData1} is not on its jetter. {devicename}">
    </alarm>
    <alarm majorcode="15" minorcode="403" message="Impossible to get water from the trough, cleaning cycle {SupportingData1}. {devicename}">
    </alarm>
    <alarm majorcode="15" minorcode="404" message="Could not empty trough. {devicename}">
    </alarm>
    <alarm majorcode="15" minorcode="405" message="Cannot empty receiver, cleaning cycle {SupportingData1}. {devicename}">
    </alarm>
    <alarm majorcode="15" minorcode="406" message="Could not empty receiver. {devicename}">
    </alarm>
    <alarm majorcode="15" minorcode="407" message="No water entering the trough. {devicename}">
    </alarm>
    <alarm majorcode="15" minorcode="408" message="No water entering the receiver cleaning cycle {SupportingData1}, cause # {SupportingData2}. {devicename}">
    </alarm>
    <alarm majorcode="15" minorcode="409" message="Program was aborted by incident {SupportingData1}. {devicename}">
    </alarm>
    <alarm majorcode="15" minorcode="410" message="Teat prep cleaning circuit not rinsed, washtrough not filled. {devicename}">
    </alarm>
    <alarm majorcode="15" minorcode="412" message="Milk valves: V{SupportingData1} in wrong position. Valve was set to {SupportingData2}, sensor returned: {SupportingData3}. {devicename}">
    </alarm>
    <alarm majorcode="15" minorcode="413" message="Circulation did not start on temperature. {devicename}">
    </alarm>
    <alarm majorcode="15" minorcode="414" message="Final return temperature circulation: {SupportingData1}, was too low. {devicename}">
      <property id="SupportingData1" unit="celsius"/>
    </alarm>
    <alarm majorcode="15" minorcode="415" message="No water leaving the trough. {devicename}">
    </alarm>
    <alarm majorcode="15" minorcode="416" message="Final temperature pre-rinse: {SupportingData1}, was too high. {devicename}">
      <property id="SupportingData1" unit="celsius"/>
    </alarm>
    <alarm majorcode="15" minorcode="417" message="Circulation did not start. Minimum circulation water volume not reached. {devicename}">
    </alarm>
    <alarm majorcode="15" minorcode="418" message="Bleed or block valve V{SupportingData1} sensor not working. {devicename}">
    </alarm>
    <alarm majorcode="15" minorcode="419" message="Teat cup {SupportingData1} is not on its jetter. {devicename}">
    </alarm>
    <alarm majorcode="15" minorcode="420" message="Teat cup {SupportingData1} is not on its jetter. {devicename}">
    </alarm>
    <alarm majorcode="15" minorcode="421" message="No vacuum, no sense to start cleaning. {devicename}">
    </alarm>
    <alarm majorcode="15" minorcode="422" message="Cleaning valve V{SupportingData1} sensor value is: {SupportingData2} shall be: {SupportingData3}. {devicename}">
    </alarm>
    <alarm majorcode="15" minorcode="423" message="No water entering the trough, cleaning cycle {SupportingData1}. {devicename}">
    </alarm>
    <alarm majorcode="15" minorcode="424" message="No water coming through the receiver sprayer, cleaning cycle {SupportingData1}. {devicename}">
    </alarm>
    <alarm majorcode="15" minorcode="425" message="Start temperature cleaning cycle {SupportingData1}: {SupportingData2}, was too low. {devicename}">
      <property id="SupportingData2" unit="celsius"/>
    </alarm>
    <alarm majorcode="15" minorcode="426" message="Leakage on teat cleaner wash circuit. {devicename}">
    </alarm>
    <alarm majorcode="15" minorcode="427" message="Large leakage on teat cleaner wash circuit. {devicename}">
    </alarm>
    <alarm majorcode="15" minorcode="428" message="The cleaning quality figure: {SupportingData1}. {devicename}">
    </alarm>
    <alarm majorcode="15" minorcode="429" message="Check water flow rate: {SupportingData1} l/min, it is too low. Check water supply. {devicename}">
    </alarm>
    <alarm majorcode="15" minorcode="430" message="Air inlet valve (V1544) is not opened, test vacuum level: {SupportingData1}. {devicename}">
      <property id="SupportingData1" unit="kPa"/>
    </alarm>
    <alarm majorcode="15" minorcode="431" message="Acid detergent dosing is not calibrated. {devicename}">
    </alarm>
    <alarm majorcode="15" minorcode="432" message="Alkali detergent dosing is not calibrated. {devicename}">
    </alarm>
    <alarm majorcode="15" minorcode="433" message="Chlorine dosing is not calibrated. {devicename}">
    </alarm>
    <alarm majorcode="15" minorcode="434" message="Enzyme detergent dosing is not calibrated. {devicename}">
    </alarm>
    <alarm majorcode="15" minorcode="435" message="Disinfectant dosing is not calibrated. {devicename}">
    </alarm>
    <alarm majorcode="15" minorcode="441" message="Out of acid detergent. {devicename}">
    </alarm>
    <alarm majorcode="15" minorcode="442" message="Out of alkali detergent. {devicename}">
    </alarm>
    <alarm majorcode="15" minorcode="443" message="Out of chlorine. {devicename}">
    </alarm>
    <alarm majorcode="15" minorcode="444" message="Out of enzyme detergent. {devicename}">
    </alarm>
    <alarm majorcode="15" minorcode="445" message="Out of disinfectant. {devicename}">
    </alarm>
    <alarm majorcode="15" minorcode="461" message="Not enough acid detergent dispensed. {devicename}">
    </alarm>
    <alarm majorcode="15" minorcode="462" message="Not enough alkali detergent dispensed. {devicename}">
    </alarm>
    <alarm majorcode="15" minorcode="463" message="Not enough chlorine dispensed. {devicename}">
    </alarm>
    <alarm majorcode="15" minorcode="464" message="Not enough enzyme detergent dispensed. {devicename}">
    </alarm>
    <alarm majorcode="15" minorcode="465" message="Not enough disinfectant dispensed. {devicename}">
    </alarm>
    <alarm majorcode="15" minorcode="471" message="Acid detergent is not assigned to a detergent pump. {devicename}">
    </alarm>
    <alarm majorcode="15" minorcode="472" message="Alkali detergent is not assigned to a detergent pump. {devicename}">
    </alarm>
    <alarm majorcode="15" minorcode="473" message="Chlorine is not assigned to a detergent pump. {devicename}">
    </alarm>
    <alarm majorcode="15" minorcode="474" message="Enzyme detergent is not assigned to a detergent pump. {devicename}">
    </alarm>
    <alarm majorcode="15" minorcode="475" message="Disinfectant is not assigned to a detergent pump. {devicename}">
    </alarm>
    <alarm majorcode="15" minorcode="481" message="Detergent sensor error. No detergents dosed.. {devicename}">
    </alarm>
    <alarm majorcode="15" minorcode="482" message="Detergent sensor is disabled, but reports flow. {devicename}">
    </alarm>
    <alarm majorcode="15" minorcode="483" message="Detergent valves are closed, but sensor reports flow. Stop milking! The leakage can harm the teats of the cows. Contact your service technician.. {devicename}">
    </alarm>
    <alarm majorcode="15" minorcode="484" message="Only one detergent per cleaning program block is supported. {devicename}">
    </alarm>
    <alarm majorcode="15" minorcode="485" message="Detergent dosing not requested. No detergent dosed.. {devicename}">
    </alarm>
    <alarm majorcode="15" minorcode="486" message="Reminder. Detergent sensor is disabled.. {devicename}">
    </alarm>
    <alarm majorcode="15" minorcode="490" message="TC circulation pump is not working, cleaning cycle {SupportingData1}. {devicename}">
    </alarm>
    <alarm majorcode="15" minorcode="491" message="Air inlet cleaning does not work properly, cleaning cycle {SupportingData1}. {devicename}">
    </alarm>
    <alarm majorcode="15" minorcode="492" message="Teat prep circuit did not get water filled signal. {devicename}">
    </alarm>
    <alarm majorcode="15" minorcode="493" message="Teat prep circuit did not get water filled signal. {devicename}">
    </alarm>
    <alarm majorcode="15" minorcode="494" message="TC waste water tank not sensed empty. {devicename}">
    </alarm>
    <alarm majorcode="15" minorcode="495" message="TC waste water tank not sensed empty. {devicename}">
    </alarm>
    <alarm majorcode="15" minorcode="496" message="Divert unit went to bucket position. {devicename}">
    </alarm>
    <alarm majorcode="15" minorcode="497" message="Start temperature cleaning cycle {SupportingData1}: {SupportingData2}. {devicename}">
      <property id="SupportingData2" unit="celsius"/>
    </alarm>
    <alarm majorcode="15" minorcode="498" message="Return temperature cleaning cycle {SupportingData1} too low: {SupportingData2}, due to low start temperature: {SupportingData3}. {devicename}">
      <property id="SupportingData2" unit="celsius"/>
      <property id="SupportingData3" unit="celsius"/>
    </alarm>
    <alarm majorcode="15" minorcode="499" message="Detergent valve unit is not rinsed between detergent types; cause = {SupportingData1}, cycle nr: {SupportingData2}. {devicename}">
    </alarm>
    <alarm majorcode="15" minorcode="500" message="Tank valve error. MRC answer is {SupportingData1} should be {SupportingData2}. {devicename}">
    </alarm>
    <alarm majorcode="15" minorcode="501" message="Level sensors shows negative value: {SupportingData1} cm. {devicename}">
    </alarm>
    <alarm majorcode="15" minorcode="502" message="Drain failed water left in milking equipment. {devicename}">
    </alarm>
    <alarm majorcode="15" minorcode="503" message="Too low vacuum before teat cleaning. {devicename}">
    </alarm>
    <alarm majorcode="15" minorcode="504" message="Leakage on teat cleaner wash circuit. {devicename}">
    </alarm>
    <alarm majorcode="15" minorcode="506" message="Cleaning was good, quality figure: {SupportingData1}. {devicename}">
    </alarm>
    <alarm majorcode="15" minorcode="507" message="Teat prep cleaning circuit not rinsed, waste water tank not filled. {devicename}">
    </alarm>
    <alarm majorcode="15" minorcode="508" message="Milk-valve does not react on cleaning command. {devicename}">
    </alarm>
    <alarm majorcode="15" minorcode="509" message="Tank valve was suddenly closed. {devicename}">
    </alarm>
    <alarm majorcode="16" minorcode="108" message="XMS: Invalid milk sampler parameters. {devicename}">
    </alarm>
    <alarm majorcode="16" minorcode="120" message="OCC: Too high pressure. {devicename}">
    </alarm>
    <alarm majorcode="16" minorcode="121" message="OCC: Too low pressure. {devicename}">
    </alarm>
    <alarm majorcode="16" minorcode="122" message="OCC: Time out due to bus communication problem. {devicename}">
    </alarm>
    <alarm majorcode="16" minorcode="123" message="OCC: Too low temperature. {devicename}">
    </alarm>
    <alarm majorcode="16" minorcode="124" message="OCC: Liquid leakage in cabinet. {devicename}">
    </alarm>
    <alarm majorcode="16" minorcode="125" message="OCC: The waste container is full. {devicename}">
    </alarm>
    <alarm majorcode="16" minorcode="126" message="OCC: Pressure sensor broken or leakage/blockage in some hoses. {devicename}">
    </alarm>
    <alarm majorcode="16" minorcode="127" message="OCC: The cuvette is dirty. {devicename}">
    </alarm>
    <alarm majorcode="16" minorcode="128" message="OCC: Out of reagent or leakage/blockage in hoses or valve failure. {devicename}">
    </alarm>
    <alarm majorcode="16" minorcode="129" message="OCC: Out of hypochlorite or leakage/blockage in hose or valve failure. {devicename}">
    </alarm>
    <alarm majorcode="16" minorcode="130" message="OCC: No water in funnel or leakage/blockage in hose or valve failure. {devicename}">
    </alarm>
    <alarm majorcode="16" minorcode="131" message="OCC: No milk in funnel or leakage/blockage in hose or valve failure. {devicename}">
    </alarm>
    <alarm majorcode="16" minorcode="132" message="OCC: No answer from the OCC. {devicename}">
    </alarm>
    <alarm majorcode="16" minorcode="133" message="OCC: The OCC cant count the cells, some parameter setting is wrong. {devicename}">
    </alarm>
    <alarm majorcode="16" minorcode="134" message="OCC: Cant clean the cuvette, its too dirty. {devicename}">
    </alarm>
    <alarm majorcode="16" minorcode="135" message="OCC: Can't recover, service needed. {devicename}">
    </alarm>
    <alarm majorcode="16" minorcode="136" message="OCC: Can't get milk into the funnel. {devicename}">
    </alarm>
    <alarm majorcode="16" minorcode="138" message="OCC: The funnel is not empty. {devicename}">
    </alarm>
    <alarm majorcode="16" minorcode="139" message="OCC: Error write to flash. {devicename}">
    </alarm>
    <alarm majorcode="16" minorcode="140" message="OCC: Error read from flash. {devicename}">
    </alarm>
    <alarm majorcode="16" minorcode="141" message="OCC: The funnel is clogged. {devicename}">
    </alarm>
    <alarm majorcode="16" minorcode="142" message="OCC: Several missing answers. {devicename}">
    </alarm>
    <alarm majorcode="16" minorcode="143" message="OCC: Pressure sensor broken. {devicename}">
    </alarm>
    <alarm majorcode="16" minorcode="144" message="OCC: Syringe leakage at over pressure. {devicename}">
    </alarm>
    <alarm majorcode="16" minorcode="145" message="OCC: Syringe leakage at under pressure. {devicename}">
    </alarm>
    <alarm majorcode="16" minorcode="146" message="OCC: Too low pressure in the hypochlorite tube. {devicename}">
    </alarm>
    <alarm majorcode="16" minorcode="147" message="OCC: Too low pressure in the air tube. {devicename}">
    </alarm>
    <alarm majorcode="16" minorcode="148" message="OCC: Too low pressure in the milk tube. {devicename}">
    </alarm>
    <alarm majorcode="16" minorcode="149" message="OCC: Too low pressure in the reagents tube. {devicename}">
    </alarm>
    <alarm majorcode="16" minorcode="150" message="OCC: Too high pressure in the cuvette tube to drain. {devicename}">
    </alarm>
    <alarm majorcode="16" minorcode="151" message="OCC: Too high pressure in the cuvette tube to waste container. {devicename}">
    </alarm>
    <alarm majorcode="16" minorcode="152" message="OCC: Too high pressure in the milk tube. {devicename}">
    </alarm>
    <alarm majorcode="16" minorcode="153" message="OCC: Too high pressure in the hypochlorite tube. {devicename}">
    </alarm>
    <alarm majorcode="16" minorcode="154" message="OCC: The waste container is almost full. {devicename}">
    </alarm>
    <alarm majorcode="16" minorcode="200" message="MSD: BBB valve ({SupportingData1}) in wrong position. {devicename}">
    </alarm>
    <alarm majorcode="16" minorcode="201" message="MSD: BBB valve ({SupportingData1}) in wrong position after MSD-BBB selftest. {devicename}">
    </alarm>
    <alarm majorcode="17" minorcode="100" message="System Vacuum Level is not properly configured. Using default: {SupportingData1}. {devicename}">
      <property id="SupportingData1" unit="kPa"/>
    </alarm>
    <alarm majorcode="17" minorcode="101" message="Very high vacuum level during milking. Highest: {SupportingData1}, limit: {SupportingData2}. {devicename}">
      <property id="SupportingData1" unit="kPa"/>
      <property id="SupportingData2" unit="kPa"/>
    </alarm>
    <alarm majorcode="17" minorcode="102" message="Very low vacuum level during milking. Lowest: {SupportingData1}, limit: {SupportingData2}. {devicename}">
      <property id="SupportingData1" unit="kPa"/>
      <property id="SupportingData2" unit="kPa"/>
    </alarm>
    <alarm majorcode="17" minorcode="103" message="High vacuum level during milking. limit: {SupportingData1}. {devicename}">
      <property id="SupportingData1" unit="kPa"/>
    </alarm>
    <alarm majorcode="17" minorcode="104" message="Low vacuum level during milking. limit: {SupportingData1}. {devicename}">
      <property id="SupportingData1" unit="kPa"/>
    </alarm>
    <alarm majorcode="17" minorcode="105" message="Vacuum level has drifted too high. System Vacuum Level: {SupportingData1}. {devicename}">
      <property id="SupportingData1" unit="kPa"/>
    </alarm>
    <alarm majorcode="17" minorcode="106" message="Vacuum level has drifted loo low. System Vacuum Level: {SupportingData1}. {devicename}">
      <property id="SupportingData1" unit="kPa"/>
    </alarm>
    <alarm majorcode="17" minorcode="107" message="High vacuum level. Current: {SupportingData1}, limit: {SupportingData2} {devicename}">
      <property id="SupportingData1" unit="kPa"/>
      <property id="SupportingData2" unit="kPa"/>
    </alarm>
    <alarm majorcode="17" minorcode="108" message="Low vacuum level. Current: {SupportingData1}, limit: {SupportingData2} {devicename}">
      <property id="SupportingData1" unit="kPa"/>
      <property id="SupportingData2" unit="kPa"/>
    </alarm>
    <alarm majorcode="17" minorcode="109" message="Too low teat cleaning vacuum {devicename}">
    </alarm>
    <alarm majorcode="17" minorcode="110" message="Too high vacuum in teat cup {SupportingData1} during milking {devicename}">
    </alarm>
    <alarm majorcode="17" minorcode="111" message="Too low vacuum in teat cup {SupportingData1} during milking {devicename}">
    </alarm>
    <alarm majorcode="17" minorcode="113" message="Teat cleaner tank vacuum sensor not calibrated {devicename}">
    </alarm>
    <alarm majorcode="17" minorcode="114" message="Teat cleaner tank vacuum too high during teat cleaning {devicename}">
    </alarm>
    <alarm majorcode="17" minorcode="115" message="Teat cleaner tank vacuum too low during teat cleaning {devicename}">
    </alarm>
    <alarm majorcode="17" minorcode="116" message="No vacuum in teat cleaner tank detected {devicename}">
    </alarm>
    <alarm majorcode="17" minorcode="117" message="Too high vacuum control output signal. Cup {SupportingData1} {devicename}">
    </alarm>
    <alarm majorcode="17" minorcode="118" message="Bad io status on teat cleaning tank vacuum sensor {SupportingData1} {devicename}">
    </alarm>
    <alarm majorcode="17" minorcode="119" message="Bad io status on teat cleaning tank vacuum actuator {SupportingData1} {devicename}">
    </alarm>
    <alarm majorcode="17" minorcode="120" message="Too high vacuum response during air inlet check. Cup {SupportingData1} {devicename}">
    </alarm>
    <alarm majorcode="17" minorcode="121" message="Bad teat cup {SupportingData1} vacuum sensor {devicename}">
    </alarm>
    <alarm majorcode="17" minorcode="122" message="Teat cup {SupportingData1} vacuum sensor not calibrated {devicename}">
    </alarm>
    <alarm majorcode="17" minorcode="125" message="Foregin object stuck in milk meter or shut-off valve cup {SupportingData1} blocking vacuum {devicename}">
    </alarm>
    <alarm majorcode="17" minorcode="126" message="Foregin object stuck in shut-off valve cup {SupportingData1} preventing the valve from closing {devicename}">
    </alarm>
    <alarm majorcode="17" minorcode="127" message="The air inlet calibration is not OK {devicename}">
    </alarm>
    <alarm majorcode="17" minorcode="128" message="Too low vacuum response during air inlet check. Cup {SupportingData1} {devicename}">
    </alarm>
    <alarm majorcode="17" minorcode="701" message="I/O {SupportingData1} error status {SupportingData2} ({SupportingData3}). {devicename}">
    </alarm>
    <alarm majorcode="17" minorcode="1801" message="Problem with water supply. No teat cleaning or backflush will be performed.. {devicename}">
    </alarm>
    <alarm majorcode="17" minorcode="1802" message="Water taps has been on too long. {devicename}">
    </alarm>
    <alarm majorcode="17" minorcode="1804" message="Trough level is unknown. {devicename}">
    </alarm>
    <alarm majorcode="17" minorcode="1805" message="Could not drain trough. {devicename}">
    </alarm>
    <alarm majorcode="17" minorcode="1806" message="Failed to prime water. {devicename}">
    </alarm>
    <alarm majorcode="17" minorcode="1807" message="Unexpected water flow detected. {devicename}">
    </alarm>
    <alarm majorcode="18" minorcode="101" message="Unused spare field: A{SupportingData1}">
    </alarm>
    <alarm majorcode="18" minorcode="102" message="Unused spare A{SupportingData1} bit {SupportingData2}">
    </alarm>
    <alarm majorcode="18" minorcode="103" message="Unused spare A{SupportingData1} bits {SupportingData2}-{SupportingData3}">
    </alarm>
    <alarm majorcode="18" minorcode="104" message="Unused spare field B{SupportingData1}">
    </alarm>
    <alarm majorcode="18" minorcode="105" message="Unused spare field C{SupportingData1}">
    </alarm>
    <alarm majorcode="48" minorcode="1" message="An unforeseen software issue has occurred and a Stop alarm has been generated for safety. Error code:{SupportingData1}. {devicename}">
    </alarm>
    <alarm majorcode="48" minorcode="3" message="No scheduled cleaning will be performed. {devicename}">
    </alarm>
    <alarm majorcode="48" minorcode="4" message="A scheduled cleaning was not performed. {devicename}">
    </alarm>
    <alarm majorcode="48" minorcode="10" message="The program found an error. Error code:{SupportingData1}. {devicename}">
    </alarm>
    <alarm majorcode="48" minorcode="101" message="The block valve (V4514) is out of position. {devicename}">
    </alarm>
    <alarm majorcode="48" minorcode="102" message="Filter valves (V4101 or V4102) are closed. {devicename}">
    </alarm>
    <alarm majorcode="48" minorcode="103" message="The bleed valve (V4516) is out of position. {devicename}">
    </alarm>
    <alarm majorcode="48" minorcode="104" message="MotorGuard, Motor protection cut power. {devicename}">
    </alarm>
    <alarm majorcode="48" minorcode="105" message="There seems to be not enough water dosed for cycle: {SupportingData1}. {devicename}">
    </alarm>
    <alarm majorcode="48" minorcode="106" message="Too low detergent dosing capacity. Pump pulse is: {SupportingData1} ms, compared 2 ltr water: {SupportingData2} ms, for pump #{SupportingData3} Risk of high bacterial counts. {devicename}">
    </alarm>
    <alarm majorcode="48" minorcode="107" message="Too much cleaning water used. {devicename}">
    </alarm>
    <alarm majorcode="48" minorcode="108" message="No water flow detected. {devicename}">
    </alarm>
    <alarm majorcode="48" minorcode="109" message="Water level error. {devicename}">
    </alarm>
    <alarm majorcode="48" minorcode="110" message="CIP Pump not working, flow {SupportingData1} l/min. {devicename}">
    </alarm>
    <alarm majorcode="48" minorcode="111" message="The trough does not drain. {devicename}">
    </alarm>
    <alarm majorcode="48" minorcode="112" message="Water residue; {SupportingData1} mm. {devicename}">
    </alarm>
    <alarm majorcode="48" minorcode="113" message="Water residue in trough; {SupportingData1} mm. Check level sensor. {devicename}">
    </alarm>
    <alarm majorcode="48" minorcode="114" message="Error with detergent dosing module for pump #{SupportingData1} in cycle #{SupportingData2}. {devicename}">
    </alarm>
    <alarm majorcode="48" minorcode="115" message="Failed milking transport. {devicename}">
    </alarm>
    <alarm majorcode="48" minorcode="116" message="Failed cleaning. {devicename}">
    </alarm>
    <alarm majorcode="48" minorcode="117" message="Cleaning program not completed. {devicename}">
    </alarm>
    <alarm majorcode="48" minorcode="122" message="Waiting for reset cleaning signal. {devicename}">
    </alarm>
    <alarm majorcode="48" minorcode="124" message="Milk Transport Cleaner application stopped. {devicename}">
    </alarm>
    <alarm majorcode="48" minorcode="125" message="Water flow too low; check water pressure. {devicename}">
    </alarm>
    <alarm majorcode="48" minorcode="126" message="The operator wants to stop the process. {devicename}">
    </alarm>
    <alarm majorcode="48" minorcode="127" message="Water did not reach {SupportingData1} temperature in time, is at {SupportingData2}. {devicename}">
      <property id="SupportingData1" unit="celsius"/>
      <property id="SupportingData2" unit="celsius"/>
    </alarm>
    <alarm majorcode="48" minorcode="128" message="The diverter valve (V4625) is left open in drain position. {devicename}">
    </alarm>
    <alarm majorcode="48" minorcode="129" message="Return temperature too low: {SupportingData1}. {devicename}">
      <property id="SupportingData1" unit="celsius"/>
    </alarm>
    <alarm majorcode="48" minorcode="130" message="Pump #{SupportingData1} did not make full stroke. {devicename}">
    </alarm>
    <alarm majorcode="48" minorcode="131" message="The transport system does not accept milk.. {devicename}">
    </alarm>
    <alarm majorcode="48" minorcode="132" message="Too long time since last cleaning. {devicename}">
    </alarm>
    <alarm majorcode="48" minorcode="133" message="Too low pre-rinse {SupportingData1} temperature {SupportingData2}. {devicename}">
      <property id="SupportingData2" unit="celsius"/>
    </alarm>
    <alarm majorcode="48" minorcode="134" message="The interloop milk valve (V4519) is out of position. {devicename}">
    </alarm>
    <alarm majorcode="48" minorcode="135" message="The interloop clean valve (V4521) is out of position. {devicename}">
    </alarm>
    <alarm majorcode="48" minorcode="136" message="The remote cleaning valve (V4551) is out of position. {devicename}">
    </alarm>
    <alarm majorcode="48" minorcode="137" message="The low point drain valve (V4537) is out of position sensor C{SupportingData1}. {devicename}">
    </alarm>
    <alarm majorcode="48" minorcode="138" message="Tank valve not in required position: {SupportingData1}, answered with: {SupportingData2}. {devicename}">
    </alarm>
    <alarm majorcode="48" minorcode="139" message="Too high pre-rinse {SupportingData1} temperature {SupportingData2}. {devicename}">
      <property id="SupportingData2" unit="celsius"/>
    </alarm>
    <alarm majorcode="48" minorcode="140" message="Too high after-rinse {SupportingData1} temperature {SupportingData2}. {devicename}">
      <property id="SupportingData2" unit="celsius"/>
    </alarm>
    <alarm majorcode="48" minorcode="141" message="MotorGuard, Motor protection cut power. {devicename}">
    </alarm>
    <alarm majorcode="48" minorcode="142" message="Milk to tank {SupportingData1}. {devicename}">
    </alarm>
    <alarm majorcode="48" minorcode="143" message="Transport loop is cleaning. {devicename}">
    </alarm>
    <alarm majorcode="48" minorcode="144" message="Request for service. {devicename}">
    </alarm>
    <alarm majorcode="48" minorcode="145" message="Paused for service. {devicename}">
    </alarm>
    <alarm majorcode="48" minorcode="146" message="Service is done. {devicename}">
    </alarm>
    <alarm majorcode="48" minorcode="147" message="Service is skipped. {devicename}">
    </alarm>
    <alarm majorcode="48" minorcode="148" message="Diverter valve (V4625) did not switch to circulation. {devicename}">
    </alarm>
    <alarm majorcode="48" minorcode="149" message="Purge did not remove cleaning water. {devicename}">
    </alarm>
    <alarm majorcode="48" minorcode="150" message="Water flow is out of sensor range. Too high or too low value. {devicename}">
    </alarm>
    <alarm majorcode="48" minorcode="152" message="Alkaline low or empty. {devicename}">
    </alarm>
    <alarm majorcode="48" minorcode="153" message="Acid low or empty. {devicename}">
    </alarm>
    <alarm majorcode="48" minorcode="154" message="Disinfectant low or empty. {devicename}">
    </alarm>
    <alarm majorcode="48" minorcode="155" message="Pre-rinse {SupportingData1} water: was too hot: {SupportingData2}.. {devicename}">
      <property id="SupportingData2" unit="celsius"/>
    </alarm>
    <alarm majorcode="48" minorcode="156" message="Pause switch or signal still on. {devicename}">
    </alarm>
    <alarm majorcode="48" minorcode="157" message="Diverter valve (V4625) is out of position. {devicename}">
    </alarm>
    <alarm majorcode="48" minorcode="158" message="Detergent Valve #{SupportingData1} is out of position. {devicename}">
    </alarm>
    <alarm majorcode="48" minorcode="159" message="Purge Block Valve is out of position. {devicename}">
    </alarm>
    <alarm majorcode="48" minorcode="160" message="Cold water valve (V4617) is out of position. {devicename}">
    </alarm>
    <alarm majorcode="48" minorcode="161" message="Hot water valve (V4618) is out of position. {devicename}">
    </alarm>
    <alarm majorcode="48" minorcode="163" message="Missed stroke, detergent pump #{SupportingData1}. {devicename}">
    </alarm>
    <alarm majorcode="48" minorcode="164" message="No water coming into the trough. {devicename}">
    </alarm>
    <alarm majorcode="48" minorcode="165" message="Cleaning can be started. {devicename}">
    </alarm>
    <alarm majorcode="48" minorcode="166" message="Cleaning is ready. {devicename}">
    </alarm>
    <alarm majorcode="48" minorcode="167" message="Tank connection pipe in wrong position. {devicename}">
    </alarm>
    <alarm majorcode="48" minorcode="168" message="Stop milk transport valve out of position. {devicename}">
    </alarm>
    <alarm majorcode="48" minorcode="169" message="The water volume in cycle {SupportingData1} is estimated to {SupportingData2} l. {devicename}">
    </alarm>
    <alarm majorcode="48" minorcode="170" message="Loop does not send keep alive. {devicename}">
    </alarm>
    <alarm majorcode="48" minorcode="172" message="CIP pump may cavitate, flow {SupportingData1} l/min. {devicename}">
    </alarm>
    <alarm majorcode="48" minorcode="173" message="The level sensor senses a too high increase: {SupportingData1} mm/sec. {devicename}">
    </alarm>
    <alarm majorcode="48" minorcode="174" message="Level sensor shows negative value: {SupportingData1} mm. {devicename}">
    </alarm>
    <alarm majorcode="48" minorcode="175" message="Problem with both flow and level sensor. {devicename}">
    </alarm>
    <alarm majorcode="48" minorcode="176" message="A remote low point drain valve is out of position: at valve group {SupportingData1} sensor C{SupportingData2}. {devicename}">
    </alarm>
    <alarm majorcode="48" minorcode="177" message="Several valves give out of position alarm. {devicename}">
    </alarm>
    <alarm majorcode="48" minorcode="178" message="The cleaning return valve (V4526) is out of position. {devicename}">
    </alarm>
    <alarm majorcode="48" minorcode="179" message="The temperature sensor S{SupportingData1} is out of range, it reads {SupportingData2}. {devicename}">
      <property id="SupportingData2" unit="celsius"/>
    </alarm>
    <alarm majorcode="48" minorcode="180" message="The tank valve bleed/drain (S4245) is in wrong position. {devicename}">
    </alarm>
    <alarm majorcode="48" minorcode="181" message="The loop is forced to release the cleaner. {devicename}">
    </alarm>
    <alarm majorcode="48" minorcode="182" message="Push the QLoop ({SupportingData1}) Acknowledge button. {devicename}">
    </alarm>
    <alarm majorcode="48" minorcode="183" message="Rinse failed. Next rinse will only purge. WARNING! Risk of milk contamination in the tank. Please, contact the serviceman. {devicename}">
    </alarm>
    <alarm majorcode="48" minorcode="184" message="The QCleaner drain valve (V4627) is out of position. {devicename}">
    </alarm>
    <alarm majorcode="48" minorcode="185" message="The water-flow has a bias {SupportingData1}%, during cycle {SupportingData2}. {devicename}">
    </alarm>
    <alarm majorcode="48" minorcode="186" message="The Detergent pump pick-up gave an unexpected signal. {devicename}">
    </alarm>
    <alarm majorcode="48" minorcode="187" message="The circulation cleaning is stopped due to too much water loss, leak flow-rate: {SupportingData1} l/min. {devicename}">
    </alarm>
    <alarm majorcode="48" minorcode="188" message="Cleaning connection valves not closed on previous cleaned QLoop ({SupportingData1}). {devicename}">
    </alarm>
    <alarm majorcode="48" minorcode="189" message="Milking stations are not prepared for cleaning. {devicename}">
    </alarm>
    <alarm majorcode="48" minorcode="190" message="Started milk transport when not all milking stations have finished cleaning. {devicename}">
    </alarm>
    <alarm majorcode="48" minorcode="191" message="Valve V{SupportingData1} opened uncontrolled possible due to water hammer. {devicename}">
    </alarm>
    <alarm majorcode="48" minorcode="192" message="The tank valve drain valve sensor (S4245) does not answer. {devicename}">
    </alarm>
    <alarm majorcode="48" minorcode="193" message="Purge valve (V4518) is out of position. {devicename}">
    </alarm>
    <alarm majorcode="48" minorcode="199" message="Manual cleaning did not start as the cleaner unit is busy. {devicename}">
    </alarm>
    <alarm majorcode="48" minorcode="200" message="Manual cleaning did not start due to an error. {devicename}">
    </alarm>
    <alarm majorcode="48" minorcode="201" message="Failed to send milk yield report. {devicename}">
    </alarm>
    <alarm majorcode="48" minorcode="202" message="Yield report is missing from {SupportingData6}. {devicename}">
    </alarm>
    <alarm majorcode="48" minorcode="203" message="No contact with MRC. {devicename}">
    </alarm>
    <alarm majorcode="48" minorcode="300" message="Spare field #{SupportingData1} has an unsupported value: {SupportingData2}. Please set it to an acceptable value. {devicename}">
    </alarm>
    <alarm majorcode="1" minorcode="0" message="OK">
    </alarm>
    <alarm majorcode="1" minorcode="1" message="Robot connected">
    </alarm>
    <alarm majorcode="1" minorcode="2" message="Milking connected">
    </alarm>
    <alarm majorcode="1" minorcode="3" message="Cowtraffic connected">
    </alarm>
    <alarm majorcode="1" minorcode="4" message="Milktransport connected">
    </alarm>
    <alarm majorcode="1" minorcode="5" message="Vmsioman connected">
    </alarm>
    <alarm majorcode="1" minorcode="7" message="Time for rinse">
    </alarm>
    <alarm majorcode="1" minorcode="8" message="Time for scheduled wash">
    </alarm>
    <alarm majorcode="1" minorcode="9" message="Recovery done OK">
    </alarm>
    <alarm majorcode="1" minorcode="10" message="Gate ctrl connected">
    </alarm>
    <alarm majorcode="1" minorcode="11" message="Got configuration">
    </alarm>
    <alarm majorcode="1" minorcode="12" message="Parking cups">
    </alarm>
    <alarm majorcode="1" minorcode="13" message="Activating cups">
    </alarm>
    <alarm majorcode="1" minorcode="14" message="Diagnose connected">
    </alarm>
    <alarm majorcode="1" minorcode="16" message="Autocalibration done OK">
    </alarm>
    <alarm majorcode="1" minorcode="17" message="Feed station alarm cleared">
    </alarm>
    <alarm majorcode="1" minorcode="100" message="Robot disconnected">
    </alarm>
    <alarm majorcode="1" minorcode="101" message="Milking disconnected">
    </alarm>
    <alarm majorcode="1" minorcode="102" message="Cowtraffic disconnected">
    </alarm>
    <alarm majorcode="1" minorcode="103" message="Milktransport disconnected">
    </alarm>
    <alarm majorcode="1" minorcode="104" message="Vmsioman disconnected">
    </alarm>
    <alarm majorcode="1" minorcode="107" message="Several milkings failed">
    </alarm>
    <alarm majorcode="1" minorcode="108" message="Cow too long in stall. {devicename}">
    </alarm>
    <alarm majorcode="1" minorcode="109" message="Gate ctrl disconnected">
    </alarm>
    <alarm majorcode="1" minorcode="112" message="Unexpected high yield. {devicename}">
    </alarm>
    <alarm majorcode="1" minorcode="113" message="Test send alarm or error">
    </alarm>
    <alarm majorcode="1" minorcode="114" message="Mumgr disconnected">
    </alarm>
    <alarm majorcode="1" minorcode="115" message="Unexpected low yield. {devicename}">
    </alarm>
    <alarm majorcode="1" minorcode="116" message="Invalid server IP address {SupportingData1}.{SupportingData2}.{SupportingData3}.{SupportingData4}">
    </alarm>
    <alarm majorcode="1" minorcode="117" message="High MS temperature ({SupportingData1})">
      <property id="SupportingData1" unit="celsius"/>
    </alarm>
    <alarm majorcode="1" minorcode="118" message="Diagnose disconnected">
    </alarm>
    <alarm majorcode="1" minorcode="119" message="Not cleaned after divert">
    </alarm>
    <alarm majorcode="1" minorcode="120" message="Autocalibration failed status {SupportingData1}">
    </alarm>
    <alarm majorcode="1" minorcode="121" message="Guardmaster block MS">
    </alarm>
    <alarm majorcode="1" minorcode="122" message="Guardmaster allow MS">
    </alarm>
    <alarm majorcode="1" minorcode="201" message="Feed station alarm">
    </alarm>
    <alarm majorcode="1" minorcode="202" message="No response from robot cmd {SupportingData1}">
    </alarm>
    <alarm majorcode="1" minorcode="301" message="'V300' Mech is not supported.">
    </alarm>
    <alarm majorcode="1" minorcode="302" message="Run Test Wizard in ServiceTool-Cleaning-Detergents">
    </alarm>
    <alarm majorcode="2" minorcode="0" message="OK">
    </alarm>
    <alarm majorcode="2" minorcode="11" message="Cup attached to teat">
    </alarm>
    <alarm majorcode="2" minorcode="12" message="Cup reattached to teat">
    </alarm>
    <alarm majorcode="2" minorcode="13" message="Mixed and corrected: Cup attached to teat">
    </alarm>
    <alarm majorcode="2" minorcode="14" message="Teat cleaned and premilked">
    </alarm>
    <alarm majorcode="2" minorcode="15" message="Sensors: Tilt:{SupportingData1} Grip:{SupportingData2} Rotate:{SupportingData3} Item:{SupportingData4}">
    </alarm>
    <alarm majorcode="2" minorcode="16" message="Robot vacuum ref: {SupportingData1} {SupportingData2} {SupportingData3} {SupportingData4}">
    </alarm>
    <alarm majorcode="2" minorcode="17" message="Robot performance: {SupportingData1}">
    </alarm>
    <alarm majorcode="2" minorcode="18" message="Auto-teach done">
    </alarm>
    <alarm majorcode="2" minorcode="31" message="Camera calibration initialised!">
    </alarm>
    <alarm majorcode="2" minorcode="32" message="Camera calibration DONE!">
    </alarm>
    <alarm majorcode="2" minorcode="33" message="Camera ADC setup done! ADCupper={SupportingData1}">
    </alarm>
    <alarm majorcode="2" minorcode="34" message="{SupportingData1} mm DONE!">
    </alarm>
    <alarm majorcode="2" minorcode="35" message="Camera number: {SupportingData1}">
    </alarm>
    <alarm majorcode="2" minorcode="41" message="Please set X_CentreLaser={SupportingData1} Y_CentreLaser={SupportingData2}">
    </alarm>
    <alarm majorcode="2" minorcode="42" message="Tune cup centre done! (Updating database)">
    </alarm>
    <alarm majorcode="2" minorcode="51" message="Teat not found for milking. {devicename}">
    </alarm>
    <alarm majorcode="2" minorcode="52" message="Teat not found at re-attach">
    </alarm>
    <alarm majorcode="2" minorcode="53" message="Teat position not working (too low)">
    </alarm>
    <alarm majorcode="2" minorcode="54" message="Camera frame timeout">
    </alarm>
    <alarm majorcode="2" minorcode="55" message="No camera objects seen during attempt to find teat">
    </alarm>
    <alarm majorcode="2" minorcode="56" message="Robot encoder lost pulses, axes (X:{SupportingData1} Y:{SupportingData2} Z:{SupportingData3})">
    </alarm>
    <alarm majorcode="2" minorcode="58" message="Auto-teach unsuccessful">
    </alarm>
    <alarm majorcode="2" minorcode="81" message="Robot operation aborted">
    </alarm>
    <alarm majorcode="2" minorcode="82" message="Unknown robot test number">
    </alarm>
    <alarm majorcode="2" minorcode="83" message="No teats to milk">
    </alarm>
    <alarm majorcode="2" minorcode="84" message="No cups available for re-attach">
    </alarm>
    <alarm majorcode="2" minorcode="85" message="Cannot milk a non-existant teat">
    </alarm>
    <alarm majorcode="2" minorcode="86" message="Warning: Robot safety functions disabled!">
    </alarm>
    <alarm majorcode="2" minorcode="87" message="Warning: Robot encoder safety disabled!">
    </alarm>
    <alarm majorcode="2" minorcode="88" message="Warning: Robot pressure observer safety disabled! axes (X:{SupportingData1} Y:{SupportingData2} Z:{SupportingData3})">
    </alarm>
    <alarm majorcode="2" minorcode="91" message="No centre object or object narrower than 5mm">
    </alarm>
    <alarm majorcode="2" minorcode="92" message="More than one centre object">
    </alarm>
    <alarm majorcode="2" minorcode="101" message="Axis end point calibration needed">
    </alarm>
    <alarm majorcode="2" minorcode="103" message="Robot failed to start, axes (X:{SupportingData1} Y:{SupportingData2} Z:{SupportingData3})">
    </alarm>
    <alarm majorcode="2" minorcode="104" message="Cannot reach position, axes (X:{SupportingData1} Y:{SupportingData2} Z:{SupportingData3})">
    </alarm>
    <alarm majorcode="2" minorcode="105" message="Robot moved too fast, axes (X:{SupportingData1} Y:{SupportingData2} Z:{SupportingData3})">
    </alarm>
    <alarm majorcode="2" minorcode="106" message="Safety function triggered, axes (X:{SupportingData1} Y:{SupportingData2} Z:{SupportingData3})">
    </alarm>
    <alarm majorcode="2" minorcode="107" message="Air button was pressed">
    </alarm>
    <alarm majorcode="2" minorcode="108" message="Air to robot not detected">
    </alarm>
    <alarm majorcode="2" minorcode="109" message="Air to robot was on when trying to start">
    </alarm>
    <alarm majorcode="2" minorcode="110" message="Too high air pressure to robot">
    </alarm>
    <alarm majorcode="2" minorcode="111" message="Demanded position is beyond limit, axes (X:{SupportingData1} Y:{SupportingData2} Z:{SupportingData3})">
    </alarm>
    <alarm majorcode="2" minorcode="112" message="Robot hit an obstacle, axes (X:{SupportingData1} Y:{SupportingData2} Z:{SupportingData3})">
    </alarm>
    <alarm majorcode="2" minorcode="114" message="Joystick is not working">
    </alarm>
    <alarm majorcode="2" minorcode="115" message="Teatcup {SupportingData1} not detected in gripper. {devicename}">
    </alarm>
    <alarm majorcode="2" minorcode="116" message="Gripper is not empty">
    </alarm>
    <alarm majorcode="2" minorcode="117" message="Rotate to SEEK pos failed">
    </alarm>
    <alarm majorcode="2" minorcode="118" message="Rotate to FETCH pos failed">
    </alarm>
    <alarm majorcode="2" minorcode="119" message="Gripper CLOSE failed">
    </alarm>
    <alarm majorcode="2" minorcode="120" message="Gripper OPEN failed">
    </alarm>
    <alarm majorcode="2" minorcode="121" message="Tilt OUT failed">
    </alarm>
    <alarm majorcode="2" minorcode="122" message="Tilt IN failed">
    </alarm>
    <alarm majorcode="2" minorcode="123" message="Robot needs air connection to stall">
    </alarm>
    <alarm majorcode="2" minorcode="124" message="Vacuum not detected in cup">
    </alarm>
    <alarm majorcode="2" minorcode="125" message="Vacuum sensor failure or bad reference">
    </alarm>
    <alarm majorcode="2" minorcode="126" message="Rear sensor failure ({SupportingData1} mm)">
    </alarm>
    <alarm majorcode="2" minorcode="127" message="No robot motion when expected, axes (X:{SupportingData1} Y:{SupportingData2} Z:{SupportingData3})">
    </alarm>
    <alarm majorcode="2" minorcode="128" message="Robot diff.pressure sensor failure, axes (X:{SupportingData1} Y:{SupportingData2} Z:{SupportingData3})">
    </alarm>
    <alarm majorcode="2" minorcode="129" message="Robot valve error, axes (X:{SupportingData1} Y:{SupportingData2} Z:{SupportingData3})">
    </alarm>
    <alarm majorcode="2" minorcode="130" message="Cup attach not detected">
    </alarm>
    <alarm majorcode="2" minorcode="131" message="Robot fatal error 16, axes (X:{SupportingData1} Y:{SupportingData2} Z:{SupportingData3}). Axis endpoint calibration is needed">
    </alarm>
    <alarm majorcode="2" minorcode="133" message="Axis Endpoint Calibration failed, axes (X:{SupportingData1} Y:{SupportingData2} Z:{SupportingData3})">
    </alarm>
    <alarm majorcode="2" minorcode="134" message="Abnormal encoder change, axes (X:{SupportingData1} Y:{SupportingData2} Z:{SupportingData3}). Is something loose?">
    </alarm>
    <alarm majorcode="2" minorcode="135" message="Axis Endpoint Calibration failed, probably because of wrong HW-version parameter">
    </alarm>
    <alarm majorcode="2" minorcode="137" message="Teat cleaner not detected in gripper">
    </alarm>
    <alarm majorcode="2" minorcode="138" message="Disinfection device not detected in gripper">
    </alarm>
    <alarm majorcode="2" minorcode="139" message="Cannot reach position - Hydraulic box indicates error">
    </alarm>
    <alarm majorcode="2" minorcode="144" message="Hydraulic pump - temperature sensor failure">
    </alarm>
    <alarm majorcode="2" minorcode="145" message="Hydraulic pump - pressure sensor failure">
    </alarm>
    <alarm majorcode="2" minorcode="147" message="Hydraulic pump - too long time in idle load">
    </alarm>
    <alarm majorcode="2" minorcode="148" message="Hydraulic pump - too low pressure in boost mode">
    </alarm>
    <alarm majorcode="2" minorcode="149" message="Hydraulic pump - SW internal error">
    </alarm>
    <alarm majorcode="2" minorcode="150" message="Hydraulic pump - both pressure and temp sensor disabled">
    </alarm>
    <alarm majorcode="2" minorcode="151" message="Hydraulic pump - too long time in manual mode without doing any manual work">
    </alarm>
    <alarm majorcode="2" minorcode="201" message="Wrong size of message to robot">
    </alarm>
    <alarm majorcode="2" minorcode="202" message="Unknown message to robot">
    </alarm>
    <alarm majorcode="2" minorcode="203" message="Robot is busy, command ignored">
    </alarm>
    <alarm majorcode="2" minorcode="205" message="AxisController is not properly configured">
    </alarm>
    <alarm majorcode="2" minorcode="206" message="Robot is not properly configured. {devicename}">
    </alarm>
    <alarm majorcode="2" minorcode="207" message="Invalid teat positions, not taught?">
    </alarm>
    <alarm majorcode="2" minorcode="210" message="Invalid hold milktubes position">
    </alarm>
    <alarm majorcode="2" minorcode="211" message="Robot has no vacuum references">
    </alarm>
    <alarm majorcode="2" minorcode="212" message="AxisController error {SupportingData1}">
    </alarm>
    <alarm majorcode="2" minorcode="213" message="Robot self test failed. {devicename}">
    </alarm>
    <alarm majorcode="2" minorcode="301" message="Robot balance points calibration failed">
    </alarm>
    <alarm majorcode="2" minorcode="302" message="Robot home position calibration failed">
    </alarm>
    <alarm majorcode="2" minorcode="303" message="Robot PRBS measurement failed">
    </alarm>
    <alarm majorcode="2" minorcode="304" message="Robot coordinates calibration failed">
    </alarm>
    <alarm majorcode="2" minorcode="305" message="Robot axis performance test failed">
    </alarm>
    <alarm majorcode="2" minorcode="306" message="Robot axis production test failed">
    </alarm>
    <alarm majorcode="2" minorcode="307" message="Failed to read or write axis config file">
    </alarm>
    <alarm majorcode="2" minorcode="309" message="Robot auto tuning failed">
    </alarm>
    <alarm majorcode="2" minorcode="321" message="Camera calibration not initialised. *FAILED*">
    </alarm>
    <alarm majorcode="2" minorcode="322" message="Camera calibration *FAILED*">
    </alarm>
    <alarm majorcode="2" minorcode="323" message="{SupportingData1} mm *FAILED*">
    </alarm>
    <alarm majorcode="2" minorcode="324" message="Do {SupportingData1} mm first. *FAILED*">
    </alarm>
    <alarm majorcode="2" minorcode="325" message="Too few objects seen (&lt;{SupportingData1}). *FAILED*">
    </alarm>
    <alarm majorcode="2" minorcode="326" message="Too many objects seen (&gt;{SupportingData1}). *FAILED*">
    </alarm>
    <alarm majorcode="2" minorcode="327" message="Center object not found. *FAILED*">
    </alarm>
    <alarm majorcode="2" minorcode="328" message="All ranges not complete. *FAILED*">
    </alarm>
    <alarm majorcode="2" minorcode="329" message="Internal error in camera calibration. *FAILED*">
    </alarm>
    <alarm majorcode="2" minorcode="330" message="Camera number unknown (0). *FAILED*">
    </alarm>
    <alarm majorcode="2" minorcode="331" message="ADC too low ({SupportingData1}). *FAILED*">
    </alarm>
    <alarm majorcode="2" minorcode="332" message="ADC too high ({SupportingData1}). *FAILED*">
    </alarm>
    <alarm majorcode="2" minorcode="333" message="ADC setup *FAILED*">
    </alarm>
    <alarm majorcode="2" minorcode="407" message="Robot arm needs calibration">
    </alarm>
    <alarm majorcode="3" minorcode="0" message="OK">
    </alarm>
    <alarm majorcode="3" minorcode="1" message="Vacuum ref cup {SupportingData1} = {SupportingData2}">
    </alarm>
    <alarm majorcode="3" minorcode="2" message="Min yield = {SupportingData1} only got {SupportingData2}">
      <property id="SupportingData1" unit="yield"/>
      <property id="SupportingData2" unit="yield"/>
    </alarm>
    <alarm majorcode="3" minorcode="3" message="Yield correction">
    </alarm>
    <alarm majorcode="3" minorcode="101" message="No yield from flomaster MM15">
    </alarm>
    <alarm majorcode="3" minorcode="102" message="No yield from MM25 {SupportingData1}">
    </alarm>
    <alarm majorcode="3" minorcode="103" message="Bad vacuum ref cup {SupportingData1} = {SupportingData2}">
    </alarm>
    <alarm majorcode="3" minorcode="104" message="Big diff MM25 - Flomaster MM15">
    </alarm>
    <alarm majorcode="3" minorcode="107" message="Air inlet blocked">
    </alarm>
    <alarm majorcode="3" minorcode="108" message="Invalid Milksampler config">
    </alarm>
    <alarm majorcode="3" minorcode="116" message="Milkmeter {SupportingData1} conductivity ({SupportingData2}) different ({SupportingData3}) from other meters">
    </alarm>
    <alarm majorcode="3" minorcode="117" message="Milking self test failed">
    </alarm>
    <alarm majorcode="3" minorcode="120" message="OCC: Too high pressure. {devicename}">
    </alarm>
    <alarm majorcode="3" minorcode="121" message="OCC: Too low pressure. {devicename}">
    </alarm>
    <alarm majorcode="3" minorcode="122" message="OCC: Time out due to Alcom communication problem. {devicename}">
    </alarm>
    <alarm majorcode="3" minorcode="123" message="OCC: Too low temperature. {devicename}">
    </alarm>
    <alarm majorcode="3" minorcode="124" message="OCC: Liquid leakage in cabinet. {devicename}">
    </alarm>
    <alarm majorcode="3" minorcode="125" message="OCC: The waste container is full. {devicename}">
    </alarm>
    <alarm majorcode="3" minorcode="126" message="OCC: Pressure sensor broken or leakage/blockage in some hoses. {devicename}">
    </alarm>
    <alarm majorcode="3" minorcode="127" message="OCC: The cuvette is dirty. {devicename}">
    </alarm>
    <alarm majorcode="3" minorcode="128" message="OCC: Out of reagent or leakage/blockage in hoses or valve failure. {devicename}">
    </alarm>
    <alarm majorcode="3" minorcode="129" message="OCC: Out of hypochlorite or leakage/blockage in hose or valve failure. {devicename}">
    </alarm>
    <alarm majorcode="3" minorcode="130" message="OCC: No water in funnel or leakage/blockage in hose or valve failure. {devicename}">
    </alarm>
    <alarm majorcode="3" minorcode="131" message="OCC: No milk in funnel or leakage/blockage in hose or valve failure. {devicename}">
    </alarm>
    <alarm majorcode="3" minorcode="132" message="OCC: No answer from the OCC. {devicename}">
    </alarm>
    <alarm majorcode="3" minorcode="133" message="OCC: The OCC can't count the cells, a parameter setting is wrong. {devicename}">
    </alarm>
    <alarm majorcode="3" minorcode="134" message="OCC: Can't clean the cuvette, it's too dirty. {devicename}">
    </alarm>
    <alarm majorcode="3" minorcode="135" message="OCC: Can't recover, service needed!. {devicename}">
    </alarm>
    <alarm majorcode="3" minorcode="136" message="OCC: Can't get milk into the funnel. {devicename}">
    </alarm>
    <alarm majorcode="3" minorcode="137" message="OCC: Cellcount value might not be representative. {devicename}">
    </alarm>
    <alarm majorcode="3" minorcode="138" message="OCC: The funnel is not empty. {devicename}">
    </alarm>
    <alarm majorcode="3" minorcode="139" message="OCC: Error write to flash. {devicename}">
    </alarm>
    <alarm majorcode="3" minorcode="140" message="OCC: Error read from flash. {devicename}">
    </alarm>
    <alarm majorcode="3" minorcode="141" message="OCC: The funnel is clogged. {devicename}">
    </alarm>
    <alarm majorcode="3" minorcode="142" message="OCC: Several missing answers. {devicename}">
    </alarm>
    <alarm majorcode="3" minorcode="143" message="OCC: Pressure sensor broken. {devicename}">
    </alarm>
    <alarm majorcode="3" minorcode="144" message="OCC: Syringe leakage at over pressure. {devicename}">
    </alarm>
    <alarm majorcode="3" minorcode="145" message="OCC: Syringe leakage at under pressure. {devicename}">
    </alarm>
    <alarm majorcode="3" minorcode="146" message="OCC: Too low pressure in the hypochlorite tube. {devicename}">
    </alarm>
    <alarm majorcode="3" minorcode="147" message="OCC: Too low pressure in the air tube. {devicename}">
    </alarm>
    <alarm majorcode="3" minorcode="148" message="OCC: Too low pressure in the milk tube. {devicename}">
    </alarm>
    <alarm majorcode="3" minorcode="149" message="OCC: Too low pressure in the reagents tube. {devicename}">
    </alarm>
    <alarm majorcode="3" minorcode="150" message="OCC: Too high pressure in the cuvette tube to drain. {devicename}">
    </alarm>
    <alarm majorcode="3" minorcode="151" message="OCC: Too high pressure in the cuvette tube to waste container. {devicename}">
    </alarm>
    <alarm majorcode="3" minorcode="152" message="OCC: Too high pressure in the milk tube. {devicename}">
    </alarm>
    <alarm majorcode="3" minorcode="153" message="OCC: Too high pressure in the hypochlorite tube. {devicename}">
    </alarm>
    <alarm majorcode="4" minorcode="0" message="OK">
    </alarm>
    <alarm majorcode="4" minorcode="101" message="Failed to accept cow. {devicename}">
    </alarm>
    <alarm majorcode="4" minorcode="102" message="Failed to close gate after releasing cow. {devicename}">
    </alarm>
    <alarm majorcode="4" minorcode="103" message="Gate controller general error">
    </alarm>
    <alarm majorcode="4" minorcode="104" message="Error {SupportingData1} on gate {SupportingData2}">
    </alarm>
    <alarm majorcode="4" minorcode="107" message="Selection gate {sourcename}: Failed to close gate. Gate put into manual mode">
    </alarm>
    <alarm majorcode="4" minorcode="108" message="Separation gate {sourcename}: Failed to reach designated direction. Gate still in automatic mode.">
    </alarm>
    <alarm majorcode="4" minorcode="110" message="Cow released due to failure to accept this cow. {devicename}">
    </alarm>
    <alarm majorcode="4" minorcode="111" message="Cow accepted successfully. {devicename}">
    </alarm>
    <alarm majorcode="4" minorcode="112" message="Gate {sourcename} entrance photocell has been blocked for {SupportingData2} hours.">
    </alarm>
    <alarm majorcode="4" minorcode="113" message="Gate {sourcename} exit photocell probably detects the gate instead of cows.">
    </alarm>
    <alarm majorcode="4" minorcode="115" message="Gate {sourcename}. Cow train detected. Transponder 1: {SupportingData2}. Transponder 2: {SupportingData3}">
    </alarm>
    <alarm majorcode="4" minorcode="116" message="Gate {sourcename}. Cow train maybe detected. Transponder 1: {SupportingData2}. Transponder 2: {SupportingData3}">
    </alarm>
    <alarm majorcode="4" minorcode="117" message="Gate {sourcename}. Cow train prevented. Transponder 1: {SupportingData2}. Transponder 2: {SupportingData3}">
    </alarm>
    <alarm majorcode="4" minorcode="123" message="Cow has left area {SupportingData6}">
    </alarm>
    <alarm majorcode="4" minorcode="124" message="Communication failure on gate {SupportingData1}">
    </alarm>
    <alarm majorcode="4" minorcode="129" message="Cow won’t leave gate {SupportingData6}">
    </alarm>
    <alarm majorcode="4" minorcode="200" message="Transponder ID unexpectedly changed">
    </alarm>
    <alarm majorcode="5" minorcode="0" message="OK">
    </alarm>
    <alarm majorcode="5" minorcode="1" message="Washing step {SupportingData1}.{SupportingData2}">
    </alarm>
    <alarm majorcode="5" minorcode="2" message="Starting milk pump">
    </alarm>
    <alarm majorcode="5" minorcode="3" message="Stopping milk pump">
    </alarm>
    <alarm majorcode="5" minorcode="4" message="Milktp busy ({SupportingData1}). Ignored request ({SupportingData2})">
    </alarm>
    <alarm majorcode="5" minorcode="5" message="Tank state Idle">
    </alarm>
    <alarm majorcode="5" minorcode="6" message="Tank state wait to empty">
    </alarm>
    <alarm majorcode="5" minorcode="7" message="Tank state Cleaning">
    </alarm>
    <alarm majorcode="5" minorcode="8" message="Tank state Purging">
    </alarm>
    <alarm majorcode="5" minorcode="9" message="Tank state Emptying">
    </alarm>
    <alarm majorcode="5" minorcode="10" message="Milk truck has arrived">
    </alarm>
    <alarm majorcode="5" minorcode="11" message="Milk tank is empty">
    </alarm>
    <alarm majorcode="5" minorcode="12" message="Milktank is clean">
    </alarm>
    <alarm majorcode="5" minorcode="101" message="End unit not empty">
    </alarm>
    <alarm majorcode="5" minorcode="105" message="Cooling alarm">
    </alarm>
    <alarm majorcode="5" minorcode="108" message="Poor system vacuum {SupportingData1} ref {SupportingData2}">
      <property id="SupportingData1" unit="kPa"/>
      <property id="SupportingData2" unit="kPa"/>
    </alarm>
    <alarm majorcode="5" minorcode="112" message="End unit indicates emptying error. {devicename}">
    </alarm>
    <alarm majorcode="5" minorcode="114" message="Teatcleaner waste tank full">
    </alarm>
    <alarm majorcode="5" minorcode="115" message="Milk diverted, dest {SupportingData1}">
      <property id="SupportingData1" unit="MSMilkDestination"/>
    </alarm>
    <alarm majorcode="5" minorcode="116" message="Cleaning aborted">
    </alarm>
    <alarm majorcode="5" minorcode="117" message="Temperature teat cleaner {SupportingData1}">
      <property id="SupportingData1" unit="celsius"/>
    </alarm>
    <alarm majorcode="5" minorcode="118" message="Teatcleaner water too hot {SupportingData1}">
      <property id="SupportingData1" unit="celsius"/>
    </alarm>
    <alarm majorcode="5" minorcode="119" message="Teatcleaner temp sensor malfunction">
    </alarm>
    <alarm majorcode="5" minorcode="120" message="Scheduled cleaning NOT done">
    </alarm>
    <alarm majorcode="5" minorcode="121" message="Communication lost with milkroom controller">
    </alarm>
    <alarm majorcode="5" minorcode="122" message="Teatcup {SupportingData1} not tight to jetter">
    </alarm>
    <alarm majorcode="5" minorcode="123" message="Milk diverted due to blood, dest {SupportingData1}. {devicename}">
      <property id="SupportingData1" unit="MSMilkDestination"/>
    </alarm>
    <alarm majorcode="5" minorcode="124" message="Milk diverted due to conductivity, dest {SupportingData1}. {devicename}">
      <property id="SupportingData1" unit="MSMilkDestination"/>
    </alarm>
    <alarm majorcode="5" minorcode="125" message="Milk diverted, user setting, dest {SupportingData1}. {devicename}">
      <property id="SupportingData1" unit="MSMilkDestination"/>
    </alarm>
    <alarm majorcode="5" minorcode="126" message="Did not get water from RA-unit within {SupportingData1} minutes">
    </alarm>
    <alarm majorcode="5" minorcode="127" message="Error: low and high sensors in receiver both active">
    </alarm>
    <alarm majorcode="5" minorcode="129" message="Milk diverted due to MDi, dest {SupportingData1}. {devicename}">
      <property id="SupportingData1" unit="MSMilkDestination"/>
    </alarm>
    <alarm majorcode="5" minorcode="130" message="No milk destination set. Please set!">
    </alarm>
    <alarm majorcode="5" minorcode="131" message="SenseReceiverCleaningValve indicate error">
    </alarm>
    <alarm majorcode="5" minorcode="132" message="SenseReceiverSafetyValve indicate error">
    </alarm>
    <alarm majorcode="5" minorcode="133" message="Low vacuum level at start of wash">
    </alarm>
    <alarm majorcode="5" minorcode="200" message="Timeout filling detergent number {SupportingData1}">
    </alarm>
    <alarm majorcode="5" minorcode="201" message="Timeout filling water number {SupportingData1}">
    </alarm>
    <alarm majorcode="5" minorcode="202" message="Timeout emptying water in step {SupportingData1}, substep {SupportingData2}">
    </alarm>
    <alarm majorcode="5" minorcode="203" message="Too low temp during filling {SupportingData1} min {SupportingData2}">
      <property id="SupportingData1" unit="celsius"/>
      <property id="SupportingData2" unit="celsius"/>
    </alarm>
    <alarm majorcode="5" minorcode="204" message="Too low temp after circulation {SupportingData1} min {SupportingData2}">
      <property id="SupportingData1" unit="celsius"/>
      <property id="SupportingData2" unit="celsius"/>
    </alarm>
    <alarm majorcode="5" minorcode="205" message="Invalid cleaner config ix {SupportingData1} prog {SupportingData2} module {SupportingData3} vol {SupportingData4}">
    </alarm>
    <alarm majorcode="5" minorcode="206" message="Did not get MAY_CLEAN signal within {SupportingData1} minutes">
    </alarm>
    <alarm majorcode="5" minorcode="220" message="High vacuum level. Current: {SupportingData1}, limit: {SupportingData2}">
      <property id="SupportingData1" unit="kPa"/>
      <property id="SupportingData2" unit="kPa"/>
    </alarm>
    <alarm majorcode="5" minorcode="221" message="Low vacuum level. Current: {SupportingData1}, limit: {SupportingData2}">
      <property id="SupportingData1" unit="kPa"/>
      <property id="SupportingData2" unit="kPa"/>
    </alarm>
    <alarm majorcode="5" minorcode="251" message="Steam boiler overheated">
    </alarm>
    <alarm majorcode="5" minorcode="252" message="Steam not released">
    </alarm>
    <alarm majorcode="5" minorcode="300" message="Milk valves in wrong position">
    </alarm>
    <alarm majorcode="6" minorcode="401" message="Too low teat cleaning vacuum">
    </alarm>
    <alarm majorcode="7" minorcode="0" message="OK">
    </alarm>
    <alarm majorcode="7" minorcode="1" message="Hygenius Low water return temperature">
    </alarm>
    <alarm majorcode="7" minorcode="2" message="Hygenius Detergent dosing fault">
    </alarm>
    <alarm majorcode="7" minorcode="3" message="Hygenius Overheat">
    </alarm>
    <alarm majorcode="7" minorcode="4" message="Hygenius Time out water filling, emptying or heating">
    </alarm>
    <alarm majorcode="7" minorcode="5" message="Hygenius Checksum error in parameter memory">
    </alarm>
    <alarm majorcode="7" minorcode="6" message="Hygenius Checksum error in program memory">
    </alarm>
    <alarm majorcode="7" minorcode="7" message="Hygenius Temperature sensor not factory calibrated">
    </alarm>
    <alarm majorcode="7" minorcode="8" message="Hygenius Possible mixing of detergents">
    </alarm>
    <alarm majorcode="7" minorcode="9" message="Hygenius Power failure during cleaning">
    </alarm>
    <alarm majorcode="7" minorcode="11" message="Hygenius CPU Watch-dog reset">
    </alarm>
    <alarm majorcode="7" minorcode="13" message="Hygenius Low level sensor failure, no cleaning performed!!">
    </alarm>
    <alarm majorcode="7" minorcode="14" message="Hygenius time-out during water filling">
    </alarm>
    <alarm majorcode="7" minorcode="15" message="Hygenius time-out during heating">
    </alarm>
    <alarm majorcode="7" minorcode="16" message="Hygenius time-out during emptying">
    </alarm>
    <alarm majorcode="7" minorcode="20" message="Hygenius Valve fault during milking">
    </alarm>
    <alarm majorcode="7" minorcode="21" message="Hygenius Valve fault during cleaning">
    </alarm>
    <alarm majorcode="7" minorcode="22" message="Hygenius Major valve fault">
    </alarm>
    <alarm majorcode="7" minorcode="23" message="Hygenius No air pressure">
    </alarm>
    <alarm majorcode="7" minorcode="255" message="Communication lost with Hygenius">
    </alarm>
    <alarm majorcode="9" minorcode="0" message="OK">
    </alarm>
    <alarm majorcode="9" minorcode="1" message="AMD - Check Cow !">
    </alarm>
    <alarm majorcode="9" minorcode="2" message="Milking station is disconnected">
    </alarm>
    <alarm majorcode="9" minorcode="3" message="AMS server is disconnected">
    </alarm>
    <alarm majorcode="9" minorcode="4" message="AMS server is stopped">
    </alarm>
    <alarm majorcode="9" minorcode="5" message="AMS is still working">
    </alarm>
    <alarm majorcode="9" minorcode="7" message="Milking station is stopped">
    </alarm>
    <alarm majorcode="9" minorcode="8" message="MS and Server have different versions, {SupportingData1} and {SupportingData2}">
    </alarm>
    <alarm majorcode="9" minorcode="9" message="Error in AMS Database, please repair it">
    </alarm>
    <alarm majorcode="9" minorcode="10" message="Error in AlproWindows Database, please repair it">
    </alarm>
    <alarm majorcode="9" minorcode="13" message="Milk is diverted automatically, due to high SCC level">
    </alarm>
    <alarm majorcode="9" minorcode="14" message="Cannot send out alarms. Check communication equipment!">
    </alarm>
    <alarm majorcode="9" minorcode="20" message="Redundant VmsServer is down">
    </alarm>
    <alarm majorcode="9" minorcode="21" message="Redundant VmsServer is up">
    </alarm>
    <alarm majorcode="9" minorcode="24" message="The DeLaval Software and Online Service Terms of Use, which are governed by Swedish law and are available for download and printing at http://www.delaval.com/legal/ (it is recommended to print copies for future reference), shall exclusively govern the rights to, use of and liability for each DeLaval software and DeLaval online service (including, without limitation, each software and online service provided as part of or in connection with any DeLaval product) and all documentation and data made available or generated through or in connection with such software or service (unless other terms are provided with the software or online service, in which case such terms will apply). Each DeLaval software and DeLaval online service may transfer data to DeLaval International AB (and any other entity in the DeLaval Group) for use and further processing as set out and for the purposes described in the DeLaval Software and Online Service Data and Privacy Statement, which is available for download and printing at http://www.delaval.com/legal/.">
    </alarm>
    <alarm majorcode="9" minorcode="25" message="Service hosted in VmsServer is malfunctioning: {SupportingData6}">
    </alarm>
    <alarm majorcode="13" minorcode="0" message="OK">
    </alarm>
    <alarm majorcode="14" minorcode="1" message="WashInfo:">
    </alarm>
    <alarm majorcode="15" minorcode="303" message="Trough level is unknown. {devicename}">
    </alarm>
    <alarm majorcode="15" minorcode="304" message="Water taps has been on too long. {devicename}">
    </alarm>
    <alarm majorcode="15" minorcode="305" message="Water is too hot. {devicename}">
    </alarm>
    <alarm majorcode="15" minorcode="306" message="Clean water is not available for backflush. {devicename}">
    </alarm>
    <alarm majorcode="15" minorcode="312" message="Failed to run teat cleaning. {devicename}">
    </alarm>
    <alarm majorcode="15" minorcode="314" message="Failed to run water prime. {devicename}">
    </alarm>
    <alarm majorcode="15" minorcode="315" message="No water to run water prime. {devicename}">
    </alarm>
    <alarm majorcode="15" minorcode="316" message="Water supply issues or flow sensor broken. {devicename}">
    </alarm>
    <alarm majorcode="15" minorcode="319" message="Could not Drain Trough. {devicename}">
    </alarm>
    <alarm majorcode="15" minorcode="320" message="Too high teat cleaning temperature: {SupportingData1} ({SupportingData2}-{SupportingData3}). {devicename}">
    </alarm>
    <alarm majorcode="15" minorcode="411" message="Too low teat cleaning vacuum. {devicename}">
    </alarm>
    <alarm majorcode="15" minorcode="451" message="Acid detergent pump maintenance needed. {devicename}">
    </alarm>
    <alarm majorcode="15" minorcode="452" message="Alkali detergent pump maintenance needed. {devicename}">
    </alarm>
    <alarm majorcode="15" minorcode="453" message="Chlorine pump maintenance needed. {devicename}">
    </alarm>
    <alarm majorcode="15" minorcode="454" message="Enzyme detergent pump maintenance needed. {devicename}">
    </alarm>
    <alarm majorcode="15" minorcode="455" message="Disinfectant pump maintenance needed. {devicename}">
    </alarm>
    <alarm majorcode="17" minorcode="123" message="No vacuum in receiver. {devicename}">
    </alarm>
    <alarm majorcode="17" minorcode="124" message="Teat cup {SupportingData1} lost from milk tube. {devicename}">
    </alarm>
    <alarm majorcode="17" minorcode="1803" message="Failed to refill trough. {devicename}">
    </alarm>
    <alarm majorcode="205" minorcode="11" message="Local rinse">
    </alarm>
    <alarm majorcode="205" minorcode="12" message="System rinse">
    </alarm>
    <alarm majorcode="205" minorcode="13" message="Local cleaning">
    </alarm>
    <alarm majorcode="205" minorcode="14" message="System cleaning">
    </alarm>
    <alarm majorcode="205" minorcode="20" message="Acid">
    </alarm>
    <alarm majorcode="205" minorcode="21" message="Alkaline">
    </alarm>
    <alarm majorcode="205" minorcode="22" message="Chlorine">
    </alarm>
    <alarm majorcode="48" minorcode="2" message="Valve: {SupportingData1} is out of position. {devicename}">
    </alarm>
    <alarm majorcode="48" minorcode="118" message="Cleaning flag manually reset. {devicename}">
    </alarm>
    <alarm majorcode="48" minorcode="119" message="Test Alcom IO-card value: {SupportingData1}. {devicename}">
    </alarm>
    <alarm majorcode="48" minorcode="120" message="Alcom IO-card test failed. {devicename}">
    </alarm>
    <alarm majorcode="48" minorcode="121" message="Lost IOMan connection during cleaning. {devicename}">
    </alarm>
    <alarm majorcode="48" minorcode="123" message="ioman disconnected. {devicename}">
    </alarm>
    <alarm majorcode="48" minorcode="151" message="Sensor {SupportingData1} is simulated. {devicename}">
    </alarm>
    <alarm majorcode="48" minorcode="162" message="Remote Purge Valve is out of position. {devicename}">
    </alarm>
    <alarm majorcode="48" minorcode="171" message="Cleaner is not responding cleaning request. {devicename}">
    </alarm>
  </alarms>
</messages>
