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 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
<== Date ==> <== Thread ==>

Subject: Re: IOC Connecting Problem
From: Rod Nussbaumer <bomr@triumf.ca>
To: Pilkyu Jung <pilkyu@bmii.co.kr>
Cc: yjkim@kaeri.re.kr, tech-talk@aps.anl.gov
Date: Thu, 23 Feb 2017 07:00:32 -0800
In principle, a telnet connection is the same as a bare socket connection, however the telnet protocol is intended for an interactive session, and there is an exchange of some information between the server and client at the start of the session connection (Telnet Options and Option Negotiation, RFC 845). This is invisible to the user, and usually silently ignored when you use telnet to talk to a test and measurement instrument. The bare socket interface probably skips this negotiation process, and goes immediately to the basic communication that your IOC uses. Telnet clients are supposed to work correctly with telnet/TCP servers (your instruments) that don't enter this negotiation process, so we generally use telnet clients as a general purpose TCP communications tool.

My strongest suggestion is to use the asyn layer tools to enable as much diagnostics information as possible. This should reveal why your instrument doesn't want to communicate with the IOC as it does with the telnet client tool. Theses are the asynSetTraceMask() and asynSetTraceIoMask() functions. See the asyn docs for details on their usage. The capabilities these enable can be conveniently turned on and off using the asyn record, and there are some medm (probably other display managers too) screens that allow you to manipulate the port driver debug levels interactively at run time. I strongly recommend that you install these for any asyn based communications.

Just to be clear, are you using the telnet tests from the same host on whihc your IOC is running? If no, then you should also make sure that there are no firewalls blocking the communication.

   ---  rod.



On 02/23/2017 01:29 AM, Pilkyu Jung wrote:
Dear Mark,
First of all, I appreciate your kind Email. I didn't know about the
synApps "delayGen" module. I am going to try to use it.

Yes, I am trying to connect an Agilent oscilloscope to IOC. A DG645 was
just an example that I connected with IOC before.
I checked there are two parts of connection(port 5024, 5025) in the case
of the DG645. also, There are two parts of connection(port 5024, 5025)
in the case of the Agilent oscilloscope.
So, I have thought that this is similar. However, when I tried to
connect the Agilent oscilloscope to IOC, I used port 5024(successful,
but when it start, the telnet connection required) and 5025(failed).
In the case of delay generator, I have used port 5025 which was
successful with nothing telnet connecting first.
I am not sure whether I express my opinion properly. Thank you so much
to read my Email. If you have any confusing things, would you let me know?

