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  <20212022  2023  2024  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  <20212022  2023  2024 
<== Date ==> <== Thread ==>

Subject: RE: Getting started talking to a device
From: "Leblanc, Gregory via Tech-talk" <tech-talk at aps.anl.gov>
To: "tech-talk at aps.anl.gov" <tech-talk at aps.anl.gov>
Date: Tue, 10 Aug 2021 21:21:33 +0000

Marcio,

 

I was just getting read to send my latest email to the list.  I did get the application built, now I’m working on the st.cmd file, which I just pushed to github. 

 

Reading through the st.cmd from Gary, I see lots of lines like:

 

drvModbusAsynConfigure("watlow_Glb_Num_1.1",  "watlow1", 0, 4,    0, 16, 7, 2000, "watlow1");

 

I think I understand most of this line, except for the number “7”.  I think this is a dataType, and I’m guessing that it’s a “Num”, while the ones that have “6” in that location are Enum, from this list:

https://github.com/epicsdeb/modbus/blob/61e61608e758c457b3619c0c71523f8b12f1b11c/modbusApp/src/drvModbusAsyn.c#L75

 

I’m not sure if Num is a uint or float (not that I necessarily need to know, as long as the code knows what it’s doing).

 

I think the next step is to match up the modbus start addresses with the manual I have for my Watlow EZ-Zone controller and add comments indicating that.  Then I can decide which ones to disable, before figuring out how to run the IOC. 

 

Feels like I’m making progress, but the foothills are tall if you’re starting below sea level!

     Greg

 

From: Tech-talk <tech-talk-bounces at aps.anl.gov> On Behalf Of Paduan Donadio, Marcio via Tech-talk
Sent: Tuesday, August 10, 2021 4:56 PM
To: EPICS Tech Talk <tech-talk at aps.anl.gov>
Subject: Re: Getting started talking to a device

 

Greg,

 

I see that you’ve already fixed what Mark Rivers pointed out. Are you still having problems to build the application?

 

I don’t know if it will do any difference, but usually the module path comes before EPICS base in the configure/RELEASE file. Place it below “Variables and paths to dependent modules:”.

 

Just to make things more organized, you could separate a block for DBDs from a block for LIBS in your src/Makefile. For example, place CsHeater_LIBS += asyn below “Add all the support libraries needed by this IOC”.

 

I think the next challenge will be to run the IOC. Let us know if you hit another wall.

 

My best,

 

Márcio

 

 

From: Tech-talk <tech-talk-bounces at aps.anl.gov> on behalf of EPICS tech-talk <tech-talk at aps.anl.gov>
Reply-To: Mark Rivers <rivers at cars.uchicago.edu>
Date: Tuesday, August 10, 2021 at 10:34 AM
To: "'Leblanc, Gregory'" <leblanc at ohio.edu>
Cc: EPICS tech-talk <tech-talk at aps.anl.gov>
Subject: RE: Getting started talking to a device

 

You should delete the last line in CsHeaterApp/src/Makefile

 

$(COMMON_DIR)/CsHeater.dbd: $(COMMON_DIR)/asyn

 

Mark

 

 

From: Tech-talk <tech-talk-bounces at aps.anl.gov> On Behalf Of Leblanc, Gregory via Tech-talk
Sent: Tuesday, August 10, 2021 10:01 AM
To: tech-talk at aps.anl.gov
Subject: RE: Getting started talking to a device

 

I put the code into github at the URL below.  I did find one place where I had

CsHeater_DBD += asyn

But it should have been

CsHeater_LIBS += asyn

 

Latest output from make is at : https://pastebin.com/5Ft4z6jn

 

https://github.com/gregoryleblanc/CsHeater

     Greg

 

 

From: Tech-talk <tech-talk-bounces at aps.anl.gov> On Behalf Of Paduan Donadio, Marcio via Tech-talk
Sent: Monday, August 9, 2021 10:44 PM
To: EPICS Tech Talk <tech-talk at aps.anl.gov>
Subject: Re: Getting started talking to a device

 

