EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  <20132014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024  Index 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  <20132014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: RE: PiezoSytemJena motorcontroller driver problems
From: "Ivashkevych, Oksana" <[email protected]>
To: "'Mark Rivers'" <[email protected]>, "'[email protected]'" <[email protected]>
Cc: Tech-talk <[email protected]>
Date: Fri, 4 Oct 2013 18:51:12 +0000

Hi,

                I would like to report that I successfully integrated and tested Joe Sullivan driver with d-Drive from Piezo System Jena pretty painlessly after sorting out serial communication issues. The driver takes care of special characters Jena sends at the beginning and at the end. README is a copy and paste pleasure, and descriptive enough about what is implemented and what is not.

 

For people like me integrating the motor driver for the first time I leave the paragraph below:

                It is important to create a simple serial device IOC with at least one command in proto file, just to make sure the communication part is working. In my situation, I spend the lion portion of the total time figuring out and setting the correct serial parameters on MOXA switch.

 

Sorry Ken, I didn’t look at your driver, just because this one worked.

 

Thanks for help,

 

 

Oksana

 

From: Mark Rivers [mailto:[email protected]]
Sent: Tuesday, September 17, 2013 4:38 PM
To: Ivashkevych, Oksana; '[email protected]'
Cc: Tech-talk
Subject: RE: PiezoSytemJena motorcontroller driver problems

 

The first step to debugging this is to turn on asynTrace in the underlying TCP/serial driver:

 

drvAsynIPPortConfigure("JenaSerial","10.0.10.5:4001")

# Add these lines for asynTrace debugging

asynSetTraceIOMask(“JenaSerial”,0,2)

asynSetTraceMask(“JenaSerial”,0,9)

 

You will then see all characters sent to and received from the device.  This will let you know if it is communicating at all.

 

You can also load an asyn record in the IOC, connect it to JenaSerial port, and send what you know to be a valid command and see if you get a response.

 

Mark

 

 

 

 

 

From: [email protected] [mailto:[email protected]] On Behalf Of Ivashkevych, Oksana
Sent: Tuesday, September 17, 2013 3:24 PM
To: '[email protected]'
Cc: Tech-talk
Subject: PiezoSytemJena motorcontroller driver problems

 

Hi Joe,

 

I have a PiezoSystemJena d-Drive, their latest product, and was hoping to use the existing driver written for EDS by you and recently updated (judging by time stamps in the source files), because it says in the manual that d-Drive is using EDS2 interface.

I was wondering if you/or someone else could comment on errors and if I can use this driver. It’s emphasized in many places that the driver communicates via GPIB.

My configuration: IOC is running on linux box, connected via Ethernet to NPort5450 MOXA switch and then to d-Drive via RS232.

st.cmd

"#!../../bin/linux-x86/PiezoSysJenaIoc

 

## You may have to change PiezoSysJenaIoc to something else ## everywhere it appears in this file

 

< envPaths

 

## Register all support components

dbLoadDatabase("../../dbd/PiezoSysJenaIoc.dbd",0,0)

PiezoSysJenaIoc_registerRecordDeviceDriver(pdbbase)

 

drvAsynIPPortConfigure("JenaSerial","10.0.10.5:4001")

 

# Piezosystem Jena EDS motor controller/driver setup parameters:

#     (1) maximum number of controllers in system

#     (2) maximum drives per controller

#     (3) motor task polling rate (min=1Hz, max=60Hz)

#drvPIJEDSdebug=1

#PIJEDSSetup(1, 2, 60)

PIJEDSSetup(1, 2, 10)

 

# Piezosystem Jena EDS controller/driver configuration parameters:

#     (1) controller being configured

#     (2) asyn port name (string)

#     (3) asyn address (GPIB)

PIJEDSConfig(0, "JenaSerial", 0)

 

## Load record instances

dbLoadTemplate("../../db/motor.substitutions","user=oksana")

iocInit()

 

## Start any sequence programs

