/
George_Smith
/
RuSTy
Обзор
Документация
Войти
/
George_Smith
/
RuSTy
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
Peter
INITsection.ResourceProject.st
236 строк
10 KB
Peter Korobeynikov
RuSTy v2.21 (Peter) - Add information about alias types to types.json!
23 мар 2026, 15:50
23 мар 2026, 15:50
33e4ebe
Код
Авторство
О чём код?
VAR_GLOBAL TEST2 AT %ID777 :REAL := 0.0; TEST3 :WORD := 5; END_VAR PROGRAM INITsection VAR Timer_Proceed: Data_Processing; Init: BOOL; TEST :DINT := 258; END_VAR TEST:=TEST+1; //TEST2:=TEST2 + 2; TEST3:=TEST3 + 2; printf('=== TEST (local) = %d, TEST3 (global) = %d $N', TEST, TEST3); Timer_Proceed(SD20 := SD20,udCycle => Cycle); CycleTime := ULINT_TO_TIME(Cycle); FirstCycle := FALSE; Imitator:= FALSE; IF NOT Init THEN FirstCycle := TRUE; Init := TRUE; (* Настройка записи данных в файл *) gv_bEnDataWr := TRUE; (*Формирование даты (число.месяц.год) изменения сигнала*) gv_bEnEachMsg := FALSE; (*Запись каждого нового сообщения в файл*) gv_bDayCreate := TRUE; (* TMproc.fbPrepData.Logging(); *) (*Настройка логирования*) (* bInitCollectData := TRUE;*) FOR I := 1 TO 12 DO ZDUst[I,1] := 1.0; (* Т1. Время переходных процессов 0.5 *) ZDUst[I,2] := 5.0; (* Т2. Время ожидания МП после команды 3 *) ZDUst[I,3] := 5.0; (* Т3. Время схода с концевика 3 *) ZDUst[I,4] := 90.0; (* Т4. Время хода вала *) ZDUst[I,5] := 5.0; (* Т5. Время на отключение МП в крайних положениях 3 *) ZDUst[I,6] := 4.0; (* Т6. Время на возврат напряжения при стопе по месту 2 *) ZDUst[I,7] := 15.0; (* Т7. Время хода вала в имитации *) ZDUst[I,8] := 3.0; (* Т8. Время удержания команды СТОП 3 *) ZDUst[I,13] := 4.0; (* Т13. Время рассогласования поля и интерфейса 3 *) ZDUst[I,14] := 2.0; (* Т14. Время подозрительных переходов (инициализация БУР) 1 *) END_FOR; OtherUst[1] := 10.0; (* Насос емкости ЕП камеры приема, № 024.02. Время на набор давления *) OtherUst[2] := 10.0; (* Насос емкости ЕП камеры приема. Время до сработки Макс. темп. Н/НП *) OtherUst[3] := 10.0; (* Насос емкости ЕП камеры приема. Время до сработки Макс. темп. подшипника насоса *) OtherUst[4] := 10.0; (* Насос резерв. Время на набор давления *) OtherUst[5] := 10.0; (* Насос резерв. Время до сработки Макс. темп. Н/НП *) OtherUst[6] := 10.0; (* Насос резерв. Время до сработки "Макс. темп. подшипника насоса *) OtherUst[7] := 5.0; (* Линейный АПС. Время на подготовку к ТУ *) (* Насос емкости ЕП камеры приема, № 024.02 *) VSConfig[1].0 := TRUE; (* Флаг использования контроля давления на агрегате. Указывает необходимость использования данных от преобразователя / сигнализатора давления *) VSConfig[1].1 := FALSE; (* Флаг использования контроля цепей включения *) (* Насос емкости ЕП камеры пуска *) VSConfig[2].0 := FALSE; (* Флаг использования контроля давления на агрегате. Указывает необходимость использования данных от преобразователя / сигнализатора давления *) VSConfig[2].1 := FALSE; (* Флаг использования контроля цепей включения *) (* Настройка задвижек *) IF NOT Imitator THEN ZDConfig[1] := 2#0000_0000_0100_0001; ZDConfig[2] := 2#0000_0000_0100_0001; ZDConfig[3] := 2#0000_0000_0100_0001; ZDConfig[4] := 2#0000_0000_0100_0001; ZDConfig[5] := 2#0000_0000_0100_0001; ZDConfig[6] := 2#0000_0000_0100_0001; ZDConfig[7] := 2#0000_0000_0100_0001; ZDConfig[8] := 2#0000_0000_0100_0001; ZDConfig[9] := 2#0000_0000_0100_0001; ZDConfig[10] := 2#0000_0000_0100_0001; ZDConfig[11] := 2#0000_0000_0100_0001; ZDConfig[12] := 2#0000_0000_0100_0001; ELSE FOR I:=1 TO 12 DO ZDConfig[I] := 2#0000_0000_0000_0000; END_FOR; ZDConfig[1] := 2#0000_0000_0100_0001; ZDConfig[7] := 2#0000_0010_0100_0001; END_IF; (* Настройка аналоговых сигналов *) FOR I := 1 TO 22 DO OIPUst[I].ElRange.Bottom := 4; OIPUst[I].ElRange.Top := 20; OIPUst[I].ElAllowedRange.Bottom := 3; OIPUst[I].ElAllowedRange.Top := 21; END_FOR (* Давление нефти на входе узла приема СОД МН «XXXX» *) OIPUst[1].ValRange.Bottom := 0; OIPUst[1].ValRange.Top := 4; (* Давление нефти в камере приема СОД МН «XXXX» *) OIPUst[2].ValRange.Bottom := 0; OIPUst[2].ValRange.Top := 4; OIPUst[2].MinCfgs[2].Enable := TRUE; OIPUst[2].MinCfgs[2].Msg := TRUE; OIPUst[2].MinCfgs[2].Ust := 0.4; (* Давление нефти до задвижки № 437-1 *) OIPUst[3].ValRange.Bottom := 0; OIPUst[3].ValRange.Top := 4; (* Давление нефти после задвижки № 437-1 *) OIPUst[4].ValRange.Bottom := 0; OIPUst[4].ValRange.Top := 4; (* Давление нефти после задвижки № 437-1П *) OIPUst[5].ValRange.Bottom := 0; OIPUst[5].ValRange.Top := 4; (* Давление нефти после задвижки № 437-2П *) OIPUst[6].ValRange.Bottom := 0; OIPUst[6].ValRange.Top := 4; (* Давление нефти после задвижки № 437-1Л *) OIPUst[7].ValRange.Bottom := 0; OIPUst[7].ValRange.Top := 4; (* Давление нефти в камере пуска СОД *) OIPUst[8].ValRange.Bottom := 0; OIPUst[8].ValRange.Top := 4; OIPUst[8].MinCfgs[2].Enable := TRUE; OIPUst[8].MinCfgs[2].Msg := TRUE; OIPUst[8].MinCfgs[2].Ust := 0.4; (* Температура в ШТМ *) OIPUst[9].ValRange.Bottom := -40; OIPUst[9].ValRange.Top := 50; (* Давление нефти на выходе насоса откачки утечек емкости ЕП узла приема СОД *) OIPUst[10].ValRange.Bottom := 0; OIPUst[10].ValRange.Top := 4; OIPUst[10].MinCfgs[2].Enable := TRUE; OIPUst[10].MinCfgs[2].Msg := TRUE; OIPUst[10].MinCfgs[2].Ust := 0.4; (* Температура в шкафу приборном УЗР *) OIPUst[11].ValRange.Bottom := -50; OIPUst[11].ValRange.Top := 150; (* Расход нефти МН «XXXX» *) OIPUst[12].ValRange.Bottom := 0; OIPUst[12].ValRange.Top := 2000; (* Температура нефти на выходе насоса №024.2 *) OIPUst[13].ValRange.Bottom := -50; OIPUst[13].ValRange.Top := 150; OIPUst[13].MaxCfgs[2].Enable := TRUE; OIPUst[13].MaxCfgs[2].Msg := TRUE; OIPUst[13].MaxCfgs[2].Ust := 60; (* Температура подшипника насоса № 024.2 *) OIPUst[14].ValRange.Bottom := -50; OIPUst[14].ValRange.Top := 150; OIPUst[14].MaxCfgs[2].Enable := TRUE; OIPUst[14].MaxCfgs[2].Msg := TRUE; OIPUst[14].MaxCfgs[2].Ust := 75; (* Уровень нефти в емкости ЕП № 024.2 узла приема СОД МН «XXXX» *) OIPUst[15].ValRange.Bottom := 0; OIPUst[15].ValRange.Top := 2000; OIPUst[15].MinCfgs[1].Enable := TRUE; OIPUst[15].MinCfgs[1].Msg := TRUE; OIPUst[15].MinCfgs[1].Ust := 200; OIPUst[15].MaxCfgs[1].Enable := TRUE; OIPUst[15].MaxCfgs[1].Msg := TRUE; OIPUst[15].MaxCfgs[1].Ust := 1500; OIPUst[15].MaxCfgs[2].Enable := TRUE; OIPUst[15].MaxCfgs[2].Msg := TRUE; OIPUst[15].MaxCfgs[2].Ust := 1800; (* Уровень нефти в емкости ЕП узла пуска СОД *) OIPUst[16].ValRange.Bottom := 0; OIPUst[16].ValRange.Top := 2000; OIPUst[16].MinCfgs[1].Enable := TRUE; OIPUst[16].MinCfgs[1].Msg := TRUE; OIPUst[16].MinCfgs[1].Ust := 200; OIPUst[16].MaxCfgs[1].Enable := TRUE; OIPUst[16].MaxCfgs[1].Msg := TRUE; OIPUst[16].MaxCfgs[1].Ust := 1500; OIPUst[16].MaxCfgs[2].Enable := TRUE; OIPUst[16].MaxCfgs[2].Msg := TRUE; OIPUst[16].MaxCfgs[2].Ust := 1800; (* Затопление колодца КИП № 018.2 *) OIPUst[17].ValRange.Bottom := 4; OIPUst[17].ValRange.Top := 20; OIPUst[17].MaxCfgs[2].Enable := TRUE; OIPUst[17].MaxCfgs[2].Msg := TRUE; OIPUst[17].MaxCfgs[2].Ust := 15; (* Затопление колодца КИП №1 *) OIPUst[18].ValRange.Bottom := 4; OIPUst[18].ValRange.Top := 20; OIPUst[18].MaxCfgs[2].Enable := TRUE; OIPUst[18].MaxCfgs[2].Msg := TRUE; OIPUst[18].MaxCfgs[2].Ust := 15; (* Затопление колодца КИП №2 *) OIPUst[19].ValRange.Bottom := 4; OIPUst[19].ValRange.Top := 20; OIPUst[19].MaxCfgs[2].Enable := TRUE; OIPUst[19].MaxCfgs[2].Msg := TRUE; OIPUst[19].MaxCfgs[2].Ust := 15; (* Затопление колодца КИП №3 *) OIPUst[20].ValRange.Bottom := 4; OIPUst[20].ValRange.Top := 20; OIPUst[20].MaxCfgs[2].Enable := TRUE; OIPUst[20].MaxCfgs[2].Msg := TRUE; OIPUst[20].MaxCfgs[2].Ust := 15; (* Затопление колодца КИП №4 *) OIPUst[21].ValRange.Bottom := 4; OIPUst[21].ValRange.Top := 20; OIPUst[21].MaxCfgs[2].Enable := TRUE; OIPUst[21].MaxCfgs[2].Msg := TRUE; OIPUst[21].MaxCfgs[2].Ust := 15; (* Затопление колодца КИП №5 *) OIPUst[22].ValRange.Bottom := 4; OIPUst[22].ValRange.Top := 20; OIPUst[22].MaxCfgs[2].Enable := TRUE; OIPUst[22].MaxCfgs[2].Msg := TRUE; OIPUst[22].MaxCfgs[2].Ust := 15; END_IF; END_PROGRAM