Closed teddyrendahl closed 4 years ago
I believe we still need to address EPICS being able to control the gantry slave axis.
Maybe it could be in the form of a general "monitoring" (i.e., not controllable) axis configuration flag? cc @slacAWallace
Something that rejects setpoint requests when the axis is coupled to a master? @jsheppard95
Yes, allowing the slave status to be shown in EPICS through the standard motor record interface but not allowing motion on the PLC-side.
We should also make it so you can opt to disable an axis's EPICS controls for any reason, not just for gantries.
@ZLLentz I think that is a good idea
On @slacAWallace point, I also think this could have a pure EPICS solution if we wanted (not fervent about this, but just pitching this instead of more PLC code). If we have a PV that indicates whether an axis is a slave or not we link that directly to the DISP
field of the motor. The reason I think this might be a valid solution is because it seems like through the TwinCAT interface itself we can't move the slave axis but somehow through the external ADS we have a little too much reach.
Ah that's interesting and deserves being restated.
Through NC axis control we cannot directly control a secondary axis, but through MC_blocks we can?
Yes, that's how I understand it Alex.
I like Teddy's solution of just using DISP.
I think we could give using the DISA/DISV fields a go, as suggested by @teddyrendahl. It may work well enough for what we want to do.
My favorite as mentioned in conversations earlier would be a way to manipulate any record's DISP fields from the PLC itself as a simple boolean.
I believe we're reasonably happy with our gantry implementation. Further requirements/changes should be in different issues. Closing.
More to the point: the gantry code has been proven to work and I'm scared to change it
Function blocks to support gantried motion. Important features include: