Files
pva2pva/iocBoot/ioccircle/circle.db
Michael Davidsaver f4d1d5f458 more circle demo
2016-03-28 08:20:02 +09:00

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
}