Greg,

 

if you don’t have the code in GitHub, could you attach your configure/RELEASE and csHeaterApp/src/Makefile?

 

My best,

 

Márcio

 

From: Tech-talk <tech-talk-bounces at aps.anl.gov> on behalf of EPICS tech-talk <tech-talk at aps.anl.gov>
Reply-To: Mark Rivers <rivers at cars.uchicago.edu>
Date: Monday, August 9, 2021 at 3:35 PM
To: "'Leblanc, Gregory'" <leblanc at ohio.edu>
Cc: EPICS tech-talk <tech-talk at aps.anl.gov>
Subject: RE: Getting started talking to a device

 

This is your error:

 

perl -CSD /home/pi/EPICS/epics-base/bin/linux-arm/dbdExpand.pl   -I. -I.. -I../O.Common -I../../../dbd -I/home/pi/EPICS/epics-base/dbd -I/home/pi/EPICS/support/asyn/dbd -o CsHeater.dbd base.dbd asyn.dbd drvAsynIPPort.dbd asyn

 

It is the final “asyn” that is wrong.  I don’t know what it causing it, but I think it must be a mistake in your application Makefile.  Is your code on Github or somewhere else we can see it?

 

Mark

 

 

 

From: Tech-talk <tech-talk-bounces at aps.anl.gov> On Behalf Of Leblanc, Gregory via Tech-talk
Sent: Monday, August 9, 2021 4:25 PM
To: tech-talk at aps.anl.gov
Subject: RE: Getting started talking to a device

 

Marcio,

 

Thanks, that’s gotten me a lot further than I was last week!

 

I’ve gotten far enough to try to build my application.  When I run make, I get the output at:

https://pastebin.com/esyPHRC4

Based on that, I added “$(COMMON_DIR)/CsHeater.dbd: $(COMMON_DIR)/asyn” to my Makefile under the line that says “#  ADD RULES AFTER THIS LINE” which changes the make output to this:

https://pastebin.com/ZaftdjaN

 

This feels like I have some path incorrect or incomplete, but I haven’t stumbled across it yet.

 

As a summary, I have:

epics_base installed to /home/pi/EPICS/epics-base

asyn installed to /home/pi/EPICS/support/asyn

StreamDevice installed to /home/pi/EPICS/support/StreamDevice

 

And I am working to create CsHeater in /home/pi/EPICS/CsHeater

 

Thanks,

     Greg

 

 

From: Tech-talk <tech-talk-bounces at aps.anl.gov> On Behalf Of Paduan Donadio, Marcio via Tech-talk
Sent: Friday, August 6, 2021 11:16 PM
To: tech-talk at aps.anl.gov
Subject: Re: Getting started talking to a device

 

Hello, Greg.

 

All you have is the git repo that you've mentioned?

 

To build an IOC you will need a configure directory, with configure/RELEASE (or configure/RELEASE.local) pointing to the needed modules, like Asyn. You will also need a Makefile on your IOC application root directory. The st.cmd file usually goes inside an iocBoot/<ioc_name> directory.

 

My recommendation: assuming that you have EPICS base installed, create a new directory where you want to place your IOC application and, inside it, start a new IOC application directory structure using

 

makeBaseApp.pl -t ioc <name_of_your_ioc_application>

 

Then copy the contents of the Watlow-PM/Watlow_PM862FJ-3LEJAA_Module/watlowApp/Db/ directory to <name_of_your_ioc_application>App/Db.

 

Next, change your configure/RELEASE file, by adding the path to where you've installed Asyn. You must add to the <name_of_your_ioc_application>App/src/Makefile, the Asyn library and dbds:

 

<your_application>_DBD += asyn.dbd

<your_application>_DBD += drvAsynIPPort.dbd

