Minor fixes
This commit is contained in:
1 parent
6c9d9832cc
commit
e938fa7a11
4 files changed
+26
-10
No files matched your search
@@ -14,7 +14,7 @@
|
||||
# caqtdm -macro "IOC=HEXAPOD,CPP_ID=0" ecmcCppLogic.ui
|
||||
|
||||
epicsEnvSet("IOC", "${IOC=HEXAPD}")
|
||||
require ecmccfg v11.2.0_RC1 "ECMC_VER=v11.2.0_RC1,MASTER_ID=-1,EC_RATE=1000"
|
||||
require ecmccfg sandst_a "ECMC_VER=sandst_a,MASTER_ID=-1,EC_RATE=1000"
|
||||
|
||||
# Load all twelve virtual axes, then the C++ transform and its status PVs.
|
||||
${SCRIPTEXEC} ./cfg/load.cmd
|
||||
@@ -370,27 +370,42 @@ The quintic profile in the offline viewer is not an IOC trajectory generator.
|
||||
|
||||
## EPICS viewer
|
||||
|
||||
Build the viewer's local C API library separately from the IOC's `libmain.so`:
|
||||
Start the IOC first, then run the viewer on a machine with a graphical display
|
||||
and network access to the IOC. From the project root, build the viewer's local
|
||||
C API library separately from the IOC's `libmain.so` and install the dependencies:
|
||||
|
||||
```sh
|
||||
make viewer-lib
|
||||
python3 -m venv .venv # First-time setup; reuse an existing .venv if present.
|
||||
.venv/bin/pip install -r python/requirements-ioc.txt
|
||||
```
|
||||
|
||||
This creates `build/libhexapod.so` (`.dylib` on macOS) from `src/c_api.cpp`
|
||||
without EPICS dependencies. Rebuild it after changing the kinematics code.
|
||||
|
||||
For a running IOC, install the IOC viewer requirements and use the IOC record
|
||||
prefix, including the trailing colon:
|
||||
For the IOC configured in `MTEST04-MTN-HEXAPOD_parameters.yaml`, start the live
|
||||
viewer with the IOC record prefix, including the trailing colon:
|
||||
|
||||
```sh
|
||||
.venv/bin/pip install -r python/requirements-ioc.txt
|
||||
.venv/bin/python python/viewer.py --prefix HEXAPD:
|
||||
.venv/bin/python python/viewer.py --prefix MTEST04-MTN-HEXAPOD:
|
||||
```
|
||||
|
||||
Use the prefix configured by `loadCppLogic.cmd` (`DB_PREFIX`, default `${IOC}:`).
|
||||
If the IOC was started with the startup script's fallback name `HEXAPD`, use
|
||||
`--prefix HEXAPD:` instead. The prefix is the PV name prefix, not the IOC hostname.
|
||||
Pyepics needs an EPICS Channel Access library (`libca`) and network access to the
|
||||
IOC. If CA discovery does not reach the IOC subnet, configure
|
||||
`EPICS_CA_ADDR_LIST` / `EPICS_CA_AUTO_ADDR_LIST` for your network before starting.
|
||||
IOC. If broadcast discovery does not reach the IOC, explicitly address the host
|
||||
configured in the parameters file (replace it for a different IOC):
|
||||
|
||||
```sh
|
||||
EPICS_CA_AUTO_ADDR_LIST=NO EPICS_CA_ADDR_LIST=c6025a-08 \
|
||||
.venv/bin/python python/viewer.py --prefix MTEST04-MTN-HEXAPOD:
|
||||
```
|
||||
|
||||
To check connectivity independently, run
|
||||
`caget MTEST04-MTN-HEXAPOD:hex-pose-actual` if EPICS command-line tools are
|
||||
available. It should return six coordinate values. If the viewer reports missing
|
||||
connections, check the prefix, IOC status and Channel Access network access.
|
||||
|
||||
IOC mode is read-only, with the offline motion controls disabled. It subscribes
|
||||
to these six PVs through pyepics monitors:
|
||||
|
||||
@@ -4,6 +4,7 @@ axis:
|
||||
id: ${AX_ID}
|
||||
group: virt
|
||||
type: virtual
|
||||
tweakDist: 5
|
||||
features:
|
||||
allowSrcChangeWhenEnabled: true
|
||||
autoEnable:
|
||||
@@ -30,7 +31,7 @@ encoder:
|
||||
trajectory:
|
||||
source: 0
|
||||
axis:
|
||||
velocity: 1
|
||||
velocity: 10
|
||||
acceleration: 10
|
||||
deceleration: 10
|
||||
|
||||
|
||||
+1
-1
@@ -9,6 +9,7 @@ axis:
|
||||
id: ${AX_ID}
|
||||
group: phys
|
||||
type: virtual
|
||||
parameters: "restoreMotorSoftLims=1;"
|
||||
features:
|
||||
allowSrcChangeWhenEnabled: true
|
||||
autoEnable:
|
||||
@@ -33,7 +34,6 @@ encoder:
|
||||
# External feedback is supplied by the C++ ideal plant; no EtherCAT position link.
|
||||
|
||||
trajectory:
|
||||
source: 1
|
||||
axis:
|
||||
velocity: 1
|
||||
acceleration: 10
|
||||
|
||||
Reference in new issue
Block a user