• Not Answered

Allow GRF to be opened based on station name

Dear all,

I need to prevent a process screen (.grf) located in the folder ...\DVDATA\Graphics-iFix\Pic\ from being opened, depending on the operating station from which it is attempted to be opened.

Is there an option to do this? Another option that comes to mind is that when I click on the screen, depending on the user, it redirects me to another screen, i.e., it cannot be opened from the “Open Main Display” tree.

Thank you very much and best regards,

Rubén Aguilar.

2 Replies

  • If you want to open certain GRF files only on certain stations, keep a copy only on those stations and remove everywhere else, especially from Pro+.

    If you want to prevent opening from certain stations then use VB. Maybe in the CFixPicture_Initialize() script?

    -------------
    Private Sub CFixPicture_Initialize()
    On Error GoTo ErrorHandler
    frszinitPicture Me
    Dim NodeName As String
    NodeName = frsReadValue("DVSYS.THISUSER/NODENAME.A_CV")
    If NodeName = "OSSTATION" Then
    frszTbLastPic Me
    End If

    Exit Sub
    ErrorHandler:
    frsHandleError
    End Sub
    -----------

    'frszTbLastPic Me' will go to the previous picture. Use something instead like 'frszExpertReplacePic 2, "OVERVIEW.grf"' to go to overview.

    Replace stationname and overview with the ones on your system.
  • In reply to Robert Rijnders:

    Deleting displays from workstations, especially the Pro Plus means you have to continually manage these files to make sure they don't "return" unexpectedly. Deleting the files from the pro plus is not a recommended approach. It would work, but it breaks other things and puts your system in an "unsupported" state.

    The Pro plus is intended to host the "master" copy of the displays. A mechanism in DeltaV checks files on a workstation to see if any of these GRF files are newer, meaning they've been edited on that station instead of the Pro Plus. You are prompted to upload these newer files so that the Auto Update service (Yellow Pages) can automatically distribute new files to the workstations. You really have to know what you're doing and how you are altering the intended features of the product.

    I would not recommend deleting displays from the proplus. Yes you can make it work, but I would not recommend it.

    Can you work with an explicit display list and control write access by assigned areas to the workstations. Remove the Display Directory button from the HMI so Operators have to use the explicit list. i.e. remove their ability to access all files. Are you really needing to restrict access to view only displays or do you want to streamline the displays the operator uses, that is, reduce the list of displays they have to scroll through? If you can avoid customizing display scripts or modifying the display management by deleting files, you stay in the sandbox and avoid unexpected consequences.

    Robert's suggestion to add a check in the Initialize script is a way to enforce restricted view. This would need some careful thought as you don't want to have to edit display scripts to change display access. If you build a "Valid Display" List for each workstation, you can compare this stations list to the Display name. All valid displays would be in this list and you can update the list to add or restrict displays. A display can be allowed on multiple displays and you don't have to edit all the displays to add that workstation to their scripts. This can be an XML file or a CSV file which VBA can read and find the assigned displays of the any specified Workstation name. You could format this file to show display hierarchies for each workstation. Or create a file for each workstation. Point is, you need to carefully consider how you define the valid displays so you don't create a nightmarish support issue.

    Live natively supports workstation display hierarchies with restricted list of additional displays. Since migration to Live is, well, inevitable, and Live does not allow File access to read what you do in operate, you should also think how this should work for your Operators now. But defining an inclusive display list is supported in Live without any custom scripting.

    Keep it Simple.

    Andre Dicaire