Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 01.06.2015, 18:04   #1
IvanNaymov
 
Регистрация: 14.12.2014
Сообщений: 6
По умолчанию Опрос датчиков. Не могу построить графики, постоянно появляются какие-то проблемы.

В общем задали следующее задание:
Цитата:
При разработке программ источником данных является программная модель объекта управления.
На объекте установлены датчики, осуществляющие измерение некоторых физических переменных: температуры, давления, скорости, расхода и др. Каждый датчик имеет свой уникальный номер, по которому они могут отличаться друг от друга. Вместе с аппаратурой связи с вычислительной системой датчик образует измерительный канал, которому можно приписать тот же номер, что и у датчика. Для того, чтобы указать, с помощью какого датчика требуется в данный момент произвести измерение, надо назвать номер этого датчика и получить измеренное значение.
Разработчик программы имеет возможность из своей программы инициировать измерения или управление объектом. Для реализации измерения по некоторому каналу в программе предусмотреть вызов процедуры OPROS(KAN_IZM, X, WSPOM), где KAN_IZM – переменная, в которой сохраняется номер датчика, от которого требуется получить измерение. После завершения выполнения процедуры и возврата управления в вызвавшую ее программу измеренное значение будет размещено в переменной, указанной на втором месте в списке фактических параметров процедуры (в примере – в переменной X). Третий параметр – WSPOM – вспомогательный, который должен быть описан в программе и использоваться только при обращении к процедурам измерения и управления.
Для реализации подачи управляющего воздействия на объект в программе должна быть вызвана процедура UPRAV(KAN_UPR, U, WSPOM), где KAN_UPR – переменная, которой до обращения к процедуре должно быть присвоено значение, равное номеру устройства управления, которое должно использоваться для воздействия на объект, U – переменная, которой также до обращения к процедуре должно быть присвоено значение управляющего воздействия, подаваемого на объект, WSPOM – тот же, что и в процедуре OPROS.
Переменные KAN_IZM и KAN_UPR должны быть описаны в программе как INTEGER, а переменные X и U – как REAL.
Процедуры OPROS, UPRAV находятся в модуле INTRFC.TPU, который должен быть включен в программу при ее построении. При этом программа должна быть построена по следующему шаблону:
Program A;
Uses INTRFC;
Var KAN_IZM, KAN_UPR: INTEGER;
X,U : REAL;
WSPOM : MASSIV;
. . . . . . . . . . . . . . . .
UPRAV(KAN_UPR, U, WSPOM);
. . . . . . . . . . . . . . . .
OPROS(KAN_IZM, X, WSPOM);
. . . . . . . . . . . . . . . . .

Задание: разработать программу, осуществляющую опрос датчиков и управление техническим объектом по заданному закону.

Исходные данные: M1, M2 – номера опрашиваемых датчиков, L – номер канала управления, J – номер канала измерения отклика, N – число моментов выработки управляющих воздействий, B1, B2, B3, B4, B5, B6 – коэффициенты, определяющие закон управления, Yжел – желаемое значение отклика объекта.

Алгоритм:
1.Ввести исходные данные : M1, M2, L, J, N, B1, B2, B3, B4, B5, B6, Yжел.
2.Произвести измерения с помощью датчиков M1 и M2, запомнить измеренные значения X1[1], X2[1].
3.Вычислить значение управляющего воздействия по формуле
U[1] = B1+B2*X1[1]+B3*ln( Yжел +B4+B5*eB6*X2[1]) .
4.Подать управляющее воздействие U[1] на объект по каналу управления с номером L.
5.Произвести измерение с помощью датчика с номером J, запомнить измеренное значение Y[1].
6.Вывести на экран значения X1[1], X2[1], U[1], Y[1].
7.Повторить операции 2-6 N раз, получая, соответственно, X1[2], X2[2], U[2], Y[2],….,X1[N], X2[N], U[N], Y[N].
8.По накопленным данным вычислить и вывести на экран значение оценки качества управления
Q=((Y[1]-Yжел)2+(Y[2]-Yжел)2+…+(Y[N]-Yжел)2 )/N.

Исследовательская часть: изучить, как меняется значение оценки качества управления Q в зависимости от одного из коэффициентов Bi. Подобрать значение Bi так, чтобы оценка Q была возможно меньшей.
(Преподаватель сказал что необходимо построить график)
В общем проблема возникает в самой исследовательской части, программа просто зависает когда проходит этот цикл, а иначе я просто не понимаю как сделать график:
Код:
b[2]:=-0.5;
  repeat
     for i:=1 to N do
    begin
      OPROS(M1, B2X1[i], VS);
      OPROS(M2, B2X2[i], VS);
      UB2[i]:=B[1]+B[2]*B2X1[i]+B[3]*Ln(YJEL+B[4]+B[5]*exp(B[6]*B2X2[i]));
    end;
  for i:=1 to N do
    begin
      UPRAV (L, UB2[i], VS);
      OPROS (J, YB2[i], VS);
    end;
  for i:=1 to n do
      QB2:=QB2+(exp(ln(abs(YB2[i]-YJEL))*2))/N;
    series1.AddXY(B[2],qb2);
    b[2]:=b[2]+0.1;
  until (b2[2]=1.5);
Программа, которую написал, во вложении: на rghost, потому что сюда не влезла. Спасибо за внимание, надеюсь на вашу помощь!
Да еще возможно стоит добавить: для проверки необходимо вводить такие числа типа (1 6 7 31 любое 100) (коэффициенты такие чтоб попасть в диапазон -70 до 70: -10 0,5 0,05 -10 10 10) вводится все по табулятору

Последний раз редактировалось IvanNaymov; 01.06.2015 в 19:18.
IvanNaymov вне форума Ответить с цитированием
Старый 01.06.2015, 20:50   #2
IvanNaymov
 
Регистрация: 14.12.2014
Сообщений: 6
По умолчанию

Все можно закрывать, разобрался.
IvanNaymov вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
qbasic. построить графики функций СТУДЕНТ-БЕДАЛАГА Помощь студентам 12 23.05.2014 17:40
На одной координатной сетке построить графики функций. не могу разобраться с курсовой nastya_love Паскаль, Turbo Pascal, PascalABC.NET 1 26.05.2013 21:15
построить графики функции... ildar28 Помощь студентам 1 06.04.2012 11:29
Помогите построить графики! Duke 1991 Microsoft Office Excel 1 03.06.2009 00:40
построить ГРАФИКИ двух функций felmor Паскаль, Turbo Pascal, PascalABC.NET 1 29.04.2009 16:35