Can a POU (Program Organization Unit) not scheduled in the Task be called by another POU in SoMachine?



Goals and Symptoms

This resolution is an example for a call to a subroutine. It provides an overview for calling a secondary POU not scheduled in the Task by a main POU.

Causes and Fixes

SoMachine is a software package which includes Vijeo Designer and CoDeSys. It is used to develop applications for the XBTGC (PLC and HMI Combo) or the M238 (PLC only)
In order to be executed, POU (Program Organization Unit) must be scheduled in the Task Configuration. Or a main POU already scheduled in the Task Configuration can call to a secondary POU that is not schedule in the Task Configuration list. This resolution will demonstrate how to call a secondary POU from a main POU


1) Create 2 POU (Program Organization Unit) A Main and Secondary POU.


2) Devices Window


3) Add the Main POU to the Task configuration


4) Insert a Box in the Main POU FBD section. This box will be used to call the secondary POU.


5) Link the Box to Secondary_POU


6) Add a conditinal input to control the execution of Secondary_POU. In this example, when Call_SecondaryPOU is true, Secondary_POU gets executed. Otherwise if Call_SecondaryPOU is false, Secondary_POU does not executed.


7) Running the project

Call_SecondaryPOU = False, Secondary Pou not being executed.



8) Running the project

Call_SecondaryPOU = True, Secondary Pou is being executed.

Legacy KB System (APS) Data: RESL200526 V1.0, Originally authored by MiMe on 11/19/2009, Last Edited by MiMe on 11/19/2009
Related ranges: SoMachine