Материал: Д6722 Алешичев СЕ Контроль и автоматизация упр качеством продукции

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

Текст программы «REGUL06.BAS»

2 CLS

 

5 PRINT TAB(20); "РЕГУЛИРОВАНИЕ КАЧЕСТВА

"

6 PRINT

 

10 PRINT "Введите код управления :"

 

12

PRINT TAB(10);

"0 - контроль среднего квадратичного отклонения "

14 PRINT TAB(10);

" среднего арифметического значения ."

16 PRINT TAB(10);

"1 - контроль размахов и медиан."

18 PRINT TAB(10);

"2 - накопление кумулятивных сумм выборочного среднего."

20

PRINT TAB(10);

"3 - отсутствие регулирования ."

22 PRINT : INPUT "

код ", H2

24

DIM X(300), Y(300), P(300), Z(300), Z1(300)

25 INPUT "Объем выборки при контроле T4 =", T4: INPUT "Нормативное значение контролируемого параметра Q1 =", Q1

26 INPUT "Верхнее значение параметра при браковке Q2 =", Q2: INPUT "Нижнее значение параметра при браковке Q3 =", Q3

27 INPUT "Нормативное значение СКО контролируемого параметра Q4 =", Q4: INPUT "План выпуска изделия T3 =", T3

30 IF H2 <> 0 THEN 40

35 INPUT "Верхнее значение границы регулирования САЗ D1 =", D1: INPUT "Нижнее значение границы регулирования САЗ D2 =", D2

36 INPUT "Предельное значение СКО D3 =", D3

40 IF H2 <> 1 THEN 50

45 INPUT "Верхнее D4 и нижнее D5 значение границы регулирования МЕД", D4, D5 46 INPUT "Граница регулирования R D6 =", D6

50 IF H2 <> 2 THEN 60

55 INPUT "Верхнее значение первой границы регулирования КСВС D7 =", D7: INPUT "Нижнее значение первой границы регулирования КСВС D8 =", D8

56 INPUT "Вторая граница регулирования D9 =", D9

57 INPUT "Значение границы регулирования СКО D3 =", D3

60 INPUT "Коэффициент усиление при положительном воздействии Q5 =", Q5 61 INPUT "и при отрицательном Q6 =", Q6

62 INPUT "Направление разладки H1 [+/-] ", EE$: IF EE$ = "+" THEN H1 = 0 ELSE H1 = 1

63 INPUT "Выпуск изделий до начала контроля T1 =", T1

64CLS

65O1 = 0: O2 = 0: Y2 = 0: S3 = 0: S4 = 0: B1 = 0

66T2 = 0: R = 0: A = 0

67T2 = T1 + T4

70 C = .000007: B = Q1 + Y2 + B1: S1 = 0: S2 = 0 71 IF O1 < T3 THEN 75

73PRINT "Y3=1", "Выпуск"; O1, "Брак"; O2

74GOTO 1000

75FOR I = 1 TO T2

80 R = -6: FOR L = 1 TO 12: A = RND(C): R = R + A: RANDOMIZE (C): NEXT L

31

85 X(I) = B + Q4 * R / 6: NEXT I

90 A = RND(C): C = A: IF H1 <> 0 THEN 93 92 B1 = B1 + Q4 * A / 10: GOTO 95

93 B1 = B1 - Q4 * A / 10

95 P1 = ABS(INT(T1 + T4 * (A - .5))): FOR I = P1 TO T2 97 X(I) = X(I) + B1: NEXT I

100 FOR I = 1 TO T2: IF X(I) > Q2 THEN 130 125 IF X(I) > Q3 THEN 135

130 PRINT "X"; I; " ="; X(I): O2 = O2 + 1

135 NEXT I: PRINT "Y1=1": IF LP = 1 THEN LPRINT "Y1=1" 136 O1 = O1 + T2: GOTO 141

141 IF H2 <> 0 THEN 195

