Kollmorgen UDFBs

A Kollmorgen UDFBClosed "User Defined Function Block" UDFB can be used as a sub-function block in another program of the application. It is described using FBD, LD, ST or IL language. Input / output parameters of a UDFB (as well as private variables) are declared in the variable editor as local variables of the UDFB is a pre-defined function block created by Kollmorgen to simplify certain tasks or demonstrate a particular function. A Kollmorgen UDFBClosed "User Defined Function Block" UDFB can be used as a sub-function block in another program of the application. It is described using FBD, LD, ST or IL language. Input / output parameters of a UDFB (as well as private variables) are declared in the variable editor as local variables of the UDFB must be instantiated before it may be used. The code inside a Kollmorgen UDFB can be modified by creating an unlocked copy in the subprogram section in the project tree..

List of Kollmorgen UDFBs.

How to create an instance

  1. Open your PLCClosed "Programmable Logic Controller" A Programmable Logic Controller, PLC, or Programmable Controller is a digital computer used for automation of industrial processes, such as control of machinery on factory assembly lines. Used to synchronize the flow of inputs from (physical) sensors and events with the flow of outputs to actuators and events code
  2. Select the UDFB in the Library tree
  3. Drag-and-drop the UDFB in the PLC editor to create the instance of the UDFB

An instance of the UDFB has now been created in Subprograms.


  • You cannot create the instance of the UDFB directly from the dictionary or from the PLC Editor.

Working with Kollmorgen UDFBs

By default all Kollmorgen UDFBs are protected, meaning they may not be modified or renamed. When a Kollmorgen UDFB is dropped into an instance it is not editable. There are two solutions to make it editable:

  • Right click on a Kollmorgen UDFB that has been dropped into an instance (in Subprograms) and select Unlock. This creates an unlocked version of the UDFB with the name "U<sequence number><UDFB name>".

  • Instead of dropping a Kollmorgen UDFB into an instance, right click on the UDFB and select Create unlocked copy in Subprograms. This creates an unlocked instance of the UDFB with the name "U<sequence number><Kollmorgen UDFB name>".

Once a Kollmorgen UDFB has been unlocked it may be renamed and exported by right-clicking on the UDFB. Renamed UDFBs must have unique names. Importing a saved UDFB will increment the UDFB's name.


  • In order for a UDFB to modify a structure or array based on the output, you must first define it as an input. The input is automatically set as an INOUT parameter. This is because OUTs are strictly simple types.