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  2020  2021  <20222023  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  2020  2021  <20222023  2024 
<== Date ==> <== Thread ==>

Subject: Re: Unknown error with an equipment
From: TONY YU via Tech-talk <tech-talk at aps.anl.gov>
To: Mark Rivers <rivers at cars.uchicago.edu>
Cc: "tech-talk at aps.anl.gov" <tech-talk at aps.anl.gov>
Date: Tue, 22 Mar 2022 18:17:36 +0100
Here is the log of streamDebug with asynTrace output for setting hsa to 381.7.

2022/03/22 17:46:03.262870 IDEA AsynDriverInterface.cc:1438: AsynDriverInterface::handleRequest(ImpMik:IDEA:SetEpass) Lock
2022/03/22 17:46:03.262892 IDEA AsynDriverInterface.cc:565: 2022/03/22 17:46:03.262881 cbLow StreamEpics.cc:896: streamRecordProcessCallback(ImpMik:IDEA:SetRange) processing record
AsynDriverInterface::lockHandler(ImpMik:IDEA:SetEpass)
2022/03/22 17:46:03.262951 cbLow 2022/03/22 17:46:03.262968 IDEA AsynDriverInterface.cc:503: AsynDriverInterface::connectToAsynPort(ImpMik:IDEA:SetEpass)
StreamEpics.cc:699: Stream::process(ImpMik:IDEA:SetRange) ready. don't convert
2022/03/22 17:46:03.263009 IDEA 2022/03/22 17:46:03.263034 cbLow StreamEpics.cc:901: streamRecordProcessCallback(ImpMik:IDEA:SetRange) processing record done
AsynDriverInterface.cc:536: AsynDriverInterface::connectToAsynPort(ImpMik:IDEA:SetEpass) is already connected
2022/03/22 17:46:03.263115 IDEA StreamCore.cc:817: StreamCore::lockCallback(ImpMik:IDEA:SetEpass, status=Success)
2022/03/22 17:46:03.263141 IDEA AsynDriverInterface.cc:588: AsynDriverInterface::writeRequest(ImpMik:IDEA:SetEpass, "Set hsa 381.700004<0d><0a>", 100 msec)
2022/03/22 17:46:03.263174 IDEA AsynDriverInterface.cc:1438: AsynDriverInterface::handleRequest(ImpMik:IDEA:SetEpass) Write
2022/03/22 17:46:03.263200 IDEA AsynDriverInterface.cc:616: AsynDriverInterface::writeHandler(ImpMik:IDEA:SetEpass)
2022/03/22 17:46:03.264 terminal.chamber6:10002 write 20
Set hsa 381.700004\r\n
2022/03/22 17:46:03.264416 IDEA AsynDriverInterface.cc:667: AsynDriverInterface::writeHandler(ImpMik:IDEA:SetEpass): write(..., outputSize=20, written=20) [timeout=0.1 sec] = asynSuccess
2022/03/22 17:46:03.264440 IDEA AsynDriverInterface.cc:676: AsynDriverInterface::writeHandler(ImpMik:IDEA:SetEpass): device is connected
2022/03/22 17:46:03.264456 IDEA StreamCore.cc:849: StreamCore::writeCallback(ImpMik:IDEA:SetEpass, status=Success)
2022/03/22 17:46:03.264481 IDEA StreamCore.cc:552: StreamCore::evalCommand(ImpMik:IDEA:SetEpass): activeCommand = in
2022/03/22 17:46:03.264498 IDEA AsynDriverInterface.cc:752: AsynDriverInterface::readRequest(ImpMik:IDEA:SetEpass, 1000 msec reply, 5000 msec read, expect 0 bytes, async=no)
2022/03/22 17:46:03.264525 IDEA AsynDriverInterface.cc:777: AsynDriverInterface::readRequest ImpMik:IDEA:SetEpass: queueRequest(..., priority=0, queueTimeout=1 sec) = asynSuccess [async=false]
2022/03/22 17:46:03.264547 IDEA AsynDriverInterface.cc:1438: AsynDriverInterface::handleRequest(ImpMik:IDEA:SetEpass) Read
2022/03/22 17:46:03.264564 IDEA AsynDriverInterface.cc:837: AsynDriverInterface::readHandler(ImpMik:IDEA:SetEpass) input EOS set to <0d><0a>
2022/03/22 17:46:03.264582 IDEA AsynDriverInterface.cc:896: AsynDriverInterface::readHandler(ImpMik:IDEA:SetEpass): ioAction=Read read(..., bytesToRead=1, ...) [timeout=1 sec]
2022/03/22 17:46:03.273 terminal.chamber6:10002 read 8
#0E HSA
2022/03/22 17:46:03.273174 IDEA AsynDriverInterface.cc:903: AsynDriverInterface::readHandler(ImpMik:IDEA:SetEpass): read returned asynSuccess: ioAction=Read received=1, eomReason=CNT, buffer="#"
2022/03/22 17:46:03.273194 IDEA AsynDriverInterface.cc:910: AsynDriverInterface::readHandler(ImpMik:IDEA:SetEpass): device is now connected
2022/03/22 17:46:03.273202 IDEA AsynDriverInterface.cc:948: AsynDriverInterface::readHandler(ImpMik:IDEA:SetEpass): received 1 of 1 bytes "#" eomReason=CNT
2022/03/22 17:46:03.273210 IDEA StreamCore.cc:938: StreamCore::readCallback(ImpMik:IDEA:SetEpass, status=StreamIoSuccess input="#", size=1)
2022/03/22 17:46:03.273226 IDEA StreamCore.cc:994: StreamCore::readCallback(ImpMik:IDEA:SetEpass) inputBuffer="#", size 1
2022/03/22 17:46:03.273234 IDEA StreamCore.cc:1039: StreamCore::readCallback(ImpMik:IDEA:SetEpass) inTerminator <0d><0a> not found
2022/03/22 17:46:03.273241 IDEA StreamCore.cc:1075: StreamCore::readCallback(ImpMik:IDEA:SetEpass) wait for more input
2022/03/22 17:46:03.273248 IDEA AsynDriverInterface.cc:1074: AsynDriverInterface::readHandler(ImpMik:IDEA:SetEpass) readMore=-1 bytesToRead=63
2022/03/22 17:46:03.273255 IDEA AsynDriverInterface.cc:896: AsynDriverInterface::readHandler(ImpMik:IDEA:SetEpass): ioAction=Read read(..., bytesToRead=63, ...) [timeout=5 sec]
2022/03/22 17:46:03.274 terminal.chamber6:10002 read 4
ok\r\n
2022/03/22 17:46:03.273776 IDEA AsynDriverInterface.cc:903: AsynDriverInterface::readHandler(ImpMik:IDEA:SetEpass): read returned asynSuccess: ioAction=Read received=9, eomReason=EOS, buffer="0E HSA ok"
2022/03/22 17:46:03.273785 IDEA AsynDriverInterface.cc:910: AsynDriverInterface::readHandler(ImpMik:IDEA:SetEpass): device is now connected
2022/03/22 17:46:03.273793 IDEA AsynDriverInterface.cc:948: AsynDriverInterface::readHandler(ImpMik:IDEA:SetEpass): received 9 of 63 bytes "0E HSA ok" eomReason=EOS
2022/03/22 17:46:03.273800 IDEA StreamCore.cc:938: StreamCore::readCallback(ImpMik:IDEA:SetEpass, status=StreamIoEnd input="0E HSA ok", size=9)
2022/03/22 17:46:03.273816 IDEA StreamCore.cc:994: StreamCore::readCallback(ImpMik:IDEA:SetEpass) inputBuffer="#0E HSA ok", size 10
2022/03/22 17:46:03.273824 IDEA StreamCore.cc:1039: StreamCore::readCallback(ImpMik:IDEA:SetEpass) inTerminator <0d><0a> not found
2022/03/22 17:46:03.273832 IDEA StreamCore.cc:1046: StreamCore::readCallback(ImpMik:IDEA:SetEpass) end flag received
2022/03/22 17:46:03.273849 IDEA StreamCore.cc:1104: StreamCore::readCallback(ImpMik:IDEA:SetEpass) input line: "#0E HSA ok"
2022/03/22 17:46:03.273856 IDEA StreamCore.cc:552: StreamCore::evalCommand(ImpMik:IDEA:SetEpass): activeCommand = end
2022/03/22 17:46:03.273878 IDEA StreamCore.cc:517: StreamCore::finishProtocol(ImpMik:IDEA:SetEpass, status=Success) bus owner
2022/03/22 17:46:03.273885 IDEA AsynDriverInterface.cc:576: AsynDriverInterface::unlock(ImpMik:IDEA:SetEpass)
2022/03/22 17:46:03.273907 IDEA AsynDriverInterface.cc:1417: AsynDriverInterface::finish(ImpMik:IDEA:SetEpass) start
2022/03/22 17:46:03.273914 IDEA AsynDriverInterface.cc:1427: AsynDriverInterface::finish(ImpMik:IDEA:SetEpass) done
2022/03/22 17:46:03.273930 cbLow StreamEpics.cc:896: streamRecordProcessCallback(ImpMik:IDEA:SetEpass) processing record
2022/03/22 17:46:03.273954 cbLow StreamEpics.cc:699: Stream::process(ImpMik:IDEA:SetEpass) ready. don't convert
2022/03/22 17:46:03.273960 cbLow StreamEpics.cc:901: streamRecordProcessCallback(ImpMik:IDEA:SetEpass) processing record done

