Counter – IL

The IEC 61131 standard offers a definition of Counters. PLC3000 integrates up and down Counters. It is necessary to define a preselection value %Ci.PV, which can be set with an integer value. The current value of a counter is set to 0 when %Ci.R is activated. The current value of a counter is set to the preselection value %Ci.PV, when %Ci.LD is activated. The current value of a counter is incremented each time the %Ci.CU input is activated, and decremented each time the %Ci.CD input is activated.

A counter has two outputs; %Ci.QU goes to 1 when the current counter value is equal to or higher than the preselected value %Ci.PV; %Ci.QD goes to 1 when the current counter value is equal to 0.

Generation in IL

Let’s consider a counter %C1 with 5 as preselected value

LD  %S1
%C1.PV := 5

Illustration with a Grafcet

Let’s consider the following Grafcet

Programming in IL – Transition/Transition with Crossing Bits

* TIMER
LD	%S1
%C0.PV := 5
* INIT
LD	%S2
S	%M0
R	%M1
R	%M2
* FRONT M
LD	%I1
ANDN	%M3
ST	%M4
*
LD	%I1
ST	%M3
* TRANSITIONS
LD	%M0
AND	%I0
ST	%M10
*
LD	%M1
AND	%IM4
ST	%M11
*
LD	%M2
ANDN	%C0.QU
ST	%M12
*
LD	%M2
AND	%C0.QU
ST	%M13
* CROSSING
LD	%M10
S	%M1
R	%M0
*
LD	%M11
S	%M2
R	%M1
*
LD	%M12
S	%M1
R	%M2
*
LD	%M13
S	%M0
R	%M2
* ACTIONS
LD	%M0
ST	%C0.R
*
LD	%M2
ST	%C0.CU