Хочу обратить Ваше внимание на небольшой ньюанс при работе счетчика в режиме присутствия входа сброс и выхода Достижение установленного значения.
Очень часто применяется промежуточная булевская переменная для счёта "по кругу" - цепляется к двух вышеописанным выводам.
При этом на один цикл проскакивает значение, которое мы ждём или не ждём...
Это выражается вот в чём: в блоке стоит символ больше >, что подразумевает одно, а в коде >=, что немного другое...
Также, вход сброса, так как он на схеме стоит в начале, обрабатывается позже вывода результатов сравнения,
т.е. значение, которое мы указали в натройках блока "достижение ус...." будет на выходе всего один цикл.
Иногда это приводит к негативным моментам. У меня при записи в память номер блока иногда "съезжал" не туда...
Просто учитывайте это в своих проектах.
Под спойлером на плате 1 счётчик из "подручных" блоков, на 2-й - стандартный счётчик. Обратите внимание на последние строки, gtv9 - bool сброс.
СпойлерПоказать
Код: Выделить всё
//Плата:1
if (_gtv8) { if (_trgrt1I) { _trgrt1 = 0;} else {_trgrt1 = 1; _trgrt1I = 1;} } else {_trgrt1 = 0; _trgrt1I = 0;};
if (_trgrt1) {
_gtv7 = (_gtv7)+(1);
}
if ((_gtv7) > (7654)) {
_gtv7 = 0;
}
//Плата:2
if (_gtv8)
{
if (! _count1I)
{
_count1P = _count1P+1;
_count1I = 1;
}
}
else
{
_count1I=0;
}
if (_gtv9) _count1P = 0;
_gtv9 = _count1P >= 7654;
_gtv10 = _count1P;