发布于 2004-10-05 22:19:17
0楼
FUNCTION "PG_Info" : VOID
TITLE ="Pulse generator information"
AUTHOR : BenBen
VERSION : 1.1
VAR_INPUT
Angle : REAL ; //Angle executed during cycle (?
Diam : REAL ; //Diameter (mm)
G : REAL ; //Gear box
Tc : REAL ; //Cycle time (ms)
END_VAR
VAR_OUTPUT
Length : REAL ; //Length covered during the last scan (mm)
END_VAR
VAR_IN_OUT
AngSp : REAL ; //Angular speed (rpm)
LinSp : REAL ; //Linear speed (m/min)
END_VAR
BEGIN
NETWORK
TITLE =AngSp = Angle x 60 x 1000 / ( 360 x Tc )
// If Gearbox <= 0
L #G;
L 0.000000e+000;
<=R ;
JC jp1;
// If Cycle time <= 0
L #Tc;
L 0.000000e+000;
<=R ;
JC jp1;
L #Angle;
L 1.000000e+003;
*R ;
L 6.000000e+000;
/R ;
L #Tc;
/R ;
T #AngSp;
JU jp2;
// If conditions TRUE
jp1: L 0.000000e+000;
T #AngSp;
jp2: NOP 0;
NETWORK
TITLE =LinSp = AngSp x Diam x pi / (1000 * G)
L #AngSp;
L #Diam;
*R ;
L 3.141590e+000;
*R ;
L 1.000000e+003;
/R ;
L #G;
/R ;
T #LinSp;
NETWORK
TITLE =Length = LinSp x Tc / 60
// If Cycle time <= 0
L #Tc;
L 0.000000e+000;
<=R ;
JC jp3;
L #LinSp;
L #Tc;
*R ;
L 6.000000e+001;
/R ;
T #Length;
JU jp4;
// If conditions TRUE
jp3: L 0.000000e+000;
T #Length;
jp4: NOP 0;
END_FUNCTION