This is EPICS device support IOC for SMC 9300 Huber motor controller by manufacturer pp-electronic gmbh.
Device support uses StreamDevice support for communication with the motor controller.
Each SMC9300.db is assotiated with one controller axis, that is provided by the IOC configuration.
This is excerpt from fSMC9300/iocBoot/iocLinux/st.cmd
ASYN port configuration:
drvAsynIPPortConfigure("SMC1", "flute-motcon-smc01:1234 TCP", 0, 0, 0)
# signel axis
# Parameters:
# DEV - device PV prefix
# AXIS - axis number, from 1 to number of installed axes
dbLoadRecords("../../db/SMC9300.db", "PORT=SMC1,DEV=F:TEST:SMC:01,AXIS=1")
# two axis moved in sync
# Parameters:
# DEV - device PV prefix
# DEV1 - device PV prefix for first axis, need for relative move value
# AXIS1 - first axis number, from 1 to number of installed axes
# AXIS2 - second axis number, from 1 to number of installed axes
dbLoadRecords("../../db/SMC9300sync.db", "DEV=F:TEST:SMC2:01,DEV1=F:TEST:SMC:01,AXIS1=1,AXIS2=2")
Current device in operation has device PV prefix: F:TEST:SMC:01. Following is list of PVs with explanation. Full PV consist of prefix and suffix part.
PV Suffix | Type | Description |
---|---|---|
Info:IDN |
stringin |
Controller identification and version string |
Info:Axis:Count |
longin |
Number of all axis supported by controller |
Info:Axis |
longin |
Axis index operated by this PV prefix |
Status |
mbbiDirect |
16 bit controller status. Position of bits in status is described by PV Status:Strings and might differ from controller status bit order. |
Status:Get |
mbbiDirect |
Status bits directly from controller, intended for IOC internal use and debugging. |
Status:ErrorSum |
bi |
Sums all error of device in one flag, 1 if device error. |
Status:Strings |
mbbi |
Descriptions string for status. Consistent with PV Status. Used in CSS widget with LED displays for status. |
Status:Bit0 .. Status:Bit15 |
bi |
Individual status bits with description and severity. Used in CSS widget with LED displays for status. |
Status:Homed |
bi |
Boolean flag if controller has been homed. Reflects corresponding bit from PV Status. It is always homed, this here for consistency reasons. |
Status:Limit:Fwd |
bi |
Boolean flag if forward limit switch has been activated. Reflects corresponding bit from PV Status. |
Status:Limit:Rev |
bi |
Boolean flag if backward limit switch has been activated. Reflects corresponding bit from PV Status. |
Pos:Get |
ai |
Position readout |
Enc:Get |
ai |
Position encoder readout |
Pos:Abs |
ao |
Absolute position prepared for next movement |
Pos:Abs:Sync |
bo |
Uses current position readout (Pos:Get ) to set to Pos:Abs |
Pos:Rel |
ao |
Relative position prepared for next movement |
Move:Start:Get |
longin |
Move parameter. Start velocity readout in Hz. |
Move:Start:Set |
longout |
Move parameter. Start velocity set in Hz. |
Move:Acc:Get |
longin |
Move parameter. Acceleration readout in Hz/ms. |
Move:Acc:Set |
longout |
Move parameter. Acceleration set in Hz/ms. |
Move:Velo:Get |
longin |
Move parameter. Max movement velocity in Hz. |
Move:Velo:Set |
longout |
Move parameter. Max movement velocity in Hz. |
Move:Dec:Get |
longin |
Move parameter. Deceleration readout in Hz/ms. |
Move:Dec:Set |
longout |
Move parameter. Deceleration set in Hz/ms. |
Cmd:Stop |
bo |
Stop all movement. |
Cmd:Zero |
bo |
Sets position value for current motor position to 0. |
Cmd:Move:Abs |
bo |
Move to new absolute position, as provided by PV Pos:Abs . |
Cmd:Move:Rel |
bo |
Move by relative position as provided by PV Pos:Rel . |
Panel module is located in CSS folder.
This EPICS device support is licensed under the terms of the GNU Lesser General Public License v3.0 license by Karlsruhe Institute of Technology's Institute of Beam Physics and Technology and was developed by igor@scictrl.com.