Page 1 of 1

How to know if para panels are opened?

Posted: Mon Aug 05, 2019 1:55 pm
by sblancha
Hello,

I have checked system overview of the winCC OA application but seems it reports only user interfaced opened. How to know how many from which client para panel are currently opened?

Thanks,

Sebastien

Re: How to know if para panels are opened?

Posted: Tue Aug 06, 2019 6:47 am
by leoknipp
You can try if the function getParaNames() returns the correct result.

Best Regards
Leopold Knipp
Senior Support Specialist

Re: How to know if para panels are opened?

Posted: Tue Aug 06, 2019 8:21 am
by sblancha
Thanks for the fast answer.
The function seems to always return nothing whatever paras are opened or not and in help I found:
"Lists all the open PARA modules. The function is obsolete as of WinCC OA version 3.6. The function is, however, available for compatibility reasons."

Re: How to know if para panels are opened?

Posted: Tue Aug 06, 2019 8:24 am
by sblancha
Maybe something else may help me. I'd like to check if some dpe are locked. I can parse all dpe of my project and check the _lock config but I wonder if there is an easier way?

Re: How to know if para panels are opened?

Posted: Tue Aug 06, 2019 8:32 am
by sblancha
Another question: if dpe is _lock, dpSet() do nothing and return -1 Correct? is there an error message in the PVSS log? or I have to getLastError() and print it?

Re: How to know if para panels are opened?

Posted: Tue Aug 06, 2019 8:39 am
by Piterskiy
You could also do a dpQueryConnectSingle on datapoints of "_Ui" DPT
then check DP.RootPanelOrigOn.FileName dpe if it is equal para/original.pnl then process it

Upd. If use this approach, that should be a Ctrl function that start working when project launches (as CTRL Manager). See Leopold remark.

Re: How to know if para panels are opened?

Posted: Tue Aug 06, 2019 9:11 am
by sblancha
dpQuery to _Ui* works fine thanks for the tips.

Re: How to know if para panels are opened?

Posted: Tue Aug 06, 2019 9:49 am
by leoknipp
Reading the _UI datapoint only returns the information for the panel which was opened last.
If someone has opened a PARA before you will not get the information.

For the function dpSet() you cannot use getLastError() to check if an error occured because dpSet() is not a waiting function.
If you use dpSetWait() a check with getLastError() is possible.

Best Regards
Leopold Knipp
Senior Support Specialist

Re: How to know if para panels are opened?

Posted: Thu Aug 08, 2019 8:44 am
by sblancha
Ok thanks for the details