17. Рябов И. В. Современные средства тушения пожаров пенами. М., Изд. МКХ РСФСР, 1987.
18. Смольников С. Пожар на танкере.— «Пожарное дело», 1969.
19. www.asutp.ru
20. www.advantech.ru
21. www.adastra.ru
22. Т.Н. Бакаева, А.В. Непомнящий, И.И. Ткачев. В помощь дипломнику: Методическая разработка к разделу "Безопасность и экологичность" в дипломном проекте (работе) для студентов всех специальностей. Таганрог: Изд-во ТРТУ, 2001.
23. Т.А. Пьявченко. Автоматизированные системы управления технологическими процессами и техническими объектами: Учебное пособие. Таганрог: ТРТУ, 1997.
Приложение 1
Листинг MatLab-программы для моделирования сигналов с датчиков.
F = 500;
Ngroup = 21;
Nvar =9;
mox = 21;
sigma = sqrt( 0.01 * (9+5)^2 );
Apom = 20*mox;
Akz = 25*mox;
Aobr = 0;
x = mox + sigma*randn(1, F);
D0 = cov(x);
subplot(5, 1, 1)
plot(x)
grid on
ylim([mox-sigma*10 mox+sigma*10])
text(1, mox-sigma*10+1, strcat('Дисперсия погрешности измерений:', num2str(D0)))
legend('Сигнал датчика');
pomnum = F/50; %кол-во импульсных помех с амплитудой Apom
for m = 1:pomnum
t = round(3 + (F-3) * rand(1)); %индекс элемента массива, где будет помеха. Лежит в интервале [3;F];
x(t) = Apom;
end
t = round(3 + (F-5) * rand(1)); %индекс элемента массива, где будет короткое замыкание. Лежит в интервале [3;F-2];
x(t) = Akz;
x(t+1) = Akz;
x(t+2) = Akz;
t = round(3 + (F-5) * rand(1)); %индекс элемента массива, где будет обрыв. Лежит в интервале [3;F-2];
x(t) = Aobr;
x(t+1) = Aobr;
x(t+2) = Aobr;
%D1 = cov(x);
subplot(5, 1, 2)
plot(x)
grid on
ylim([mox-sigma*10 mox+sigma*10])
legend('Сигнал в канале измерений');
%проверка на достоверность
errorcount = 0; %счетчик нарушений
j = 3;
XB = mox + (Nvar+2);
XH = mox - (Nvar+2);
last = x(1); %последнее достоверное значение
for k = j:F
if x(k)<XH | x(k)>XB
errorcount = errorcount + 1;
if errorcount == 3
razn = x(k)-x(k-j);
if razn < 0
obr = k;
else
kz = k;
end
errorcount = 0; %так как программа продолжает выполнение
x(k)=last;
else
x(k) = last;
end
else
errorcount = 0;
last = x(k);
end
end
D2 = cov(x);
subplot(5, 1, 3)
plot(x)
grid on
ylim([mox-sigma*10 mox+sigma*10])
text(1, mox-sigma*10+1, strcat('Дисперсия:', num2str(D2), '; КЗ на отсчете:', int2str(kz), '; Обрыв в канале на отсчете:', int2str(obr)))
legend('Сигнал после проверки на достоверность');
% Algoritmi sglajivaniya
Nzad = 10;
sigmazad = 0.00001;
% Sglajivaniye "skolzashego srednego"
M = ceil(Nzad);
for t = 1:M
xc(t) = x(t);
end
for k = M:F
sum = 0;
for j = k-M+1:k-M+M
sum = sum + x(j);
end
sum = sum / M;
xc(k) = sum;
end
xcd = xc(M:F);
D3 = cov(xcd);
subplot(5, 1, 4)
plot(xc)
grid on
ylim([mox-sigma*10 mox+sigma*10])
text(1, mox-sigma*10+1, strcat('Дисперсия:', num2str(D3), '; Коэфф. ослабления :', num2str(D2/D3), '; Тск.ср.=', int2str(M), '*Tопр'))
legend('Скользящее сглаживание');
% Exponencialnoye sglajivaniye
alpha = 2/(Nzad+1);
xe(1)=alpha*x(1);
for k = 2:F
xe(k) = xe(k-1) + alpha*(x(k)-xe(k-1));
end
Teks = 0.5*log(sigmazad)/log(1-alpha);
xed = xe(ceil(Teks):F);
D4 = cov(xed);
subplot(5, 1, 5)
plot(xe)
grid on
ylim([mox-sigma*10 mox+sigma*10])
text(1, mox-sigma*10+1, strcat('Дисперсия:', num2str(D4), '; Коэфф. ослабления :', num2str(D2/D4), '; Тэкс.сгл.=', num2str(Teks), '*Tопр'))
legend('Экспоненциальное сглаживание');
Программный модуль для реализации функции аналогового ввода сигналов от датчиков.
//измерение температуры
begin
open "com1: 9600, n, 8, 1, rs, cs, cd, ds" as #1;
writeln "конфигурация, ждите";
cmd: = "%01020е0600";
writeln #1,cmd;
result:=input(4,#1);
temp:=mid(result,1,3);
if temp<>"102" then goto ent;
delay = 7 goto dela;
vver:
cmd:= "@02lo+140.00";
writeln #1,cmd;
results:=inputs (4, #1);
temps:= mto(result,1,3);
if tempo"102" then goto vver;
delay:= 2 goto dela;
cmd:= "@02еам";
vver2:
writeln #1,cmd;
results:=inputs (4, #1);
temp:= mid(temp,1,3);
if temp<>"102" then goto vver2
delay = 2: goto dela
writeln " температура: °";
writeln " *контрольная температура:";
writeln " * сигнал управления:";
writeln " текущее время:";
while true do
begin
cmd:= "#02";
writeln #1,cmd;
temps;= inputs (9, #1);
temps:= mid(temp,2,7);
writeln temps;
writeln times;
cmos:= "@02d1";
writeln #1,cmd;
alarms:= inputs (9, #1);
alarms:= mid( alarm,6,1);
if (alarms ="2" or alarms ="3") then writeln "on"
else writeln "off";
end;
dela:
//"процедура временной задержки"
begin
start:= int(timer)
while delay>-1 do
begin
if (startoint(timer)) then delay = delay-1
end;
end;
end;
Вместимость танков и цистерн нефтеналивного танкера
Группа танков, цистерны | № танков и цистерн | Вместимость(нетто) м3 | |||
Грузовые танки | Отстойные танки | Балластные цистерны | общая | ||
1 группа | 1ПрБ,1ЛБ,5ПрБ 5ЛБ | 4155,4010, 5460,5315 | 18940 | ||
2 группа | 2ПрБ, 2ЛБ, 6ПрБ, 2ЛБ | 5460,5315, 5460, 5315 | 21550 | ||
3 группа | 3ПрБ, 3ЛБ 7ПрБ, 7ЛБ | 5460,5315 3800, 3700 | 18275 | ||
4 группа | 4ПрБ, 4ЛБ 8ПрБ, 8ЛБ | 5460,5315 | 870,705 | 12350 | |
1-4 группа | 71100 | ||||
Балластные цистерны | Б-1,Б-2,Б-3, Б-4 ,Б-5, Б-6, Б-7, Б-8, Б-9, Б10 | 2*3110 2*1525 2*3050 2*1525 2*1330 | 6220 3050 6100 3050 2660 | ||
Форпик Ахтерпик | 1635 535 | 1635 535 | |||
Балластные цистерны и пики | 23250 |
Функциональная схема системы.