Configuration (CtrlX + licence webIQ + use of VR31 for customer display). I need to make some trends, for that I have already followed some advises from the forum :
- The limits of the values I need are written in "process_data_manager/items"
- The variables from PLC match to the variables I put into WebIQ
Finally it worked on my PC (performance notebook Zbook HP) with google chrome.
The thing is, when I use the screen VR31 to display my dashboard. The curves does not show up. I used google chrome, firefox, internet explorer, it never works
Any ideas ?
Solved! Go to Solution.
First of all using different versions of WebIQ might lead to errors and is not guaranteed to work. Therefore you should always use matching versions of WebIQ on both client and server.
To debug these issues here's what you should do:
Please note that you always have to publish the HMI to see the changes if you're not using the preview.
Just an addition: Internet Explorer is not supported by WebIQ and is out of support at Microsoft anyway: https://blogs.windows.com/windowsexperience/2021/05/19/the-future-of-internet-explorer-on-windows-10...
Thank you for providing the project via PM.
After switching the ctrlX OPC UA to a local simulation server that provided simulated values for your items it works for me:
I assume the error may be found somewhere either on the VR31 or something with the item is not working correctly. Maybe there are some connectivity limits to the PLC? Does everything else work? On the first screen of your HMI there are two Radial Gauge widgets that also work for me - do they work for you as well?
We could find out more details in the server log (connect.log) on the ctrlX - unfortunately you need root access on the (ctrlX) system to get access to the log. In the future there will be an option to download the log file from the System & License Manager.
I don't think that the problem comes from the PLC/ctrlx directly, because it also works well for me when I use my laptop as a screen (gauge, trend...)
Have you seen the error i sent before from the browser ? Could it be because of the touchescreen ?
Errors when it works :
Errors when it does not work :
I don't see any reason why it should not work on a touchscreen at all, because it also works in responsive mode in the browser. Technically there's no difference then.
As I said - it works here without any issues with a simulated OPC UA server with items named exactly as on your HMI. Thus I don't see any issue here.
What does the "navigator.userAgent" on the command line of the system tell you?
"Then the trend works a bit, but when I restart the browser, that is the same, the trend are not display."
It's a completely different story when "the trend works a bit" compared to "it never works" and is extremely important information to know when debugging your issue!
This sounds more like the PLC might be overloaded with some requests - did you check the PLC load already?
This is how you test performance correctly to find out the source of the problem:
1. Test with WebIQ Designer only (HMI only open once)
Have only WebIQ Designer accessing the OPC UA server and observe the functionality - no connections from UA Expert or other browser windows to your PLC
2. Close WebIQ Designer completely and open the HMI from your runtime system in the browser (HMI only open once)
Have only your browser accessing the OPC UA server and observe the functionality - no connections from UA Expert, other browser windows or WebIQ Designer to your PLC
You have to ensure that your test setup is correct. If you have it working in WebIQ Designer and then open another instance connecting directly to your PLC from the runtime system you'll have double the load on the PLC (when it comes to subscribed items shown in the HMI, recordered items will not duplicate requests)
See below what I've done and what happened :
1. Power up system -> open WebIQ designer -> preview : trend OK -> shut down webiq designer -> open the HMI in browser -> Trend Not ok !
2. Power up system -> open the HMI on browser -> 1/2 trend OK -> close and open again browser -> Trend not ok -> Close browser -> Open Webiq designer -> Stop the server -> load the project -> Preview : trend OK -> Publish project -> close webiq designer -> Open browser -> Trend not OK
it looks a bit random, sometime 1 of 2 trend works, sometime it is the second one, sometime both works, sometime none of them... The PLC does only few calculations, the PLC only transfers the data from the drive to the datalayer. Is there a way to refresh the OPC UA request to be sure not to be overload somewhere ?
"Power up system -> open the HMI on browser -> 1/2 trend OK"
Great to know that it works initially - that means that there is no inherent error in general.
"Is there a way to refresh the OPC UA request to be sure not to be overload somewhere ?"
No, but if you look at your OPC-UA server you should be able to observe the load on the server. Please also have a look at all of the log files of the OPC-UA server to identify any issues there.
It does not work initially, it is random, sometimes it works sometimes not, so i cannot let it like this for my customer
The OPC UA server is running, the certificate is trusted. (see photos below)
one more clue, last time the trends worked, I refreshed the browser, then it did not work anymore.
It happend the same if it works and then I unplug and plug the RJ45 line..
anymore ideas ?
If I understood the history correct, currently it's not clear where the problem comes from (communication, VR31 HW, VR31 performance, ctrlX, trending, ???...). This means you have to check all the different error reason. Do you use any communication check e.g. the Heartbeat widget?
For debugging I would do the following:
I made the counter, the communication is stable and works well.
I should show the device to the customer in two weeks, and i have two more projects with web IQ. The thing is that I need to know if I can trust this software or if I need to find another one.
Could we meet in skype/teams ? or do you have an other way to fix the problem ?
Thank's in advance,
As I wrote a month ago it worked for me with a simple OPC UA server:
I created your items on that server with exactly the same names etc. and it worked immediately. Therefore I do not see an issue with the HMI here. Did you try using a completely different OPC-UA server with the same items created there?
I don't know if @HmiGuide can help you access the connect.log from WebIQ which might indicate the reason for the problems - as I see this is a Bosch Rexroth project anway?
@webiq-sk as you said, when you tried my items by your side, it worked emmediately (not the same hardware setup as mine). Then we just proved that the communication in my side works well. We also know that it works well when I use my laptop as a screen (CtrlX + laptop), but it does not work when I use the VR3110 as a screen with the same browser (CtrlX + VR3110). I also tried two different browsers (firefox and chrome), there is no difference. I tried to open it only from WebIQ designer, it does not work well (random). So all this datas show that the problem comes from the compatibily between WebIQ and VR3110.
And @webiq-sk this is not an internal project, the end customer is well known french aeronautic company..
@HmiGuide the SN of the CtrlX is 7261403985381
Regarding the Bosch Rexroth reference: I assumed its easier for you internally to get root privileges on your machine than a non-Bosch-Rexroth user.
Just to make it clear: do debug this issue correctly we would have to be provided with a VR3110 and a ctrlX with your HMI. Everything we're doing now is because we do not have the same hardware setup and cannot reproduce the issue.
Let's see what the log file will show.
Thank you @HmiGuide for the log which was very helpful.
These errors indicate that the data types of those items in the trend are not numeric:
[2022-10-21 13:24:11.806302] [ error | data-recorder] Exception while attempting to process value.
[2022-10-21 13:24:11.806302] [ error | data-recorder] item(): Pression réelle
[2022-10-21 13:24:11.806302] [ error | data-recorder] what(): Attempting to record item value with incompatible type.
[2022-10-21 13:24:11.806818] [ error | data-recorder] Exception while attempting to process value.
[2022-10-21 13:24:11.806818] [ error | data-recorder] item(): Consigne Débit
[2022-10-21 13:24:11.806818] [ error | data-recorder] what(): Attempting to record item value with incompatible type.
[2022-10-21 13:24:11.807027] [ error | data-recorder] Exception while attempting to process value.
[2022-10-21 13:24:11.807027] [ error | data-recorder] item(): Débit réelle
[2022-10-21 13:24:11.807027] [ error | data-recorder] what(): Attempting to record item value with incompatible type.
[2022-10-21 13:24:11.807287] [ error | data-recorder] Exception while attempting to process value.
[2022-10-21 13:24:11.807287] [ error | data-recorder] item(): Consigne Pression
[2022-10-21 13:24:11.807287] [ error | data-recorder] what(): Attempting to record item value with incompatible type.
@Franck_FR These items do not appear to be of type FLOAT or INT and as such cannot be recorded and displayed in a Trend Display (mathematically you can only draw lines based on numbers). Of course when I created your items in a local OPC-UA server for testing I used numeric data types.
If this is the case please change the items on the OPC-UA server to numeric values - then recording should be possible.
If this is not the case for each of those items please provide a screenshot of UA Expert showing the corresponding item details.
Please note that with WebIQ 2.13 you will be able to also record boolean and string items and also display boolean items in the Trend Display (which is currently not possible), but you still cannot draw string items as this is mathematically not possible - they will be shown in the new trend handles however.
I got the PLC progam and run it locally. Here is the UA-Expert Data Access View. Is that the information you want to know. The data types match the data types defined in PLC program.
The latest error message "incompatible type" is from 2022-10-21. After this date this error message disappears. But there are later error messages, which might influence our problem.
[2022-11-03 16:24:55.917140] [ error | api-worker] Unhandled std::runtime_error caught.
[2022-11-03 16:24:55.917140] [ error | api-worker] what(): Failed to create record hook for item Consigne Pression
[2022-11-03 16:24:55.917140] [ error | api-worker] cmd(): trend.query
Change the IP adress in OpcUa configuration to localhost. opc.tcp://127.0.0.1:4840. This has the advantage that you do not have to adaptthe address, when you run the project on a ctrlX with a different address.
I just saw this in your recorder configuration:
This way you can only record one minute of data because that's the way you configured it in your recorder. Now if the clocks are out of sync for more than 60 seconds (ctrlX to your PC where you access the HMI) it would probably never show any data.
Normally you want to record data for 30 days or so. Maybe try with one hour?
Actually, as your Trend Display widgets have been setup to display 35 seconds only a clock offset of more than 35 seconds would probably also show nothing.
If this does not fix the issue maybe this helps:
- download the HMI from WebIQ Designer, open the ZIP file (no need to unpack), delete the .db/hmi.sqlite, save the changed ZIP file and upload it again
- make sure to create a backup before
Apps versions below :
- I deleted the file .db/hmi.sqlite , it did not change anything.
- About the "systemzeit" there is something weird. I made a new HMI as you asked me and put systemZeit on a IQ time/date widget. It does not display the same time on VR31 and on my engineering PC. but when I look at the time of the ctrlx in the ctrlx page, it is always the same time on both devices. What is systemzeit then ?
On my PC :
On VR31 :
On both devices :
Can you please clarify what "on my PC" means?
a) Opening the ctrlX HMI in a browser the local PC
b) Opening a local HMI using the local WebIQ Server?
Please also note the checkbox "Is UTC" in the Date/Time widget that should be checked when the corresponding item denotes UTC timezone.
"Systemzeit" always uses the system time of the system WebIQ Server is running on.
In any way, I would simply set the display time of the Trend Display to 60 minutes or so and let it run for a few minutes. Still, as the Trend Display worked flawlessly when I used the exact same item names you do with a local OPC UA server I think the items recorded are an issue.
When deleting the hmi.sqlite did you transfer the HMI directly to ctrlX or did you load it in your local WebIQ Server?
Eureka ! it works 😃
firstly thank's to both of you @webiq-sk and @HmiGuide !
For all users, a small summary of what made the difference :
- The navigator.useragent should be defined in devTool of your browser, I use chrome and it should be like this :
- There was a problem of time synchronisation with my VR31 which is not connnected to internet, so I did like this on CtrlX :
Since now, it works well.
Great that you were able to solve it.