sddsfeedforwardperforms feedforward on process variables. Feedforward essentially means that one or more process variables are set according to a predetermined function of other process variables. In
sddsfeedforward, the user supplies a series of tables that are used to interpolate values of a single actuator as a function of a single readback. Any number of tables may be given, so that any number of actuators may be driven by any number of readbacks. Each actuator is, however, driven by only one readback. One readback may drive any number of readbacks.
sddsfeedforward ID1GapCompensation.sdds -interval=10,swhere the file ID1GapCompensation.sdds contains the following data:
ReadbackName = ID1:Gap ActuatorName = S1B:H1:CurrentAO ReadbackValue ActuatorValue ------------------------------ 150.000 0.000 100.000 0.000 50.000 1.000 40.000 10.000 30.000 20.000 20.000 35.000 15.000 74.000 11.000 99.000At each iteration step, ID1:Gap is read and
sddsfeedforwardintepolates a new value for
S1B:H1:CurrentAObased on this table, which it writes to the PV.
sddsfeedforward <inputfile> [-interval=<real-value>] [-steps=<integer=value>] [-verbose] [-dryRun] [-averageOf=<number>[,interval=<seconds>]] [-testValues=<SDDSfile>] [-ezcaTiming=<timeout>,<retries>] [-runControlPV=string=<string>[,pingTimeout=<value>]] [-runControlDescription=<string>] [-CASecurityTest]
The input file is an SDDS file with the following elements:
sddsfeedforward more robust, one can implement tests on any process variable,
not necessarily those involved in the feedforward itself. If any of the tests fail, then the
feedforward is suspended until the test suceeds. The test consist of checking whether a process
variable is within a specified range or not. The
testValues file has three required columns and
one optional one: