Project Example: Flip Flop (Function Block Diagram)

From SoftMC-Wiki
Jump to: navigation, search
Language: English

The task's purpose is to set and reset an output.
The main program initializes a startup process in the softMC.
After the startup process is done, the program sets 'Done' variable and a global variable.
After 'Done' variable is set, programs 'Axis1' and 'Axis2' are called.
The application uses two drives and their outputs.

After installation of device description file (created by the Configurator) to Device Repository, the drive's address will be declared in the Axis Pool:

FF A1.PNG FF A2.PNG

In the EtherCAT Slaves section, we can find the I/O mapping for each device.
In the picture below Input1, Input2, Output1, Output5 are declared as new variables (can also be mapped as existing variables):

FF CDHD I O.PNG

The main program uses 'softMC_Startup' FB ('mc_st' Instance) to initialize a startup process in the softMC.
A rising edge detection will set the 'Done' variable (and also a global variable) and then call programs 'Axis1' and 'Axis2':

FF main program FBD.PNG

When programs 'Axis1' and 'Axis2' are called, output5 is turned on.
If output5 is turned on, the 'SR' FB is enabled with output1 as 'Q1' ('SR_0' Instance).
Input1 will trigger the 'set' function and input2 will trigger the 'reset' function.
Programs 'Axis1' and 'Axis2' are similar:
FF Axis1 FBD.PNG FF Axis2 FBD.PNG


Visualization

The program is controlled by a graphic interface:

FF Visualization.PNG

When the startup process of softMC is done, the blue lamp is turned on.
The user can set and reset the outputs of the two drives with special buttons for each function. In addition, the result of the 'SR' FB is shown by the green lamps.