cancel
Showing results for 
Search instead for 
Did you mean: 
SOLVED

screens do not update simultaneously

screens do not update simultaneously

V_A
Long-established Member

Hello everyone,

I use several screens in my system to control the system. When the user touches screen A or swipes the tabs, the information is updated in the background and screen A shows the current and correct information. Unfortunately, the view on screen B is not updated because the last actions were on screen A. This is irritating for the operator and can lead to errors during operation. How can this problem be solved? I am thinking of displaying a pop-up or something similar. In this case, a pop-up would appear on screen B with the text ‘Attention display is currently being used by another access point’ if screen A was the last to be touched. And vice versa, the display would appear on screen A when screen B is touched. Are there any tools offered by WebIQ to solve this problem? Or is there a feature with which I can distinguish which screen is currently active, i.e. was the last screen touched?

Kind regards.

12 REPLIES 12

Sgilk
Contributor

Hi @V_A ,

How is the data you would like shared between screens stored and also visualized? If they are variables and not virtual items in WebIQ, the runtime server should provide all clients the current value if they are subscribed to those variables.

You can manage a variable that tracks how many clients are connected, but it becomes tricky to distinguish between specific clients.

V_A
Long-established Member

The variables are stored on the data layer and change their state depending on which tap is used. Because the tabs only change on the respective screen but not synchronously on all screens, the contents do not match the displayed screen/tab.
It would be generally nice and very important to block the operation on the other interfaces/screens depending on which screen is used.

HmiGuide
Community Moderator
Community Moderator

Hello @V_A 

to be sure, are you talking from WebIQ? Your post is not in WebIQ forum?

When the screen is not updated automatically, this means you make something special. 
The communication  of WebIQ is OpcUa, when you use OpcUa than the variables on all clients are automatically updated.

The question is, how do you handle the variables on the datalayer? With Rest API call, or ....?

What are you doing?

V_A
Long-established Member

Hello @HmiGuide,

I'm sorry, you're right, I should have put the post in the WebIQ section.
There are two topics I am addressing here.
1. synchronous display on all screens.
I use the Iq-resposive-menu and when a menu item is pressed, the respective menu content is displayed. (For example: Condition to show menu element -> setview -> Panel View [0] Home)
Problem: Panel View Home is only opened on one screen and not on all screens.
In comparison, I have a different behavior when I change the tabs in the tab panel. Here the tabs are switched synchronously on all screens.


2. recognizing which screen takes control.
With conventional HMI applications, it was possible to recognize from which screen the system is currently being operated and to block or restrict the other screens. Is there a possibility to realize the same behavior with WebIQ?

HmiGuide
Community Moderator
Community Moderator

Maybe there is a missunderstanding in the wording. I'm not sure what you talking on.

  1. synchronous display on all screens.
    • you write screens, in the meaning of multiple devices or clients?
    • I see 2 options for your wording "synchronous display on all screens". Which option is correct?
      • When changing the value of a field (e.g. velocity) it should be updated on all devices
      • When changing the displayed page on device1 from page1 to page2 all other devices/clients should change to page2
  2. recognizing which screen takes control
    • I miss that feature in all HMI products which I know. It is on my request list for WebIQ.
      The manufactures always say: It is application specific, but I disagree. You can compare it with alarams. The alarms are application specific, but the mechanism to raise alarms is generic. The locking of HMI content is application specific, bute the mechanism to lock it is generic.

 

V_A
Long-established Member

1. synchronous display on all screens. 

  • Primary problem is:
    When changing the displayed page on device1 from page1 to page2 all other devices/clients should change to page2.
  • Subsequent error is inappropriate data on the other devices/clients.
    The description of the subsequent error was misleading.

2. recognizing which screen takes control

  • If there is a solution to this in the future, I would be grateful if you also mention it here.

HmiGuide
Community Moderator
Community Moderator

