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: Exploring EPICS performance/processing limits |
From: | Mark Rivers via Tech-talk <tech-talk at aps.anl.gov> |
To: | "Marco A. Barra Montevechi Filho" <marco.filho at lnls.br>, Matthew Newville <newville at cars.uchicago.edu> |
Cc: | "tech-talk at aps.anl.gov" <tech-talk at aps.anl.gov> |
Date: | Thu, 6 Oct 2022 18:19:40 +0000 |
Hi Marco, Please post: -
The complete output when your IOC starts -
The database containing MOBICDTE:Backend:ImgChipNumberID
-
The protocol file you are using -
The output of asynTrace as I suggested my message this morning Mark From: Tech-talk <tech-talk-bounces at aps.anl.gov>
On Behalf Of Marco A. Barra Montevechi Filho via Tech-talk Hi, Matt! field(A,"0") field(B,"154") field(C,"198") field(D,"208") field(E,"57") field(F, "1") field(G, "1")
field(H,"182") field(OUTA,"${P}${BE}:ImgChipNumberID PP") field(OUTB,"${P}${BE}:DAC_GND PP") field(OUTC,"${P}${BE}:DAC_CAS PP") field(OUTD,"${P}${BE}:DAC_FBK PP") field(OUTE,"${P}${BE}:DAC_DiscL PP") field(OUTF,"$(P)$(R)Tmr1 PP") field(OUTG,"${P}${BE}:ImgChipNumberID PP") field(OUTH,"${P}${BE}:DAC_GND PP") } def changer(x): for i in range(0,4): epics.caput("MOBICDTE:Backend:ImgChipNumberID", i) time.sleep(x) changer(float(sys.argv[1])) 127.000.000.001.55780-127.000.000.001.60000: {"id":"1", "method":"HS_ImgChipNumberID_Command", "params": [["0"]], "jsonrpc": "2.0"} 127.000.000.001.55780-127.000.000.001.60000: {"id":"1", "method":"HS_ImgChipNumberID_Command", "params": [["1", "1"]], "jsonrpc": "2.0"} 127.000.000.001.55780-127.000.000.001.60000: {"id":"1", "method":"HS_ImgChipNumberID_Command", "params": [["0"]], "jsonrpc": "2.0"} 127.000.000.001.55780-127.000.000.001.60000: {"id":"1", "method":"HS_ImgChipNumberID_Command", "params": [["1", "2"]], "jsonrpc": "2.0"} 127.000.000.001.55780-127.000.000.001.60000: {"id":"1", "method":"HS_ImgChipNumberID_Command", "params": [["0"]], "jsonrpc": "2.0"} 127.000.000.001.55780-127.000.000.001.60000: {"id":"1", "method":"HS_ImgChipNumberID_Command", "params":
[["1", "3"]], "jsonrpc": "2.0"} 127.000.000.001.55780-127.000.000.001.60000: {"id":"1", "method":"HS_ImgChipNumberID_Command", "params": [["0"]], "jsonrpc": "2.0"} CA.Client.Exception............................................... Warning: "Identical process variable names on multiple servers" Context: "Channel: "MOBICDTE:Backend:ImgChipNumberID", Connecting to: 192.168.55.1:5064, Ignored: s-mgn-mob01-l.abtlus.org.br:5064" Source File: ../cac.cpp line 1320 Current Time: Thu Oct 06 2022 14:56:42.275342454 .................................................................. MOBICDTE:Backend:ImgChipNumberID 2022-10-06 14:31:09.112389 3 READ INVALID MOBICDTE:Backend:ImgChipNumberID 2022-10-06 14:57:59.690554 0 READ INVALID MOBICDTE:Backend:ImgChipNumberID 2022-10-06 14:58:04.690451 1 READ INVALID MOBICDTE:Backend:ImgChipNumberID 2022-10-06 14:58:09.692468 2 READ INVALID MOBICDTE:Backend:ImgChipNumberID 2022-10-06 14:58:14.696379 3 READ INVALID FOR 0.1 SECONDS OF SLEEP TIME: TCPFLOW: 127.000.000.001.55780-127.000.000.001.60000: {"id":"1", "method":"HS_ImgChipNumberID_Command", "params": [["0"]], "jsonrpc": "2.0"} 127.000.000.001.55780-127.000.000.001.60000: {"id":"1", "method":"HS_ImgChipNumberID_Command", "params":
[["1", "1"]], "jsonrpc": "2.0"} 127.000.000.001.55780-127.000.000.001.60000: {"id":"1", "method":"HS_ImgChipNumberID_Command", "params": [["0"]], "jsonrpc": "2.0"} 127.000.000.001.55780-127.000.000.001.60000: {"id":"1", "method":"HS_ImgChipNumberID_Command", "params": [["1", "3"]], "jsonrpc": "2.0"} 127.000.000.001.55780-127.000.000.001.60000: {"id":"1", "method":"HS_ImgChipNumberID_Command", "params": [["0"]], "jsonrpc": "2.0"} From: Matt Newville <newville at cars.uchicago.edu> Hi Marco, I don't understand that behavior and would ask whether that observation is only when using tcpflow or also appears from using a camonitor. To be clear, you should not need `sleep()` there, and certainly not as long as 0.5 seconds. Yes, the IOC and Channel Access should be capable of dealing with time intervals much smaller than
that. Since "VALUE" is left to the imagination of the reader, is it obvious that this should be a new value (ie, different from the current value) for all PVs? --Matt Aviso Legal: Esta mensagem e seus anexos podem conter informações confidenciais e/ou de uso restrito. Observe atentamente seu conteúdo e considere eventual consulta ao remetente antes
de copiá-la, divulgá-la ou distribuí-la. Se você recebeu esta mensagem por engano, por favor avise o remetente e apague-a imediatamente. Disclaimer: This email and its attachments may contain confidential and/or privileged information. Observe its content carefully and consider possible querying to the sender before
copying, disclosing or distributing it. If you have received this email by mistake, please notify the sender and delete it immediately. |