Министерство Образования Республики Таджикистан
Таджикский Технический Университет
имени академика М. С. Осими
Кафедра: «АСОИ и У»
Курсовая работа
Тема: «Регулировочный участок цеха»
Выполнил: студент 3 –го курса
группы 2202 б2
Приняла: преподаватель кафедры
Ли И.Т
Душанбе – 2010
Аннотация
В данной курсовой работе рассматривается регулировочный участок цеха. На нем выполняются регулировка агрегатов, поступающих по два в среднем через 30 мин. Первичная регулировка осуществляется для двух агрегатов одновременно и занимает около 30 мин. Если в момент прихода агрегатов предыдущая партия не была обработана, поступившие агрегаты на регулировку не принимаются. Агрегаты после первичной регулировки, получившие отказ, поступают в промежуточный накопитель. Из накопителя агрегаты, прошедшие первичную регулировку, поступают попарно на вторичную регулировку, которая выполняется в среднем за 30 минут, а не прошедшие первичную регулировку поступают на полную, которая занимает 100 минут для одного агрегата. Все величины, заданные средними значениями, распределены экспоненциально.
Моделируется работа участка в течении 100 часов. Находится вероятность отказав первичной регулировке и загрузка накопителя агрегатами, нуждающимся в полной регулировке. Нужно определить параметры и ввести в систему такой накопитель, чтобы обслуживание было безотказное.
Для решения этой задачи в курсовой работе содержится концептуальная модель процесса функционирования, переменные имитационной модели, обобщенная схема моделирующего алгоритма и листинг программы на языке Visual Basic.
Содержание
Введение
1. Теория массового обслуживания. Основные понятия
Предмет и задачи теории массового обслуживания
Система массового обслуживания
Классификация СМО
Характеристики СМО
2 . Постановка задачи
3. Концептуальная модель
4. Переменные и уравнения имитационной модели
5 Обобщенная схема моделирующего алгоритма
6 Особенности программирования
6.1 Краткая характеристика технологии реализации
6.2 Описание функций программы
6.3 Описание интерфейса
Заключение
Список литературы
Приложение. Листинг программы
Введение
В настоящее время нельзя назвать область человеческой деятельности, в которой в той или иной степени не использовались бы методы моделирования. Особенно это относится к сфере управления различными системами, где основными являются процессы принятия решении на основе полуученой информации.
Обобщенно моделирование можно определить как метод последовательного познания, при котором изучаемый объект – оригинал находится в некотором соответствии с другим объектом – моделью, причем модель способно в том или ином отношении заменить оригинал на некоторых стадиях познавательного процесса. Стадии познания, на которых проходит такая замена, а также формы соответствие модели и оригинала могут быть различимы:
1.Моделирования как познавательный процесс, содержащий переработку информации, поступающей из внешний среды, о происходящих в ней явлениях, в результате чего в сознании появляются образы, соответствующие объектом.
2. Моделирование заключается в построение некоторой системы модели причем в этом случае отображение одной системы в другой является средством выявления зависимостей между двумя системами, отражениями в соотношениях подобия, а не результатом непосредственного изучения поступающей информации.
В настоящее время распространены методы машинной реализации
Исследования характеристик процесса функционирование больших систем. Для реализации математической модели на ЭВМ необходимо построить соответствующий моделирующий алгоритм.
При имитационном моделировании реализирующий алгоритм производит процесс функционирования системы S во времени, причем имитируется элементарные явления, составляющие процесс, с сохранением их логической структуры и последовательности протекания во времени, что позволяет по исходным данным получить сведение о состояниях процесса в определенные моменты времени, дающие возможность оценит характеристики системы S.
Имитационные модели поваляют достаточно просто учитывать такие факторы, как наличие дискретных и не прорывных элементов, нерелейные характеристики элементов системы, многочисленные случайные воздействия и другие которые часто создают трудности при аналитических исследовании. В настоящее время имитационное моделирование – наиболее эффективный метод исследования больших систем, а часто и единственный практически доступный метод получение информации о поведении системы особенно на этапе ёё проектирования.
Построение имитационных моделей больших систем и проведение машинных экспериментов с этими моделями представляют с собой достаточно трудоемкий процесс, в котором в настоящее время много неизученного. Однако специалисты в области проектирования, исследования и эксплуатации больших систем должны в совершенстве знать методологию машинного моделирования, сложившуюся в настоящие время, чтобы быть готовым использовать ЭВМ следующих поколений, которые позволят сделать еще один существенный шаг в автоматизации построение моделей и использования имитационного моделирования систем.
1. Теория массового обслуживания. Основные положения
1.1 Предмет и задачи теории массового обслуживания
Теория массового обслуживания опирается на теорию вероятностей и математическую статистику.
На первичное развитие теории массового обслуживания оказали особое влияние работы датского ученого А.К. Эрланга (1878-1929).
Теория массового обслуживания – область прикладной математики, занимающаяся анализом процессов в системах производства, обслуживания, управления, в которых однородные события повторяются многократно, например, на предприятиях бытового обслуживания; в системах приема, переработки и передачи информации; автоматических линиях производства и др. Предметом теории массового обслуживания является установление зависимостей между характером потока заявок, числом каналов обслуживан6ия, производительностью отдельного канала и эффективным обслуживанием с целью нахождения наилучших путей управления этими процессами. Задача теории массового обслуживания – установить зависимость результирующих показателей работы системы массового обслуживания (вероятности того, что заявка будет обслужена; математического ожидания числа обслуженных заявок и т.д.) от входных показателей (количества каналов в системе, параметров входящего потока заявок и т.д.). Результирующими показателями или интересующими нас характеристиками СМО являются показатели эффективности СМО, которые описывают способна ли данная система справляться с потоком заявок.
Задачи теории массового обслуживания носят оптимизационный характер и в конечном итоге включают экономический аспект по определению такого варианта системы, при котором будет обеспечен минимум суммарных затрат от ожидания обслуживания, потерь времени и ресурсов на обслуживание и простоев каналов обслуживания.
1.2 Система массового обслуживания
Система обслуживания считается заданной, если известны:
1) поток требований, его характер;
2) множество обслуживающих приборов;
3) дисциплина обслуживания (совокупность правил, задающих процесс обслуживания).
Каждая СМО состоит из какого-то числа обслуживающих единиц, которые называются каналами обслуживания. В качестве каналов могут фигурировать: линии связи, различные приборы, лица, выполняющие те или иные операции и т.п
Всякая СМО предназначена для обслуживания какого-то потока заявок, поступающих в какие-то случайные моменты времени. Обслуживание заявок продолжается какое-то случайное время, после чего канал освобождается и готов к приему следующей заявки. Случайный характер потока заявок и времен обслуживания приводит к тому, что в какие-то периоды времени на входе СМО скапливается излишне большое число заявок (они либо становятся в очередь, либо покидают СМО не обслуженными); в другие же периоды СМО будет работать с недогрузкой или вообще простаивать.
Процесс работы СМО представляет собой случайный процесс с дискретными состояниями и непрерывным временем; состояние СМО меняется скачком в моменты появления каких-то событий ( или прихода новой заявки, или окончания обслуживания, или момента, когда заявка, которой надоело ждать, покидает очередь ).
1.3 Классификация СМО
Для облегчения процесса моделирования используют классификацию СМО по различным признакам, для которых пригодны определенные группы методов и моделей теории массового обслуживания, упрощающие подбор адекватных математических моделей к решению задач обслуживания в коммерческой деятельности.
1.4. Характеристики СМО
Перечень характеристик систем массового обслуживания можно представить следующим образом:
среднее время обслуживания;
среднее время ожидания в очереди;
среднее время пребывания в СМО;
средняя длина очереди;
среднее число заявок в СМО;
количество каналов обслуживания;
интенсивность входного потока заявок;
интенсивность обслуживания;
интенсивность нагрузки;
коэффициент нагрузки;
относительная пропускная способность;
абсолютная пропускная способность;
доля времени простоя СМО;
доля обслуженных заявок;
доля потерянных заявок;
среднее число занятых каналов;
среднее число свободных каналов;
коэффициент загрузки каналов;
среднее время простоя каналов.
2. Постановка задачи
На регулировочном участке цеха выполняются регулировка агрегатов, поступающих по два в среднем через 30 мин. Первичная регулировка осуществляется для двух агрегатов одновременно и занимает около 30 мин. Если в момент прихода агрегатов предыдущая партия не была обработана, поступившие агрегаты на регулировку не принимаются. Агрегаты после первичной регулировки, получившие отказ, поступают в промежуточный накопитель. Из накопителя агрегаты, прошедшие первичную регулировку, поступают попарно на вторичную регулировку, которая выполняется в среднем за 30 минут, а не прошедшие первичную регулировку поступают на полную, которая занимает 100 минут для одного агрегата. Все величины, заданные средними значениями, распределены экспоненциально.
Смоделировать работу участка в течении 100 часов. Найти вероятность отказа в первичной регулировке и загрузку накопителя агрегатами, нуждающимся в полной регулировке. Определить параметры и ввести в систему такой накопитель, чтобы обслуживание было безотказное.
3. Концептуальная модель
Кп
Нп
И К1 Н2 К2
В данной концептуальной модели использованы следующие обозначения:
И – источник, К - канал, Н – накопитель;
Нп– накопитель полной регулировки;
Н2– накопитель 2-й регулировки;
Кп– прибор полной регулировки;
К1– прибор 1-й регулировки;
К2 – прибор 2-й регулировки.
Источник И имитирует поступающие на участок агрегаты. Если прибор К1 занят, то клапан 1 перенаправляет агрегаты в накопитель Нп для полной регулировки. Из Нп агрегаты поступают по одному в Кп. Через И поступает очередная заявка и К1 свободен то К1 обработав агрегаты направляет их в Н2. Из Н2 агрегаты по 2 поступают в К2, если К2 не занят.
Концептуальная модель при нахождении оптимального накопителя
И Н1 К1 Н2 К2
Данная модель рассматривается если мы нашли такой накопитель Н1 при котором агрегаты не сбрасываются, т.е. не нуждаются в полной регулировке
4. Переменные использованные в имитационной модели
Входные переменные:
Tau_postupleniya= 30 – среднее время поступления агрегатов на участок;
Tau_obs_1ya_regul = 30 – среднее время обслуживания при первичной регулировке ;
Tau_obs_2ya_regul = 30 – среднее время обслуживания при вторичной регулировке ;
Tau_obs_polnaya_regul = 100 – время обслуживания при полной регулировке ;
Tmod = 6000 – общее время моделирования.
Эндогенные переменные:
Kobs-количество агрегатов прошедшие 2-ю и полную регулировку;
Kotk –количество агрегатов не прошедшие 1-ю регулировку;
Tsis1 , Tsis2, TsisP – время прибивания агрегатов в 1-й, 2-й и полной регулировке соответственно;
Tpost –время поступления очередной заявки;
Tosv1 , Tosv2 , TosvP-время освобождения прибора в 1-й,2-й и полной регулировке соответственно;
Toj1,Toj2, TojP-время ожидания заявок в 1-м,2-м и полном накопителе соответственно;
Tnezan1 , Tnezan2, TnezanP-время незанятости приборов.
Вспомогательные переменные:
х – случайно генерируемое число;
К –количество поступивших агрегатов;
n –размерность накопителя при 2-й регулировке;
m –размерность накопителя при полной регулировке;
р- размерность накопителя при 1-й регулировке ;
ap –кол-во обслуженных агрегатов в полной регулировке;
a2 –кол-во обслуженных агрегатов во 2-й регулировке;
LP –средняя длина очереди для полной регулировки при поступлении очередной заявки;
L1- средняя длина очереди для 1-й регулировки при поступлении очередной заявки;
Vmestimost-оптимальная вместимость накопителя при 1-й регулировке.
5. Обобщенная схема моделирующего алгоритма
Для формализации процесса функционирования системы использован алгоритм с последовательной проводки заявок. Принцип последовательной проводки заявок является наиболее экономичным из всех принципов.
Блок – схема
Обобщенная схема алгоритма для нахождения оптимального накопителя
6. Особенности программирования
6.1 Краткая характеристика технологии реализации
Программа разработана на языке программирования Visual Basic 6. Программа запускается с Kursovoy proekt(3-y variant).exe.
6.2 Описание функций программы
Программа реализует моделирование работы регулировочного участка цеха. Программа позволяет вводить начальные переменные. Это позволяет сделать сравнительный анализ работы системы.
В программе используется 2 процедуры между которыми можно переключаться с помощью ComandButton 1 и ComandButton2
В процедуре Comand1(Click) происходит имитация поступления пакетов от источника с интервалом 30м , и вычисление: количество поступивших пакетов, количество отказанных пакетов на первичную регулировку, нагрузка накопителя при полной регулировке и коэффициент простоя системы .
В процедуре Comand2(Click) происходит определение вместимости накопителя которое мы вводим в систему для безотказной работы системы и другие характеристики новой системы.
6.3 Описание интерфейса
После запуска программы открывается окно, в котором можно наблюдать режим работы системы. Теперь краткая информация предназначения каждой кнопки:
«Пуск» - после нажатия происходит запуск данной системы и можно в последующем наблюдать показатели изменяющиеся в реальном времени.
Также с этой кнопкой находятся текстовые поля, в которых задается начальные данные системы.
Рисунок – Интерфейс основного окна программы
Также можно увидеть постановку задачи и структурную схему нашей СМО.
«Пуск» - после нажатия происходит запуск нашей СМО уже с включенным в него накопителем перед участком 1-го регулирования, при этом структурная схема изменяется:
Скриншот программы с результатами
Заключение
Машинное моделирование за последние десятилетие превратилось из эксперимента для получения численных решений различных аналитических задач в мощный аппарат исследования и проектирования больших систем. Метод моделирования с успехом переменяется в различных систем.
В настоящее время метод моделирования на ЭВМ, учитывая сложности объекта широко распространен как при анализе, так при синтезе АСХ. Включение машинных моделей в состав АСУ позволяет решать задачи планирование и управление, прогнозирования, дискретизации и т.д.
Эффективность моделирования определяется разработкой научных основ моделирования и развитием средств вычислительной техники.
Существенное развития моделирование получает при использование накатов прикладных программ имитации и многомашинных вычислительных комплектов, позволяющих исследовать на качественном уровне сложные классы систем.
Анализ результатов моделирования работы регулировочного участка позволяет сделать вывод о крайне неэффективном его устройстве, т.к. количество необработанных деталей крайне велико. Это связано с тем, что время обработки одной детали при полной регулировке намного больше времени поступления деталей на участок.
Одним из способов уменьшения вероятности отказа является увеличение периода поступления заявок .
Еще одним способом уменьшения количества отказов является уменьшение времени до полной регулировки. Однако при таком изменении производственного процесса (что уже нежелательно) мы получим меньше обработанных деталей.
Приложение
Листинг программы
Private Sub Command1_Click()
Dim Tau_obs_1ya_regul As Integer, Tau_obs_2ya_regul As Integer, Tau_obs_polnaya_regul As Integer
Dim Tau_postupleniya As Integer
Dim Toch2(200) As Double
Dim TochP(200) As Double
Dim Tsis1 As Double, Tsis2 As Double, TsisP As Double
Dim Tobs1 As Currency, Tobs2 As Currency, TobsP As Currency
Picture1.Picture = LoadPicture(App.Path & "\1-yachast.jpg")
List1.Clear
List2.Clear
x = 0.5
Tau_postupleniya = Val(Text1.Text)
Tau_obs_1ya_regul = Val(Text2.Text)
Tau_obs_2ya_regul = Val(Text3.Text)
Tau_obs_polnaya_regul = Val(Text4.Text)
Tmod = 6000
K = 0
Kobs = 0
Kotk = 0
Tsis1 = 0: Tsis2 = 0: TsisP = 0
Tpost = 0
Tosv1 = 0: Tosv2 = 0: TosvP = 0
Toj2 = 0: TojP = 0
Tnezan1 = 0: Tnezan2 = 0: TnezanP = 0
n = 0
m = 0
ap = 0
a2 = 0
LP = 0
5: x = Rnd(x)
Tau = -Tau_postupleniya * Log(x)
Tpost = Tpost + Tau
If Tpost > Tmod Then
GoTo 40
Else
GoTo 10
End If
10: K = K + 2
If Tpost < Tosv1 Then
GoTo 30
Else
Tnezan1 = Tpost - Tosv1
x = Rnd(x)
Tobs1 = -Tau_obs_1ya_regul * Log(x)
Tosv1 = Tpost + Tobs1
Tsis1 = Tsis1 + Tobs1
GoTo 20
End If
20: If Tosv1 < Tosv2 Then
n = n + 2
Toch2(n - 1) = Tosv1
Toch2(n) = Tosv1
GoTo 5
Else
If n = 0 Then
Kobs = Kobs + 2
a2 = a2 + 2
Tnezan2 = Tosv1 - Tosv2
x = Rnd(x)
Tobs2 = -Tau_obs_2ya_regul * Log(x)
Tosv2 = Tosv1 + Tobs2
Tsis2 = Tsis2 + Tobs2
List2.AddItem (Str(Kobs - 1) + " и " + Str(Kobs) + " агрегаты - " + Str(Tobs2))
GoTo 5
Else
n = n + 2
Toch2(n - 1) = Tosv1
Toch2(n) = Tosv1
Voj2 = Tosv2 - Toch2(1)
For i = 1 To n - 2
Toch2(i) = Toch2(i + 2)
Next i
n = n - 2
Toj2 = Toj2 + Voj2
x = Rnd(x)
Tobs2 = -Tau_obs_2ya_regul * Log(x)
Tsis2 = Tsis2 + Tobs2 + Voj2
Tosv2 = Tosv2 + Tobs2
Kobs = Kobs + 2
a2 = a2 + 2
List2.AddItem (Str(Kobs - 1) + " и " + Str(Kobs) + " агрегаты - " + Str(Tobs2))
GoTo 5
End If
End If
30: Kotk = Kotk + 2
If Tpost < TosvP Then
m = m + 2
LP = LP + m
TochP(m - 1) = Tpost
TochP(m) = Tpost
GoTo 5
Else
If m = 0 Then
m = 1
LP = LP + m
TochP(m) = Tpost
Kobs = Kobs + 1
ap = ap + 1
TnezanP = Tpost - TosvP
TobsP = Tau_obs_polnaya_regul
TosvP = Tpost + TobsP
TsisP = TsisP + TobsP
List2.AddItem (Str(Kobs) + " агрегат - " + Str(TobsP))
GoTo 5
Else
m = m + 2
TochP(m) = Tpost
TochP(m - 1) = Tpost
VojP = TosvP - TochP(1)
For i = 1 To m - 1
TochP(i) = TochP(i + 1)
Next i
m = m - 1
LP = LP + m
TojP = TojP + VojP
TobsP = Tau_obs_polnaya_regul
TsisP = TsisP + TobsP + VojP
TosvP = TosvP + TobsP
Kobs = Kobs + 1
ap = ap + 1
List2.AddItem (Str(Kobs) + " агрегат - " + Str(TobsP))
GoTo 5
End If
End If
40: List1.AddItem ("Всего поступило агрегатов = " + Str(K))
List1.AddItem ("Кол-во агрегатов прошедшие регулировку = " + Str(Kobs))
List1.AddItem ("Кол-во агрегатов прошедшие полную регулировку = " + Str(ap))
List1.AddItem ("Кол-во агрегатов оставшиеся в накопителе для полной регулировки = " + Str(m))
List1.AddItem ("Кол-во агрегатов прошедшие 1-ю и 2-ю регулировку = " + Str(a2))
List1.AddItem ("Кол-во агрегатов оставшиеся в накопителе для 2-й регулировки = " + Str(n))
List1.AddItem ("Вероятность отказа в первичной регулировке = " + Str(Kotk / K))
List1.AddItem ("Загрузка накопителя агрегатами нуждающиеся в полной регулировке = " + Str(LP / Kotk))
List1.AddItem ("Коэффициент простоя системы = " + Str((Tnezan1 + Tnezan2 + TnezanP) / Tmod))
End Sub
Private Sub Command2_Click()
Dim Tau_obs_1ya_regul As Integer, Tau_obs_2ya_regul As Integer
Dim Tau_postupleniya As Integer
Dim Toch1(200) As Double
Dim Toch2(200) As Double
Dim Tobs1 As Currency, Tobs2 As Currency
Picture1.Picture = LoadPicture(App.Path & "\2-yachast.jpg")
List1.Clear
List2.Clear
Vmestimost = -2
1: Vmestimost = Vmestimost + 2
x = 0.5
Tau_postupleniya = Val(Text1.Text)
Tau_obs_1ya_regul = Val(Text2.Text)
Tau_obs_2ya_regul = Val(Text3.Text)
Tmod = 6000
K = 0
Kobs = 0
Tsis1 = 0: Tsis2 = 0
Tpost = 0
Tosv1 = 0: Tosv2 = 0
Toj1 = 0: Toj2 = 0
Tnezan1 = 0: Tnezan2 = 0
n = 0
p = 0
a2 = 0
L1 = 0
5: x = Rnd(x)
Tau = -Tau_postupleniya * Log(x)
Tpost = Tpost + Tau
If Tpost > Tmod Then
GoTo 40
Else
GoTo 10
End If
10: K = K + 2
If Tpost < Tosv1 Then
If p = Vmestimost Then
GoTo 1
Else
p = p + 2
L1 = L1 + p
Toch1(p - 1) = Tpost
Toch1(p) = Tpost
GoTo 5
End If
Else
If p = 0 Then
Tnezan1 = Tpost - Tosv1
x = Rnd(x)
Tobs1 = -Tau_obs_1ya_regul * Log(x)
Tosv1 = Tpost + Tobs1
Tsis1 = Tsis1 + Tobs1
GoTo 20
Else
p = p + 2
Toch1(p - 1) = Tpost
Toch1(p) = Tpost
Voj1 = Tosv1 - Toch1(1)
For i = 1 To p - 2
Toch1(i) = Toch1(i + 2)
Next i
p = p - 2
L1 = L1 + p
Toj1 = Toj1 + Voj1
Tobs1 = -Tau_obs_1ya_regul * Log(x)
Tsis1 = Tsis1 + Tobs1 + Voj1
Tosv1 = Tosv1 + Tobs1
GoTo 20
End If
End If
20: If Tosv1 < Tosv2 Then
n = n + 2
Toch2(n - 1) = Tosv1
Toch2(n) = Tosv1
GoTo 5
Else
If n = 0 Then
Kobs = Kobs + 2
a2 = a2 + 2
Tnezan2 = Tosv1 - Tosv2
x = Rnd(x)
Tobs2 = -Tau_obs_2ya_regul * Log(x)
Tosv2 = Tosv1 + Tobs2
Tsis2 = Tsis2 + Tobs2
List2.AddItem (Str(Kobs - 1) + " и " + Str(Kobs) + " агрегаты - " + Str(Tobs2))
GoTo 5
Else
n = n + 2
Toch2(n - 1) = Tosv1
Toch2(n) = Tosv1
Voj2 = Tosv2 - Toch2(1)
For i = 1 To n - 2
Toch2(i) = Toch2(i + 2)
Next i
n = n - 2
Toj2 = Toj2 + Voj2
x = Rnd(x)
Tobs2 = -Tau_obs_2ya_regul * Log(x)
Tsis2 = Tsis2 + Tobs2 + Voj2
Tosv2 = Tosv2 + Tobs2
Kobs = Kobs + 2
a2 = a2 + 2
List2.AddItem (Str(Kobs - 1) + " и " + Str(Kobs) + " агрегаты - " + Str(Tobs2))
GoTo 5
End If
End If
40: List1.AddItem ("Всего поступило агрегатов = " + Str(K))
List1.AddItem ("Кол-во агрегатов прошедшие регулировку = " + Str(Kobs))
List1.AddItem ("Кол-во агрегатов оставшиеся в накопителе для 1-ой регулировки = " + Str(p))
List1.AddItem ("Кол-во агрегатов прошедшие 1-ю и 2-ю регулировку = " + Str(a2))
List1.AddItem ("Кол-во агрегатов оставшиеся в накопителе для 2-й регулировки = " + Str(n))
List1.AddItem ("Загрузка накопителя агрегатами нуждающиеся в 1-ой регулировке = " + Str(L1 / K))
List1.AddItem ("Коэффициент простоя системы = " + Str((Tnezan1 + Tnezan2) / Tmod))
List1.AddItem ("ВМЕСТИМОСТЬ НАКОПИТЕЛЬЯ ДЛЯ ПЕРВИЧНОЙ РЕГУЛИРОВКИ" + Str(Vmestimost))
End Sub
Список литературы
Советов Б. Я., Яковлев С. А. Моделирование систем: Учеб. Для вузов 3-е издание, перераб. И доп. – М: Высш. Школа, 2001 – 343 с.
Советов Б. Я., Яковлев С. А. Моделирование систем: Курсовое проектирование: Учеб. Пособие по специальности АСУ. – М: Высш. Школа, 1988 м – 135 с.