1. synchronous display on all screens. 

  • Primary problem is:
    When changing the displayed page on device1 from page1 to page2 all other devices/clients should change to page2.
    That's easy to implement. Each panel (Panel,Swipe-Panel,Tab-Panel)  in WebIQ has an Item field (Green frame in pic), where you have to insert an item. Thats all.
    HmiGuide_1-1724409672591.png

     

  • Subsequent error is inappropriate data on the other devices/clients.
    The description of the subsequent error was misleading. 
    I'm not sure, is there a 2nd problem or not?

webiq-sk
Frequent Contributor

Thanks @Sgilk and @HmiGuide for answering here!

Just want to point out that this is actually a feature in WebIQ (and probably in most other web HMIs) that you will not get from traditional HMIs: different views on different devices like on any other website: if I look at a product on amazon.com another user can look at a different product on amazon.com.

The suggested solution using PLC items is the correct way, but another solution is simply doing the same you probably have done before: have a single device that displays the HMI in a browser and use VNC from other displays to connect to it - that way all devices have the same view and you can continue working as before - without benefiting from multi-user usage (as on any other website).

Most customers prefer having completely different views on different devices, because that way users can work independently of each other at different parts of the HMI or even display different parts of the HMI on different panels easily - something unheard of with legacy HMIs.

V_A
Long-established Member

Thanks for the hint, I was able to fix my error. Something went wrong with the assignment of the variable in this area.

 

V_A
Long-established Member


Thank you for your answer.
I understand the benefit of online platforms like amazone to allow multiple users to order different products.

However, I would like to emphasize the problem that arises when controlling an industrial plant via WebIQ. It is problematic when controlling a system and therefore a single physical object. It can lead to problems if on one side a user controls the robot and on the other side a user opens the gripper on the robot. In this case, you want to be able to control the system from several places because the system is so large and unmanageable, but only one person should be able to operate the system at a time. I hope you understand my problem in this case.


But I think I have understood it, it is a feature of the web-based interface that can be interpreted as an advantage or disadvantage depending on the situation.

webiq-sk
Frequent Contributor

You can of course also implement locking (specifically releasing locks after some time automatically), but that must be done on the OPC UA server and cannot be done in the frontend as network latency, network issues and CPU performance of browsers could potentially cause deadlocks or other issues. You could then provide these as OPC UA methods and call them from the HMI via a UI Action. As mentioned before you'd still have to handle timeouts/disconnects in the browser on the server side for unlocking after inactivity.

Icon--AD-black-48x48Icon--address-consumer-data-black-48x48Icon--appointment-black-48x48Icon--back-left-black-48x48Icon--calendar-black-48x48Icon--center-alignedIcon--Checkbox-checkIcon--clock-black-48x48Icon--close-black-48x48Icon--compare-black-48x48Icon--confirmation-black-48x48Icon--dealer-details-black-48x48Icon--delete-black-48x48Icon--delivery-black-48x48Icon--down-black-48x48Icon--download-black-48x48Ic-OverlayAlertIcon--externallink-black-48x48Icon-Filledforward-right_adjustedIcon--grid-view-black-48x48IC_gd_Check-Circle170821_Icons_Community170823_Bosch_Icons170823_Bosch_Icons170821_Icons_CommunityIC-logout170821_Icons_Community170825_Bosch_Icons170821_Icons_CommunityIC-shopping-cart2170821_Icons_CommunityIC-upIC_UserIcon--imageIcon--info-i-black-48x48Icon--left-alignedIcon--Less-minimize-black-48x48Icon-FilledIcon--List-Check-grennIcon--List-Check-blackIcon--List-Cross-blackIcon--list-view-mobile-black-48x48Icon--list-view-black-48x48Icon--More-Maximize-black-48x48Icon--my-product-black-48x48Icon--newsletter-black-48x48Icon--payment-black-48x48Icon--print-black-48x48Icon--promotion-black-48x48Icon--registration-black-48x48Icon--Reset-black-48x48Icon--right-alignedshare-circle1Icon--share-black-48x48Icon--shopping-bag-black-48x48Icon-shopping-cartIcon--start-play-black-48x48Icon--store-locator-black-48x48Ic-OverlayAlertIcon--summary-black-48x48tumblrIcon-FilledvineIc-OverlayAlertwhishlist