Here is the same log for getting value from the device after ~0.5sec. The value still 1638.4.

2022/03/22 17:46:03.705689 IDEA AsynDriverInterface.cc:565: AsynDriverInterface::lockHandler(ImpMik:IDEA:Epass)
2022/03/22 17:46:03.705890 IDEA AsynDriverInterface.cc:503: AsynDriverInterface::connectToAsynPort(ImpMik:IDEA:Epass)
2022/03/22 17:46:03.705925 IDEA AsynDriverInterface.cc:536: AsynDriverInterface::connectToAsynPort(ImpMik:IDEA:Epass) is already connected
2022/03/22 17:46:03.705954 IDEA StreamCore.cc:817: StreamCore::lockCallback(ImpMik:IDEA:Epass, status=Success)
2022/03/22 17:46:03.705980 IDEA AsynDriverInterface.cc:588: AsynDriverInterface::writeRequest(ImpMik:IDEA:Epass, "Get hsa<0d><0a>", 100 msec)
2022/03/22 17:46:03.706019 IDEA AsynDriverInterface.cc:1438: AsynDriverInterface::handleRequest(ImpMik:IDEA:Epass) Write
2022/03/22 17:46:03.706049 IDEA AsynDriverInterface.cc:616: AsynDriverInterface::writeHandler(ImpMik:IDEA:Epass)
2022/03/22 17:46:03.707 terminal.chamber6:10002 write 9
Get hsa\r\n
2022/03/22 17:46:03.707300 IDEA AsynDriverInterface.cc:667: AsynDriverInterface::writeHandler(ImpMik:IDEA:Epass): write(..., outputSize=9, written=9) [timeout=0.1 sec] = asynSuccess
2022/03/22 17:46:03.707329 IDEA AsynDriverInterface.cc:676: AsynDriverInterface::writeHandler(ImpMik:IDEA:Epass): device is connected
2022/03/22 17:46:03.707346 IDEA StreamCore.cc:849: StreamCore::writeCallback(ImpMik:IDEA:Epass, status=Success)
2022/03/22 17:46:03.707362 IDEA StreamCore.cc:552: StreamCore::evalCommand(ImpMik:IDEA:Epass): activeCommand = in
2022/03/22 17:46:03.707376 IDEA AsynDriverInterface.cc:752: AsynDriverInterface::readRequest(ImpMik:IDEA:Epass, 1000 msec reply, 5000 msec read, expect 0 bytes, async=no)
2022/03/22 17:46:03.707400 IDEA AsynDriverInterface.cc:777: AsynDriverInterface::readRequest ImpMik:IDEA:Epass: queueRequest(..., priority=0, queueTimeout=1 sec) = asynSuccess [async=false]
2022/03/22 17:46:03.707422 IDEA AsynDriverInterface.cc:1438: AsynDriverInterface::handleRequest(ImpMik:IDEA:Epass) Read
2022/03/22 17:46:03.707440 IDEA AsynDriverInterface.cc:837: AsynDriverInterface::readHandler(ImpMik:IDEA:Epass) input EOS set to <0d><0a>
2022/03/22 17:46:03.707455 IDEA AsynDriverInterface.cc:896: AsynDriverInterface::readHandler(ImpMik:IDEA:Epass): ioAction=Read read(..., bytesToRead=1, ...) [timeout=1 sec]
2022/03/22 17:46:03.715 terminal.chamber6:10002 read 8
1638.400
2022/03/22 17:46:03.715388 IDEA AsynDriverInterface.cc:903: AsynDriverInterface::readHandler(ImpMik:IDEA:Epass): read returned asynSuccess: ioAction=Read received=1, eomReason=CNT, buffer="1"
2022/03/22 17:46:03.715413 IDEA AsynDriverInterface.cc:910: AsynDriverInterface::readHandler(ImpMik:IDEA:Epass): device is now connected
2022/03/22 17:46:03.715430 IDEA AsynDriverInterface.cc:948: AsynDriverInterface::readHandler(ImpMik:IDEA:Epass): received 1 of 1 bytes "1" eomReason=CNT
2022/03/22 17:46:03.715445 IDEA StreamCore.cc:938: StreamCore::readCallback(ImpMik:IDEA:Epass, status=StreamIoSuccess input="1", size=1)
2022/03/22 17:46:03.715461 IDEA StreamCore.cc:994: StreamCore::readCallback(ImpMik:IDEA:Epass) inputBuffer="1", size 1
2022/03/22 17:46:03.715477 IDEA StreamCore.cc:1039: StreamCore::readCallback(ImpMik:IDEA:Epass) inTerminator <0d><0a> not found
2022/03/22 17:46:03.715491 IDEA StreamCore.cc:1075: StreamCore::readCallback(ImpMik:IDEA:Epass) wait for more input
2022/03/22 17:46:03.715503 IDEA AsynDriverInterface.cc:1074: AsynDriverInterface::readHandler(ImpMik:IDEA:Epass) readMore=-1 bytesToRead=63
2022/03/22 17:46:03.715518 IDEA AsynDriverInterface.cc:896: AsynDriverInterface::readHandler(ImpMik:IDEA:Epass): ioAction=Read read(..., bytesToRead=63, ...) [timeout=5 sec]
2022/03/22 17:46:03.716 terminal.chamber6:10002 read 2
\r\n
2022/03/22 17:46:03.715889 IDEA AsynDriverInterface.cc:903: AsynDriverInterface::readHandler(ImpMik:IDEA:Epass): read returned asynSuccess: ioAction=Read received=7, eomReason=EOS, buffer="638.400"
2022/03/22 17:46:03.715912 IDEA AsynDriverInterface.cc:910: AsynDriverInterface::readHandler(ImpMik:IDEA:Epass): device is now connected
2022/03/22 17:46:03.715932 IDEA AsynDriverInterface.cc:948: AsynDriverInterface::readHandler(ImpMik:IDEA:Epass): received 7 of 63 bytes "638.400" eomReason=EOS
2022/03/22 17:46:03.715950 IDEA StreamCore.cc:938: StreamCore::readCallback(ImpMik:IDEA:Epass, status=StreamIoEnd input="638.400", size=7)
2022/03/22 17:46:03.715969 IDEA StreamCore.cc:994: StreamCore::readCallback(ImpMik:IDEA:Epass) inputBuffer="1638.400", size 8
2022/03/22 17:46:03.715988 IDEA StreamCore.cc:1039: StreamCore::readCallback(ImpMik:IDEA:Epass) inTerminator <0d><0a> not found
2022/03/22 17:46:03.716005 IDEA StreamCore.cc:1046: StreamCore::readCallback(ImpMik:IDEA:Epass) end flag received
2022/03/22 17:46:03.716022 IDEA StreamCore.cc:1104: StreamCore::readCallback(ImpMik:IDEA:Epass) input line: "1638.400"
2022/03/22 17:46:03.716041 IDEA StreamCore.cc:1193: StreamCore::matchInput(ImpMik:IDEA:Epass): format = "%f"
2022/03/22 17:46:03.716060 IDEA StreamEpics.cc:503: streamScanfN(ImpMik:IDEA:Epass,format=%f,maxStringSize=40)
2022/03/22 17:46:03.716082 IDEA StreamCore.cc:1485: StreamCore::scanValue(ImpMik:IDEA:Epass, format=%f, double) input="1638.400"
2022/03/22 17:46:03.716101 IDEA StreamCore.cc:1497: StreamCore::scanValue(ImpMik:IDEA:Epass) scanned 1638.40
2022/03/22 17:46:03.716127 IDEA StreamEpics.cc:512: streamScanfN(ImpMik:IDEA:Epass) success, value="<9a><99><99><99><99><99><99>@"
2022/03/22 17:46:03.716144 IDEA StreamCore.cc:552: StreamCore::evalCommand(ImpMik:IDEA:Epass): activeCommand = end
2022/03/22 17:46:03.716165 IDEA StreamCore.cc:517: StreamCore::finishProtocol(ImpMik:IDEA:Epass, status=Success) bus owner
2022/03/22 17:46:03.716185 IDEA AsynDriverInterface.cc:576: AsynDriverInterface::unlock(ImpMik:IDEA:Epass)
2022/03/22 17:46:03.716205 IDEA AsynDriverInterface.cc:1417: AsynDriverInterface::finish(ImpMik:IDEA:Epass) start
2022/03/22 17:46:03.716225 IDEA AsynDriverInterface.cc:1427: AsynDriverInterface::finish(ImpMik:IDEA:Epass) done
2022/03/22 17:46:03.716267 cbLow StreamEpics.cc:896: streamRecordProcessCallback(ImpMik:IDEA:Epass) processing record
2022/03/22 17:46:03.716310 cbLow StreamEpics.cc:699: Stream::process(ImpMik:IDEA:Epass) ready. convert
2022/03/22 17:46:03.716333 cbLow StreamEpics.cc:901: streamRecordProcessCallback(ImpMik:IDEA:Epass) processing record done

