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  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024  2025  <2026 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  <2026
<== Date ==> <== Thread ==>

Subject: Re: EPICS modulle for Piezosystem Jena's piezo controller NV 40/1 CLE
From: Torsten Bögershausen via Tech-talk <tech-talk at aps.anl.gov>
To: LiangChih Chiang <yehnan174 at gmail.com>, "tech-talk at aps.anl.gov" <tech-talk at aps.anl.gov>
Date: Tue, 2 Jun 2026 07:04:20 +0200
I think that you can fix the RBV problem with MRES == 1.0:

- Set up a calc record wich devides the actual position
  from the controller by, lets say, 1000
  The Input link of your calc record has the same PV name
  as RDBL.
- Tell the motorRecord to read from calc:
  change RDBL to point to the output of calc
- Change RRES to 0.001



On 2026-06-02 03:29, LiangChih Chiang via Tech-talk wrote:
Hello, EPICS mates,
just some status updates.

I use the streamDevice support for Jena NV40/1 CLE in the ip module github.com/epics-modules/ip <https://urldefense.us/v3/__http:// github.com/epics-modules/ip__;!!G_uCfscf7eWS! ZCoF0OIjNuaDS9D108Smv9Yr7AcPws7Re6yKD0RKWEY2qlEtyE7gA3Gyi3Nxz5ygcMt3MHPseEPljHEMKWpCfMM$>
and add a soft motor on it (Thanks Matthew Pearson).

The connections between the fields of soft motor and records created by streamdevice:

OUT -> write (write desired position value to controller).
RDBL -> read (read the current position value from controller continuously)
STOO -> a dummy record (because there is no STOP command)
DINP -> a faked record to simulate DMOV value from 1 to 0 to 1. (because there is no such information from controller)

Basically, it works.

Just one little details: (I knew this long time ago, discovered it again.)
If MRES is set to 1, any movement less than 1 will not cause the RBV field of motor record to update. I think the reason is that "RMP" field of motor record is of type long integer, not float.




