• Not Answered

Asynchronous Write Status = 1 caused by undefined equipment module PV?

I have  an SFC action '//ROV1361D/EM_SP.CV':= 'vlvnc-sp:CLOSE';

with a pulse confirmation = ('//ROV1361D/EM_SP.AWST' = 0) AND ('//ROV1361D/EM_SP.CV' = -1))

Confirm Time out: 0

 

As seen above there is no time out on the confirm and Asynchronous Write STatus is coupled to a SP confirmation in the pulse confirmation statement. 

In real life from time to time the valve sticks and does not actually go all the way closed...therefore I get an undefined valve position and my sequence fails (as it should). 

The problem is when the valve fails, the SP is set to close, but the PV is not close therefore ROV1361D is in the undefined state.  The pending confirm is looking for a pulse confirmation of ROV1361D Equipment module Set point = -1 (Close) and the asynchronous write status is false.  The sequence is stuck forever in the step...

Asynchronous writes are when the step in the SFC asked for a write but the controller skipped the communication on that bit due to prioritization (to my understanding)....

My question is this:  Why would a valve failure cause the ASWT bit to become true?  I was watching the faceplate, and I saw the valve setpoint go to "closed".  The valve went undefined due to PV and SP mismatch.  How can this cause AWST to become true?

Also....I realize this is a weird pending confirm pulse qualifier.  I don't know why the confirm expression was written like it is.... the confirm will be changed to ROV1361D/EM_PV.CV = 1

2 Replies

  • Based on this:
    '//ROV1361D/EM_SP.CV':= 'vlvnc-sp:CLOSE';
    I assume that EM_SP.CV' is a named set parameter.


    Named sets can take values from 0 to 255. How confirmation can be (-1) ?

    Also AWST = 1 . means 'not communicating' .

    Is path correct? maybe missing "DC1" between tag and parameter ?

  • Checking AWST is used to ensure a write has successfully been completed and changing to EM_PV will most likely not work either because of the AWST status being returned (1 is 'not communicating'). So with that status the system can't communicate with where the ROV1361D Module/Parameter is located.

    AWST Status values (you can find this in BOL by search for AWST under Dynamic Reference parameters but there is also section to look at under Configuration->Recommended Practices->Using recommended engineering practices->Recommended practices for using DeltaV batch->Using confirm expressions in an SFC, phase, or phase logic module):
    -4 means 'write rejected'
    -3 means 'external reference not resolved'
    -2 means 'parameter not configured'
    -1 means 'module not configured'
    0 means 'success'
    1 means 'not communicating'
    2 means 'write pending'

    The confirm of EM_SP = -1 isn't checking for the Close value because that is a 0 based on the logic shown. The Module logic is probably setting the EM_SP to -1 either when it has started that logic or after completing the logic.

    Have you moved controller assignments for this device or where the writes are coming from? You may want to download changed setup data for all controllers if you have done this.

    Your logic to me seems good but ensure controller verifies without errors. Check to see if where this logic is running has any unresolved references.