Hope the log explains the problem. I also contacted the manufacturer of the power supply about this.

Tony



Mark Rivers <rivers at cars.uchicago.edu> 於 2022年3月22日週二 上午3:41寫道:
Can you also include the asynTrace output in that?  It looks like StreamDevice says it is sending the string it should.  What is the evidence that it is not working?

Mark



From: TONY YU <tonyyucom at gmail.com>
Sent: Monday, March 21, 2022 11:58 AM
To: Mark Rivers <rivers at cars.uchicago.edu>
Cc: Andrew Johnson <anj at anl.gov>; tech-talk at aps.anl.gov <tech-talk at aps.anl.gov>
Subject: Re: Unknown error with an equipment
 
Hi Mark,

I tried to set DRVH to 200 in SetEpass and the asynTrace output of HSA still shows 1638.4000. Also I use caput in another terminal and the value of the Epass is still 858.475, which is equal to 1638.4000 in HSA.

Then I enabled StreamDebug and here is the partial report for setting the Epass I believe. In this case, I tried to set Epass to be 100 so that the HSA value is equal to 190.850002, but there is no response to the change.

2022/03/21 16:27:13.813582 IDEA AsynDriverInterface.cc:1438: AsynDriverInterface::handleRequest(ImpMik:IDEA:SetEpass) Lock
2022/03/21 16:27:13.813598 IDEA AsynDriverInterface.cc:565: AsynDriverInterface::lockHandler(ImpMik:IDEA:SetEpass)
2022/03/21 16:27:13.813615 IDEA AsynDriverInterface.cc:503: AsynDriverInterface::connectToAsynPort(ImpMik:IDEA:SetEpass)
2022/03/21 16:27:13.813589 cbLow StreamEpics.cc:896: streamRecordProcessCallback(ImpMik:IDEA:SetRange) processing record
2022/03/21 16:27:13.813638 IDEA AsynDriverInterface.cc:536: AsynDriverInterface::connectToAsynPort(ImpMik:IDEA:SetEpass) is already connected
2022/03/21 16:27:13.813663 cbLow StreamEpics.cc:699: Stream::process(ImpMik:IDEA:SetRange) ready. don't convert
2022/03/21 16:27:13.813697 IDEA 2022/03/21 16:27:13.813718 cbLow StreamEpics.cc:901: streamRecordProcessCallback(ImpMik:IDEA:SetRange) processing record done
StreamCore.cc:817: StreamCore::lockCallback(ImpMik:IDEA:SetEpass, status=Success)
2022/03/21 16:27:13.813753 IDEA AsynDriverInterface.cc:588: AsynDriverInterface::writeRequest(ImpMik:IDEA:SetEpass, "Set hsa 190.850002<0d><0a>", 100 msec)
2022/03/21 16:27:13.813779 IDEA AsynDriverInterface.cc:1438: AsynDriverInterface::handleRequest(ImpMik:IDEA:SetEpass) Write
2022/03/21 16:27:13.813801 IDEA AsynDriverInterface.cc:616: AsynDriverInterface::writeHandler(ImpMik:IDEA:SetEpass)
2022/03/21 16:27:13.814939 IDEA AsynDriverInterface.cc:667: AsynDriverInterface::writeHandler(ImpMik:IDEA:SetEpass): write(..., outputSize=20, written=20) [timeout=0.1 sec] = asynSuccess
2022/03/21 16:27:13.814975 IDEA AsynDriverInterface.cc:676: AsynDriverInterface::writeHandler(ImpMik:IDEA:SetEpass): device is connected
2022/03/21 16:27:13.814994 IDEA StreamCore.cc:849: StreamCore::writeCallback(ImpMik:IDEA:SetEpass, status=Success)
2022/03/21 16:27:13.815008 IDEA StreamCore.cc:552: StreamCore::evalCommand(ImpMik:IDEA:SetEpass): activeCommand = in
2022/03/21 16:27:13.815026 IDEA AsynDriverInterface.cc:752: AsynDriverInterface::readRequest(ImpMik:IDEA:SetEpass, 1000 msec reply, 5000 msec read, expect 0 bytes, async=no)
2022/03/21 16:27:13.815053 IDEA AsynDriverInterface.cc:777: AsynDriverInterface::readRequest ImpMik:IDEA:SetEpass: queueRequest(..., priority=0, queueTimeout=1 sec) = asynSuccess [async=false]
2022/03/21 16:27:13.815088 IDEA AsynDriverInterface.cc:1438: AsynDriverInterface::handleRequest(ImpMik:IDEA:SetEpass) Read
2022/03/21 16:27:13.815104 IDEA AsynDriverInterface.cc:837: AsynDriverInterface::readHandler(ImpMik:IDEA:SetEpass) input EOS set to <0d><0a>
2022/03/21 16:27:13.815118 IDEA AsynDriverInterface.cc:896: AsynDriverInterface::readHandler(ImpMik:IDEA:SetEpass): ioAction=Read read(..., bytesToRead=1, ...) [timeout=1 sec]
2022/03/21 16:27:13.824096 IDEA AsynDriverInterface.cc:903: AsynDriverInterface::readHandler(ImpMik:IDEA:SetEpass): read returned asynSuccess: ioAction=Read received=1, eomReason=CNT, buffer="#"
2022/03/21 16:27:13.824142 IDEA AsynDriverInterface.cc:910: AsynDriverInterface::readHandler(ImpMik:IDEA:SetEpass): device is now connected
2022/03/21 16:27:13.824160 IDEA AsynDriverInterface.cc:948: AsynDriverInterface::readHandler(ImpMik:IDEA:SetEpass): received 1 of 1 bytes "#" eomReason=CNT
2022/03/21 16:27:13.824184 IDEA StreamCore.cc:938: StreamCore::readCallback(ImpMik:IDEA:SetEpass, status=StreamIoSuccess input="#", size=1)
2022/03/21 16:27:13.824207 IDEA StreamCore.cc:994: StreamCore::readCallback(ImpMik:IDEA:SetEpass) inputBuffer="#", size 1
2022/03/21 16:27:13.824229 IDEA StreamCore.cc:1039: StreamCore::readCallback(ImpMik:IDEA:SetEpass) inTerminator <0d><0a> not found
2022/03/21 16:27:13.824247 IDEA StreamCore.cc:1075: StreamCore::readCallback(ImpMik:IDEA:SetEpass) wait for more input
2022/03/21 16:27:13.824263 IDEA AsynDriverInterface.cc:1074: AsynDriverInterface::readHandler(ImpMik:IDEA:SetEpass) readMore=-1 bytesToRead=63
2022/03/21 16:27:13.824284 IDEA AsynDriverInterface.cc:896: AsynDriverInterface::readHandler(ImpMik:IDEA:SetEpass): ioAction=Read read(..., bytesToRead=63, ...) [timeout=5 sec]
2022/03/21 16:27:13.824770 IDEA AsynDriverInterface.cc:903: AsynDriverInterface::readHandler(ImpMik:IDEA:SetEpass): read returned asynSuccess: ioAction=Read received=9, eomReason=EOS, buffer="0E HSA ok"
2022/03/21 16:27:13.824822 IDEA AsynDriverInterface.cc:910: AsynDriverInterface::readHandler(ImpMik:IDEA:SetEpass): device is now connected
2022/03/21 16:27:13.824848 IDEA AsynDriverInterface.cc:948: AsynDriverInterface::readHandler(ImpMik:IDEA:SetEpass): received 9 of 63 bytes "0E HSA ok" eomReason=EOS
2022/03/21 16:27:13.824873 IDEA StreamCore.cc:938: StreamCore::readCallback(ImpMik:IDEA:SetEpass, status=StreamIoEnd input="0E HSA ok", size=9)
2022/03/21 16:27:13.824897 IDEA StreamCore.cc:994: StreamCore::readCallback(ImpMik:IDEA:SetEpass) inputBuffer="#0E HSA ok", size 10
2022/03/21 16:27:13.824922 IDEA StreamCore.cc:1039: StreamCore::readCallback(ImpMik:IDEA:SetEpass) inTerminator <0d><0a> not found
2022/03/21 16:27:13.824946 IDEA StreamCore.cc:1046: StreamCore::readCallback(ImpMik:IDEA:SetEpass) end flag received
2022/03/21 16:27:13.824966 IDEA StreamCore.cc:1104: StreamCore::readCallback(ImpMik:IDEA:SetEpass) input line: "#0E HSA ok"
2022/03/21 16:27:13.824988 IDEA StreamCore.cc:552: StreamCore::evalCommand(ImpMik:IDEA:SetEpass): activeCommand = end
2022/03/21 16:27:13.825010 IDEA StreamCore.cc:517: StreamCore::finishProtocol(ImpMik:IDEA:SetEpass, status=Success) bus owner
2022/03/21 16:27:13.825033 IDEA AsynDriverInterface.cc:576: AsynDriverInterface::unlock(ImpMik:IDEA:SetEpass)
2022/03/21 16:27:13.825057 IDEA AsynDriverInterface.cc:1417: AsynDriverInterface::finish(ImpMik:IDEA:SetEpass) start
2022/03/21 16:27:13.825078 IDEA AsynDriverInterface.cc:1427: AsynDriverInterface::finish(ImpMik:IDEA:SetEpass) done
2022/03/21 16:27:13.825125 cbLow StreamEpics.cc:896: streamRecordProcessCallback(ImpMik:IDEA:SetEpass) processing record
2022/03/21 16:27:13.825175 cbLow StreamEpics.cc:699: Stream::process(ImpMik:IDEA:SetEpass) ready. don't convert
2022/03/21 16:27:13.825199 cbLow StreamEpics.cc:901: streamRecordProcessCallback(ImpMik:IDEA:SetEpass) processing record done


