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 | 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 |
<== Date ==> | <== Thread ==> |
---|
Subject: | Re: [help] EPICS build no good |
From: | Pavel Masloff <[email protected]> |
To: | Dirk Zimoch <[email protected]> |
Cc: | [email protected] |
Date: | Tue, 6 Dec 2011 11:39:06 +0300 |
Pavel,
I don't know the TDS 5054, but most oscilloscopes come with GPIB, RS232, or VXI11 (="GPIB over TCP") network interface and are controlled with text commands. In that case the combination asynDriver/StreamDevice will do the job.
http://www.aps.anl.gov/epics/modules/soft/asyn/
http://epics.web.psi.ch/software/streamdevice/
If you are lucky, someone has already written a StreamDevice protocol file for it. But if not, it is not difficult.
Here at PSI, we also run EPICS directly on some oscilloscopes. Many oscilloscopes nowadays use Windows as the operating system and come with an API to get direct access to the oscilloscope functions. This allows to write an EPICS device driver. Running the IOC directly on the oscilloscope saves some network traffic. With an external IOC, the data is first transferred from the oscilloscope to the IOC (e.g. via VXI11) and then from the IOC to the client via Channel Access. With an IOC integrated into the oscilloscope, you only have Channel Access. But writing such a driver is somewhat sophisticated.
Dirk
Pavel Masloff wrote:
Hey Andrew!!! Hi Dirk!
It worked :))
This was my first introduction to Epics. Andrew, Dirk, guys! What would you recommend me to do next? I mean, we have a Tektronix oscilloscope at work, namely TDS 5054, I guess. And I've read there's a driver written to hook it up to EPICS. How can I do it? Perhaps, I could try your PLC driver, Dirk as the next step in mastering Epics. What do you guys think?
Thanks,
Paul
On Mon, Dec 5, 2011 at 9:42 PM, Andrew Johnson <[email protected] <mailto:[email protected]>> wrote:
Hi Pavel,
On 2011-12-05 Pavel Masloff wrote:
>
> D:\>softIoc -h
> Usage: softIoc [-D softIoc.dbd] [-h] [-S] [-a ascf]
> [-m macro=value,macro2=value2] [-d file.db]
> [-x prefix] [st.cmd]
> Compiled-in path to softIoc.dbd is:
> 'D:\baseR3.14.12.1\new'/dbd/softIoc.dbd
Forget my last message, the quotes are coming from this Makefile rule:
epicsInstallDir.h:
$(ECHO) "FINAL_LOCATION=$(FINAL_LOCATION)"
$(PERL) ../makeInstallDir.pl '$(FINAL_LOCATION)' > $@
On Unix the shell strips out those single quotes, but evidently
yours is not
doing so (my win32-x86-mingw build does strip them, but not my win32-x86
build). You can add two lines to the
base/src/softIoc/makeInstallDir.pl file
to fix this:
=== modified file 'src/softIoc/makeInstallDir.pl'
--- src/softIoc/makeInstallDir.pl 2010-09-27 22:42:42 +0000
+++ src/softIoc/makeInstallDir.pl 2011-12-05 18:33:24 +0000
@@ -14,6 +14,8 @@
my $path = shift;
$path =~ s/\\/\\\\/gx;
+$path =~ s/^'//x;
+$path =~ s/'$//x;
print "/* THIS IS A GENERATED FILE. DO NOT EDIT! */\n",
"\n",
I will add this change to the 3.14.12.2 release of Base.
HTH,
- Andrew
--
Optimization is the process of taking something that works and
replacing it with something that almost works, but costs less.
-- Roger Needham
--
Sincerely,
Pavel Maslov, MSc
R&D Institute for Electro-Physical Apparatus
Mobile: +7 (951) 672 22 19
Phone: +7 (812) 461 01 01