145 P1 = T1 + 1: FOR I = P1 TO T2: S1 = S1 + X(I): NEXT I: N1 = S1 / (T2 - T1) 147 FOR I = P1 TO T2: S2 = S2 + (X(I) - N1) ^ 2: NEXT I: N2 = SQR(S2 / (T2 - P1)) 150 PRINT "Y1=0": IF LP = 1 THEN LPRINT "Y1=0"

160 IF N2 < D3 THEN 170

165 PRINT "Y3=1", "СКО="; N2, "Выпуск"; O1, "Брак"; O2 167 GOTO 1000

170 IF N1 < D1 THEN 180

175 Y2 = Y2 + Q6 * (D1 - N1): PRINT "Y2 ="; Y2 176 GOTO 70

180 IF N1 > D2 THEN 190

185 Y2 = Y2 + Q5 * (D2 - N1): PRINT "Y2 ="; Y2 186 GOTO 70

190 PRINT "Y2 ="; Y2

191 GOTO 70

195 IF H2 <> 1 THEN 295

200 P2 = T1 + 1: FOR I = P2 TO (T2 - 1): P1 = I + 1 205 FOR L = P1 TO T2

210 IF X(I) < X(L) THEN 220

215 F1 = X(I): X(I) = X(L)

216 X(L) = F1

220 NEXT L

225 NEXT I: PRINT "Y1=0": IF LP = 1 THEN LPRINT "Y1=0" 230 P1 = T1 + 1: N1 = X(T2) - X(P1)

235 IF N1 < D6 THEN 250

240 PRINT "Y3=1", "R"; N1, "Выпуск"; O1, "Брак"; O2 245 GOTO 1000

250 F2 = T4 / 2

255 IF F2 = INT(F2) THEN 265

260 F3 = INT(F2) + 1 + T1: N2 = X(F3): GOTO 270 265 F3 = F2 + T1: N2 = (X(F3) + X(F3 + 1)) / 2

270 IF N2 < D4 THEN 280

275 Y2 = Y2 + Q6 * (D4 - N2): PRINT "Y2 ="; Y2 276 GOTO 70

280 IF N2 > D5 THEN 290

285 Y2 = Y2 + Q5 * (D5 - N2): PRINT "Y2 ="; Y2 286 GOTO 70

32

290 PRINT "Y2 ="; Y2

291 GOTO 70

295 IF H2 <> 2 THEN 70

300 P1 = T1 + 1: FOR I = P1 TO T2: S1 = S1 + X(I) 302 S2 = S2 + (X(I) - B) ^ 2

305 NEXT I: PRINT "Y1=0"

310 N1 = S1 / (T2 - T1): N2 = SQR(S2 / (T2 - T1)) 315 IF N2 < D3 THEN 330

320 PRINT "Y3=1", "СКО"; N2, "Выпуск"; O1, "Брак"; O2 325 GOTO 1000

330 IF N1 <= D7 THEN 350 335 S4 = 0: S3 = S3 + (N1 - D7) 340 IF S3 < D9 GOTO 380

345 Y2 = Y2 - Q6 * S3: PRINT "Y2 ="; Y2 346 S3 = 0: GOTO 70

350 IF N1 >= D8 THEN 380 355 S3 = 0: S4 = S4 + (D8 - N1) 360 IF S4 < D9 GOTO 380

370 Y2 = Y2 + Q5 * S4: S4 = 0: PRINT "Y2 ="; Y2 371 GOTO 70

380 PRINT "Y2 ="; Y2

381 GOTO 70

385 L = Y(1) ^ 2 - 12 * Y(1) + 20

395 W = W + 1: IF W = 1 THEN L1 = L 405 IF C = 1 THEN 445

415 IF L > L1 THEN 475

425 L1 = L: FOR I = 1 TO N1: P(I) = Y(I): NEXT I 430 FOR I = 1 TO A: Z1(I) = Z(I): NEXT I

435 GOTO 475

445 IF L < L1 THEN 475

450 L1 = L: FOR I = 1 TO N1: P(I) = Y(I): NEXT I 460 FOR I = 1 TO A: Z1(I) = Z(I)

