238 "inputs" : [("AUTO","BOOL","none"),("PV","REAL","none"),("SP","REAL","none"),("X0","REAL","none"),("KP","REAL","none"),("TR","REAL","none"),("TD","REAL","none"),("CYCLE","TIME","none")], |
238 "inputs" : [("AUTO","BOOL","none"),("PV","REAL","none"),("SP","REAL","none"),("X0","REAL","none"),("KP","REAL","none"),("TR","REAL","none"),("TD","REAL","none"),("CYCLE","TIME","none")], |
239 "outputs" : [("XOUT","REAL","none")], |
239 "outputs" : [("XOUT","REAL","none")], |
240 "comment" : _("PID\nThe PID (proportional, Integral, Derivative) function block provides the classical three term controller for closed loop control."), |
240 "comment" : _("PID\nThe PID (proportional, Integral, Derivative) function block provides the classical three term controller for closed loop control."), |
241 "generate" : generate_block, "initialise" : initialise_block}, |
241 "generate" : generate_block, "initialise" : initialise_block}, |
242 {"name" : "RAMP", "type" : "functionBlock", "extensible" : False, |
242 {"name" : "RAMP", "type" : "functionBlock", "extensible" : False, |
243 "inputs" : [("RUN","BOOL","none"),("X0","REAL","none"),("X1","REAL","none"),("TR","TIME","none"),("CYCLE","TIME","none"),("HOLDBACK","BOOL","none"),("ERROR","REAL","none"),("PV","REAL","none")], |
243 "inputs" : [("RUN","BOOL","none"),("X0","REAL","none"),("X1","REAL","none"),("TR","TIME","none"),("CYCLE","TIME","none")], |
244 "outputs" : [("RAMP","BOOL","none"),("XOUT","REAL","none")], |
244 "outputs" : [("BUSY","BOOL","none"),("XOUT","REAL","none")], |
245 "comment" : _("Ramp\nThe RAMP function block is modelled on example given in the standard but with the addition of a 'Holdback' feature."), |
245 "comment" : _("Ramp\nThe RAMP function block is modelled on example given in the standard."), |
246 "generate" : generate_block, "initialise" : initialise_block}, |
246 "generate" : generate_block, "initialise" : initialise_block}, |
247 {"name" : "HYSTERESIS", "type" : "functionBlock", "extensible" : False, |
247 {"name" : "HYSTERESIS", "type" : "functionBlock", "extensible" : False, |
248 "inputs" : [("XIN1","REAL","none"),("XIN2","REAL","none"),("EPS","REAL","none")], |
248 "inputs" : [("XIN1","REAL","none"),("XIN2","REAL","none"),("EPS","REAL","none")], |
249 "outputs" : [("Q","BOOL","none")], |
249 "outputs" : [("Q","BOOL","none")], |
250 "comment" : _("Hysteresis\nThe hysteresis function block provides a hysteresis boolean output driven by the difference of two floating point (REAL) inputs XIN1 and XIN2."), |
250 "comment" : _("Hysteresis\nThe hysteresis function block provides a hysteresis boolean output driven by the difference of two floating point (REAL) inputs XIN1 and XIN2."), |