This is the LCLS TwinCAT3 project lcls-plc-kfe-motion.
TODO
TODO
Beckhoff motion control for SXR components in the EBD and FEE
Home Page: https://pcdshub.github.io/lcls-plc-kfe-motion
License: Other
This is the LCLS TwinCAT3 project lcls-plc-kfe-motion.
TODO
TODO
Seems like an off-by-one and a misalignment
see #13 (comment)
Beamline setups to find stopper breaks
Main line: RTDSK0, IM1K0, SL1K0, PF1K0, SL2K0, IM2K0 --- Mirrors --- TMO things
TXI line: Mirrors --- IM1K3 --- ST1K3
2 outputs right now = 1 output for IM1K3 and 1 output for everything else. No stopper breaks to see here, just like LFE
We've had to do a fair few "emergency" PRs that have broken style/conventions
This is a reminder to go back and clean up after ourselves
See #70
The 2.2 PLC is missing. As a potentially temporary measure we'll be adding the 3 FEE 2.2 devices to this project:
The PV pragmas for ST1K4 are inconsistent and have an error.
The official device name is "ST1K4:TEST"
The motor base PV is "ST1K4:TEST:MMS:01"
The states base PV is "ST1K4:MMS:STATE"
In addition, the states count in the pragma has specified:
arrStates.array: 1..3
Which implies that we want to make 3 states for an IN/OUT device, which is incorrect.
I missed both of these during review.
The states base PV should be "ST1K4:TEST:MMS:STATE" for full consistency.
The states pragma should be amended to
arrStates.array: 1..2
Wrong name creates confusion
Error in pragma creates extra unused PVs
Rename and fix typos
Hopefully these are ok to ignore @ghalym
https://confluence.slac.stanford.edu/display/L2SI/PMPS+Checkouts
IM1K0
IM2K0
IM1K3
SL1K0
RTDSK0
PF1K0 is on this PLC but is not installed
SL2K0 is on this PLC but is not installed
Copy the setup of IM1L0 exactly, except for the slight difference in LVDT calibration
Once enough other things are done
AT1K4, as it's before the stopper ST1K4 belongs in this repo and not in tmo-motion.
I think there's a misconfiguration in the library placeholders for lcls-twincat-general:
ERROR:pytmc.bin.db:Duplicate records encountered:
$(PREFIX)LCLSGeneral:GlobalLogTrickleTrip_RBV (2)
$(PREFIX)LCLSGeneral:LogHost (2)
$(PREFIX)LCLSGeneral:LogHost_RBV (2)
$(PREFIX)LCLSGeneral:LogMessageCount_RBV (2)
$(PREFIX)LCLSGeneral:LogPort (2)
$(PREFIX)LCLSGeneral:LogPort_RBV (2)
ERROR:pytmc.bin.template:Linter errors - failed to create database. To create the database ignoring these errors, set allow_errors=True
I've been using some of these repos to make sure my pytmc fixes don't break anything, but this repo was already broken
Use Maggie's convention, which was the best:
<device>-<terminal model>-<terminal number>
e.g.
IM1K0-EL7041-E1
To get lens relative encoder homing, position saving working
The above 3 things together make it such that the fixed PLC/miswired box/flipped install is now inconsistent in what we expect the upstream-most axis to be.
These are currently all at the default value of "1".
When autosave fails (equivalently, if the PLC restarts without the IOC restarting) these become 1.
It's possible to set these to specific values by specifying them alongside their positions in places like here:
For im1k3 the correct velocity is 15 mm/s.
I don't know the correct velocity for the other state movers here:
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.