﻿<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<RSLogix5000Content SchemaRevision="1.0" SoftwareRevision="16.04" TargetType="AddOnInstructionDefinition" ContainsContext="true" Owner="Microsoft, Microsoft" ExportDate="Mon Jun 17 14:35:57 2019" ExportOptions="References Context">
<Controller Use="Context" Name="Param_test">
<DataTypes Use="Context">
<DataType Name="ABB_UDT_100_PSTX" Family="NoFamily" Class="User">
<Description>
<![CDATA[ABB Drives Profile 
Input Instance 100 
Size 12 INTs 
Sts Word & Spd Fbk
+10 Data Inputs
]]>
</Description>
<Members>
<Member Name="ZZZZZZZZZZABB_UDT_100" DataType="SINT" Dimension="0" Radix="Decimal" Hidden="true"/>
<Member Name="Auto_Mode_Status_Bit_0" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZABB_UDT_100" BitNumber="0">
<Description>
<![CDATA[Bit 0 - 
0 = Softstarter control from fieldbus not allowed]]>
</Description>
</Member>
<Member Name="Event_Status_Bit_1" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZABB_UDT_100" BitNumber="1">
<Description>
<![CDATA[Bit 1 - 0 = No active fault/warning/protection]]>
</Description>
</Member>
<Member Name="Ready_To_Start_Bit_2" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZABB_UDT_100" BitNumber="2">
<Description>
<![CDATA[Bit 2 - 
0 = A start will probably cause a fault ; 
1 = A start will probably not cause a fault]]>
</Description>
</Member>
<Member Name="FBT_Response_0_Bit_3" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZABB_UDT_100" BitNumber="3">
<Description>
<![CDATA[Bit 3 - See Fieldbus Tasks]]>
</Description>
</Member>
<Member Name="FBT_Response_1_Bit_4" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZABB_UDT_100" BitNumber="4">
<Description>
<![CDATA[Bit 4 - See Fieldbus Tasks]]>
</Description>
</Member>
<Member Name="FBT_Toggle_Bit_Bit_5" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZABB_UDT_100" BitNumber="5">
<Description>
<![CDATA[Bit 5 - See Fieldbus Tasks]]>
</Description>
</Member>
<Member Name="Prgmbl_Digital_Input_1_Bit_6" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZABB_UDT_100" BitNumber="6">
<Description>
<![CDATA[Bit 6 - Programmable digital input 1]]>
</Description>
</Member>
<Member Name="Prgmbl_Digital_Input_2_Bit_7" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZABB_UDT_100" BitNumber="7">
<Description>
<![CDATA[Bit 7 - Programmable digital input 2]]>
</Description>
</Member>
<Member Name="ZZZZZZZZZZABB_UDT_109" DataType="SINT" Dimension="0" Radix="Decimal" Hidden="true"/>
<Member Name="Prgmbl_Digital_Input_3_Bit_8" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZABB_UDT_109" BitNumber="0">
<Description>
<![CDATA[Bit 8 - Programmable digital input 3]]>
</Description>
</Member>
<Member Name="Prgmbl_Digital_Input_4_Bit_9" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZABB_UDT_109" BitNumber="1">
<Description>
<![CDATA[Bit 9 - Programmable digital input 4]]>
</Description>
</Member>
<Member Name="Prgmbl_Digital_Input_5_Bit_10" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZABB_UDT_109" BitNumber="2">
<Description>
<![CDATA[Bit 10 - Programmable digital input 1]]>
</Description>
</Member>
<Member Name="Prgmbl_Digital_Input_6_Bit_11" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZABB_UDT_109" BitNumber="3">
<Description>
<![CDATA[Bit 11 - Programmable digital input 1]]>
</Description>
</Member>
<Member Name="Prgmbl_Digital_Input_7_Bit_12" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZABB_UDT_109" BitNumber="4">
<Description>
<![CDATA[Bit 12 - Programmable digital input 7]]>
</Description>
</Member>
<Member Name="Prgmbl_Digital_Input_8_Bit_13" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZABB_UDT_109" BitNumber="5">
<Description>
<![CDATA[Bit 13 - Programmable digital input 8]]>
</Description>
</Member>
<Member Name="Prgmbl_Digital_Input_9_Bit_14" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZABB_UDT_109" BitNumber="6">
<Description>
<![CDATA[Bit 14 - Programmable digital input 9]]>
</Description>
</Member>
<Member Name="Prgmbl_Digital_Input_10_Bit_15" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZABB_UDT_109" BitNumber="7">
<Description>
<![CDATA[Bit 15 - Programmable digital input 10]]>
</Description>
</Member>
<Member Name="FBT_Return_Value" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false">
<Description>
<![CDATA[See Fieldbus Tasks]]>
</Description>
</Member>
<Member Name="Prgmbl_Analog_Input_1" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false">
<Description>
<![CDATA[Programmable analog input 1]]>
</Description>
</Member>
<Member Name="Prgmbl_Analog_Input_2" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false">
<Description>
<![CDATA[Programmable analog input 2]]>
</Description>
</Member>
<Member Name="Prgmbl_Analog_Input_3" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false">
<Description>
<![CDATA[Programmable analog input 3]]>
</Description>
</Member>
<Member Name="Prgmbl_Analog_Input_4" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false">
<Description>
<![CDATA[Programmable analog input 4]]>
</Description>
</Member>
<Member Name="Prgmbl_Analog_Input_5" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false">
<Description>
<![CDATA[Programmable analog input 5]]>
</Description>
</Member>
<Member Name="Prgmbl_Analog_Input_6" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false">
<Description>
<![CDATA[Programmable analog input 6]]>
</Description>
</Member>
<Member Name="Prgmbl_Analog_Input_7" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false">
<Description>
<![CDATA[Programmable analog input 7]]>
</Description>
</Member>
<Member Name="Prgmbl_Analog_Input_8" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false">
<Description>
<![CDATA[Programmable analog input 8]]>
</Description>
</Member>
<Member Name="Prgmbl_Analog_Input_9" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false">
<Description>
<![CDATA[Programmable analog input 9]]>
</Description>
</Member>
<Member Name="Prgmbl_Analog_Input_10" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false">
<Description>
<![CDATA[Programmable analog input 10]]>
</Description>
</Member>
</Members>
</DataType>
<DataType Name="ABB_UDT_150o_PSTX" Family="NoFamily" Class="User">
<Description>
<![CDATA[ABB Drives Profile Output Instance 150
Size 12 INTs
Cntrl Word & Spd Ref +10 Data Outputs
]]>
</Description>
<Members>
<Member Name="ZZZZZZZZZZABB_UDT_150" DataType="SINT" Dimension="0" Radix="Decimal" Hidden="true"/>
<Member Name="Start_Bit_0" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZABB_UDT_150" BitNumber="0">
<Description>
<![CDATA[Bit 0 - Commence a start when signal is set]]>
</Description>
</Member>
<Member Name="Stop_Bit_1" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZABB_UDT_150" BitNumber="1">
<Description>
<![CDATA[Bit 1 - Commence a stop when signal is low ( 0 = stop )]]>
</Description>
</Member>
<Member Name="Fault_Reset_Bit_2" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZABB_UDT_150" BitNumber="2">
<Description>
<![CDATA[Bit 2 - Reset signal from fault state]]>
</Description>
</Member>
<Member Name="Auto_Mode_Bit_3" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZABB_UDT_150" BitNumber="3">
<Description>
<![CDATA[Bit 3 - Must be set to "1" to control motor]]>
</Description>
</Member>
<Member Name="Slow_Speed_Reverse_Bit_4" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZABB_UDT_150" BitNumber="4">
<Description>
<![CDATA[Bit 4 - Perform slow speed reverse when signal is set]]>
</Description>
</Member>
<Member Name="Slow_Speed_Forward_Bit_5" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZABB_UDT_150" BitNumber="5">
<Description>
<![CDATA[Bit 5 - Perform slow speed when signal is set]]>
</Description>
</Member>
<Member Name="Spare_Bit_6" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZABB_UDT_150" BitNumber="6">
<Description>
<![CDATA[Bit 6 - Unused]]>
</Description>
</Member>
<Member Name="Start_1_Bit_7" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZABB_UDT_150" BitNumber="7">
<Description>
<![CDATA[Bit 7 - Start 1 if sequence start]]>
</Description>
</Member>
<Member Name="ZZZZZZZZZZABB_UDT_159" DataType="SINT" Dimension="0" Radix="Decimal" Hidden="true"/>
<Member Name="Start_2_Bit_8" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZABB_UDT_159" BitNumber="0">
<Description>
<![CDATA[Bit 8 - Start 2 if sequence start]]>
</Description>
</Member>
<Member Name="Start_3_Bit_9" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZABB_UDT_159" BitNumber="1">
<Description>
<![CDATA[Bit 9 - Start 3 if sequence start]]>
</Description>
</Member>
<Member Name="Motor_Heating_Bit_10" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZABB_UDT_159" BitNumber="2">
<Description>
<![CDATA[Bit 10 - Perform motor heating when signal is set]]>
</Description>
</Member>
<Member Name="Stand_Still_Brake_Bit_11" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZABB_UDT_159" BitNumber="3">
<Description>
<![CDATA[Bit 11 - Perform stand still brake when signal is set]]>
</Description>
</Member>
<Member Name="Start_Reverse_Bit_12" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZABB_UDT_159" BitNumber="4">
<Description>
<![CDATA[Bit 12 - Commence a reverse start when signal is set]]>
</Description>
</Member>
<Member Name="Spare_Bit_13" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZABB_UDT_159" BitNumber="5">
<Description>
<![CDATA[Bit 13 - Unused]]>
</Description>
</Member>
<Member Name="Emergency_Mode_Bit_14" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZABB_UDT_159" BitNumber="6">
<Description>
<![CDATA[Bit 14 - Set to "1" to enable emergency mode]]>
</Description>
</Member>
<Member Name="FBT_Toggle_Bit_Bit_15" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZABB_UDT_159" BitNumber="7">
<Description>
<![CDATA[Bit 15 - See Fieldbus Tasks]]>
</Description>
</Member>
<Member Name="ZZZZZZZZZZABB_UDT_1518" DataType="SINT" Dimension="0" Radix="Decimal" Hidden="true"/>
<Member Name="User_Defined_Trip_Bit_16" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZABB_UDT_1518" BitNumber="0">
<Description>
<![CDATA[Bit 16 - Set to "1" to trigger user defined protection]]>
</Description>
</Member>
<Member Name="Switch_to_Remote_Cntrl_Bit_17" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZABB_UDT_1518" BitNumber="1">
<Description>
<![CDATA[Bit 17 - Switch to remote control when signal is set (rising edge triggered)]]>
</Description>
</Member>
<Member Name="Pump_Cleaning_Auto_Bit_18" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZABB_UDT_1518" BitNumber="2">
<Description>
<![CDATA[Bit 18 - Perform Automatic pump cleaning]]>
</Description>
</Member>
<Member Name="Pump_Cleaning_Forward_Bit_19" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZABB_UDT_1518" BitNumber="3">
<Description>
<![CDATA[Bit 19 - Perform forward pump cleaning when signal is set]]>
</Description>
</Member>
<Member Name="Pump_Cleaning_Reverse_Bit_20" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZABB_UDT_1518" BitNumber="4">
<Description>
<![CDATA[Bit 20 - Perform reverse pump cleaning when signal is set]]>
</Description>
</Member>
<Member Name="FBT_Control_Word" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false">
<Description>
<![CDATA[See FieldBus Tasks]]>
</Description>
</Member>
<Member Name="FBT_Argument_2" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false">
<Description>
<![CDATA[See FieldBus Tasks]]>
</Description>
</Member>
<Member Name="FBT_Argument_3" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false">
<Description>
<![CDATA[See FieldBus Tasks]]>
</Description>
</Member>
</Members>
</DataType>
</DataTypes>
<AddOnInstructionDefinitions Use="Context">
<AddOnInstructionDefinition Use="Target" Name="ABB_80" Revision="1.0" ExecutePrescan="true" ExecutePostscan="false" ExecuteEnableInFalse="true" CreatedDate="2009-02-06T19:26:06.615Z" CreatedBy="ABB" EditedDate="2019-06-17T19:35:29.599Z" EditedBy="AMERICAS\usmidig2" SoftwareRevision="v16.04"
>
<Description>
<![CDATA[File Name: ABB_AOI_100_150_12W]]>
</Description>
<AdditionalHelpText>
<![CDATA[This AddOn instruction accomplishes three things:
1. Synchronously moves the plc commands and values to the drive; and the feedback from the drive to the plc.
2. Resets operate command bits in the plc pre-scan
3. Resets operate command bits and zeros references when EnableIn is false.
(EnableIn = False is never an intended use of this AddOn, and this feature is only included as a protective measure.)

Assembly: ABB Drives profile with set speed plus drive parameters assembly
Input Assy Instance: 100
Output Assy Instance: 150
Max Word Size: 12
Static/Dynamic:  Dynamic
Profile Type: ABB
Comm Module Type: ANYBUS Adapter
File Name: ABB_AOI_100_150_12W
Instruction Name: ABB_80
Required User Defined Data Types: ABB_UDT_150o, ABB_UDT_100

Note: Assembly consists of custom data.  Pre-scan and enable-in-false are responsibility of user]]>
</AdditionalHelpText>
<Parameters>
<Parameter Name="AB_COMM_MODULE_I" DataType="INT" Dimensions="12" Usage="InOut" Radix="Decimal" Required="true" Visible="true"/>
<Parameter Name="AB_COMM_MODULE_O" DataType="INT" Dimensions="5" Usage="InOut" Radix="Decimal" Required="true" Visible="true"/>
<Parameter Name="ABB_UDT_100" DataType="ABB_UDT_100_PSTX" Usage="InOut" Required="true" Visible="true"/>
<Parameter Name="ABB_UDT_150o" DataType="ABB_UDT_150o_PSTX" Usage="InOut" Required="true" Visible="true"/>
<Parameter Name="StatusWord" DataType="INT" Usage="Output" Radix="Hex" Required="false" Visible="true">
<Description>
<![CDATA[Status Word from Drive]]>
</Description>
<DefaultData>00 00</DefaultData>
</Parameter>
<Parameter Name="ControlWord" DataType="INT" Usage="Output" Radix="Hex" Required="false" Visible="true">
<Description>
<![CDATA[ControlWord to Drive]]>
</Description>
<DefaultData>00 00</DefaultData>
</Parameter>
</Parameters>
<LocalTags/>
<Routines>
<Routine Name="EnableInFalse" Type="RLL">
<Description>
<![CDATA[Protection Logic for EnableIn False]]>
</Description>
<RLLContent>
<Rung Number="0" Type="N">
<Comment>
<![CDATA[*********************************************************************************************************************************************************************************
Reset Run Commands and Zero reference on loss of EnableIn
*********************************************************************************************************************************************************************************]]>
</Comment>
<Text>
<![CDATA[OTU(ABB_UDT_150o.Start_Bit_0)OTU(ABB_UDT_150o.Stop_Bit_1);]]>
</Text>
</Rung>
</RLLContent>
</Routine>
<Routine Name="Logic" Type="RLL">
<Description>
<![CDATA[Transfer data to and from the drive]]>
</Description>
<RLLContent>
<Rung Number="0" Type="N">
<Comment>
<![CDATA[*********************************************************************************************************************************************************************************
Copy Data from the Drive into the UDT Tag Structure
*********************************************************************************************************************************************************************************]]>
</Comment>
<Text>
<![CDATA[CPS(AB_COMM_MODULE_I[0],ABB_UDT_100,12);]]>
</Text>
</Rung>
<Rung Number="1" Type="N">
<Comment>
<![CDATA[*********************************************************************************************************************************************************************************
Copy Data from the UDT Tag Structure to the Drive
*********************************************************************************************************************************************************************************]]>
</Comment>
<Text>
<![CDATA[CPS(ABB_UDT_150o,AB_COMM_MODULE_O[0],5);]]>
</Text>
</Rung>
<Rung Number="2" Type="N">
<Comment>
<![CDATA[*********************************************************************************************************************************************************************************
Populate Control and Status Words
*********************************************************************************************************************************************************************************]]>
</Comment>
<Text>
<![CDATA[[CPS(AB_COMM_MODULE_I[0],StatusWord,1) ,CPS(ABB_UDT_150o,ControlWord,1) ];]]>
</Text>
</Rung>
</RLLContent>
</Routine>
<Routine Name="Prescan" Type="RLL">
<Description>
<![CDATA[Prescan Logic Conditioning]]>
</Description>
<RLLContent>
<Rung Number="0" Type="N">
<Comment>
<![CDATA[*********************************************************************************************************************************************************************************
Make sure Run Commands are reset prior to first scan
*********************************************************************************************************************************************************************************]]>
</Comment>
<Text>
<![CDATA[OTU(ABB_UDT_150o.Start_Bit_0)OTU(ABB_UDT_150o.Stop_Bit_1);]]>
</Text>
</Rung>
</RLLContent>
</Routine>
</Routines>
<Dependencies>
<Dependency Type="DataType" Name="ABB_UDT_100_PSTX"/>
<Dependency Type="DataType" Name="ABB_UDT_150o_PSTX"/>
</Dependencies>
</AddOnInstructionDefinition>
</AddOnInstructionDefinitions>
</Controller>
</RSLogix5000Content>
