Направление ветра
Расчет направления ветра на языке ЯРД
wind.CLC
;#TT0:1:1 - направление ветра в градусах от 0 до 359 ;#TC0:1:1...#TC0:1:8 ТС направления ветра a = trunc((#TT0:1:1{}+22.5) / 45) #TC0:1:1 = OR((a=0),(a=8)) ;С #TC0:1:2 = (a=1) ;СВ #TC0:1:3 = (a=2) ;В #TC0:1:4 = (a=3) ;ЮВ #TC0:1:5 = (a=4) ;Ю #TC0:1:6 = (a=5) ;ЮЗ #TC0:1:7 = (a=6) ;З #TC0:1:8 = (a=7) ;СЗ sleep(1000)
Пила с заданным размахом
Выдача пилообразного сигнала с заданным размахом(целые числа):
pila.js
while (true){ var max = 100; var min = -100; var sin = -100; while (sin < max){ sin ++ TM("#TT0:8:1") = sin; sleep(1000); } while (sin > min){ sin -- TM("#TT0:8:1") = sin; sleep(1000); } }
Случайное измерение
Для выдачи тестового измерения с уровня ОИК можно воспользоваться скриптом на js.
Этот скрипт выдает рандомное значение в заданных пределах с заданным интервалом и помещает его в ТИТ по адресу Канал:КП:объект. В данном примере раз в секунду выдается рандомное значение в интервале от 80 до 100.
rand.js
while (true){ var max = 100; var min = 80; rand = Math.random() * (max - min) + min; TM("#TT0:8:1") = rand; sleep(1000); }
Пила со случайным шагом
Пила со случайным шагом от 10 до 15 ед. в заданном диапазоне.
pilarand.js
while (true){ var max = 2250; var min = 750; var sin = 750; while (sin < max){ sin = Math.round(sin + 10 + Math.random() * 5); TM("#TT0:8:1") = sin; sleep(1500); } while (sin > min){ sin = Math.round(sin - (10 + Math.random() * 5)); TM("#TT0:8:1") = sin; sleep(1500); } }
АвтоТУ
Выдача автоТУ со скады, работает в связке с ТС, который можно включить с помощью активной зоны
циклически выдает ВКЛ и ОТКЛ через заданные промежутки в sleep
autoTU.js
while (true){ TS = TM("#TC3:5:551") if (TS == 1){ tmControl(3, 5, 11, 1); sleep(3000); tmControl(3, 5, 11, 0); sleep(3000); } }