#seq sncPiezoSysJenaIoc,"user=oksana"

"

motor.substitution

"file "../../db/motor.db"

{

 

pattern

{P,    N,       M,        DTYP,         C,      S,      DESC,           EGU,    DIR,    VELO,VBAS,  ACCL,          BDST,         BVEL,  BACC,   MRES,   PREC,   DHLM,   DLLM, INIT}

{jena:, 1,      "m$(N)",  "PIJEDS",      0,      0,      "motor $(N)",   um,     Pos,    2.,   0,     .2,             0,           0,    .2,      .001,   5,      100,    0,   ""}

{jena:, 2,      "m$(N)",  "PIJEDS",      0,      1,      "motor $(N)",   um,     Pos,    2.,   0,     .2,             0,           0,    .2,      .001,   5,      100,    0,   ""}

}

"

The output I have:

 

#!../../bin/linux-x86/PiezoSysJenaIoc

## You may have to change PiezoSysJenaIoc to something else ## everywhere it appears in this file < envPaths

epicsEnvSet("ARCH","linux-x86")

epicsEnvSet("IOC","iocPiezoSysJenaIoc")

epicsEnvSet("TOP","/epics/iocs/PiezoSysJena")

epicsEnvSet("EPICS_BASE","/usr/lib/epics")

## Register all support components

dbLoadDatabase("../../dbd/PiezoSysJenaIoc.dbd",0,0)

PiezoSysJenaIoc_registerRecordDeviceDriver(pdbbase)

drvAsynIPPortConfigure("JenaSerial","10.0.10.5:4001")

# Piezosystem Jena EDS motor controller/driver setup parameters:

#     (1) maximum number of controllers in system

#     (2) maximum drives per controller

#     (3) motor task polling rate (min=1Hz, max=60Hz)

#drvPIJEDSdebug=1

#PIJEDSSetup(1, 2, 60)

PIJEDSSetup(1, 2, 10)

# Piezosystem Jena EDS controller/driver configuration parameters:

#     (1) controller being configured

#     (2) asyn port name (string)

#     (3) asyn address (GPIB)

PIJEDSConfig(0, "JenaSerial", 0)

## Load record instances

dbLoadTemplate("../../db/motor.substitutions","user=oksana")

#dbLoadRecords("../../db/PiezoSysJenaIoc.db","user=oksana")

#dbLoadRecords("../../db/motor.db","user=oksana")

iocInit()

Starting iocInit

############################################################################

## EPICS R3.14.11-15 $R3-14-11$ $2009/08/28 18:47:36$ ## EPICS Base built Jan  8 2013 ############################################################################

drvStreamInit: Warning! STREAM_PROTOCOL_PATH not set. Defaults to "."

Illegal field value PV: jena:m1 motor_init_record_com(): card does not exist!

Illegal field value PV: jena:m2 motor_init_record_com(): card does not exist!

iocRun: All initialization complete

## Start any sequence programs

#seq sncPiezoSysJenaIoc,"user=oksana"

epics>

 

It seems to me that the error “Illegal field value PV: jena:m1 motor_init_record_com(): card does not exist!” may relate to PIJEDSConfig(0, "JenaSerial", 0), where asyn address is not correct. I also started to question whether I can use this driver…

Thanks for help,

Oksana

 


Replies:
Re: PiezoSytemJena motorcontroller driver problems Eric Norum
References:
PiezoSytemJena motorcontroller driver problems Ivashkevych, Oksana
RE: PiezoSytemJena motorcontroller driver problems Mark Rivers

Navigate by Date:
Prev: EPICS Collaboration Meeting in San Francisco Shoaee, Hamid
Next: Re: PiezoSytemJena motorcontroller driver problems Eric Norum
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  <20132014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: RE: PiezoSytemJena motorcontroller driver problems Mark Rivers
Next: Re: PiezoSytemJena motorcontroller driver problems Eric Norum
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  <20132014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
ANJ, 20 Apr 2015 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·