update iocpvalink to test output links
This commit is contained in:
@ -130,7 +130,7 @@ will split the nanoseconds value stored in the associated record.
|
||||
The least significant # bits are stored in the 'timeStamp.userTag' field.
|
||||
While the remaining 32-# bits are stored in 'timeStamp.nanoseconds' (without shifting).
|
||||
|
||||
For example, in the following situation 16 bits are split off.
|
||||
For example, in the following situation 20 bits are split off into userTag.
|
||||
If the nanoseconds part of the record timestamp is 0x12345678,
|
||||
then the PVD structure would include "timeStamp.nanoseconds=0x12300000"
|
||||
and "timeStamp.userTag=0x45678".
|
||||
@ -147,6 +147,8 @@ When built against Base >= 3.16.1, support is enabled for PVAccess links,
|
||||
which are analogous to Channel Access (CA) links. However, the syntax
|
||||
for PVA links is quite different.
|
||||
|
||||
@note The "dbjlr" and "dbpvar" IOC shell command provide information about PVA links in a running IOC.
|
||||
|
||||
@warning The PVA Link syntax shown below is provisional and subject to change.
|
||||
|
||||
A simple configuration using defaults is
|
||||
|
@ -1,4 +1,5 @@
|
||||
IOC for testing PVA links
|
||||
|
||||
Primary test is st.cmd. st2.cmd is run/stopped concurrently
|
||||
to test remote connect/disconnect.
|
||||
to test remote connect/disconnect. st2a.cmd to test type
|
||||
change.
|
||||
|
@ -49,3 +49,26 @@ record(longin, "$(P)track2") {
|
||||
}})
|
||||
field(TSE, "-2")
|
||||
}
|
||||
|
||||
|
||||
# local output link
|
||||
record(longout, "$(P)out1") {
|
||||
field(OUT , {pva:{pv:"$(P)out:tgt"}})
|
||||
field(TPRO, "1")
|
||||
}
|
||||
record(longout, "$(P)out:tgt") {
|
||||
field(TPRO, "1")
|
||||
}
|
||||
|
||||
# remote output link
|
||||
record(longout, "$(P)out2") {
|
||||
field(OUT , {pva:{pv:"$(P)out:rmt"}})
|
||||
field(TPRO, "1")
|
||||
}
|
||||
|
||||
# remote output link w/ retry (queue put while disconnected)
|
||||
record(longout, "$(P)out3") {
|
||||
field(OUT , {pva:{pv:"$(P)out:rmt", retry:true}})
|
||||
field(TPRO, "1")
|
||||
#info(base:lsetDebug, "YES")
|
||||
}
|
||||
|
@ -4,7 +4,11 @@ record(calc, "$(P)cnt:rmt") {
|
||||
field(SCAN, "1 second")
|
||||
field(INPA, "$(P)cnt")
|
||||
field(INPB, "9")
|
||||
field(CALC, "A<B?A+1:0")
|
||||
field(CALC, "A<B?A+0.1:0")
|
||||
field(HIGH, "7")
|
||||
field(HSV , "MAJOR")
|
||||
}
|
||||
|
||||
record(longout, "$(P)out:rmt") {
|
||||
field(TPRO, "1")
|
||||
}
|
||||
|
18
iocBoot/iocpvalink/pvalink2a.db
Normal file
18
iocBoot/iocpvalink/pvalink2a.db
Normal file
@ -0,0 +1,18 @@
|
||||
# use with pvalink.db, run in a second IOC
|
||||
# use instead of pvalink2.db to cause a type change
|
||||
|
||||
record(calcout, "$(P)cnt:rmtx") {
|
||||
field(SCAN, "1 second")
|
||||
field(OUT , "$(P)cnt:rmt PP")
|
||||
field(INPA, "$(P)cnt")
|
||||
field(INPB, "9")
|
||||
field(CALC, "A<B?A+1:0")
|
||||
field(HIGH, "7")
|
||||
field(HSV , "MAJOR")
|
||||
}
|
||||
|
||||
record(longin, "$(P)cnt:rmt") {}
|
||||
|
||||
record(stringout, "$(P)out:rmt") {
|
||||
field(TPRO, "1")
|
||||
}
|
5
iocBoot/iocpvalink/st2a.cmd
Executable file
5
iocBoot/iocpvalink/st2a.cmd
Executable file
@ -0,0 +1,5 @@
|
||||
#!../../bin/linux-x86_64-debug/softIocPVA
|
||||
|
||||
dbLoadRecords("pvalink2a.db","P=TST:")
|
||||
|
||||
iocInit()
|
Reference in New Issue
Block a user