Hello Mark, hello Bruno,
thank you very much for your answers, it was exactly what I was looking for.
Out of curiosity: is it also possible to change the IP-Address of the VXI-11 device in a similar fashion?
Greetings
Philipp
Von: Mark Rivers [mailto:[email protected]]
Gesendet: Freitag, 31. August 2018 15:27
An: Niedermayer, Philipp; [email protected]
Betreff: RE: Asyn: disconnect and reconnect port via PV
Hi Philip,
You should be able to do what you want by loading an asynRecord in that IOC and setting its PORT field to the name of “device_port” you used in the vxi11Configure command. Below is a screen shot of the medm screen for controlling the asynRecord. Note that there are 2 widgets labelled “Connect”, which is a bit confusing.
The upper one is the .PCNCT field and connects the asynRecord to an asyn port. It results in a call to pasynManager->connectDevice() or pasynManager->disconnect(). You want to leave that in the Connect state.
The lower one is the .CNCT field, and connects or disconnects the actual device, i.e. it calls pasynCommon->connect() or pasynCommon->disconnect(). If you select Disconnect on this then it will close the VXI11 connection. You will also need to set the .AUCT field to noAutoConnect so that asynManager does not try to automatically reconnect the device the next time a record tries to communicate with it.
![cid:image001.png@01D443B7.911F22C0](pngEAZ64YOoRu.png)
Let me know if you have questions or problems.
Mark
Hello everyone,
I have implemented a soft IOC that communicates to a spectrum analyzer via asyn and stream device using vxi11:
vxi11Configure("device_port","$(DEVICE_IP)",0,"0.0","inst0",0,0)
The device has a limitation that it can only be controlled by one remote controller at a time. The current approach is to temporarily stop the entire soft IOC when required and then restart it via the st.cmd file.
It would be better to have a PV (e.g. a bo with CONNECTED/DISCONNECTED state) for this task, that can dis- and reconnect the asyn port.
I know that you can disable record processing by the DISA field, but that did not prevent asyn to keep up a connection to the device in background.
I found the “asynManager” which has the promising “connectDevice” and “disconnect” option, but I’m not sure how to (if at all) call them from the PV.
Is there a way to have such a PV? How could that be implemented?
Greetings and tanks in advance
Philipp
------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------
Forschungszentrum Juelich GmbH
52425 Juelich
Sitz der Gesellschaft: Juelich
Eingetragen im Handelsregister des Amtsgerichts Dueren Nr. HR B 3498
Vorsitzender des Aufsichtsrats: MinDir Dr. Karl Eugen Huthmacher
Geschaeftsfuehrung: Prof. Dr.-Ing. Wolfgang Marquardt (Vorsitzender),
Karsten Beneke (stellv. Vorsitzender), Prof. Dr.-Ing. Harald Bolt,
Prof. Dr. Sebastian M. Schmidt
------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------