Hi Matthew,
I changed TWV to REL and used caput to test each motor separately since I want to make relative motions. I just added DOL into my fanout field but it did not work either. I used caput to $(P)-F, it updated to the new value however the motors did not move! P=XF:19IDC-ES-GO{Ymove}Mtr for the macro.
Phi
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
*From:* Pearson, Matthew <pearsonmr at ornl.gov>
*Sent:* Wednesday, November 1, 2023 9:59 AM
*To:* Goetze, Kurt A. <goetze at anl.gov>; Tran, Phi Dung <ptran1 at bnl.gov>
*Cc:* Tech-talk <tech-talk at aps.anl.gov>
*Subject:* RE: fanout is not working
Hi,
Are you sure writing the position to $(M).TWF actually works with caput? Normally TWF (and TWR) just accept a ‘1’ to initiate a relative move specified by the distance in TWV. If the 3 motors are moving, they may just be moving a TWV relative distance.
What you may want is this instead?
record(dfanout, "$(P)-F") {
field(DESC, "move ib,ob,ds MTR")
field(OUTA, "$(OUTBOARDMTR) PP MS")
field(OUTB, "$(INBOARDMTR) PP MS")
field(OUTC, "$(DOWNSTREAMMTR) PP MS")
Cheers,
Matt
*From:* Tech-talk <tech-talk-bounces at aps.anl.gov> *On Behalf Of *Goetze, Kurt via Tech-talk
*Sent:* Tuesday, October 31, 2023 1:48 PM
*To:* Tran, Phi Dung <ptran1 at bnl.gov>
*Cc:* Tech-talk <tech-talk at aps.anl.gov>
*Subject:* [EXTERNAL] RE: fanout is not working
Hi Phi,
You’re close, but I don’t think you can poke the motor record’s value into the dfanout that way.
One way you could do it is by processing the motor record, FLNK the motor record to the dfanout, and have the dfanout’s .DOL field set to the motor record’s .VAL field (NPP). That may not be the exact solution but that’s the direction I would head.
Kurt
*From:* Tech-talk <tech-talk-bounces at aps.anl.gov <mailto:tech-talk-bounces at aps.anl.gov>> *On Behalf Of *Tran, Phi Dung via Tech-talk
*Sent:* Tuesday, October 31, 2023 11:31 AM
*To:* tech-talk at aps.anl.gov <mailto:tech-talk at aps.anl.gov>
*Subject:* fanout is not working
Hi,
I have created a virtual motor and can successfully use the `caput` and `caget` commands to set and read its value, respectively. However, my `dfanout` record is not moving the motors with relative motions as expected. I have confirmed that the motors respond correctly when I use `caput` to directly interact with the fields in `dfanout`.
record(motor, "$(P)"){
field(DTYP, "Soft Channel")
field(DESC, "Move Y,ib,ob,ds mtrs")
# Where to write the setpoint to
# Output to upstream, inboard and outboard motors
field(OUT, "$(P)-F PP MS")
field(PREC,"7")
....}
#Move Y motors ib,ob,ds in same direction
record(dfanout, "$(P)-F") {
field(DESC, "move ib,ob,ds MTR")
field(OUTA, "$(OUTBOARDMTR).TWF PP MS")
field(OUTB, "$(INBOARDMTR).TWF PP MS")
field(OUTC, "$(DOWNSTREAMMTR).TWF PP MS")
field(PREC, "7")
Please advice.
Thank you,
Phi