Ранее мы уже реализовали выдачу коротких импульсов с использованием скриптов WinCC. Однако иногда импульсы должны всё-таки иметь какую-то минимальную длительность.
Рассмотрим один из способов формирования таких импульсов. Создадим Global action, выполняемый по срабатыванию циклического триггера с заданной периодичностью (я использовал 500 мс), и будем подсчитывать количество его вызовов:
Рассмотрим один из способов формирования таких импульсов. Создадим Global action, выполняемый по срабатыванию циклического триггера с заданной периодичностью (я использовал 500 мс), и будем подсчитывать количество его вызовов:
#include "apdefap.h" int gscAction( void ) { // WINCC:TAGNAME_SECTION_START // syntax: #define TagNameInAction "DMTagName" // next TagID : 1 #define tag1 "tag1" // WINCC:TAGNAME_SECTION_END static long counter = 0; if(GetTagBit(tag1)){ if(++counter > 4){ counter = 0; SetTagBit(tag1, 0); } } return 0; }




