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: Mark Rivers via Tech-talk <tech-talk at aps.anl.gov>
To: "Leblanc, Gregory" <leblanc at ohio.edu>
Cc: "tech-talk at aps.anl.gov" <tech-talk at aps.anl.gov>
Date: Thu, 12 Aug 2021 20:23:36 +0000
Hi Greg,


Your st.cmd.brief file is not really correct.  You have these commands after iocInit.

  1.
drvAsynIPPortConfigure("watlow1", "10.0.0.196:502", 0, 0, 0)
  2.
modbusInterposeConfig("watlow1", 0, 2000, 0)
  3.
drvModbusAsynConfigure("watlow.w.1", "watlow1", 0, 16, -1, 4, 0, 2000, "watlow1");
  4.  ...

Those should all be before iocInit.

Mark



________________________________
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: Thursday, August 12, 2021 3:16 PM
To: tech-talk at aps.anl.gov
Subject: RE: Getting started talking to a device


Woot!  Making some real progress now!  I can now execute iocBoot/iocCsHeater/st.cmd without any errors, although I appear to have added so much documentation that it is quite noisy.  A bit of sed work shortens that up nicely, so that I can see what’s going on, and I’ll put that all into github shortly.



https://pastebin.com/YmEwjY7S



I’m guessing that the next thing I’ll need is to take

https://github.com/tauferg/Watlow-PM/blob/master/Watlow_PM862FJ-3LEJAA_Module/watlowApp/Db/Watlow_PM_Analog_Input.template

from Gary’s work and beat it into a .db file for myself.  I think I’ll probably work on reading just the first analog input, before I think about doing anything else.



I’ll probably create a new pull request against Watlow-PM to replace the numeric data types with slightly more readable strings as well.

     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<mailto:tech-talk-bounces at aps.anl.gov>> on behalf of EPICS tech-talk <tech-talk at aps.anl.gov<mailto:tech-talk at aps.anl.gov>>
Reply-To: Mark Rivers <rivers at cars.uchicago.edu<mailto:rivers at cars.uchicago.edu>>
Date: Tuesday, August 10, 2021 at 10:34 AM
To: "'Leblanc, Gregory'" <leblanc at ohio.edu<mailto:leblanc at ohio.edu>>
Cc: EPICS tech-talk <tech-talk at aps.anl.gov<mailto: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<mailto: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<mailto: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://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fpastebin.com%2F5Ft4z6jn&data=04%7C01%7Cleblanc%40ohio.edu%7Ca7fec19849144e8812d308d95c414106%7Cf3308007477c4a70888934611817c55a%7C0%7C0%7C637642257612052310%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=vTOYFdN0f0mIInLTSqiLHEWR6kYarL1DQf80gA%2FC2IM%3D&reserved=0>



https://github.com/gregoryleblanc/CsHeater<https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fgregoryleblanc%2FCsHeater&data=04%7C01%7Cleblanc%40ohio.edu%7Ca7fec19849144e8812d308d95c414106%7Cf3308007477c4a70888934611817c55a%7C0%7C0%7C637642257612052310%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=rzMKCzIM5zEJF4%2F%2BzEhAnsI2T0dtMwBjLaX8zPfWP4Y%3D&reserved=0>

     Greg





From: Tech-talk <tech-talk-bounces at aps.anl.gov<mailto: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<mailto: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<mailto:tech-talk-bounces at aps.anl.gov>> on behalf of EPICS tech-talk <tech-talk at aps.anl.gov<mailto:tech-talk at aps.anl.gov>>
Reply-To: Mark Rivers <rivers at cars.uchicago.edu<mailto:rivers at cars.uchicago.edu>>
Date: Monday, August 9, 2021 at 3:35 PM
To: "'Leblanc, Gregory'" <leblanc at ohio.edu<mailto:leblanc at ohio.edu>>
Cc: EPICS tech-talk <tech-talk at aps.anl.gov<mailto: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<mailto: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<mailto: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<https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fpastebin.com%2FesyPHRC4&data=04%7C01%7Cleblanc%40ohio.edu%7Ca7fec19849144e8812d308d95c414106%7Cf3308007477c4a70888934611817c55a%7C0%7C0%7C637642257612052310%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=lk%2Fenw6045K71rcBAW5cu0AW1%2BKBRUfwFz69t%2FT4s6M%3D&reserved=0>

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<https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fpastebin.com%2FZaftdjaN&data=04%7C01%7Cleblanc%40ohio.edu%7Ca7fec19849144e8812d308d95c414106%7Cf3308007477c4a70888934611817c55a%7C0%7C0%7C637642257612062274%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=TkAIe4yNxG2hMgMr3LubZhE7NOmYaQcAaub3oroMnNk%3D&reserved=0>



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<mailto: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<mailto: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.





[cid:[email protected]]


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<https://slac.stanford.edu>


________________________________

From: Tech-talk <tech-talk-bounces at aps.anl.gov<mailto:tech-talk-bounces at aps.anl.gov>> on behalf of Leblanc, Gregory via Tech-talk <tech-talk at aps.anl.gov<mailto:tech-talk at aps.anl.gov>>
Sent: Friday, August 6, 2021 1:27 PM
To: 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: 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<https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Ftauferg%2FWatlow-PM&data=04%7C01%7Cleblanc%40ohio.edu%7Ca7fec19849144e8812d308d95c414106%7Cf3308007477c4a70888934611817c55a%7C0%7C0%7C637642257612062274%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=kxokDkFqEJSRQ6136R8Ncz7JUqqNJ9dJ4TW5dzE09HM%3D&reserved=0> 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<mailto:leblanc at ohio.edu>

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


JPEG image


Replies:
RE: Getting started talking to a device Leblanc, Gregory 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
RE: Getting started talking to a device Leblanc, Gregory via Tech-talk

Navigate by Date:
Prev: RE: Getting started talking to a device Leblanc, Gregory via Tech-talk
Next: RE: Getting started talking to a device Leblanc, Gregory 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 Leblanc, Gregory via Tech-talk
Next: RE: Getting started talking to a device Leblanc, Gregory 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, 12 Aug 2021 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·