The software was developed from the Listing of Circuit
Requirements and refined by means of off-line simulation.
Simulation mode allows a designer to test the software at
various points to confirm operation before downloading
the program into the programmable relay. The exact
settings used in the smart doorbell program were not
calculations. They were determined experimentally offline
in simulation mode (Figure 5).
The complexity of a programmable relay based
system is in the programming. Programming and future
troubleshooting will be easier if the project is well
organized. Programming spreadsheets help with this
organization. Programming spreadsheets include: a brief
description of the function of a circuit; a listing of inputs,
outputs, and virtual devices; device settings; circuit
requirements; and a rung by rung explanation of the
The top of the programming spreadsheet in Figure 6
shows that there are two external devices in the smart
doorbell project: a doorbell switch wired to input I01 and
the buzzer wired to output Q01.
Programming of the system is broken down into a set
of parallel rungs, with each rung performing a particular
function. In Figure 7, the momentary closure of the
doorbell switch closes NO contacts I01 on rung 002,
energizing internal relay coil M01 and timer coil T01, and
closes NO contacts T01. T01 and M01 are latched ON
until timer T01 times out in seven seconds.
The proper configuration of T01 is shown in the drop
down box on the right side of Figure 7.
If the doorbell is held for more than two seconds,
December 2015 33
By Richard Agard Post comments on this article and find any associated files and/or downloads at
FIGURE 3. The smart doorbell utilizes a standard doorbell
FIGURE 4. Status display shows I01 and Q01 energized.
FIGURE 5. Smart doorbell listing of circuit requirements.
FIGURE 6. Top of programming spreadsheet.
FIGURE 7. Rungs 001-003.