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: Issues in MCA module with XFlash detector |
From: | Mark Rivers via Tech-talk <tech-talk at aps.anl.gov> |
To: | Abdalla Ahmad <Abdalla.Ahmad at sesame.org.jo>, "tech-talk at aps.anl.gov" <Tech-talk at aps.anl.gov> |
Date: | Tue, 15 Jul 2025 17:59:51 +0000 |
Hi Abdalla, The screenshot you sent says that you are using 1024 channels/spectrum. When the driver reads the spectrum from the device the data is binary, 4 bytes/channel, so the total data read is 4096
bytes. At 9600 baud the data rate is about 960 bytes/s (with 1 start bit, 8 data bits, 1 stop bit). That means it takes 4096/960 = 4.3 seconds to read the spectrum. You are only reading the spectrum when acquisition stops, but you are reading the status
at 10 Hz. Reading the status actually requires asking for the first channel of the spectrum, and also involves significant communication and thus time. You should enable asynTrace so you can see the communication between the driver and the device. If you can send that output it would be very interesting to see the time delays. You should do
it both when you are trying to read the temperature and when you are not reading temperature. It may be that polling the status is using the entire 9600 baud bandwidth and so the temperature query never gets to run and so times out. Is it possible to increase the baud rate to a value greater than 9600? Mark From: Abdalla Ahmad <Abdalla.Ahmad at sesame.org.jo> Hello Mark Thanks for the feedback. Right now, the beamline scientists reported good performance with beam and the current baud rate (9600 8N1) seems to be OK and it does not show any performance issues. I am curious about
the scan rate of the temperature and status, why setting it to passive solved the issue? To recap the issue, when doing Erase/Start, asynTrace showed timeout handler every 1 second while reading the temperature. Best Regards, Abdalla Al-Dalleh Control Engineer SESAME From: Mark Rivers <rivers at cars.uchicago.edu>
Hi Abdalla, Sorry for the delay in replying. Setting “Read spectrum every” setting to “Event” does not actually do anything, since you have probably not triggered any Events in your IOC. You should just set it to Passive.
The spectrum will always be read when acquisition completes as long as Check Done is not Passive. If you are collecting for more than a few seconds and want to see periodic spectrum updates then you can set “Read spectrum every” to 5 seconds and it won't slow things down too much. What baud rate are you using? Is it possible to increase the baud rate to improve communication speed? Mark From: Abdalla Ahmad <Abdalla.Ahmad at sesame.org.jo> Hello Mark Yes, we are using the serial port to communicate with the detector. I turned on asynTrace options and I noticed that the freezing and unresponsive buttons issues are caused due to a timeout during acquisition, this is confirmed
because “timeout handler” message gets printed almost every 1 second (not all the time), and after that the temperature PV gets processed. So I switched the scan rate on the main GUI to passive just to test and the acquisition works fine for now. Also, I noticed that the spectrum takes 1 or 2 seconds more than the real time, I looked into the MCA setup GUI and changed the “Read spectrum every” setting to “Event”, seems a bit more responsive than before. I attached the
current MCA settings screenshot. What do you think? Best Regards, Abdalla Al-Dalleh Control Engineer SESAME From: Mark Rivers <rivers at cars.uchicago.edu> Hi Abdallah, Are you communicating with the XFlash over a serial port or over their QM100 high-speed interface? If it is over a serial port then you should enable asynTrace to see the communication stream. Mark From: Abdalla Ahmad <Abdalla.Ahmad at sesame.org.jo> Hi We have the MCA module running on a Windows 10 machine to control the XFlash detector from Bruker. We started to face the following issues:
Despite what is mentioned, the IOC log shows no error messages. The Bruker software seems to acquire just fine, but not tested thoroughly. We even Installed the IOC on a different laptop and a PC and still the same behavior. Any idea on what might went wrong with the detector or IOC? Best Regards, Abdalla Al-Dalleh Control Engineer SESAME |