Best regards,
Tony


Mark Rivers <rivers at cars.uchicago.edu> 於 2022年3月19日週六 上午1:59寫道:
You should set DRVH to 200 in SetEpass so the VAL filed cannot be set to more than 200.

Use caput to set SetEpass to 150 and see what happens in the asynTrace output. You can also enable StreamDebug if you still have problems.

Mark


Sent from my iPhone

On Mar 18, 2022, at 12:16 AM, TONY YU <tonyyucom at gmail.com> wrote:


Hi Mark and Andrew,

I added asynSetTraceMask("IDEA",-1,0x9) and asynSetTraceIOMask("IDEA",-1,0x2) in st.cmd to monitor the outputs from IDEA. Here is the first few lines from the output:

2022/03/18 10:45:52.753 terminal.chamber6:10002 write 10
Get ekin\r\n
2022/03/18 10:45:52.763 terminal.chamber6:10002 read 7
0.000\r\n
2022/03/18 10:45:52.765 terminal.chamber6:10002 write 9
Get hsa\r\n
2022/03/18 10:45:52.774 terminal.chamber6:10002 read 8
1638.400
2022/03/18 10:45:52.775 terminal.chamber6:10002 read 2
\r\n
2022/03/18 10:45:53.206 terminal.chamber6:10002 write 12
Get filter\r\n
2022/03/18 10:45:53.215 terminal.chamber6:10002 read 8
#07 filt
2022/03/18 10:45:53.216 terminal.chamber6:10002 read 7
er on\r\n
2022/03/18 10:45:53.297 terminal.chamber6:10002 write 11
Get range\r\n
2022/03/18 10:45:53.306 terminal.chamber6:10002 read 8
#06 rang
2022/03/18 10:45:53.307 terminal.chamber6:10002 read 7
e x10\r\n
2022/03/18 10:45:53.998 terminal.chamber6:10002 read 8
#01 ok\r\n
2022/03/18 10:45:53.999 terminal.chamber6:10002 write 5
ver\r\n
2022/03/18 10:45:54.010 terminal.chamber6:10002 read 24
EFC_for_NanoESCA V01.03
2022/03/18 10:45:54.012 terminal.chamber6:10002 read 7
B0115\r\n
2022/03/18 10:45:54.013 terminal.chamber6:10002 write 17
Set mode remote\r\n
2022/03/18 10:45:54.022 terminal.chamber6:10002 read 8
#04 remo

