The first clue for when and where to use this block is that it is grouped with "process control instructions". If you're implementing a DCS-like system, then the use of this block is appropriate. For run-of-the-mill motor control, it is overkill and likely requires a few anti-intuitive contortions to perform an otherwise simple task.
You'll notice in the help file that reference is made to an ActiveX faceplate that can be used to control this block. The intended use of the block is, for example, to control a butterfly valve in a process where:
- positive confirmation is required for open and closed positions
- failure to reach commanded position within a set time must be alarmed
- normally the valve is controlled in an automatic sequence
- an operator must be able to take manual control of the valve (via HMI) without affecting other devices
I'm still a little confused on where to connect the Run feedback signal (FB0 or FB1) and how to make it fault if not feedback.
FB0 = feedback for '0' state e.g. 'closed' or 'off'
FB1 = feedback for '1' state e.g. 'open' or 'on'
Note that you can also define whether '0' or '1' is true for each of FB0 & FB1.
In order to prevent an alarm, the block must have 'true' confirmation of its commanded state.
The D2SD and D3SD had their first incarnations in the ControlView 'PCO' add-on (Process Control Option). That was an attempt to capture some of the DCS market and provide "standardised" programming. It fell flat however, since the PLC5 family processors (the target) did not have enough memory capacity for even a modest system. e.g. D2SD required a subroutine of 1200-1500 words and each device required 40 integers in data table. I can't remember how many different blocks were available, but I do remember that if you wanted to use all of them, the supporting subroutines would not fit into a PLC5/30 - never mind the subroutine-calling logic or the data table requirements.