mirror of
https://github.com/Binary-Coalescence/motorDSM.git
synced 2025-08-04 21:55:40 -05:00
Updated readme IOC usage sections.
This commit is contained in:
36
README.md
36
README.md
@@ -161,46 +161,48 @@ Do __not__ use the direct serial port names (by default, serial0, serial1, etc.)
|
|||||||
Running the example IOC
|
Running the example IOC
|
||||||
-------------------------------------------------
|
-------------------------------------------------
|
||||||
|
|
||||||
To run the example IOC, build the packages listed below, then:
|
To run the example IOC configured above:
|
||||||
|
|
||||||
1. Follow the steps in "Configuring the system for attached controllers" below.
|
1. Follow the steps in "Configuring the system for attached controllers" below.
|
||||||
|
|
||||||
2. Set the "EPICS_CA_ADDR_LIST" environment variable to include the IP address of the server.
|
|
||||||
If it's running on the same computer, you can use the loopback IP address.
|
|
||||||
`$ export EPICS_CA_ADDR_LIST='127.0.0.1'`
|
|
||||||
|
|
||||||
3. In the ``iocs/dsmIOC/iocBoot/iocDsm`` directory, run
|
3. In the ``iocs/dsmIOC/iocBoot/iocDsm`` directory, run
|
||||||
`$ ../../bin/linux-x86_64/dsm st.cmd.md90`
|
`$ ../../bin/linux-x86_64/dsm st.cmd.md90`
|
||||||
for one attached MD-90 controller, or
|
for one attached MD-90 controller, or
|
||||||
`$ ../../bin/linux-x86_64/dsm st.cmd.md90.multi`
|
`$ ../../bin/linux-x86_64/dsm st.cmd.md90.multi`
|
||||||
for eight attached MD-90 controllers. Edit this file to use more than one unit; simply comment out the ones you don't need.
|
for multiple attached MD-90 controllers. This is set up for eight controllers, so add or remove lines as appropriate if using a different number.
|
||||||
|
|
||||||
4. Test using the `caget` and `caput` arguments as described in the "Example usage" section below.
|
4. Test using the `caget` and `caput` programs from the `epics-base` package as described in the "Example usage" section below.
|
||||||
|
|
||||||
|
|
||||||
-------------------------------------------------
|
-------------------------------------------------
|
||||||
Example usage
|
Example usage
|
||||||
-------------------------------------------------
|
-------------------------------------------------
|
||||||
|
|
||||||
After building, run the example IOC described at the top of this section in one terminal window.
|
1. After building, run the example IOC described above in one terminal window.
|
||||||
Open another terminal window and navigate to [EPICS install directory]/epics-base/bin/linux-x86_64/ (or wherever you built EPICS base.
|
|
||||||
Use the commands `caget` and `caput` to read and set process variables, respectively.
|
|
||||||
|
|
||||||
For example, to get the current position, use:
|
2. Open another terminal window on either the same computer as the IOC or another computer on the LAN and navigate to `[EPICS install directory]/epics-base/bin/linux-x86_64/` (or wherever you built EPICS base). You could alternatively add this directory to your PATH.
|
||||||
|
|
||||||
|
3. Set the "EPICS_CA_ADDR_LIST" environment variable to include the IP address of the server. If it's running on the same computer, you can use the loopback IP address:
|
||||||
|
`$ export EPICS_CA_ADDR_LIST='127.0.0.1'`
|
||||||
|
|
||||||
|
4. Use the `caget` and `caput` programs to read and set process variables, respectively.
|
||||||
|
|
||||||
|
For example, to get the current position (in encoder counts of 10 nm), use:
|
||||||
`$ ./caget DSM:m0.REP`
|
`$ ./caget DSM:m0.REP`
|
||||||
This reads the REP variable, which is the "Raw Encoder Position". Additionally, change `m0` to `m1`, `m2`, etc. to read the values from other motors when running more than one.
|
This reads the REP variable, which is the "Raw Encoder Position". Additionally, change `m0` to `m1`, `m2`, etc. to read the values from other motors when running more than one.
|
||||||
|
|
||||||
Homing the motor (must be done before you can issue position commands):
|
Homing the motor (must be done before you can issue position commands):
|
||||||
`$ ./caput DSM:m0.HOMF 1 #Begins homing sequence in the forward direction`
|
`$ ./caput DSM:m0.HOMF 1`
|
||||||
or
|
This starts the homing sequence in the forward direction. Alternatively, for homing starting in the reverse direction:
|
||||||
`$ ./caput DSM:m0.HOMR 1 #Begins homing sequence in the reverse direction`
|
`$ ./caput DSM:m0.HOMR 1`
|
||||||
|
|
||||||
Moving to a position target:
|
Moving to a position target:
|
||||||
`$ ./caput DSM:m0.VAL 2.345 #Moves to 2.345 mm`
|
`$ ./caput DSM:m0.VAL 2.345`
|
||||||
|
This moves the motor to 2.345 mm.
|
||||||
|
|
||||||
Setting a velocity target:
|
Setting a velocity target:
|
||||||
`./caput DSM:m0.VELO 0.5 #Sets velocity target to 0.5 mm/s`
|
`$ ./caput DSM:m0.VELO 0.5`
|
||||||
(Note that velocity targets are appropriate only. They adjust the step rate of the motor and are not guaranteed to be exact.)
|
This sets the velocity target to 0.5 mm/s. (Note that velocity targets are approximate only. They adjust the step rate of the motor and are not guaranteed to be exact.)
|
||||||
|
|
||||||
A note aboue velocity targets
|
A note aboue velocity targets
|
||||||
-----------------------------
|
-----------------------------
|
||||||
|
Reference in New Issue
Block a user