I realize that the default get and set voltage is exceed the range of the operation (terminal.chamber6:10002 read 8 1638.400), which can't be handled by the power supply. The maximum value in the DB file should be 200. The problem is that I cannot set the output voltage properly. When I try to set the voltage in CSS, there is no response from the changing. Below shows the logging.

2022/03/18 11:04:40.283 terminal.chamber6:10002 write 18
Set hsa 0.000000\r\n
2022/03/18 11:04:40.292 terminal.chamber6:10002 read 12
#0E HSA ok\r\n
2022/03/18 11:04:40.734 terminal.chamber6:10002 write 9
Get hsa\r\n
2022/03/18 11:04:40.744 terminal.chamber6:10002 read 8
1638.400
2022/03/18 11:04:41.228 terminal.chamber6:10002 write 9
Get hsa\r\n
2022/03/18 11:04:41.237 terminal.chamber6:10002 read 10
1638.400\r\n

I would like to know how to initialize the set values to the devices in the db file. Below the the corresponding db.

record(ai, "$(P):$(NAME):Epass") {
  field(SCAN, ".5 second")
  field(DTYP, "stream")
  field(INP, "@IDEA.proto Get_HSA $(interface)")
  field(PREC, "3")
  field(EGU, "V")
  field(HOPR, "200")
  field(LOPR, "0")
  field(AOFF, "0")
  field(ASLO, "0.5239717")
}