475 PRINT "L ("; K1; ") ="; L

480 NEXT I

485 PRINT " РЕЗУЛЬТАТЫ РАСЧЕТА"

505 PRINT " L="; L1

510 FOR I = 1 TO N1: PRINT "Y("; I; ")="; P(I): NEXT I 512 FOR I = 1 TO A: PRINT "Z("; I; ")="; Z1(I): NEXT I 1000 P1 = 0: S1 = 0: S2 = 0: S3 = 0: S4 = 0

1010 N1 = 0: N2 = 0: P2 = 0: Y1 = 0: Y2 = 0 1020 F1 = 0: F2 = 0: F3 = 0: W = 0: L = 0: L1 = 0 1025 A = 0: P2 = 0: C = 0: H1 = 0

1030 FOR I = 0 TO 300

1040 X(I) = 0: Y(I) = 0: P(I) = 0: Z(I) = 0: Z1(I) = 0 1050 NEXT I

1060 PRINT "для продолжения нажмите Esc"

1070 DO

1075 LOOP UNTIL INKEY$ = CHR$(27)

33

1080 INPUT "Продолжить работу - 1, выйти из программы - 2 ", nm 1090 IF nm = 1 THEN 2

1095 END

34

Текст программы ARMK.BAS

CLS

6 PRINT "введите код необходимого модуля": PRINT " (0-дефростация," 7 PRINT " 1-фарш,": PRINT " 2-термообработка,"

8 PRINT " 7-конец программы"

9INPUT "код="; A

10IF A = 0 THEN 15

11IF A = 1 THEN 16

12IF A = 2 THEN 17

13IF A = 7 THEN 2995

14PRINT "ошибочная информация": GOTO 9

15GOSUB 25: GOTO 6

16GOSUB 1000: GOTO 6

17GOSUB 2000: GOTO 6

25 REM дефростация

26 CLEAR D

30 DIM X(3), X1(3), X2(3), F(7), E(7), Y(9), Y1(8), Y2(8), Z(9), Z1(3), Z2(5), Z5(9), Z6(9) 31 N = 0: P = 31: P1 = 4: PRINT

32

INPUT "номер камеры, в которую загружается сырье="; N2

33 PRINT "вид сырья? 0-свинина"

34

INPUT "

1-говядина="; K2:

35

INPUT "ВВЕДИТЕ КРИТ.ОПТ-ИИ 1-MIN ВРЕМ,2-MIN ПОТ.МАССЫ"; K3

38 IF K2 = 0 GOTO 500

39REM

40X1(0) = 40: X2(0) = 120: X1(1) = -16: X2(1) = -2

45F(0) = 14.2: F(1) = 60: F(2) = 20

50E(0) = 22.6: E(1) = 97: E(2) = 31

55Z1(0) = 0: Z1(1) = 1.5: Z2(0) = 4: Z2(1) = 7

60INPUT " масса туши(кг)="; X(0)

65IF X(0) < 40 THEN 76

70IF X(0) <= X2(0) GOTO 85

76PRINT "исх. данные не попадают в область доп. знач.от"; X1(0); "до"; X2(0)

80GOTO 60

85INPUT "температура внутри туши(град.c)="; X(1)

90IF X(1) < X1(1) GOTO 100

95IF X(1) <= X2(1) GOTO 110

100PRINT "исх. данные не попадают в область доп. знач.от"; X1(1); "до"; X2(1)

105GOTO 85

110A1 = 10.33 - .00926 * X(0) - .1066 * X(1)

113PRINT "================================================================="

115A2 = 8.350001 - 6.000001E-04 * X(0) + .1703 * X(1)

116PRINT "камера-"; N2; "сырье-ГОВЯДИНА": PRINT "-------------------------"

119PRINT "масса туши="; X(0); "кг": PRINT "температура внутри туши="; X(1); "град.C"

120FOR I = 0 TO 2: Y(I) = RND(7) * (E(I) - F(I)) + F(I): RANDOMIZE Y(I): NEXT I

122N = N + 1

35