|
|
Experimental Physics and
| ||||||||||||||
|
|
Hello, we are trying to implement motion like smarAct's smarpod 0.45 stage (https://www.youtube.com/watch?v=pwJK1UpAXnQ
0:55 seconds in the video). First of all, the motor of the stage is a step motor for a two-phase vacuum, and we are planning to control the motor by connecting it to maxv or maxnet controller. There is no need for fast motion like the piezo motor, but the goal we are currently trying to implement is to 1. When motor A (TESTMAX:R) moves in the CW direction, motor B (TESTMAX:L) moves in the CCW direction by the same distance 2. When motor A (TESTMAX:R) moves in the CW direction, motor B (TESTMAX:L) moves in the same CW direction by the same distance It is. Create a PV with the EPICS IOC with the MAXNET controller, and then, made soft IOC. If the switch of SYNC:EN is ON, the motor is driven like number 1, and if the switch of SYNC:EN is OFF, it is driven like number 2. It worked very well, but I really want to know there's another technology in epics. Do you happen to have any examples or examples of driving motors in this way? If there is a better way other than that, please advise. ========================================== This is my db sync_fast.db record(bo, "SYNC:EN") { field(DESC, "0=CoDir 1=Reverse") field(ZNAM, "OFF") field(ONAM, "ON") field(VAL, "1") } record(calcout, "SYNC:AB:CMD") { field(DESC, "feedforward") field(SCAN, "Passive") field(INPA, "TESTMAX:R.VAL CP NMS") field(INPB, "SYNC:EN CP NMS") field(CALC, "B?-A:A") # EN=1: -A, EN=0: +A field(OUT, "TESTMAX:L.VAL PP") field(OOPT, "On Change") field(PREC, "4") } and this is my st.cmd st.cmd #!../../bin/linux-x86_64/softmotor < envPaths cd "${TOP}" dbLoadDatabase "dbd/softmotor.dbd" softmotor_registerRecordDeviceDriver pdbbase dbLoadRecords("db/sync_fast.db") cd "${TOP}/iocBoot/${IOC}" iocInit Best&Regards, Baeg
| ||||||||||||||
| ANJ, 19 Mar 2026 |
·
Home
·
News
·
About
·
Talk
·
Base
·
Modules
·
Extensions
·
· Distributions · Download · Documents · Links · Licensing · |