Best Regards,
Pilkyu


    ---------- Original Message ----------
    *From:* "Mark Rivers" <rivers@cars.uchicago.edu>
    *Date:* 2017-02-23 12:15
    *Subject:* RE: Re: IOC Connecting Problem
    *To:* "Pilkyu Jung" <pilkyu@bmii.co.kr>,"Rod Nussbaumer"
    <bomr@triumf.ca>
    *Cc:* "tech-talk@aps.anl.gov" <tech-talk@aps.anl.gov>
    I suspect the difference between the telnet port 5024 and the bare
    socket probably has to do with line terminators and perhaps other
    things that it does to make the telnet connection easier to use with
    an interactive terminal session.

    I am confused what device you are actually trying to talk to.
    Earlier today you mentioned an Agilent oscilloscope, but now you are
    referring to the DG645 delay generator. Note that there is already
    an asyn driver for the DG645 in the synApps "delayGen" module.

    Mark

    ________________________________
    From: tech-talk-bounces@aps.anl.gov [tech-talk-bounces@aps.anl.gov]
    on behalf of Pilkyu Jung [pilkyu@bmii.co.kr]
    Sent: Wednesday, February 22, 2017 8:01 PM
    To: Rod Nussbaumer
    Cc: tech-talk@aps.anl.gov
    Subject: RE: Re: IOC Connecting Problem

    Rod:
    Thanks a lot. Your comment is very helpful.
    I have thought that It is different between Telnet and TCP
    communication, because there are two kind of communication in case
    of delay generator.
    I attached delay generator's
    manual(http://www.thinksrs.com/downloads/PDFs/Manuals/DG645m.pdf).
    As you can see, there are difference in page 44, operation 30, Table
    14: NET Menu Options for TCP/IP Configuration.
    Could you let me know what is different between Bare socket
    interface(port 5025) and Telnet interface(port 5024)?
    In my case, I have used only port 5025 for connecting IOC.
    I hope you have a nice day.


    Best Regards,
    Pilkyu



    ---------- Original Message ----------
    From: "Rod Nussbaumer"
    Date: 2017-02-23 01:56
    Subject: Re: IOC Connecting Problem
    To: "Pilkyu Jung"

    Telnet is simply doing the same kinds of TCP communication that the IOC
    asynPort does. The connection seen by the oscilloscope is the same for a
    telnet session as it is for an EPICS asynPort connection. In telnet, you
    send commands interactively. The IOC sends commands as part of the
    program algorithm. The data transferred is the same, and the scope
    doesn't see any difference.

    The port number is part of the IP address used to make the TCP
    connection, so that is why it must be correct in order for the
    connection to succeed.

    I don't quite understand your last question. If you don't want to use a
    telnet-like connection between the scope and the IOC, then you will need
    to use some other kind of interface. Perhaps your scope is equipped with
    GPIB or serial ports. These work equally well from the standpoint of
    compatibility with EPICS asyn + streamDevice support.

    I hope this helps.

    --- rod.



    On 02/21/2017 11:24 PM, Pilkyu Jung wrote:
     > Rod:
     >
     > First of all, I appreciate your advice. It was very helpful.
     > By the way, I have tried to use port 5024 and 5025.
     > But, now IOC worked with port 5024, not port 5025.
     >
     > Can I ask you a question one more?
     >
     > When I use port 5024, the device worked with telnet automatically.
     > Like a Image file(16:18:10) that I attached a image file.
     > However, I guess it should more fast without connecting telnet.
     > At least, when I connect other device, didn't connect telnet.
     >
     > and when I use port 5025, it doesn't work.
     > So, Could you let me know how can I use this oscilloscope on IOC
    without
     > telnet connecting like other devices?
     >
     > best regards,
     > Pilkyu
     >
     >
     >
     > On 02/16/2017 11:15 PM, Rod Nussbaumer wrote:
     >> Pilkyu:
     >>
     >> In your telnet connection, you use port 5024, but in the asyn port
     >> connection, you are attempting to use port 5025. This is quite
    likely
     >> one cause of your problem.
     >>
     >> Rod Nussbaumer
     >> TRIUMF
     >> Vancouver, Canada
     >>
     >> On 02/15/2017 10:29 PM, Pilkyu Jung wrote:
     >>> Hi all,
     >>>
     >>>
     >>> First of all, I am trying to connect from a oscilloscope which
    name is
     >>> Agilent Technologies DSO-X 3052A (500 MHz 4 GSa/s) to IOC.
     >>>
     >>> As you can see in the
     >>>
    manual(http://literature.cdn.keysight.com/litweb/pdf/75019-97073.pdf ,
     >>>
    http://www.keysight.com/upload/cmc_upload/All/3000_series_prog_guide.pdf),
     >>>
     >>>
     >>> this oscilloscope support a few ways (e.g. the IO Library, Telnet
     >>> Sockets, and using Browser Web Control) for sending SCPI.
     >>>
     >>> However, When I connect to IOC, I got a problem. Until now, I just
     >>> connected only adjust IP address in st.cmd.
     >>>
     >>>
     >>> Like this,
     >>>
     >>> drvAsynIPPortConfigure("P1",169.254.90.3:5025,0,0,0)
     >>>
     >>>
     >>> When I connect by telnet, it is done successfully (please check the
     >>> Screenshot...image file).
     >>>
     >>> I don't know why this device can't be connected to IOC in this
    case.
     >>> Definitely I am done with this way before, but now I can't.
     >>>
     >>>
     >>> Here is my question,
     >>>
     >>>
     >>> 1. Normally, when you connect from device to IOC, what kind of
    method
     >>> use?
     >>>
     >>> 2. In my case, How can I connect to IOC?
     >>>
     >>>
     >>> Best Regards,
     >>>
     >>> Pilkyu Jung
     >>>
     >>>
     >>
     >>
     >






Replies:
Re: IOC Connecting Problem Jennings, Guy
References:
RE: RE: Re: IOC Connecting Problem Pilkyu Jung

Navigate by Date:
Prev: RE: RE: Re: IOC Connecting Problem Pilkyu Jung
Next: Re: IOC Connecting Problem Jennings, Guy
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
Navigate by Thread:
Prev: RE: RE: Re: IOC Connecting Problem Pilkyu Jung
Next: Re: IOC Connecting Problem Jennings, Guy
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
ANJ, 23 Feb 2017 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·