EE_CYCLE_START

I would like to set up an EE_CYCLE_START ee_event, with predefined string variable assign with the part data name - example: string name:= Part_1;
And set Production Manager to check this ee_event before every run.
My questions are:
1 - Where and how should I set up my ee_event?
2 - Do I need to set up my Production Manager to look for this ee_event?

Thanks.

Hello Eugene,

you can define the event declarartion and the routine in any module.

Example;

VAR ee_event myEventCycleStart:=[EE_CYCLE_START, “MyCycleStart”,“”,1,255];

PROC MyCycleStart()
ENDPROC

The Production Manager scans automatically for all available event declarations.
So all you have to do is define the event.

Best regardsMicky

Hi Micky,
Thanks for your response.
That’s what I’m trying to do with my C# application:
I 'm scanning the mPartData and printing on the screen all modules assigned inside that mPartData - example:
This is inside of mPartData:

TASK PERS partdata pd_Test_01:=[“Call_Test_01”,“Test_01”,“T_ROB1”,1,0,“”,“”];
TASK PERS partdata pd_Test_02:=[“Call_Test_02”,“Test_02”,“T_ROB1”,1,0,“”,“”];
TASK PERS partdata pd_Test_03:=[“Call_Test_03”,“Test_03”,“T_ROB1”,1,0,“”,“”];

On my pc application it showing up like a scroll down menu with the names of the modules:
Test_01
Test_02
Test_03
And operator making selection and that selection is stored inside the variable - and assigned to the variable inside the mPartData module:
PERS string moduleName:=“”;
Example:
The user will select Test_01 - it will be:
PERS string moduleName:=“Test_01”;
Now I wont to make an ee_event myEventCycleStart to check that variable - name of the module and start that proc.
Example:
It will be 3 procs inside that mPartData:

PROC Call_Test_01(\switch Dummy)
LoadModule “mTest_01”\CallRoutine:=“user_selection”\AutoSave;
ENDPROC

PROC Call_Test_02(\switch Dummy)
LoadModule “mTest_02”\CallRoutine:=“user_selection”\AutoSave;
ENDPROC

PROC Call_Test_03(\switch Dummy)
LoadModule “mTest_03”\CallRoutine:=“user_selection”\AutoSave;
ENDPROC

And if inside my variable is stored name - Test_01 it will start first proc:

PROC Call_Test_01(\switch Dummy)
LoadModule “mTest_01”\CallRoutine:=“user_selection”\AutoSave;
ENDPROC.

I’m not sure if it’s possible to do this with ee_event.?

Hello,

I think you have to use the solution described in chapter 4.2 of the manual.

You create a routine which is connected with the event “EE_START”.
In this routine you define an interrupt for your persistent “moduleName”
Example:
Connect intno1 with T_ProgSelect;

IPERS moduleName,intno1;

You define a trap routine which is

TRAP T_ProgSelect
IF moduleName=stEmpty Return;

!Create and load your partdata

!activate the next partdata for execution
PMgrSetNextPart 1, pd_Test_01;
ENDTRAP

Each time if your persistent changes, the trap routine is called and you can load the required module and activate the next part.

/BR
Micky

Thanks Micky.
You mention manual with chapter 4.2. What kind of manual is that? I checked several different manuals and I did not find that.

Hello EugeneB,

please use the following link to the manual
https://search.abb.com/library/Download.aspx?DocumentID=3HAC052855-001&LanguageCode=en&DocumentPartId=&Action=Launch

https://new.abb.com/products/robotics/application-software/arc-welding/production-manager

Best regards

Micky

Hi Micky,
I got a message - You are not authorized to access this document.

Micky,
In your example:

Example:
Connect intno1 with T_ProgSelect;

IPERS moduleName,intno1;

You define a trap routine which is

TRAP T_ProgSelect
IF moduleName=stEmpty Return;

!Create and load your partdata

!activate the next partdata for execution
PMgrSetNextPart 1, pd_Test_01;
ENDTRAP
What is - intno1 in Connect line?

You wrote:
You create a routine which is connected with the event “EE_START”.
How you connect that routine with EE_START?