record(ao, "$(P):$(NAME):SetEpass") {
  field(DTYP, "stream")
  field(OUT, "@IDEA.proto Set_HSA $(interface)")
  field(PREC, "3")
  field(EGU, "V")
  field(HOPR, "200")
  field(LOPR, "0")
  field(AOFF, "0")
  field(ASLO, "0.5239717")
  field(HIHI, "200")
  field(LOLO, "30")
  field(HIGH, "200")
  field(LOW, "30")
}

Best,
Tony


Andrew Johnson <anj at anl.gov> 於 2022年3月17日週四 下午9:12寫道:
Hi Tony,

The error messages you posted ought to be self-explanatory if you read them in order:

> error:
> IDEA ImpMik:IDEA:Status: Input "#31 hv error detect" mismatch after 4 bytes
> IDEA ImpMik:IDEA:Status: got "hv error detect" where "ok" was expected
> IDEA ImpMik:IDEA:SetFilterOn: Input "#2E impossible, erro" mismatch after 1 byte
> IDEA ImpMik:IDEA:SetFilterOn: got "2E impossible, error" where "0" was expected

Your protocol for reading the status from the device says:

> #
> # Get_Status
> #
> Get_Status {
>     out "Get status";
>     in  "#%2i ok";
>     out "ver";
>     in "EFC_for_NanoESCA V01.03 B0115";
>     out "Set mode remote";
>     in "#04 remote mode";
> }

