Lock page functions in secondary screen using multi monitor.

Hi, ive upgraded a project to 2023R2 and it uses multimonitor, previously its popolated ith Cicode and display pages on the main screen and alarm list on the secondary screen.

So i created screen profiles and configurated it the same, it opens as expected but, when i use "go to page" in the alarm list its displayed on the alarm screen wich i dont want. Is it possible to redirect so all page functions appears in the "main screen"?

Parents
  • Hi  

    It's possible to redirect page navigation so that all page functions (like "go to page" from the alarm list) display on the main screen while keeping the alarm list on the secondary screen. Since you're using screen profiles in 2023R2, the default behavior allows independent navigation per window/monitor, which is why pages now open on the active screen (the secondary one in this case). To override this and force pages to open on the main screen, you'll need to customize the Cicode behind the navigation trigger using window control functions. This is probably a bit too involved to answer within a forum post, but you could reach out to AVEVA Technical Support for further assistance if you get stuck.

    Here is some psuedo cicode which could work, but I have not tested:

    FUNCTION MyPageDisplay(STRING sPage)
    INT iCurrentWin = WinNumber(); // Save current active window (e.g., secondary/alarm)
    INT iMainWin = 1; // Or WinNumber("Main") if you named it
    WinGoto(iMainWin); // Activate main window
    PageDisplay(sPage); // Display the page on now-active main window
    WinGoto(iCurrentWin); // Optional: Return focus to original window (alarm screen)
    END
    So you would replace the existing "PageDisplay" calls in your template or page navigation, with this custom page "MyPageDisplay" function.
    Let us know how you get on.
    Kind regards
    Olivier
Reply
  • Hi  

    It's possible to redirect page navigation so that all page functions (like "go to page" from the alarm list) display on the main screen while keeping the alarm list on the secondary screen. Since you're using screen profiles in 2023R2, the default behavior allows independent navigation per window/monitor, which is why pages now open on the active screen (the secondary one in this case). To override this and force pages to open on the main screen, you'll need to customize the Cicode behind the navigation trigger using window control functions. This is probably a bit too involved to answer within a forum post, but you could reach out to AVEVA Technical Support for further assistance if you get stuck.

    Here is some psuedo cicode which could work, but I have not tested:

    FUNCTION MyPageDisplay(STRING sPage)
    INT iCurrentWin = WinNumber(); // Save current active window (e.g., secondary/alarm)
    INT iMainWin = 1; // Or WinNumber("Main") if you named it
    WinGoto(iMainWin); // Activate main window
    PageDisplay(sPage); // Display the page on now-active main window
    WinGoto(iCurrentWin); // Optional: Return focus to original window (alarm screen)
    END
    So you would replace the existing "PageDisplay" calls in your template or page navigation, with this custom page "MyPageDisplay" function.
    Let us know how you get on.
    Kind regards
    Olivier
Children