Lorne,
The answer to your question is no.
A specialized interrupt INPUT can only respond to either a rising edge or a falling edge event, not both. If you issue 2 IntrDef statements for the same interrupt channel:
IntrDef 3,ISRPosEdge,1
IntrDef 3,ISRNegEdge,0
Only the last IntrDef statement would be active.
If you need to respond to both the positive and negative edges of a signal, you will need to route this signal through 2 separate Interrupt input channels and setup one channel for positive edge and the other for negative edge responses:
IntrDef 3,ISRPosEdge,1
IntrDef 4,ISRNegEdge,0
Please note that the documentation for the IntrDef statement is slightly incorrect. I have added some text in RED to correct the documentation:
INTRDEF ch, fn_num, edge
Purpose
Enable Interrupt Input channel ch.
ch = interrupt channel number (pls refer to PLC installation guide)
fn_num= Custom Function name or number to execute when interrupt pin changes according to the defined edge. This is the Interrupt Service Routine ISR.
edge = Positive number means rising edge-triggered. 0 or negative number means falling-edge triggered.
At my urging, I have gotten TRI to allow the use of the name of the custom function as well as the number of the CF for the 2nd argument. I would suggest that you only use the name of the custom function as it is both more readable and it is safer.
Why do I mention safer? It is possible to change the number associated with a custom function by shifting functions up and down in the "I/O Table" definitions. If you use the CF number and shift the CFs around in the table the WRONG CF will be executed as the ISR and your code will not function as you had intended. If you reference the CF by name, then the code should compile and execute as expected, even if you re-arrange the CF in the "I/O Table".
Best regards,
Gary D*ckinson