57 lines
1.2 KiB
Plaintext
57 lines
1.2 KiB
Plaintext
record(ao, "circle:step") {
|
|
field(VAL , "1.0")
|
|
field(DRVL, "0.0")
|
|
field(DRVH, "359")
|
|
field(PINI, "YES")
|
|
}
|
|
|
|
record(ao, "circle:period") {
|
|
field(VAL , "1.0")
|
|
field(PINI, "YES")
|
|
field(OUT , "circle:tick.ODLY NPP")
|
|
}
|
|
|
|
record(calc, "circle:angle") {
|
|
field(PINI, "RUNNING") # bootstrap
|
|
field(INPA, "circle:angle NPP")
|
|
field(INPB, "circle:step NPP")
|
|
field(INPD, "360")
|
|
field(CALC, "C:=A+B;(C>=D)?C-D:C")
|
|
field(FLNK, "circle:x")
|
|
field(PREC, "3")
|
|
info(pdbGroup0, "circle|angle=VAL")
|
|
info(pdbGroup1, "line|a=VAL")
|
|
alias("line:a")
|
|
}
|
|
|
|
record(calc, "circle:x") {
|
|
field(INPA, "circle:angle NPP")
|
|
field(CALC, "cos(A*PI/180)")
|
|
field(TSEL, "circle:angle.TIME")
|
|
field(FLNK, "circle:y")
|
|
field(PREC, "3")
|
|
info(pdbGroup, "circle|x=VAL")
|
|
}
|
|
|
|
record(calc, "circle:y") {
|
|
field(INPA, "circle:angle NPP")
|
|
field(CALC, "sin(A*PI/180)")
|
|
field(TSEL, "circle:angle.TIME")
|
|
field(PREC, "3")
|
|
field(FLNK, "line:b")
|
|
info(pdbGroup, "circle|y=VAL")
|
|
info(pdbTrigger,"circle|y>*")
|
|
}
|
|
|
|
record(ai, "line:b") {
|
|
field(INP, "line:a NPP")
|
|
field(FLNK, "circle:tick")
|
|
info(pdbGroup, "line|b=VAL")
|
|
info(pdbTrigger,"line|b>*")
|
|
}
|
|
|
|
record(calcout, "circle:tick") {
|
|
field(ODLY, "1.0")
|
|
field(OUT , "circle:angle.PROC CA") # loop
|
|
}
|