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
Greg,
if you don’t have the code in GitHub, could you attach your configure/RELEASE and csHeaterApp/src/Makefile?
My best,
Márcio
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
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
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.
![](jpgOFKuVbJECY.jpg)
|
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
|
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