Описание постоянных величин
При написании программы и в блок-схемах алгоритмов использовались следующие константы:
newDetInterval = 50 (мин, средний период поступления новых деталей на обработку)
St1HandleTime1 = 40 (мин, среднее время первичной обработки детали станком №1)
St2HandleTime1 = 60 (мин, среднее время первичной обработки детали станком №2)
St1HandleTime2 = 100 (мин, среднее время вторичной обработки детали станком №1)
St2HandleTime2 = 100 (мин, среднее время вторичной обработки детали станком №2)
st1RejectPercentage = 4 (%, - процент брака первого станка)
st2RejectPercentage = 8 (%, - процент брака второго станка)
Был использован следующий тип, встроенный в использованный язык программирования (ObjectPascal), требующий, на мой взгляд, пояснения:
Тип TList– представляет собой список. В данном проекте использовался в качестве модели очереди или задела или накопителя деталей.
Если переменная имеет указанный тип, то в данной работе с ней можно делать следующие операции (на примере переменной qтипаTList):
q.Add(det) – добавляет в очередь «деталь» (в курсовом) (про деталь - смотри ниже)
q.Delete(0) – удаляет из очереди «деталь»
q[0] – возвращает из очереди «деталь»
При написании программы были введены следующие типы:
TdetalStates = (ds_net, ds_pervObr, ds_vtorObr) – перечисляемый тип для определения состояния детали: 1 - нет детали, 2 – деталь для первичной обработки, 3 – деталь для вторичной обработки.
PDetal– типизированный указатель на структуру в составе которой имеются следующие поля:
State: TdetalStates – определяет состояние детали
WasRejected: логическое – определяет, была ли деталь уже однажды забракована. Если это поле у рассматриваемой детали имеет значение True, и логика программы симулирующей процесс определяет, что в процессе обработки детали на станке появился брак (для этой детали), то она считается отходом.
Соответственно с переменной с типом PDetal(назовём еёdet) возможны следующие операции:
det=nil– проверка на существование детали
det^.State= ds_pervObr – проверка на то, что деталь нужно обработать первично
det^.State= ds_vtorObr – проверка на то, что деталь нужно обработать вторично
det^.State:= ds_vtorObr – присвоение статуса детали, со смыслом, что деталь нужно будет обработать вторично.
Det:=q[0] – (гдеqимеет типTList) – скопировать деталь из очереди в переменнуюDet.
det^.WasRejected :=True– выставление признака для детали, означающий что данная деталь оказалась бракованной.
Описание переменных величин
Для программной реализации моделирования процесса на объекте в программе и в блок-схемах использовались следующие переменные:
VsegoDetalei – целое число, в нём сохраняется требуемое количество деталей; в конце каждого цикла, проверяется количество сделанных деталей, при достижении этого значения симуляция заканчивается.
MaxZadel – целое число, предназначено для выявления максимального количества деталей находящихся в заделе в процессе моделирования
Stanok1Detal – переменная типа PDetal. Представляет собой деталь на первом станке.
Stanok2Detal – переменная типа PDetal. Представляет собой деталь на втором станке.
Stanok1DetFree - целое число – время в минутах, при наступлении которого обработка детали на первом станке будет считаться завершённой.
Stanok2DetFree - целое число – время в минутах, при наступлении которого обработка детали на втором станке будет считаться завершённой.
Stanok1HandledPcs - целое число – счетчик обработанных деталей первого станка. Предназначена для определения наличия брака обработки текущей детали исходя из процента брака первого станка.
Stanok2HandledPcs - целое число – счетчик обработанных деталей второго станка. Предназначена для определения наличия брака обработки текущей детали исходя из процента брака второго станка.
q1AddTime - целое число – время когда следующая деталь поступит на обработку (в очередь q1)
WrkTime – целое число – Счетчик общего времени симулирования процесса.
St2WrkTime – целое число – Счетчик общего времени работы второго станка
St2WrkTime2 - целое число – Счетчик времени работы второго станка только на вторичной обработке деталей
St1WrkTime – целое число – Счетчик общего времени работы первого станка.
q1 – TList- очередь в которую поступают приходящие на первичную обработку детали (смотрифункциональную схему).
q2 –TList- задел первично обработанных деталей.
q3 –TList– Очередь однажды бракованных деталей.
q4 –TList– накопитель готовых деталей.
w–TList– накопитель отходов (Waste).