On Fri, May 22, 2026 at 7:45 AM LiangChih Chiang <yehnan174 at gmail.com <mailto:yehnan174 at gmail.com>> wrote:

     >There is streamDevice support for the Jena NV40 and NV40/3 CLE in
    the ip module:
    Thanks a lot.
    Then I can build a soft motor on it.

    On Fri, May 22, 2026 at 5:43 AM Peterson, Kevin M. <kmpeters at anl.gov
    <mailto:kmpeters at anl.gov>> wrote:

        There is streamDevice support for the Jena NV40 and NV40/3 CLE
        in the ip module:

        github.com/epics-modules/ip <https://urldefense.us/v3/__http://
        github.com/epics-modules/ip__;!!G_uCfscf7eWS!
        ZCoF0OIjNuaDS9D108Smv9Yr7AcPws7Re6yKD0RKWEY2qlEtyE7gA3Gyi3Nxz5ygcMt3MHPseEPljHEMKWpCfMM$>

        Kevin

        ________________________________________
        From: Tech-talk <tech-talk-bounces at aps.anl.gov <mailto:tech-
        talk-bounces at aps.anl.gov>> on behalf of Abdalla Ahmad via Tech-
        talk <tech-talk at aps.anl.gov <mailto:tech-talk at aps.anl.gov>>
        Sent: Monday, May 18, 2026 5:00 AM
        To: LiangChih Chiang
        Cc: tech-talk at aps.anl.gov <mailto:tech-talk at aps.anl.gov>
        Subject: Re: EPICS modulle for Piezosystem Jena's piezo
        controller NV 40/1 CLE

        I am not saying it is not possible; it just does not make sense,
        not to mention the effort you will spend in developing a motor
        driver instead of relying on something simple like a stream
        device. A model 3 motor driver consists of two C++ classes
        inherting from asynMotorController and asynMotorAxis classes
        which are part of the motor support module. You will need to
        implement some methods like polling the controller, setting/
        reading the position, etc. Next, you will create your dbd files
        and call your driver into the st.cmd of your IOC, not to mention
        the motor record GUI. The motor support module contains a lot of
        motion controllers support module.

        You can choose this or just create a stream device IOC with 6
        PVs like you requested.

        Best Regards,
        Abdalla.

        ________________________________
        From: LiangChih Chiang <yehnan174 at gmail.com
        <mailto:yehnan174 at gmail.com>>
        Sent: Monday, May 18, 2026 12:00 PM
        To: Abdalla Ahmad <Abdalla.Ahmad at sesame.org.jo
        <mailto:Abdalla.Ahmad at sesame.org.jo>>
        Cc: tech-talk at aps.anl.gov <mailto:tech-talk at aps.anl.gov> <tech-
        talk at aps.anl.gov <mailto:tech-talk at aps.anl.gov>>
        Subject: Re: EPICS modulle for Piezosystem Jena's piezo
        controller NV 40/1 CLE

        Hi,

         > I don't think developing a model 3 motor driver for this
        piezo controller makes sense.
        I agree.

        But I would like to provide motor record for this piezo controller,
        in order to treat it like a motor.

         >Model 3 motor driver requires other parameters such as
        velocity, motor resolution, homing, jogging, etc.
        Can't I just provide dummy values for these parameters?


        On Mon, May 18, 2026 at 4:49 PM Abdalla Ahmad
        <Abdalla.Ahmad at sesame.org.jo
        <mailto:Abdalla.Ahmad at sesame.org.jo><mailto:Abdalla.Ahmad at sesame.org.jo <mailto:Abdalla.Ahmad at sesame.org.jo>>> wrote:
        Hi

        I don't think developing a model 3 motor driver for this piezo
        controller makes sense. Model 3 motor driver requires other
        parameters such as velocity, motor resolution, homing, jogging,
        etc. A stream device interface works the best for your case.

        Best Regards,
        Abdalla.

        ________________________________
        From: Tech-talk <tech-talk-bounces at aps.anl.gov <mailto:tech-
        talk-bounces at aps.anl.gov><mailto:tech-talk-bounces at aps.anl.gov
        <mailto:tech-talk-bounces at aps.anl.gov>>> on behalf of LiangChih
        Chiang via Tech-talk <tech-talk at aps.anl.gov <mailto:tech-
        talk at aps.anl.gov><mailto:tech-talk at aps.anl.gov <mailto:tech-
        talk at aps.anl.gov>>>
        Sent: Monday, May 18, 2026 10:40 AM
        To: tech-talk at aps.anl.gov <mailto:tech-
        talk at aps.anl.gov><mailto:tech-talk at aps.anl.gov <mailto:tech-
        talk at aps.anl.gov>> <tech-talk at aps.anl.gov <mailto:tech-
        talk at aps.anl.gov><mailto:tech-talk at aps.anl.gov <mailto:tech-
        talk at aps.anl.gov>>>
        Subject: EPICS modulle for Piezosystem Jena's piezo controller
        NV 40/1 CLE

        Dear EPICS mates,

        I need to control a piezo actuator via
        Piezosystem Jena's piezo controller NV 40/1 CLE,
        which is very old and discontinued.

        Its commands are extremely simple:(please see attach files)
        i1  activate remote control
        i0  deactivate remote control
        cl  closed loop on
        ol  closed loop off
        rd  read a value (µm for closed loop, volt for open loop)
        wr,<value>  write a value  (µm for closed loop, volt for open loop)

        I'm wondering if it's possible to develop
        a "Model 3" motor driver for it.

        Do you guys have experience for similiar suuch simple devices?



References:
EPICS modulle for Piezosystem Jena's piezo controller NV 40/1 CLE LiangChih Chiang via Tech-talk
Re: EPICS modulle for Piezosystem Jena's piezo controller NV 40/1 CLE Abdalla Ahmad via Tech-talk
Re: EPICS modulle for Piezosystem Jena's piezo controller NV 40/1 CLE LiangChih Chiang via Tech-talk
Re: EPICS modulle for Piezosystem Jena's piezo controller NV 40/1 CLE Abdalla Ahmad via Tech-talk
Re: EPICS modulle for Piezosystem Jena's piezo controller NV 40/1 CLE Peterson, Kevin M. via Tech-talk
Re: EPICS modulle for Piezosystem Jena's piezo controller NV 40/1 CLE LiangChih Chiang via Tech-talk
Re: EPICS modulle for Piezosystem Jena's piezo controller NV 40/1 CLE LiangChih Chiang via Tech-talk

Navigate by Date:
Prev: Re: EPICS modulle for Piezosystem Jena's piezo controller NV 40/1 CLE LiangChih Chiang via Tech-talk
Next: aiopvxs 0.3.0 Python library release Mike Smith 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  <2026
Navigate by Thread:
Prev: Re: EPICS modulle for Piezosystem Jena's piezo controller NV 40/1 CLE LiangChih Chiang via Tech-talk
Next: Re: EPICS modulle for Piezosystem Jena's piezo controller NV 40/1 CLE Torsten Bögershausen 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  <2026
ANJ, 03 Jun 2026 · Home · News · About · Talk · Base · Modules · Extensions ·
· Distributions · Download · Documents · Links · Licensing ·