You are on page 1of 3

SIMATIC B02046_XINXING\ 02/19/2014 02:11:32 PM

IHW_PLC\CPU 414-3 PN/DP\...\FC500 - <offline>

FC500 - <offline>
""
Name: Family:
Author: Version: 0.1
Block version: 2
Time stamp Code: 02/19/2014 02:11:20 PM
Interface: 02/19/2014 02:11:20 PM
Lengths (block/logic/data): 00494 00350 00004

Name Data Type Address Comment


IN 0.0
I_SETPOINT Real 0.0 Setpoint for ramping
I_SLOPE Real 4.0 Slope - change per Tick
I_TICK Bool 8.0 Tick Pulse (i.e. one pulse every 100ms)
I_RUNNING Bool 8.1 Running (causes ramp up and follow setpoint
I_INSTANT_CHANGE Bool 8.2 Instant Setpoint Change (Bypass Ramp)
I_INTERLOCK Bool 8.3 Interlock for Running. 0 = instant stop
OUT 0.0
IN_OUT 0.0
IQ_BUFFER Real 10.0 Setpoint Buffer (must be stored in STAT or M variable)
TEMP 0.0
Target Real 0.0 Target for Ramp Generator
RETURN 0.0
RET_VAL Real 4.0 Current Setpoint

Block: FC500 Ramp Generator

Inputs
I_SETPOINT - Your Setpoint (may change whilst running)
I_SLOPE - Change of Setpoint per one Tick pulse
I_TICK - Pulse every fixed time period (length of pulse:1scan)
This could be raising edge of 100ms square wave from
Clock Memory
I_RUNNING - Device is Running so Ramp To Setpoint
I_INSTANT_CHANGE - Forces instant change of output from current value to
Setpoint when Device is Running (Bypass Ramp)
I_INTERLOCK - Device Run Interlock (1=OK to Run). When Interlock=0
Ramp Generator Output is forced to 0 without ramp.
Interlock has priority over I_RUNNING!

In/Outs:
IQ_BUFFER - Current value. To be assigned to STAT value in calling FB
or to a MD (Memory Merker) Location. Must NOT be a TEMP!

Ret_Val - Current Ramp Generator Output

Network: 1 Check if Interlock is False

When Interlock is False output is cleared to 0 without ramp-down

#I_
INTERLOCK MOVE MOVE
EN ENO EN ENO RET

0.000000e+ 0.000000e+
000 IN OUT #IQ_BUFFER 000 IN OUT #RET_VAL

Page 1 of 3
SIMATIC B02046_XINXING\ 02/19/2014 02:11:33 PM
IHW_PLC\CPU 414-3 PN/DP\...\FC500 - <offline>

Network: 2 Check if Instant Change is required

When Running and Instant Change is required output and buffer is overwritten
with Setpoint and function terminates

#I_
INSTANT_
#I_RUNNING CHANGE MOVE MOVE
EN ENO EN ENO RET

#I_ #I_
SETPOINT IN OUT #IQ_BUFFER SETPOINT IN OUT #RET_VAL

Network: 3 End here when Tick = 0.

When Tick Pulse is not present give current value to RET_VAL and terminate here
Function makes one iteration step per one tick pulse.

#I_TICK MOVE
EN ENO RET

#IQ_BUFFER IN OUT #RET_VAL

Network: 4 Set Target for Ramp Generator

#I_RUNNING MOVE MOVE


EN ENO NOT EN ENO

#I_ 0.000000e+
SETPOINT IN OUT #Target 000 IN OUT #Target

Network: 5 Ramp UP

CMP <R ADD_R CMP >R MOVE


EN ENO EN ENO

#IQ_BUFFER IN1 #IQ_BUFFER IN1 OUT #IQ_BUFFER #IQ_BUFFER IN1 #Target IN OUT #IQ_BUFFER

#Target IN2 #I_SLOPE IN2 #Target IN2

Network: 6 Ramp DOWN

CMP >R SUB_R CMP <R MOVE


EN ENO EN ENO

#IQ_BUFFER IN1 #IQ_BUFFER IN1 OUT #IQ_BUFFER #IQ_BUFFER IN1 #Target IN OUT #IQ_BUFFER

#Target IN2 #I_SLOPE IN2 #Target IN2

Page 2 of 3
SIMATIC B02046_XINXING\ 02/19/2014 02:11:33 PM
IHW_PLC\CPU 414-3 PN/DP\...\FC500 - <offline>

Network: 7 Issue Result and set ENO=True

MOVE
EN ENO SAVE

#IQ_BUFFER IN OUT #RET_VAL

Page 3 of 3

You might also like