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

Subject: Re: Re:RE: help for streamDevice question
From: Mark Rivers via Tech-talk <[email protected]>
To: 张亚威 <[email protected]>
Cc: "[email protected]" <[email protected]>
Date: Mon, 6 Jan 2020 13:19:33 +0000
Hi YaweiZhang,


I looks like you need to send a 24-byte packet and receive a 4-byte response?


Is the output packet binary or hex ASCII characters?


Is the response binary or hex ASCII characters?  Because you do not show any terminators on input or output I suspect it is binary, not hex.


Stream device may be able to construct the Check Code for you for with its "checksum" converter, but you need to see if your check code uses one of the algorithms that stream device supports.


I think you will need other software to create the timestamp bytes.


One way to do this is not to use stream device at all, but just use an asyn record.  Your Python code would build the entire 24-byte array and write it to the BOUT field of the asyn record.  The asyn record would then read the 4 byte response into the BINP field.


Alternatively you could write a little C++ driver based on asynPortDriver to build and send the string and parse the response.


Mark



________________________________
From: 张亚威 <[email protected]>
Sent: Sunday, January 5, 2020 9:43 PM
To: Mark Rivers
Cc: [email protected]
Subject: Re:RE: help for streamDevice question


Sorry.
I want to send many socket packages to  a device.
A single package consist of a 8 bytes time stamp(changeable), a 4 bytes protocol number, a 4 bytes determined number and a 8 bytes check code(changeable).

Time Stamp


Protocol

Vision


Command


Check Code


8 bytes


4 bytes


4 bytes


8 bytes


What I suppose is to use hex format to save the data.
So I write record like this:
record(waveform,"data")
{
field (DTVP, "stream")
field(INP, "@devTest.proto array_in L0")
field(FTVL, "LONG")
field(NELM, "256")
field(PINI, "YES")
field(SCAN, "Passive")
}
and proto file
data0 = 0x23;
array_in {
out "\${data0}";
in "%4x";
}
In this case, only determined data can be sent. I hope to sent some changeable data which produced by a python program in real-time.

Thank you very much.

YaweiZhang




At 2020-01-06 00:22:42, "Mark Rivers" <[email protected]> wrote:
I think you need to be more specific.  What is the format of the strings you are trying to write and read?

Mark


From: Tech-talk <[email protected]> On Behalf Of ??? via Tech-talk
Sent: Sunday, January 5, 2020 8:22 AM
To: [email protected]
Subject: help for streamDevice question

hi,

    I want to use streamDevice to communicate with a device just like  https://epics.anl.gov/tech-talk/2016/msg01310.php does.
    My problem is that I don't know how to write changeable data into record, which include  time and a time-dependent encryption number.
    Could someone give me a hand?
    Thanks a lot.

Regards,
YaweiZhang








Replies:
Re:Re: Re:RE: help for streamDevice question 张亚威 via Tech-talk
References:
help for streamDevice question 张亚威 via Tech-talk
RE: help for streamDevice question Mark Rivers via Tech-talk
Re:RE: help for streamDevice question 张亚威 via Tech-talk

Navigate by Date:
Prev: RE: Ethernet to RS-232 Danfysik supply connection issues Kathryn Baker - UKRI STFC via Tech-talk
Next: Re:Re: Re:RE: help for streamDevice question 张亚威 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  <20202021  2022  2023  2024 
Navigate by Thread:
Prev: Re:RE: help for streamDevice question 张亚威 via Tech-talk
Next: Re:Re: Re:RE: help for streamDevice question 张亚威 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  <20202021  2022  2023  2024 
ANJ, 06 Jan 2020 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·