Cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted

MU specific energy consumption

Experimenter
Experimenter

Hi All,

 

in my example I try to model a "furnance" that can be operated with different "process times" and "temperature profiles" according to the MU currently being processed.

 

What I did is... (from source to drain)

  1. I specified two different MUs in a table. These are generated periodically
  2. SingleProc ("Trigger") is only used to trigger the time between different MUs (also respecting shift system and MU sequence)
  3. SingleProc ("Furnance") uses MU specific process times which are specified in the table MU_ProcTime. Besides,  entrance control calls a method that specifies "temperature profiles" according to the MU currently being processed and writes these values in Furnance.PowerInputWorking. (I specified two temperture profiles in temp_profile1_1 and temp_profile1_2 which I call in the method).

The setup works fine if I run it only for one MU but I experience problems we I try to refer to differnt MU specific temperature profile while either MU1_1 or MU1_2 is being processed in the "Furnance". How can I setup a control structure in the method the differentiates correctly? MU1_1 --> temp_profile1_1, MU1_2 --> temp_profile1_2. 

 

Thank you very much for your advice in advance.

 

Max

4 REPLIES 4

Re: MU specific energy consumption

Gears Esteemed Contributor Gears Esteemed Contributor
Gears Esteemed Contributor

I cannot change your model in version 14, but here are some advices:

 

- to get the link to the MU you could use the entrance control (not before actions  --> the proctime is calculated later) to call method and pass the MU (here you can also set the first variable):

 

first:=true
method(@)

in your method you pass each time you call method the MU:

 

param MU:object
if MU=void then
	return --already destroyed by drain
end
switch MU.Name
case "cycle1"
	
	if first then
		index := 1;
		diff := Furnance.Proctime / temp_profile1_1.YDim;
		first := false;
	else
		index := index + 1;
	end
	
	Furnance.PowerInputWorking := temp_profile1_1[1,index];
	
	-- look if we have to call the method again
	if index <= temp_profile1_1.YDim then
		self.methcall( diff, MU )
	end
	
case "cycle11"
	
	if first then
		index := 1
		diff := Furnance.Proctime / temp_profile1_2.YDim
		first := false
	else
		index := index + 1
	end
	
	Furnance.PowerInputWorking := temp_profile1_2[1,index];
	
	-- look if we have to call the method again
	if index <= temp_profile1_2.YDim then
		self.methcall( diff,MU )
	end
	
end

 

 

 

 

 

Steffen Bangsow
freelance simulation specialist  
web: www.bangsow.eu
mail: steffen@bangsow.net

Re: MU specific energy consumption

Experimenter
Experimenter

Thank you Steffen for your quick reply and your help.

 

Unfortunately I get an Syntax error in line 3 'param' for the first part of the code.

Any advice what could be the reason for that?

 

Thanks Max

 

first:=true
method(@)

param MU: object
if MU=void then
	return
	-- already destroyed by drain
end

Re: MU specific energy consumption

Gears Esteemed Contributor Gears Esteemed Contributor
Gears Esteemed Contributor

the first two lines are the program of the entrance control (not "method") --> it calls method and passes the MU

 

you need to write the param statement into the first line of the method "method"

Steffen Bangsow
freelance simulation specialist  
web: www.bangsow.eu
mail: steffen@bangsow.net

Re: MU specific energy consumption

Experimenter
Experimenter

Cheers Steffen... it is working.

 

If anyone interested in creating MU specific "energy/temperature/pressure profiles" please find the solution attached.

 

Max