///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // Данный алгоритм предназначен для поиска и подсчета импульсов ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // Текстовые константы sNameStrobChannel = "Канал датчика коленвала"; // запрос параметров у пользователя // Общие настройки var Setup = CreateConfigure("Strob Config"); Setup.AddItem(sNameStrobChannel, 1); Setup.Configure(); iStrobChannel = Setup.GetValue(sNameStrobChannel); // Среднее значение сигнала по каналу fAveStrobValue=AveValueAt(iStrobChannel,NumberOfSamples/2,NumberOfSamples); // Ищем положительные и отрицательные фронты for (iStart=1,iStrobCount=0;iStart>0;iStrobCount++) { iStart=SynchByEx(iStrobChannel,0,fAveStrobValue,iStart+1,NumberOfSamples,1,0); } // Количество импульсов в два раза меньше чем фронтов iStrobCount=(iStrobCount-1)/2; // Выводим на экран результат ReportOut("По каналу № " + iStrobChannel + " найдено импульсов : " + iStrobCount );