We had a customer ask us how to program an OSCS application where the shade would not lower if the window was open. Attached is a sample project file programmed with the functionality described below.
We have a keypad, a wired shade, and a QSE-IO.
The IO will monitor if the window is open or not by toggling a variable. If the first CCI on the IO is closed, It means the window is open. If the CCI is open, it means the window is closed.
We have a sequence that has the shade going to different OSCS steps. The first step will raise the shade. The second step is the stop after raise. The third step lowers the shade. The fourth step is the stop after lower.
The button on the keypad is a conditional. It will first check if the window variable is open. If it is, the only thing the shade will do is to open. This means that if the shade is open, it will not do anything (stays going to open).
If the window is closed, we will be checking where the sequence is. If the sequence is at the raise step, we will send it to the “stop after raise”step. If the sequence is in the lower step, we will send it to the “stop after lower” step. If the sequence is in the “Stop after raise” shade, we will send it to the lower step. If the sequence is in the “stop after lower” step, we will send the sequence to the raising step.