Hi All,
We have an issue with trying to get multiple poll groups talking to a Siemens S7 PLC using s7nodave:
"In order to make a record be processed in a poll group, the SCAN
field of the record has to be set to I/O Intr
. If you want to use a different poll group than the default poll-group, you can use the PG
parameter to specify the poll group to use. The PG
parameter can be used with all input records to specify a poll group for the record. It is only valid, if the SCAN
field of the record is set to I/O Intr
. Example: @myPLC(PG=1s) IW64"
But I get this error:
2015/10/15 17:50:14.252 HJ_CRYO:PID_TEMP_KP S7nodaveRecord::initRecord Invalid device parameter "PG" in device address "@HJ_CRYO(PG=fast) DB100.DBD236 float".
HjCryo: //usr/local/epics/support/boost_1_57_0/boost/optional/optional.hpp:1002: boost::optional<T>::pointer_type boost::optional<T>::operator->() [with T = S7nodaveRecordAddress, boost::optional<T>::pointer_type s7nodaveRecordAddress*]: Assertion `this->is_initialized()' failed.
$Aborted (core dumped)
Anyone encountered this before?
s7nodave version is 1.0.2 and st.cmd config and record are as follows:
s7nodaveConfigureIsoTcpPort("HJ_CRYO","192.168.43.28",0)
s7nodaveConfigurePollGroup("HJ_CRYO","default",5,0)
s7nodaveConfigurePollGroup("HJ_CRYO","fast",1,0)
record(ai, "$(DEVICE):PID_TEMP_KP") {
field(SCAN, "I/O Intr")
field(DTYP, "s7nodave")
field(INP, "@HJ_CRYO(PG=fast) DB100.DBD236 float")
field(EGU, "")
field(PREC, "2")
}
Thanks,
David