Файл: Основы автоматизации для металлургов..pdf

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 14.10.2024

Просмотров: 115

Скачиваний: 0

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Д л я печатания

результата

(М) в

АЛГОЛ 60 имеется команда

OUTREAL

(2,

М)

 

 

. (2 — номер

периферийного

устройства).

Программа

на языке

АЛГОЛ

заканчивается обозначением

END.

Из приведенного примера видно, почему перед командами по­ мещаются метки 1:, 2:, которые используются при нарушении последовательного хода вычислений. В тех случаях, когда они не нужны (например, сигналы 2:, 3:, 4:, 6:), их можно выпустить и объединить блоки блок-схемы в более крупные единицы.

Напишем программу целиком:

BEGIN

 

INTEGER N, К;

R E A L M; REAL ARRAY A [1 : 100];

1 : INTEGER (1,

N);

2 : INREAL (1, A [1]);

3 : Af : = A [1];

 

4 : К: = 2 ;

 

5: INREAL (1, A

[K]);

6 : IF A [K] >M

THEN GO TO 7 E L S E GO TO 8;

7:M:=A[K];

8:IF/C=--JVTHEN GO TO 10 E L S E GO TO 9;

9:K: = K+\;

GO TO 5;

10 : OUTREAL (2, M);

END.

Пр и м е ч а н и я :

1.Жирным шрифтом даны обозначения языка А Л Г О Л 60. INTEGER R— декла­ рация переменной R, являющейся целым числом.

INTEGER (1, R)—команда

для считывания переменной R, являющейся це­

лым числом.

 

2. Читатель, который обладает знаниями в области программирования, по-види­ мому, заметил, что приведенная программа на языке АЛГОЛ может быть еще существенно упрощена; этого не было сделано для облегчения понимания прин­ ципов использования языков программирования.

Приведенный пример является примером очень подробной блоксхемы решения. Для объемных задач сначала обычно подготав­ ливают укрупненную блок-схему, используемую для нахождения общего языка между тем, кто дает задание, и программистом ЭВМ (если задачу не программирует тот, кто составляет задание на программирование).

Рассмотрим процесс составления укрупненной блок-схемы на примере упрощенного расчета схемы обжатий для прокатки слябов на реверсивном прокатном стане.

216


Для расчета известны параметры прокатной клети, размеры, состав и температура прокатываемых слитков, схема расчета тем­ пературы и длины раската перед каждым проходом (для извест­ ной величины обжатия). Далее задана требуемая толщина заго­ товки по окончании прокатки.

При неправильном выборе режима прокатки может произойти повреждение прокатной клети в результате превышения допусти­ мых пределов величины момента прокатки либо в результате пре­ вышения усилия прокатки. Задание заключается в определении такой схемы обжатий, при которой обжатие за один проход было бы максимальным, но не приводило к превышению указанных пре­ делов, которые (при принятом упрощении) являются главными ограничениями при вычислении.

Составим блок-схему для случая, когда прокатка ведется только

в продольном направлении и не происходит уширения

материала

(рис. 140).

 

Обозначим температуру заготовки перед проходом

толщину

перед проходом h, длину /. Ширину прокатываемого слитка обозна­ чим s. Следует найти максимальную величину последующего об­ жатия.

Формулу

для

вычисления максимально допустимого обжа­

тия gi,

при

котором еще не превышен допустимый максимальный

момент прокатки,

обозначим как формулу 1:

gi=gi

(t, h,

l, s).

Аналогично можно при помощи формулы 2 определить макси­ мально допустимое обжатие g2, при котором еще не превышено допустимое усилие прокатки:

£2 = Ы * . Л , /, s).

Таким образом, программа должна позволить определить на­

чальные

размеры

и температуру слитка

(блок

/ ) , определить

ко­

нечный

размер

b

(блок 2). Затем

нужно

рассчитать gx и

g2

для

первого прохода

(блок 7, 8) и выбрать допустимое обжатие с точки

зрения

прочности

прокатной

клети

(блок 9).

При этом

необхо­

димо обращать

внимание на

то, чтобы не была

превышена

мини­

мальная толщина сляба b (блоки 10, 11, 12), После определения

правильного значения g

при помощи вспомогательных формул

(блоки 10,

12, 13)

будут

рассчитаны

значения

h, I, t, которые бу­

дет иметь

раскат

после

прохода и

которые

являются входными

данными для повторного использования формул (1) и (2) при вы­ числении g для следующего прохода.

Блок 5 предназначен для остановки вычислений при достиже­

нии

заданных

ограничений, блоки 6 и 14 — для печатания резуль­

татов в

виде:

 

 

ki,

h,

slt

Ii,

tu

gx

^2,

h-2,

S2,

l2,

t2,

§2

217


Считывание Bxoduùix значений h, s,/, t

( параметры слитка)

2:

Считывание значения b

y'

Печатание заголовка

I

Выходного документа

 

l<=1

hi b

У

 

Нет

 

6: Печатание нобой строки, печатание значений Л, h, s, l, t

