Experimental Physics and Industrial Control System
|
Ji,
Since I do not see the SCAN field in your .db, I do not see how
$(P){$(Q)-Ax:A}:RATE:RBV gets processed. Is it linked by another record?
Also, I do not see how $(P){$(Q)-Ax:A}:STATUS and $(P){$(Q)-Ax:B}:STATUS are constructed in your .db. Are there any database links between all of these records? Do you use Maximize Severity Attribute (MS, MSS,
or MSI) in your .db?
Yong
From: Tech-talk <tech-talk-bounces at aps.anl.gov> on behalf of "tech-talk at aps.anl.gov" <tech-talk at aps.anl.gov>
Reply-To: "Li, Ji" <liji at bnl.gov>
Date: Thursday, December 24, 2020 at 6:36 PM
To: Mark Rivers <rivers at cars.uchicago.edu>
Cc: "tech-talk at aps.anl.gov" <tech-talk at aps.anl.gov>
Subject: 回复: Reading multiple parameters from an incoming message.
Li, Ji
已与你共享 OneDrive for Business
文件。若要查看,请单击下面的链接。
|
|
|
|
I was referring to the PV for RATEA -
$(P){$(Q)-Ax:A}:RATE:RBV.
Please see the attached files for the protocol, the database, the substitutions file, and the st.cmd. I only worked on Independent Condition to operate the two syringes separately. For better clarity
I removed other protocols/databases definitions.
The .proto file contains the definition of this protocol and the referenced macro.
I have several .db files for different categories of information (rate/volume/time/...). The attached .db file defines the status PV - currently only RATEA. I expect implementation of other PVs
that get values from this status message would be similar once I'm done with RATEA.
发件人: Mark Rivers <rivers at cars.uchicago.edu>
发送时间: 2020年12月24日
14:53
收件人: Li, Ji <liji at bnl.gov>
抄送: tech-talk at aps.anl.gov <tech-talk at aps.anl.gov>
主题: Re: Reading multiple parameters from an incoming message.
Hi Ji Li,
Can you send the rest of the database and protocol files, or at least the Status record and the $ax_status definition.
> The PV was showing INVALID(UDF_ALARM). Since the IOC didn't throw errors, I suppose the message was parsed correctly. How could this alarm have been caused?
Which PV are you referring to?
Mark
________________________________
From: Tech-talk <tech-talk-bounces at aps.anl.gov> on behalf of Li, Ji via Tech-talk <tech-talk at aps.anl.gov>
Sent: Thursday, December 24, 2020 11:04 AM
To: tech-talk at aps.anl.gov
Subject: Reading multiple parameters from an incoming message.
Hi,
I'm working on an EPICS package for a Harvard Pump 33 DDS syringe pump using streamdevice protocols. I need to read several parameters from an incoming message that combines the status of two axes/syringes, which has the following format:
RATEA TIMEA VOLA STATUSA
RATEB TIMEB VOLB STATUSB
RATEA/B, TIMEA/B and VOLA/B are integers, and STATUSA/B are 6-character strings with each character indicating a specific status.
I'm trying to parse the message using multiple protocols and records. For RATEA, only grab the first integer:
Protocol:
=======================
getStatusRateAxA {
out "status";
in "%d %*d %*d %*c%*c%*c%*c%*c%*c\n%*d %*d %*d %*c%*c%*c%*c%*c%*c\n" $ax_status;
}
=======================
Record:
=======================
record(ai, "$(P){$(Q)-Ax:A}:RATE:RBV") {
field(DESC, "Axis A rate readback")
field(DTYP, "stream")
field(INP, "@pump33dds.proto getStatusRateAxA($(P), $(Q), $(CMD)) $(PORT)")
field(PREC, "0")
}
=======================
The .substitutions file referring to this record was loaded without errors. When I tried to retrieve status information, the IOC shell printed the following information without errors:
=======================
epics> 2020/12/24 11:29:06.797 /dev/ttyUSB0 write 8
status\r\n
2020/12/24 11:29:06.833 /dev/ttyUSB0 read 71
50000000000 0 22307784 w...I.\n83333333330 24723 2055394602192 i...I.\n::
=======================
"::" in the incoming message should be parsed by "$ax_status" in the protocol and it worked for other messages.
The PV was showing INVALID(UDF_ALARM). Since the IOC didn't throw errors, I suppose the message was parsed correctly. How could this alarm have been caused?
Best,
-Ji Li
|
- Replies:
- 回复: 回复: Reading multiple parameters from an incoming message. Li, Ji via Tech-talk
- Navigate by Date:
- Prev:
Re: Reading multiple parameters from an incoming message. Mark Rivers via Tech-talk
- Next:
回复: Reading multiple parameters from an incoming message. Li, Ji 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
2022
2023
2024
- Navigate by Thread:
- Prev:
Re: Question about the font name for EDM Johnson, Andrew N. via Tech-talk
- Next:
回复: 回复: Reading multiple parameters from an incoming message. Li, Ji 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
2022
2023
2024
|
ANJ, 31 Dec 2020 |
·
Home
·
News
·
About
·
Base
·
Modules
·
Extensions
·
Distributions
·
Download
·
·
Search
·
EPICS V4
·
IRMIS
·
Talk
·
Bugs
·
Documents
·
Links
·
Licensing
·
|