<your_application>_LIBS += asyn

 

The DBDs provides you with the functions used in the IOC shell, like drvAsynIPPortConfigure.

 

See if issuing make brings a successful build.

 

Still inside the IOC application top directory use

 

makeBaseApp.pl -i -t ioc <name_of_your_ioc>

 

This will create an iocBoot/<name_of_your_ioc> directory. Overwrite the st.cmd file with "st.cmd.ModbusAddresses Only" and rename it back to st.cmd.

 

This st.cmd from the repo only initializes the driver but doesn't load the databases. Without loading the databases, you will have no PV to read/write in the network.

 

I hope that the IOC application maintainer can contact you to describe which databases to load for your case. I know nothing about the Watlow controller and couldn't help with this.

 

HTH.

 

 


Márcio Paduan Donadio | Control Systems Engineer

Advanced Control Systems Department

SLAC National Accelerator Laboratory | Menlo Park, CA

p: 650.926.5007 | w: slac.stanford.edu


From: Tech-talk <tech-talk-bounces at aps.anl.gov> on behalf of Leblanc, Gregory via Tech-talk <tech-talk at aps.anl.gov>
Sent: Friday, August 6, 2021 1:27 PM
To: tech-talk at aps.anl.gov <tech-talk at aps.anl.gov>
Subject: Getting started talking to a device

 

Hi folks,

 

I’m still poking around at this whole EPICS thing, attempting to get my feet wet.  I thought that I might try to talk to a temp controller I have on our Cs Sputter source here.  Currently we only adjust the setpoint by walking into the vault and using Bluetooth on our phones.  The controller is an EZ-ZONE model number PM6C1CA-GAAAAAA.  We have an ethernet module for it, and it’s picked up an address from DHCP, which I can ping from the Raspberry Pi where I’ve installed EPICS Base. 

 

I found the pieces that Gary published at https://github.com/tauferg/Watlow-PM though I can’t find the controller mentioned on the Watlow website.  I cloned via git and determined that the second parameter to drvAsynIPPortConfigure should be the ip address.  From Watlow_PM862FJ-3LEJAA_IOC/st.cmd.ModbusAddresses\ Only I have:

drvAsynIPPortConfigure("watlow1", "10.0.0.196", 0, 0, 0)

 

The next step, per README.md is to “Rename the files and place in the appropriate directories.”  Which files need to be renamed, and where do they need to be placed?  What is the next step here, or do I need to back up and continue working on the st.cmd file?  Any pointers appreciated.

     Greg

 

--

Gregory Leblanc

Accelerator Engineer

Edwards Accelerator Lab - Ohio University

123 University Terrace

Athens, OH 45701

leblanc at ohio.edu

M: (401) 52-OUAL1 or (401) 526-8251

 


Replies:
RE: Getting started talking to a device Mark Rivers via Tech-talk
References:
Getting started talking to a device Leblanc, Gregory via Tech-talk
Re: Getting started talking to a device Paduan Donadio, Marcio via Tech-talk
RE: Getting started talking to a device Leblanc, Gregory via Tech-talk
RE: Getting started talking to a device Mark Rivers via Tech-talk
Re: Getting started talking to a device Paduan Donadio, Marcio via Tech-talk
RE: Getting started talking to a device Leblanc, Gregory via Tech-talk
RE: Getting started talking to a device Mark Rivers via Tech-talk
Re: Getting started talking to a device Paduan Donadio, Marcio via Tech-talk

Navigate by Date:
Prev: Re: Getting started talking to a device Paduan Donadio, Marcio via Tech-talk
Next: RE: Getting started talking to a device Mark Rivers 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  <20212022  2023  2024 
Navigate by Thread:
Prev: Re: Getting started talking to a device Paduan Donadio, Marcio via Tech-talk
Next: RE: Getting started talking to a device Mark Rivers 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  <20212022  2023  2024 
ANJ, 10 Aug 2021 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·