7- Вычисление Величина/ gr

'•' Вычисление Величины рг

min<grg2 > —-у

10:h-g-~h

с!

b< h

У

 

 

 

Нет

 

/<?' g+h-b-^g

b-~h

Да

Да

13: Вычисление Величин l, t по вспомогательным

формулам

Ѵ*: Печатание Величины g

W

k + 1-^k

Рис. 140. Блок-схеыа программы д л я определения схемы о б ж а т и й (1—15блоки)

Индексы здесь

означают отдельные проходы, k — номер прохода

(k= 1, £ = 2 и т. д.).

 

Для определения величины k в блок-схеме

использованы блоки

4 и 15. Блок 3

означает печатание заголовка на бланке.

Блок-схема

составляется последовательно

с различной степенью

подробности. При первом расчете алгоритма составляется укруп­ ненная блок-схема, в которой в операционных блоках обозначены лишь отдельные этапы вычислений без детальной разработки опе­ раций. Перед собственно программированием необходимо иметь в распоряжении как можно более подробную блок-схему.

Каждый специалист, пользующийся автоматической ЭВМ, дол­ жен уметь подготавливать блок-схемы для решения своих задач. Блок-схема задачи является основным документом для работы программиста.

Для ознакомления с собственно программированием можно ис­ пользовать соответствующую литературу [37, 38].

3.о с н о в ы К О Н С Т Р У И Р О В А Н И Я

ИП Р О Г Р А М М И Р О В А Н И Я А Н А Л О Г О В Ы Х Э В М

Электронные аналоговые вычислительные машины [28, 32], в ко­

торых

для

отображения

независимой переменной

используется

время,

а

зависимой переменной — электрическое

напряжение,

представляют

собой вычислительные устройства, основное оборудо­

вание

которых

и способы программирования

настолько устоялись,

что являются

практически

стандартными

(унифицированными).

Это является основным преимуществом при их практическом при­ менении.

Рассмотрим лишь наиболее типичные области применения уни­ версальных аналоговых ЭВМ, т. е. их использование при решении линейных и нелинейных дифференциальных уравнений и систем уравнений.

Каждая проблема, которая решена на аналоговой ЭВМ, должна быть, как и у цифровых ЭВМ, проанализирована и описана в виде алгоритма. У цифровых ЭВМ необходимо перед программирова­ нием выразить алгоритм при помощи блок-схем, для аналоговой ЭВМ обычно достаточна для программирования точная запись ис­ ходных дифференциальных уравнений. Чтобы аналоговая ЭВМ могла решить эти уравнения и чтобы ее использование могло быть универсальным, она содержит основные вычислительные блоки, реализующие те математические операции, на которые можно раз­ ложить решение дифференциальных уравнений. Решение линейных уравнений практически можно осуществить, выполняя операции сложения функций, умножения функций, умножения на коэффи­ циент и интегрирования функций. Для решения нелинейных задач следует выполнять с функциями нелинейные операции, такие как возведение функций в степень и др.

219


На рис. 141, например, показана схема блока, осуществляю­

щего интегрирование входной аналоговой величины

//» (х) с уче­

том начального значения С.

 

Если, например, синусоидальное напряжение uv.

(t) = Hi sin(/)

соответствует уі(х) и если C = Uu то выходная величина уо(х) со­ ответствует напряжению uv (х) = Ui cos(/).

Следующий блок (рис. 142) осуществляет умножение входной аналоговой величины yt (х) на константу а.

 

 

 

 

/

 

УІ

w

О

 

 

 

Рис.

141.

Блок, осуществляющий

инте-

Рис.

142. Блок,

осуществляющий

 

 

 

грирование

 

 

 

у м н о ж е н и е

на

константу

Если,

например,

вновь

синусоидальное

напряжение иѵ =

— Iii

sin

(t)

соответствует УІ(Х) и

если

а = 5,

то тогда величине

Уо (х)

соответствует

синусоидальный

характер

напряжения

5 Ui sin

(t).

 

 

 

 

 

 

 

 

 

 

 

С*

 

Самописец

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

координатноій

 

 

 

 

 

-у'(х)

 

уМ

 

 

 

 

 

 

а0у(х)

О

 

 

Рис.

143. Решение простого

 

 

 

 

дифференциального

уравне­

 

 

 

 

 

ния

 

Дифференциальное

уравнение

 

 

? (х) +

Ооу(х)=0,

у(0)

=

С0

 

 

можно

решить, . соединив

рассмотренные

выше блоки

согласно

рис. 143, так как

 

 

 

 

 

«оУ (•*) = -У' (х).

Отсюда видно, что решение задачи реализовано соответствую­ щим соединением двух блоков аналоговой ЭВМ.

Каждая универсальная аналоговая ЭВМ содержит блоки, по­ зволяющие осуществлять линейные операции, а тем самым и ре­ шать линейные дифференциальные уравнения. Большинство ана­ логовых ЭВМ оснащено также и нелинейными блоками.

220