Разработка алгоритма и программы расчета электрической цепи (напряжение цепи - 640 В, частота - 111 Гц), страница 9

h=t/n

sum=0

do 63 i=1,n

sum=sum+m(i)**2

63        continue

s=sum*h

td=sqrt((s)/t)

return

end

!         подпрограмма grafik

subroutine grafik(u,v,w,x,y,z,n,k,nu)

dimension u(n),v(n),w(n),x(n),y(n),z(n),lv(500),lh(500)

do 35 i=1,k

35      lh(i)='-'

open(unit=1,file='sas1.res')

open(unit=2,file='sas2.res')

open(unit=3,file='sas3.res')

open(unit=4,file='sas4.res')

write(*,*)

xmax=x(1)

xmin=x(1)

do 36 i=1,n

xmax=amax1(xmax,u(i),v(i),w(i),x(i),v(i),z(i))

36      xmin=amin1(xmin,u(i),v(i),w(i),x(i),v(i),z(i))

write(nu,37) (lh(i),i=1,k)

37      format(1x,127a1)

ras=xmax-xmin

n0=int(k/2)

do 39 i=1,n

n1=int((u(i)-xmin)*k/ras)+1

n2=int((v(i)-xmin)*k/ras)+1

n3=int((w(i)-xmin)*k/ras)+1

n4=int((x(i)-xmin)*k/ras)+1

n5=int((y(i)-xmin)*k/ras)+1

n6=int((z(i)-xmin)*k/ras)+1

do 38 l=1,k

38      lv(l)=' '

lv(n0)='!'

lv(n1)='@'

lv(n2)='#'

lv(n3)='$'

lv(n4)='%'

lv(n5)='^'

lv(n6)='&'

39      write(nu,40) (lv(q),q=1,k)

40      format(1x,127a1)

close(unit=nu)

return                  

end       

2.6  Подпрограмма INTEGRAL

2.6.1 Таблица идентификаторов подпрограммы

В программе

Пояснения

Т

Период

N

Число разбиений периода

TD

Значение определенного интеграла

M

Массив мгновенных значений

3.6.2 Блок-схема подпрограммы

2.6.3 Текст подпрограммы INTEGRAL

subroutine integral(m,t,n,td)

real m

dimension m(n)

h=t/n

sum=0

do 63 i=1,n-1

sum=sum+m(i)**2

63  continue

s=sum*h

td=sqrt((s)/t)

return

end

3.Описание программы.

3.1 Назначение программы.

Программа предназначена для расчета электрической цепи синусоидального тока заданной конфигурации.

Язык программирования  -- Фортран.

Программа проверена на контрольном примере. Может быть использована для исследования идентичной электрической цепи.

3.2. Описание логики.

3.2.1. Головной модуль.

1. Вводятся исходные значения параметров электрической  схемы в файл PROEKT.IN.

2. Находятся параметры для определения законов изменения токов и напряжений (углы сдвигов фаз, максимальные значения токов и напряжения).

3. Организуется внутренний цикл для расчета  массивов максимальных значений  токов в цепи и в ветвях.

4.Организуется обращение к подпрограмме INTEGRAL для нахождения действующих значений токов в цепи и в ветвях.

5. Осуществляется вывод таблицы исходных данных , действующих и амплитудных  значений токов, графиков зависимостей токов от времени в файл SAS1.RES.

6. Организуется внутренний цикл для расчета  массивов максимальных значений  напряжений на элементах и в цепи.

7. Организуется обращение к подпрограмме INTEGRAL для нахождения действующих значений напряжений на элементах и в цепи.

8. Осуществляется вывод действующих значений напряжений, графиков зависимостей напряжения от времени в файл SAS2.RES.

9. Организуется внутренний цикл для построения таблицы действующих значений  напряжения на элементах C2 и L3 и токов на них.

10. Организуется внутренний цикл для расчета  действующих значений  напряжения на элементах C2 и L3 при заданной частоте.

11. Организуется внутренний цикл для расчета  действующих значений  напряжения на элементах C2 и L3 при измененной частоте.

12. Осуществляется вывод графиков напряжений и токов на элементах C2 и L3 при заданной частоте и таблицы действующих значений  напряжения на элементах C2 и L3 и токов на них в файл SAS3.RES.

13. Осуществляется вывод графиков напряжений и токов на элементах C2 и L3 при скачкообразном изменении частоты со 111 Гц до 200 Гц.

3.2.2Подпрограмма INTEGRAL.

Обращение к подпрограмме имеет вид: call integral(mi,t,n,td), где

mi-массив мгновенных значений тока (напряжения) за период,

t-период

n-число разбиений периода синусоидальной функции

td-значение вычисленного интеграла

1.  Вычисляется H=T/N , где H - шаг интегрирования, T- период, N- число разбиений периода синусоидальной функции.

2.  Очистка ячейки, где будет накапливаться значение Sum=mi2.

3.  Вычисляется значения высоты прямоугольника в цикле.