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 2025 | 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 2025 |
<== Date ==> | <== Thread ==> |
---|
Subject: | RE: Gentec S-link power meter problem with ending I/O interrupt measurement |
From: | bohmm <[email protected]> |
To: | Mazanec Tomáš <[email protected]> |
Cc: | Tech talk <[email protected]> |
Date: | Fri, 17 Apr 2015 10:37:40 +0100 |
Hi Tomáš, I didnt specify some important things about the setup, you are right:I am using Ethernet device attached to a PC where IOC with Stream is running. The device is set up to trasmit data and the data exchange speed depends on the frequency of external trigger
I have an EPICS record configured SCAN="I/O Intr", DTYP=stream and that has only the "in" command defined in the .proto file, as you said.
The amount of data:Just doubles (values of power measurement) received at the frequency of the external trigger (for us no more than 10 Hz).
When in Interrupt mode, the device receives the data automatically at the frequency of the ext. trigger. Interrupt mode for this power meter means, that device receives the data whenever external trigger occurs, on the other hand in polling mode, you first send a request to the device ("out" .proto) and obtain a response. (Here I am not sure what yout meant so - Data also can be received non-periodically in interrupt mode, depends on the nature of ext. triger signal)
I think this is not the case of fast rate data transfers.I should also mention, that when doing a telnet to the Gentec directly, and typing in the command to stop the I/O interrupt mode, everything works fine. Peter Owens, the original author of the stream protocol (which otherwise works perfect) also says he has seen cases where a busy device can't handle a serial port - but works fine over an Ethernet port, which he thought is this case.
I hope this helps to clarify Thanks Marek Dne 2015-04-16 13:37, Mazanec Tomáš napsal:
Hi Marek I'm not sure if I understand your setup correctly, so... you're using RS232 device attached to a computer where an IOC with streamDevice is running in order to acquire data from it. If the device is set to transmit data, it does that at 10Hz rate. An EPICS record is configured with SCAN="I/O Intr", DTYP=stream.... and reads the data using streamDevice protocol command which has only "in" command defined. If so, it should work smoothly. Of course, it depends on data. What is the amount of data and what structure it has ? And then it depends on serial line speed. Which of the device modes (Polling, Interrupt) sends the data automatically and periodically at 10Hz ? Does the interrupt mode means the data are sent in the same way as poll but non-periodically ? I've checked S-LINK's product webpage. It mentions some "Fast rate data transfers to PC" at 10kHz rate. Is this the case ? I'm interested, we have got one S-LINK in lab too. However its integration to EPICS may not happen at all. Thanks, Tomas Mazanec ________________________________________ Od: [email protected] [[email protected]] za uživatele bohmm [[email protected]] Odesláno: 14. dubna 2015 12:07 Komu: Tech talk Předmět: Gentec S-link power meter problem with ending I/O interrupt measurement Hello, I am an EPICS newbie and trying to implement statistics functions for our energy meter. Our laser system is running at 10 Hz and the energy meter has to catch every pulse energy/power value for the statistics to be computed properly. So the energy meter is running with an external trigger. I am communicating with the device via StreamDevice using serial commands.The device supports two acquisition modes: Polling ("Free running") andI/O interrupt (device is generating interrupts). The problem is, once I get into I/O Interrupt mode @ 10 Hz, the device is so busy receiving the data, that any other byte streams send to it via StreamDevice do not get through. The consequences are that I am notable to send the command to end the I/O Interrupt mode once I started it and get back to Polling ("free running"), and also that the devices doesnot receive its other statuses. At really low repetition rates (@ 0.5 Hz) this problem does not occur, the device has "time to answer".Did anybody deal with a similar problem? Is it possible to solve withoutwriting a driver? Best regards Marek Böhm
-- ___________________________________ Ing. Marek Böhm, RP2 Control Engineer Institute of Physics AS CR, v. v. i. HiLASE Centre Za Radnicí 828 252 41 Dolní Břežany M: +420 606 259 414 T: +420 314 007 726 E: [email protected] W: http://www.hilase.cz <http://www.hilase.cz/> ______________________________________________________________________