To use UDTs, you create your own tag in the Default tag table as shown in the previous section and instead of using one of the elementary Data types, you select one of the UDTs we generated. So for the feeder module, we know from the previous section that its starting address for both Inputs and outputs is byte 0. So, we are going to create a tag to store all of the feeder module’s inputs and a tag to write to all of the feeder module’s outputs.

Example Modules and UDT Assignment

Using the modules we defined in the Topology Example section, we are going to assign each module’s input and output data to the UDTs we generated in the previous section.

Profinet Name Module Mode DAP from Hardware Catalog Input UDT Name Output UDT Name
feeder Full ZPA ConveyLinx-Ai in ZPA mode CLXAiZPA_IN CLXAiZPA_OUT
merge Full ZPA with Merger ConveyLinx-Ai merger CLXAiZPA_IN CLXAiZPA_OUT
divert ConveyLogix Interface ConveyLinx-Ai in PLC mode with ConveyLogix N/A N/A
workstation Full PLC Controlled ConveyLinx-Ai in PLC mode CLXAiPLC_IN CLXAiPLC_OUT
spur Reduced ZPA ConveyLinx-Ai in reduced ZPA mode CLXAiZPAmini_IN CLXAiZPAmini_OUT
reject Reduced PLC Controlled ConveyLinx-Ai in reduced PLC mode CLXAiPLCmini_IN CLXAiPLCmini_OUT

Adding feeder Module
Adding workstation Module
Adding Remaining Modules

What about ConveyLogix Interface?

There is no UDT required for the ConveyLogix interface because the input and output data have no pre-defined meanings or operations. The I/O data for a module using ConveyLogix is a “blank” block of 32 input and 32 output bytes (16 input and 16 output Words) that is available for the programmer to use as needed based upon the application.

For this example, you can access the divert module by either the Raw Unmapped Data Direct from Module or Module Data Elements Mapped to Tags method previously described.