Hello EPICS mates,
I'm trying to control PI E-518 which is the communication interface module of the PI E-500 piezo controller system.
EPICS base: 3.14.12.5
Motor module: 6-11
The folder PIGCS2Src in Motor module 6-11 seems not support E-518.
So I updated the folder with the newest files from GitHub
https://github.com/epics-motor/motorPIGCS2/tree/master/pigcs2App/src ,
and passed the compiling.
When creating motor record for E-518, it shows two kinds of error messages(excerpted):
2023/09/20 15:02:55.455 asynPortDriver:createParam: port=PIE518-1P error adding parameter PI_SUP_KP_A to list 0, too many parameters
and
2023/09/20 15:02:55.457 asynPortDriver:setDoubleParam: port=PIE518-1P error setting parameter 94 in list 0, bad index
I don't know how to fix it. Would you provide some suggestions?
The full error messages:
# ============================================================================
# PI E-518 motor controller is connected via Ethernet,
# at IP address 192.168.2.31, TCP port 50000
# ============================================================================
drvAsynIPPortConfigure("PIE518", "192.168.2.31:50000", 0, 0, 0)
asynSetTraceMask(PIE518,-1,0x21) # 0x09, 0x03, 0x01
asynSetTraceIOMask(PIE518,-1,0x1) # 0x02, 0x01, 0x00
# PI E-518 uses GCS(General Command Set). PI_GCS2_CreateController parameters:
# (1) portName
# (2) asynPort
# (3) numAxes
# (4) priority
# (5) stackSize
# (6) movingPollingRate
# (7) idlePollingRate
# HFMAB angle
PI_GCS2_CreateController("PIE518-1P", "PIE518", 1, 0, 0, 100, 1000)
2023/09/20 15:02:55.434 read from PIE518: (c) 2016 Physik Instrumente (PI) GmbH & Co. KG, E-518.I3, 119053229, 3.70
PIasynAxis::PIasynAxis() 0: A
2023/09/20 15:02:55.455 asynPortDriver:createParam: port=PIE518-1P error adding parameter PI_SUP_KP_A to list 0, too many parameters
2023/09/20 15:02:55.456 asynPortDriver:createParam: port=PIE518-1P error adding parameter PI_SUP_KI_A to list 0, too many parameters
2023/09/20 15:02:55.456 asynPortDriver:createParam: port=PIE518-1P error adding parameter PI_SUP_KFF_A to list 0, too many parameters
2023/09/20 15:02:55.456 asynPortDriver:createParam: port=PIE518-1P error adding parameter PI_SUP_NTCHFR1_A to list 0, too many parameters
2023/09/20 15:02:55.456 asynPortDriver:createParam: port=PIE518-1P error adding parameter PI_SUP_NTCHFR2_A to list 0, too many parameters
2023/09/20 15:02:55.456 asynPortDriver:createParam: port=PIE518-1P error adding parameter PI_SUP_NTCHRJT1_A to list 0, too many parameters
2023/09/20 15:02:55.456 asynPortDriver:createParam: port=PIE518-1P error adding parameter PI_SUP_NTCHRJT2_A to list 0, too many parameters
2023/09/20 15:02:55.456 asynPortDriver:createParam: port=PIE518-1P error adding parameter PI_SUP_NTCHBDWDT1_A to list 0, too many parameters
2023/09/20 15:02:55.456 asynPortDriver:createParam: port=PIE518-1P error adding parameter PI_SUP_NTCHBDWDT2_A to list 0, too many parameters
2023/09/20 15:02:55.456 asynPortDriver:createParam: port=PIE518-1P error adding parameter PI_SUP_RBKP_A to list 0, too many parameters
2023/09/20 15:02:55.456 asynPortDriver:createParam: port=PIE518-1P error adding parameter PI_SUP_RBKI_A to list 0, too many parameters
2023/09/20 15:02:55.456 asynPortDriver:createParam: port=PIE518-1P error adding parameter PI_SUP_RBKFF_A to list 0, too many parameters
2023/09/20 15:02:55.456 asynPortDriver:createParam: port=PIE518-1P error adding parameter PI_SUP_RBNTCHFR1_A to list 0, too many parameters
2023/09/20 15:02:55.456 asynPortDriver:createParam: port=PIE518-1P error adding parameter PI_SUP_RBNTCHFR2_A to list 0, too many parameters
2023/09/20 15:02:55.456 asynPortDriver:createParam: port=PIE518-1P error adding parameter PI_SUP_RBNTCHRJT1_A to list 0, too many parameters
2023/09/20 15:02:55.456 asynPortDriver:createParam: port=PIE518-1P error adding parameter PI_SUP_RBNTCHRJT2_A to list 0, too many parameters
2023/09/20 15:02:55.456 asynPortDriver:createParam: port=PIE518-1P error adding parameter PI_SUP_RBNTCHBDWDT1_A to list 0, too many parameters
2023/09/20 15:02:55.456 asynPortDriver:createParam: port=PIE518-1P error adding parameter PI_SUP_RBNTCHBDWDT2_A to list 0, too many parameters
# optional PI_Support.db
dbLoadRecords("/blsw/13a/software/epics/3.14.12.5/support/motor-R6-11/db/PI_Support.db","P=27a:,R=PIE518-1P:,PORT=PIE518-1P,ADDR=0,TIMEOUT=1")
# asyn record
dbLoadRecords("/blsw/13a/software/epics/3.14.12.5/support/asyn-4-26/db/asynRecord.db", "P=27a:,R=PIE518-1P:Asyn,PORT=PIE518,ADDR=0,OMAX=256,IMAX=256")
###############################################################################
iocInit
2023/09/20 15:02:55.457 asynPortDriver:setDoubleParam: port=PIE518-1P error setting parameter 94 in list 0, bad index
2023/09/20 15:02:55.457 asynPortDriver:setDoubleParam: port=PIE518-1P error setting parameter 95 in list 0, bad index
2023/09/20 15:02:55.457 asynPortDriver:setDoubleParam: port=PIE518-1P error setting parameter 96 in list 0, bad index
2023/09/20 15:02:55.457 asynPortDriver:setDoubleParam: port=PIE518-1P error setting parameter 97 in list 0, bad index
2023/09/20 15:02:55.457 asynPortDriver:setDoubleParam: port=PIE518-1P error setting parameter 98 in list 0, bad index
2023/09/20 15:02:55.457 asynPortDriver:setDoubleParam: port=PIE518-1P error setting parameter 99 in list 0, bad index
2023/09/20 15:02:55.457 asynPortDriver:setDoubleParam: port=PIE518-1P error setting parameter 100 in list 0, bad index
2023/09/20 15:02:55.457 asynPortDriver:setDoubleParam: port=PIE518-1P error setting parameter 101 in list 0, bad index
2023/09/20 15:02:55.457 asynPortDriver:setDoubleParam: port=PIE518-1P error setting parameter 102 in list 0, bad index
############################################################################
Starting iocInit
## EPICS R3.14.12.5 $Date: Tue 2015-03-24 09:57:35 -0500$
## EPICS Base built Nov 6 2017
############################################################################
2023/09/20 15:02:55.563 asynPortDriver:setDoubleParam: port=PIE518-1P error setting parameter 94 in list 0, bad index
2023/09/20 15:02:55.563 asynPortDriver:setDoubleParam: port=PIE518-1P error setting parameter 95 in list 0, bad index
2023/09/20 15:02:55.563 asynPortDriver:setDoubleParam: port=PIE518-1P error setting parameter 96 in list 0, bad index
2023/09/20 15:02:55.563 asynPortDriver:setDoubleParam: port=PIE518-1P error setting parameter 97 in list 0, bad index
2023/09/20 15:02:55.563 asynPortDriver:setDoubleParam: port=PIE518-1P error setting parameter 98 in list 0, bad index
2023/09/20 15:02:55.563 asynPortDriver:setDoubleParam: port=PIE518-1P error setting parameter 99 in list 0, bad index
2023/09/20 15:02:55.563 asynPortDriver:setDoubleParam: port=PIE518-1P error setting parameter 100 in list 0, bad index
2023/09/20 15:02:55.563 asynPortDriver:setDoubleParam: port=PIE518-1P error setting parameter 101 in list 0, bad index
2023/09/20 15:02:55.563 asynPortDriver:setDoubleParam: port=PIE518-1P error setting parameter 102 in list 0, bad index
The .cmd file:
#Load motor records
dbLoadTemplate("live/pie518_motors.substitutions")
#Load pseudo motor records
dbLoadTemplate("live/pie518_pseudoMotors.substitutions")
< live/pie518.doAfterIocInit
# ============================================================================
# PI E-518 motor controller is connected via Ethernet,
# at IP address 192.168.2.31, TCP port 50000
# ============================================================================
drvAsynIPPortConfigure("PIE518", "192.168.2.31:50000", 0, 0, 0)
asynSetTraceMask(PIE518,-1,0x21) # 0x09, 0x03, 0x01
asynSetTraceIOMask(PIE518,-1,0x1) # 0x02, 0x01, 0x00
# PI E-518 uses GCS(General Command Set). PI_GCS2_CreateController parameters:
# (1) portName
# (2) asynPort
# (3) numAxes
# (4) priority
# (5) stackSize
# (6) movingPollingRate
# (7) idlePollingRate
# HFMAB angle
PI_GCS2_CreateController("PIE518-1P", "PIE518", 1, 0, 0, 100, 1000)
# optional PI_Support.db
dbLoadRecords("$(MOTOR)/db/PI_Support.db","P=27a:,R=PIE518-1P:,PORT=PIE518-1P,ADDR=0,TIMEOUT=1")
# asyn record
dbLoadRecords("$(ASYN)/db/asynRecord.db", "P=27a:,R=PIE518-1P:Asyn,PORT=PIE518,ADDR=0,OMAX=256,IMAX=256")
Best regards.
LiangChih Chiang
NSRRC Beamline group
email:chiang.lc at nsrrc.org.tw
________________________________
寄件者: Chiang, Liang-Chih [江良志] <chiang.lc at nsrrc.org.tw>
寄件日期: 2023年9月9日 上午 09:49
收件者: Kevin Peterson <kmpeters at anl.gov>; tech-talk at aps.anl.gov <tech-talk at aps.anl.gov>
主旨: 回覆: EPICS support for PI E-500 piezo controller
Thanks Kevin.
I later found out that E-500 is the name of the system.
Its communication interface module is E-518
which is supported by motorPIGCS2 module.
https://github.com/epics-motor/motorPIGCS2
ps. The label "E-518" is not in an obvious place of the E-500 chassis.
Best regards.
LiangChih Chiang
NSRRC Beamline group
email:chiang.lc at nsrrc.org.tw
________________________________
寄件者: Kevin Peterson <kmpeters at anl.gov>
寄件日期: 2023年9月8日 下午 10:37
收件者: Chiang, Liang-Chih [江良志] <chiang.lc at nsrrc.org.tw>; tech-talk at aps.anl.gov <tech-talk at aps.anl.gov>
主旨: Re: EPICS support for PI E-500 piezo controller
The E-500 isn't in the list of supported controllers, but it still may
be supported by the motorPIGCS2 module:
https://github.com/epics-motor/motorPIGCS2
The communication interface card might of the E-500 might report a
different version string in response to the "*IDN?" command, which is
what the motor driver queries:
https://github.com/epics-motor/motorPIGCS2/blob/0a452b905d2754dd774701013de3046e4c1f2f16/pigcs2App/src/PIasynController.cpp#L120
and then uses to determine the controller type:
https://github.com/epics-motor/motorPIGCS2/blob/0a452b905d2754dd774701013de3046e4c1f2f16/pigcs2App/src/PIGCSController.cpp#L43-L109
Kevin
On 9/8/23 01:37, Chiang, Liang-Chih [江良志] via Tech-talk wrote:
> Dear EPICS mates,
>
> Is there a EPICS support module for PI E-500 piezo controller?
>
> I can't find it in Support Modules webpage
> https://epics.anl.gov/modules/index.php
> <https://epics.anl.gov/modules/index.php>
> and in PI GitHub
> https://github.com/epics-motor/motorPI
> <https://github.com/epics-motor/motorPI>
>
> Are there any other PI controller models similar to E-500?
> From which I can modify the source code of the support module.
>
>
>
> Best regards.
>
>
>
> LiangChih Chiang
>
> NSRRC
>
> Beamline Group
>
> email:chiang.lc at nsrrc.org.tw
- References:
- EPICS support for PI E-500 piezo controller Chiang, Liang-Chih [江良志] via Tech-talk
- Re: EPICS support for PI E-500 piezo controller Kevin Peterson via Tech-talk
- 回覆: EPICS support for PI E-500 piezo controller Chiang, Liang-Chih [江良志] via Tech-talk
- Navigate by Date:
- Prev:
Re: Streamdevice reads weird 1 byte null data Zimoch Dirk via Tech-talk
- Next:
Re: Streamdevice reads weird 1 byte null data Ralph Lange via Tech-talk
- Index:
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
<2023>
2024
2025
- Navigate by Thread:
- Prev:
回覆: EPICS support for PI E-500 piezo controller Chiang, Liang-Chih [江良志] via Tech-talk
- Next:
Phoebus Databrowser Florian Feldbauer via Tech-talk
- Index:
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
<2023>
2024
2025
|