Thus you're telling StreamDevice that after it sends a "Get status" string, it will get back "#" followed by a 2-digit integer and the word "ok". The first two error message lines explain that instead of "ok" it's seeing the string "hv error detect". Have you looked at the instrument that it's talking to? I would guess there's a problem with some high voltage signal that it isn't seeing. You should probably fix the protocol file so it can accept error strings like that from the device and make them available in a stringin record instead of always assuming that the instrument is working and will never give you an error, but you might be able to resolve your immediate issue by fixing whatever the instrument is complaining about.

Always fix your first error first, then look at any error messages you get in that state — later errors are often caused by earlier ones and may go away once you've fixed the first problem.

HTH,

- Andrew
-- 
Complexity is free, it's Simplicity that takes work.

Replies:
RE: Unknown error with an equipment Mark Rivers via Tech-talk
References:
Unknown error with an equipment TONY YU via Tech-talk
Re: Unknown error with an equipment Mark Rivers via Tech-talk
Re: Unknown error with an equipment TONY YU via Tech-talk
Re: Unknown error with an equipment Andrew Johnson via Tech-talk
Re: Unknown error with an equipment TONY YU via Tech-talk
Re: Unknown error with an equipment Mark Rivers via Tech-talk
Re: Unknown error with an equipment TONY YU via Tech-talk
Re: Unknown error with an equipment Mark Rivers via Tech-talk

Navigate by Date:
Prev: Re: Only one network interface of three NF CA5351 Current Amplifiers is accessible Ralph Lange via Tech-talk
Next: RE: Unknown error with an equipment Mark Rivers 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  2020  2021  <20222023  2024 
Navigate by Thread:
Prev: Re: Unknown error with an equipment Mark Rivers via Tech-talk
Next: RE: Unknown error with an equipment Mark Rivers 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  2020  2021  <20222023  2024 
ANJ, 14 Sep 2022 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·