• Not Answered

Issue with EM operating parameter detail display

Hi,

When i am trying to enter a value for operating parameter ( other than named set type ) then it is opening user form ( frmPBLNamesetEntry) for named selection instead of  frmPBLAlphaNumEntry.

I tried to trace out the reason and i found the issue at the following path -

Somehow "IngError"  is always reading zero value  & opening user form ( frmPBLNamesetEntry) for named selection.

 

********************************************************************************************************

Code summary - 

strTemp = strTemp & "A_OPSEL"   ..................   ( strTemp would be  DVSYS.MODULENAME/OP001_VALUE.A_OPSEL )


frsreadvalue strTemp, lngError, , False

If lngError = 0 Then Open  frmPBLNamesetEntry

else 

Open  frmPBLAlphaNumEntry  

********************************************************************************************************

Could anyone guide me on the reason why  "IngError"  is always reading zero value for the parameters other than named set.

Best Regards,

Viresh

10 Replies

  • That logic is looking for the existence of the OPSEL field of the parameter you are trying to change. If the value is 0 then it successfully can read that meaning it is a named set and will then will give you a drop down list of the user selectable values configured in the named set.

    What is the value of strTag that is being passed to this subroutine that you are seeing the lngError be 0 if you believe it isn't a named set parameter?
  • In reply to Matt Stoner:

    Hi Matt,

    Thanks for your response.

    Value of strTag that is being passed to this subroutine is : "DVSYS.MODULENAME/OP001_VALUE.A_CV[_NOT_CONFIG_OK_]"

    And OP001 is a floating type parameter.

    I wondering why it is successfully reading a path "DVSYS.MODULENAME/OP001_VALUE.A_OPSEL" & setting lngError = 0 for floating type parameter.


    Best Regards,
    Viresh

  • In reply to Viresh Bhinge:

    Is MODULENAME a real tag?

    If you put MODULENAME/OP001_VALUE.OPSEL in Watchit (Start->Run->Watchit) what does this show?

    String read failure: RT_INVALID_FIELD or a Command Delimited String (i.e. DEST1,DEST2,DEST3)
  • Below the configuration on the project I work, there is no "IngError = 0"

  • In reply to Matt Stoner:

    Hi Matt,

    "MODULENAME" is not real tag name. ( EM Tagnames are different like B01-PH , B01-DO .......)

    When i put this path ( with real tagname ) on watchit then i am getting - String read failure: RT_INVALID_FIELD.
  • In reply to Nabil BOU:

    Hi Nabil,

    Thanks for your response.

    I do have the same configuration & this is standard PCSD code.

    But issue i am facing is not  the code issue as it is standard PCSD code, it is something different.

  • In reply to Viresh Bhinge:

    Ok I think I see what the problem is...In your path you are passing, DVSYS.MODULENAME/OP001_VALUE.A_CV[_NOT_CONFIG_OK_], remove the [_NOT_CONFIG_OK_] option and see if that fixes the problem.
  • In reply to Matt Stoner:

    Hi Mat,

    I tried removing [_NOT_CONFIG_OK_] from the source but the problem is not resolved.

    And another thing is that, this same configuration is working fine on the "Development system" but when we imported this stuff onto "SFAT system" we are facing this issue.

    My another observation when we imported EM classes on SFAT system : -

    In EM class , OP001_VALUE parameter is internal reference type.
    ( "OP001_VALUE" parameter is internally referenced to a floating point parameter "EM_SPEED" )

    I removed the internal referencing of "OP001_VALUE" & made it floating point type. Then correct user form "frmPBLAlphaNumEntry" is opened as expected.

    But when i changed "OP001_VALUE" back to internal reference, then again wrong user form "frmPBLNamesetEntry" is opened.

    Is this related hotfixes ? Please see below the list of Hotfixes on SFAT system.

    DeltaV_1331_TFS273350_03,
    DeltaV_1331_TFS282928,
    DeltaV_1331_TFS292719,
    DeltaV_1331_TFS300599,
    DeltaV_1331_TFS307013_01,
    DeltaV_1331_TFS307651_01,
    DeltaV_1331_TFS308633,
    DeltaV_1331_TFS308795,
    DeltaV_1331_TFS308988,
    DeltaV_1331_TFS309051,
    DeltaV_1331_TFS309809,
    DeltaV_1331_TFS43410,
    DeltaV_1331_WIOC_01

    Best Regards,
    Viresh
  • In reply to Viresh Bhinge:

    An Internal Reference would probably still work I think, what is the internal reference path of OP001_VALUE and what is that parameter type?

    This logic has been used for a number of years and hasn't changed, make sure you have downloaded all the setup data and that you picture doesn't have any debug errors when compiling in VBA interface of the graphic.
  • In reply to Matt Stoner:

    Hi Matt,

    I agree, this is std. PCSD logic used everywhere .

    And the funny thing is the same logic is working fine on our development system, but not working on SFAT system.

    I compared list of hot fixes from both the system ; they are identical.

    Internal reference path of OP001_VALUE is a top layer parameter which is floating point type.

    I downloaded all the setup data from SFAT system & there are no compile errors.