Error in Program

Hello All,

I am facing a glitch in my code and i am unsure why and unable to figure it out

Description of the error
Type signaldo for left operand of "=" or "<>" operator not value or semi-value type,Data for this message is not saved in any event log
If acknowledged the message will be removed.

The "=" and "<>" operators may only be applied to expressions of value or semi-value type. IF comparisons are to be made,srecial type specific predefined functions are needed.

 IF DO_Prog_Busy = 1 THEN
                        Reset DO_Prog_Busy;  

the Digital output signal i have is DO_Prog_Busy when i point my cursor on top of "DO_Prog_Busy" in IF statement i get this tag message(type mismatch Expected SignalDO) and if i see the configuration ,the configuration looks good i have the signal type provided as Digital output so I don't see any problem here either.
please pour in your thoughts



  • DenisFRDenisFR FRANCE ✭✭
    Test that:
    IF DOutput(DO_Prog_Busy) = high THEN
      Reset DO_Prog_Busy;

  • VEDHVEDH Germany
    Thank You so much worked wonders

    I was just wondering if it had to do anything with the controller because earlier
     IF DO_Prog_Busy = 1 THEN
                            Reset DO_Prog_Busy;  
    this statement was working absolutely fine

    Asking This as I am Just inquisitive in knowing more things

  • j_proulxFBj_proulxFB Watertown, WI USA
    There was a change in RobotWare 6.03:

    All I/O signals are now of semi-value type
    All signals are now of semi-value type.
    The previous behavior was that signalxo was of non-value data type. Thus, data of this type does not permit value - oriented operations.
    It is now possible to do like this in RAPID:
    IF do1 = 1 THEN
    Before the change you needed to use the functions DOutput, GOutput, AOutput and GOutputDnum to get the value of an output signal.
    The functions mentioned above are still supported.

    Any RobotWare before this would need the function
Sign In or Register to comment.