книги из ГПНТБ / Основы автоматизации для металлургов
..pdfД л я печатания |
результата |
(М) в |
АЛГОЛ 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
ходима для использования операционных усилителей, в блоках аналоговых вычислительных машин применяют отрицательное уси ление. Упрощенно можно сказать, что усилитель изменяет не только величину, но и «знак» подаваемого сигнала. В результате высокого коэффициента усиления операционного усилителя на входе его (после включения усилителя в блок аналоговой ЭВМ) имеется практически нулевое напряжение. Например, при усилении
Л |
=—108 и выходном напряжении |
10 в напряжение на входе «і = |
= |
—0,1 мкв. Это близкое к нулю |
напряжение называется «вирту |
альным» нулем усилителя. Другим важным требованием, предъяв ляемым к операционному усилителю, является требование, чтобы
ток ig, подаваемый на вход усилителя, был пренебрежимо |
мал |
і„^0. |
(170) |
Ч > - *
Рис. 146. Инвертор Рис. 147. Сумматор
При выполнении указанных требований можно с помощью элек трических обратных связей создать аналоговые вычислительные
блоки: инвертор, сумматор, интегратор и др. |
|
|
|
|||||||||
И н в е р т о р . Подключением |
сопротивления Ri |
на |
вход |
усили |
||||||||
теля и сопротивления Ro между |
входом и выходом |
усилителя |
полу |
|||||||||
чают инвертор — блок, |
осуществляющий |
умножение |
аналоговой |
|||||||||
величины |
на |
отрицательную |
константу |
(рис. 146). |
Сопротивле |
|||||||
ние Ro создает |
отрицательную |
обратную |
связь усилителя. Выведем |
|||||||||
передаточную |
функцию |
инвертора. |
|
|
|
|
||||||
Из закона Кирхгофа получают выражение для токов, подавае |
||||||||||||
мых |
в точку |
/: |
|
|
|
|
|
|
|
|
||
h+h |
+ î, |
= |
0, |
|
|
|
|
|
|
|
(171) |
|
где величиной ig, согласно |
(170), можно пренебречь. |
|
|
|||||||||
Величину токов і0 и ц |
можно выразить при помощи закона Ома: |
|||||||||||
Ж |
+ * |
= |
|
|
|
|
|
|
|
|
( 1 |
7 2 ) |
После преобразования |
получим |
|
|
|
|
|||||||
|
Ri |
|
|
-kti, |
|
|
|
|
|
|
|
(173) |
|
|
|
|
|
|
|
|
|
|
|
|
Большое усиление, вследствие которого на входе усилителя по лучается виртуальный нуль, позволяет заменить уравнение (171) уравнением (173), в результате чего константа k будет зависеть только от величины присоединенных сопротивлений Ro и Ri и не будет зависеть (в определенных пределах) от остальных парамет ров усилителя (например, от частичных изменений усиления) и от нагрузки усилителя.
223
Уравнение (173) показывает, что выходное напряжение и0 прямо пропорционально входному напряжению, а коэффициент про порциональности k определяется отношением сопротивления обрат ной связи к сопротивлению на входе. Выходное напряжение имеет
обратный знак по |
сравнению с входным напряжением. Название |
||
«инвертор» возникло для случая |
k = ï, |
когда ио = —Ш- |
|
С у м м а т о р . |
Увеличением |
числа |
входных сопротивлений ин |
вертора получают так называемый сумматор (рис. 147), позволяю
щий |
осуществлять |
сложение |
аналоговых величин. Так же как и |
||||||||||
для инвертора, выведем передаточную функцию сумматора. |
|||||||||||||
Справедливо |
|
|
|
|
|
|
|
|
|
|
|||
h, + |
h2+ |
••• |
+ |
*'/„ + |
h = О, |
|
|
|
|
|
|
||
откуда |
До |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
R,2 |
|
|
|
|
Rin |
U, |
= |
|
|
|
\ |
Я*, |
|
|
|
|
|
|
|
||||
|
|
1 |
'2 1 |
• • |
• |
1 |
~'» |
|
|
||||
|
|
п |
|
|
|
п |
|
|
|
|
|
|
|
— |
У |
|
|
„ |
_ |
V |
LT |
„ |
|
|
|
|
|
— |
jia |
Р. |
u l e |
— |
А |
euie |
• |
|
|
|
|
|
|
|
|
|
|
|
|
( = 1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
'о Ui |
ГК |
Uo |
|
|
|
|
|
|
|
|
|
|
|
|
|
—о |
|
|
|
|
|
|
Рис. |
148. |
Интегратор |
|
|
|||
Передаточная функция сумматора также (в данном упрощен |
|||||||||||||
ном |
описании) |
зависит только |
от |
величины входных сопротивле |
|||||||||
ний и сопротивления обратной связи. |
|
|
|||||||||||
Инверторы и сумматоры используются при решении линейных |
|||||||||||||
алгебраических |
уравнений |
(при помощи этих устройств можно осу |
|||||||||||
ществлять |
сложение, |
вычитание и умножение на константу). |
|||||||||||
И н т е г р а т о р . |
При |
включении |
конденсатора |
в цепь обрат |
ной связи операционного усилителя при сохранении входного со
противления |
получается основной элемент |
для |
решения |
диффе |
||
ренциальных |
уравнений — интегратор |
(рис. |
148), который |
осу |
||
ществляет интегрирование аналоговых |
величин |
(напряжения) |
во |
|||
времени. |
|
|
|
|
|
|
Для токов, подаваемых в точку 1, справедливо уравнение |
(171), |
причем для тока, протекающего через конденсатор, справедливо выражение
і0 = С0 - dt -
После подстановки и исключения пренебрежимо малой вели чины ig получим
dt 0.
224
В результате |
интегрирования получим |
выражение |
||||
|
|
t |
|
|
t |
|
и0 = |
— - j f c ~ |
1 и'1 |
d i J r u o |
(0) = —k |
f Uidt-^tio |
(0), |
|
' 0 |
о |
|
о |
|
|
где |
k — передаточная |
функция |
интегратора, а и0 (0)—начальное |
условие, определяемое напряжением на конденсаторе обратной связи во время t = 0.
При более подробном анализе можно показать, что выполнение
условия |
ig-+0 |
имеет |
в интеграторе |
решающее значение. |
При на |
||||
личии |
входного |
тока |
происходит |
постоянная паразитная |
зарядка |
||||
(или |
разрядка) |
конденсатора обратной связи, что вызывает воз |
|||||||
растание ошибки при вычислениях. |
|
|
|||||||
Если |
увеличить |
число входных сопротивлений у интегратора, |
|||||||
то получится так |
называемый суммирующий интегратор. Для п |
||||||||
входных |
сигналов |
справедливо: |
|
|
|
||||
|
t |
n |
|
|
t |
п |
|
|
|
«о = -12 |
- г Л - " г , * т - и ( 0 ) = - |
0 |
J 2 ä A * + " ( 0 ) . |
|
|||||
|
0 < = 1 І Е |
|
|
|
1 = 1 |
|
|||
|
0 |
|
» |
; — 1 |
|
|
о—
Рис. 149. Д и ф ф е р е н ц и р у ю щ е е устройство
Интеграторы вместе с инверторами и сумматорами позволяют решать как отдельные линейные дифференциальные уравнения, так
исистему таких уравнений.
Ди ф ф е р е н ц и р у ю щ е е у с т р о й с т в о . Менее широко ис пользуемым в аналоговой вычислительной технике элементом яв ляется дифференцирующее устройство (рис. 149). У дифференци рующего устройства на входе усилителя подключен конденсатор; отрицательная обратная связь между входом и выходом усилителя реализуется с помощью сопротивления. Подстановкой в уравне ние (171) выражений для токов ц, і0 и ig получим
откуда
—г Г? d U t h d U i
И0 — c , / < o - r f j - — — Ä - r f j - .
Следует отметить, что частотные характеристики усилителей не отвечают требованиям, необходимым для дифференцирующих устройств. Производная сигнала имеет тем более высокое значение, чем выше частотный спектр сигнала. Таким образом, дифференци рующее устройство значительно усиливает паразитные мешающие сигналы — шумы, появляющиеся в ЭВМ. Продифференцированные
15 З а к а з № 141 |
225 |