Вам бонус- начислено 1 монета за дневную активность. Сейчас у вас 1 монета

Моделирование производственных процессов и систем

Лекция



Привет, сегодня поговорим про моделирование производственных процессов, обещаю рассказать все что знаю. Для того чтобы лучше понимать что такое моделирование производственных процессов, систем , настоятельно рекомендую прочитать все из категории Моделирование и Моделирование систем.

Проектирование технологических процессов, проверка свойств проекта на модели, прогнозирование хода производства, настройка модели для производственных процессов, управление производством имеют ряд особенностей. Цель данной лекции — обсудить возникающие при моделировании производственных процессов особенности.

Допустим, что некоторый производственный процесс нелинеен. Это значит, что между входом X(то, чем управляем) и выходом Y (то, что наблюдаем) имеется нелинейная зависимость. Как смоделировать такую нелинейность?

Пример 1. Логические функции. Для начала рассмотрим простую нелинейность релейного типа и допустим, что функция Y(X) обратима (см. рис. 31.1). Такие зависимости называют статическими(значение на входе X однозначно, не зависимо от предыстории процесса определяет значение на выходе Y). Многие производственные процессы могут быть описаны таким способом.

Например, пусть зависимость состоит из трех участков (см. рис. 31.1). Часто характерной особенностью таких зависимостей является наличие в них участка, блокирующего выход, линейного участка и участка насыщения. Первый участок указывает на то, что, не подавая сырья (X = 0) на вход производственного процесса, нельзя надеяться на какой-либо результат (Y = 0). Второй участок указывает на тот факт, что, увеличивая количество сырья на входе, мы обеспечиваем увеличение готовой продукции на выходе. И, наконец, понятно, что если сырья будет очень много (Y >> 0), то какие-либо ограничения производственного процесса (например, производительность оборудования, квалификация персонала, финансовые, энергетические ресурсы) все равно не позволят переработать все это сырье и выпустить соответствующее количество продукции. В сложных систем ах такой участок насыщения присутствует обязательно.

Моделирование производственных процессов и систем
Рис. 31.1. Зависимость релейного типа

Обратите внимание на то, что каждый из участков можно легко описать в отдельности. Представленная на рис. 31.1 зависимость математически описывается тремя функциями. Три строки в записи означают, что в каждый отдельный момент (то есть, при определенном значении X) из описания используется одна из строк (первая, вторая или третья). То есть подразумевается (но явно не записывается), что строки соединены знаком ИЛИ. Когда имеют дело с вычислительной техникой и языками программирования, где умалчивать — опасно, эту конструкцию записывают в строку:

Y := (0 при X ≤ 0) ИЛИ (X · c/b при 0 < X ≤ b) ИЛИ (c при X > b).

Если процессы аналоговые, то есть если мы имеем дело с любыми (рациональными) значениямиХ, роль операции ИЛИ играет знак «+»:

Y := (0 при X ≤ 0) + (X · c/b при 0 < X ≤ b) + (c при X > b).

В самом деле: если условия исключают друг друга, то в любой момент времени может реализоваться только одно из трех условий. Оно и даст требуемый ответ в сумму. От остальных слагаемых в сумму придет ноль. Сложение искомого значения с нолями сформирует правильный ответ в целом.

Рассмотрим теперь отдельно одну из конструкций, например, c при X > b. Ее использование означает следующую фразу (которую не пишут и не произносят полностью исключительно в целях экономии места и времени): «если X больше b, то Y присвоить c». Воспользуемся единичной функцией Хевисайда (см. рис. 31.2) для перевода данной фразы на формальный язык. Напомним, что значение единичной функции равно 0, если ее аргумент меньше или равен 0, и равно 1, если ее аргумент больше 0.

Моделирование производственных процессов и систем
Рис. 31.2. Единичная функция Хевисайда Y = ed(X)

В результате получим: Y := c · ed(X – b). Проверим полученную формулу. Действительно:

  • если X < b, то аргумент (X – b) единичной функции отрицателен, следовательно, сама функция равна 0, поэтому Y = 0;
  • если X = b, то аргумент (X – b) единичной функции равен нулю, следовательно, сама функция равна 0, поэтому Y = 0;
  • если X > b, то аргумент (X – b) единичной функции положителен, следовательно, сама функция равна 1, поэтому Y = c.

Заметим, что в нашей формуле Y := c · ed(X – b) знак умножения играет роль логического И, поскольку для получения окончательного результата нам, во-первых, требуется значение «c» И, во-вторых, чтобы истиной (то есть, единицей) было значение выражения ed(X – b).

Как видите, словесная логическая конструкция

если Условието Искомая_величина := Факт

соответствует типовой математической конструкции

Искомая_величина := Факт · ed(Условие).

ВАЖНО! Итак, неравенство превращается в единичную функцию (в математике единичная функция эквивалентна понятию ПРЕДИКАТ), логическое ИЛИ заменяется на знак сложения, логическое И заменяется на знак умножения. Знак «:=» выражает причинно-следственную связь, увязывая причину и следствие в явном виде. В случае неявного задания функции роль этого знака будет играть знак уравнивания «=».

Теперь переведем вторую часть выражения, Y := X · c/b при 0 < X ≤ b, на формальный язык:Y := X · c/b · ed(X) · ed(b – X). Заметим, что правильный результат получится, если будет соблюдено уже три условия одновременно: (X · c/b) И (X > 0) И (X ≤ b). Так же поступим и с оставшейся частью:Y := 0 при 0 ≤ X. Формальный перевод имеет вид: Y := 0 · ed(0 – X).

Собирая все три части вместе, имеем:

Y := 0 · ed(0 – X) + X · c/b · ed(X) · ed(b – X) + c · ed(X – b).

Обратите внимание, что первое слагаемое вообще-то можно не писать, так как оно всегда равно 0. Остается:

Y := X · c/b · ed(X) · ed(b – X) + c · ed(X – b).

Еще одно замечание. Если протестировать функцию в точке X = b, то окажется, что и первое слагаемое, и второе одновременно равны 0, а вся функция будет иметь вид, показанный на рис. 31.3. Такая ситуация называется прощелкой. (А есть ли прощелка между 0 · ed(0 – X) иX · c/b · ed(X) · ed(b – X)? Если «да», то при каком X? Проверьте себя.)

Моделирование производственных процессов и систем
Рис. 31.3. Вид логической функции с ошибкой
типа прощелки в описании

Чтобы избежать прощелок, надо писать формулы аккуратнее:

Y := X · c/b · ed(X) · not(ed(X – b)) + c · ed(X – b).

Действительно, в этом случае либо not(ed(X – b)) (из первого слагаемого), либо ed(X – b) (из второго слагаемого) окажется обязательно равным 1, и прощелка исчезнет. Заметим, что можно не вводить дополнительную операцию not(q), а использовать ее аналог: 1 – ed(q).

Итак, обобщим: если в записи зависимости имеется n отрезков и при этом X на i-ом отрезке удовлетворяет условию: ai < X ≤ ai + 1, то имеем:

Моделирование производственных процессов и систем

Обратите внимание. Функция получилась однозначной, то есть одному и тому же X всегда соответствует одно и то же Y. Удобство таких описаний в том, что Y вычисляется в любой момент для любого X, достаточно подставить нужное любое значение X в формулу.

Вид записи зависит от системы, которой придется исполнять такую запись. Если система не понимает запись, то она не сможет ее исполнить, и такая запись бесполезна. Язык такой мертв и ничего не означает, так как не служит средством коммуникации, передачи информации от одного агента другому. (Забегая вперед, отметим, что у языка есть и еще другие функции, например, способность манипуляции объектами, которые он описывает, функция исчисления.) К примеру, если исполнителем является алгоритмическая машина, то конструкция

Y := X · c/b · ed(X) · not(ed(X – b)) + c · ed(X – b).

будет иметь вид, показанный на рис. 31.4.

Моделирование производственных процессов и систем
Рис. 31.4. Алгоритмическая реализация производственных
моделей в виде логических функций с использованием
условных конструкций

Как видите, есть соответствие в языках описания. Условная конструкция в алгоритмах соответствует «многоэтажной» формуле в математике или конструкции

Моделирование производственных процессов и систем

в формализованном языке моделирования. Или, с использованием логических функций ИИЛИНЕ:

Моделирование производственных процессов и систем

Пример 2. Генератор пилообразного сигнала (ГПС). Сконструируем периодическую пилообразную функцию (см. рис. 31.5) двумя различными способами.

Моделирование производственных процессов и систем
Рис. 31.5. Вид зависимости Y(X) для ГПС

Вариант 2.1. ГПС на основе математической функции mod. Известная математическая функция mod(Xa) возвращает нам остаток от деления X на a, а остаток, как известно, растет линейно с ростом X, а затем становится равным 0 (когда X и a становятся кратными), повторяя эту закономерность периодически. В среде Stratum-2000 это запишется так: Y := X%a. Период и амплитуда «пилы» регулируются значениями X и a.

Вариант 2.2. ГПС на основе уравнения с памятьюY := (Y + d) · ed(p – Y), где d — шаг изменения, p — период. Допустим, что сначала Y достаточно мало, поэтому p > Y. Если p – Y > 0, то для положительного аргумента единичная функция возвращает 1, и выражение имеет вид:Y := (Y + d) · 1, то есть Y увеличивается на каждом такте на величину d, а значит — линейно растет.

Рано или поздно Y становится равно или больше p, и условие становится p – Y ≤ 0. Для отрицательного и нулевого аргумента единичная функция возвращает 0, а значит выражение в этот момент принимает вид: Y := (Y + d) · 0, то есть Y на данном шаге сбрасывается в ноль, и ситуация повторяется: снова Y становится малым и начинает расти, пока не достигнет значения p. При подаче на вертикальную координату осциллографа вычисленного значения Y, а на горизонтальную его координату значения X, сформированного как X := X + 1, можно увидеть «пилу» с периодом p (см.рис. 31.6).

Моделирование производственных процессов и систем
Рис. 31.6. Схема проекта в среде Stratum-2000,
реализующего генератор пилообразного сигнала
на основе уравнения с памятью

Обратите внимание. Во-первых, как видите, в выражении Y := (Y + d) · ed(p – Y), чтобы вычислить очередное значение Y, надо знать предыдущее. Поэтому говорят, что это уравнение с обратной связью или уравнение с памятью: чтобы вычислить N-е значение, требуется вычислять все предыдущие значения функции на ряде шагов. Во-вторых, функция получилась неоднозначная. То есть при разных начальных данных график функции будет различный. Одному и тому же X могут соответствовать разные Y. Это соответствует семейству графиков, порождаемых дифференциальным уравнением. Данная запись НЕЯВНАЯ, так как она не содержит значение X непосредственно. Поэтому нельзя подставить произвольное значение X и тут же узнать, чему будет равно Y при этом значении. Чтобы определить значение Y, необходимо пройти (перебрать) все значения Y от 0 до искомого.

Первый вариант записи, Y := X%a, представляет нам ЯВНУЮ зависимость Y от X. В любой момент можно подставить любое значение X и получить соответствующее ему значение Y.

Каждый вариант записи имеет свои преимущества и недостатки. Не всегда удается получить явную запись, так как записать закон функционирования системы обычно намного проще, чем найти его решение. Но и явный вариант имеет тот недостаток, что это только одно из решений, тогда как сам закон содержит потенциально все множество возможных других решений, многозначен.

Если реализовывать выражение Y := (Y + d) · ed(p – Y) на языке алгоритмов, то понадобится циклическая конструкция (см. рис. 31.7).

Моделирование производственных процессов и систем
Рис. 31.7. Алгоритмическая реализация модели пилообразного
сигнала с использованием циклической конструкции

Между системой с памятью и циклической конструкцией есть глубокая связь, а именно: система с памятью — это динамическая система, что соответствует в математике дифференциальному уравнению, пошаговый расчет которого на компьютере требует циклического алгоритма. Если решение дифференциального уравнения можно найти аналитически, то есть выразить искомую величину в зависимости от остальных явно, то циклической конструкции не понадобится, достаточно алгоритма линейной структуры. Но это будет собственно не уравнение, а присвоение, то есть решение уравнения, точнее, одно из решений уравнения.

Пример 3. Генератор прямоугольных импульсов (ГПИ). Во многих приложениях требуется имитировать периодическое открывание и закрывание на некоторое время каких-то устройств, вентилей, каналов. Для этого удобно использовать генератор импульсов, который бы на выходе выдавал значения «0» и «1», то есть генератор прямоугольных импульсов. За параметры генератора удобно принять частоту изменений с 0 на 1 и обратно и скважность — соотношение времени удержания на выходе «1» ко времени всего цикла.

Вариант 3.1. ГПИ на основе периодической функции синус. Можно использовать несколько приемов моделирования генератора прямоугольных импульсов, имеющих свои достоинства и недостатки. Рассмотрим вначале генератор, использующий свойства периодической функции, например, математической функции синус (см. рис. 31.8).

Моделирование производственных процессов и систем
Рис. 31.8. Генерация последовательности прямоугольных импульсов
средствами периодической функции

Y := a · ed(sin(ω · X + φ) – c), где ω — частота генератора, задающая его период; φ — фаза генератора; a — амплитуда импульсов; c — задаваемый параметр, скважность. Скважность указывает на то, в течение какой части периода синуса Y будет равен a, и в течение какой части периода Y будет равен 0. Пока sin(ω · X + φ) > c, единичная функция возвращает 1, Y = a; как только sin(ω · X + φ) ≤ c, единичная функция будет возвращать 0, Y = 0.

Опять заметим, что это ЯВНАЯ запись, что определяет достоинства и недостатки этого варианта.

Вариант 3.2. ГПИ на основе уравнения с памятью. Другой вариант — использовать для генерации прямоугольных импульсов ранее созданный генератор пилообразного сигнала, который использовал последовательное вычисление значений от точки к точке (уравнение с памятью).

Y := (Y + d) · ed(p – Y), Z := a · ed(Y – c), где d — шаг изменения; p — период; a — амплитуда импульсов; c — задаваемый параметр, скважность.

Поскольку Y генерирует пилообразный сигнал, то достаточно сравнивать его значение с заданным значением c. Если Y – c ≤ 0, то Z = 0, если Y – c > 0, то Z = a · 1. В результате получается периодический единичный сигнал. При подаче на осциллограф на вертикальную координату вычисленного значения Z, а на горизонтальную координату — значения X, сформированного какX := X + 1, можно увидеть «забор» с периодом p (см. рис. 31.9).

Данная запись имеет НЕЯВНЫЙ вид, что определяет достоинства и недостатки этого варианта.

Моделирование производственных процессов и систем
Рис. 31.9. Генерация последовательности прямоугольных импульсов
с использованием выражения с памятью

Пример 4. Коммутатор. Часто используемым в производственных процессах технологическим устройством является коммутатор, целью которого является распределение какого-нибудь основного потока (материального, энергетического, информационного) на ряд частных потоков за счет переключения подачи с одного направления на другое (см. рис. 31.10). Это позволяет делить потоки, менять их направление.

Моделирование производственных процессов и систем
Рис. 31.10. Схема коммутатора

Пусть имеется один вход, помеченный как X, и, например, три выхода: Y1Y2Y3. Требуется сигнал X в первый момент времени транслировать на Y1, во второй момент времени — передавать наY2, а в третий момент — на Y3, после чего циклически повторять этот процесс, начиная снова с Y1. (Естественно, возможны и другие варианты коммутаторов.) Временная диаграмма распределения основного потока на подпотоки дискретным коммутатором показана на рис. 31.11.

Моделирование производственных процессов и систем
Рис. 31.11. Временная диаграмма работы дискретного
коммутатора с одним входом и тремя выходами

Для этого нам понадобится дельта-функция Дирака: Y = δ(X). Эта функция возвращает 1, если ее аргумент равен 0, в остальных случаях она возвращает ноль (см. рис. 31.12).

Моделирование производственных процессов и систем
Рис. 31.12. Дельта-функция Дирака Y = δ(X) (слева — теоретический
вид, справа — ее приближенный дискретный аналог)

С помощью дельта-функции выражения, имитирующие коммутатор, будут выглядеть так (в приведенной ниже записи переменная i играет роль времени t): 
i := (i + 1) · ed(2 – i
Y1 := X · δ(i – 0) 
Y2 := X · δ(i – 1) 
Y3 := X · δ(i – 2).

Таким образом, i, благодаря первому выражению, пробегает циклически значения 0, 1, 2, 0, 1, 2, 0, 1, 2, … Если i оказалось равно 0, то δ(i – 0) = 1 и Y1 := X · 1; при этом δ(i – 1) = 0 и Y2 := X · 0 и δ(i – 2) = 0 и Y3 := X · 0.

Если i оказалось равно 1, то δ(i – 1) = 1 и Y2 := X · 1, а δ(i – 0) = 0 и Y1 := X · 0 и δ(i – 2) = 0 иY3 := X · 0.

Если i оказалось равно 2, то δ(i – 2) = 1 и Y3 := X · 1, а δ(i – 0) = 0 и Y1 := X · 0 и δ(i – 1) = 0 иY2 := X · 0.

Для организации циклического коммутатора нам понадобилась «пила», которую мы построили ранее.

Заметим, что еще лучше было бы сделать так: отдельно записать выражения для системы управления, где описываются информационные сигналы if1f2f3
i := (i + 1) · ed(2 – i); 
f1 := δ(i – 0); 
f2 := δ(i – 1); 
f3 := δ(i – 2). 
Флаги fi принимают значения 0 и 1, как это и положено логическим переменным. Модель информационной части проекта показана на рис. 31.13.

Моделирование производственных процессов и систем
Рис. 31.13. Схема информационно-управляющих
сигналов для коммутатора

Далее отдельно записать выражения для материальных потоков Y и X, которые перекрываются сигналами управления fi (см. рис. 31.14): 
Y1 := X · f1
Y2 := X · f2
Y3 := X · f3.

Моделирование производственных процессов и систем
Рис. 31.14. Схема проекта, выполненного в среде
Stratum-2000, реализующая коммутатор. Отражена
часть проекта без формирователя флагов

Переменные YX принимают действительные значения, как это и положено переменным, которые имитируют материальные потоки. Можно представить себе аналогию: поток X переходит в поток Y, если кран f открыт (f = 1), или, наоборот, значения потока X не переходят на переменную Y, так как кран закрыт (f = 0). Такая схема в дальнейшем более предпочтительна, так как отделяет материальную систему от информационной, делая проект более понятным и прозрачным (см. также пример 5 ниже).

Объединим информационную схему со схемой, имитирующей материальные потоки (см.рис. 31.15).

Моделирование производственных процессов и систем
Рис. 31.15. Схема проекта «Модель коммутатора», представленного
композицией информационной и материальной подсистем.
Проект выполнен в среде Stratum-2000

На рис. 31.16 показано взаимодействие двух подсистем (информационной и материальной) между собой в общем виде, которого рекомендуется достигать в идеале для прозрачности процесса проектирования. Все зависимости и законы, касающиеся описания свойств материи и энергии, рекомендуется включать в состав модели материальных потоков (иногда в этой подсистеме дополнительно разделяют энергетические и материальные потоки), а законы измерения, управления, регулирования, формирования целей — включать в состав модели информационных сигналов.

Моделирование производственных процессов и систем
Рис. 31.16. Разделение материальной и управляющей
моделей на отдельные подсистемы

Пример 5. Транспортировка изделий с одного узла на другой. Частый случай в производстве — организация транспортировки изделий с одного производственного узла на другой. Под узлом здесь будем понимать совокупность склада и органа, осуществляющего транспортировку (например, транспортное средство, канал). Склад хранит изделия, количество которых может уменьшаться или увеличиваться, если транспортный орган берет на себя их перемещение с узла на узел.

Допустим, что на первом узле имеется X1 изделий, а на втором — X2 изделий. Обозначим как Uколичество транспортируемых изделий за такт. Тогда: 
X1 := X1 – U · f
X2 := X2 + U · f
На рис. 31.17 показана связь двух узлов транспортным каналом, осуществляющим перекачку изделий со склада одного узла на склад другого узла с производительностью U штук в единицу времени.

Моделирование производственных процессов и систем
Рис. 31.17. Условное изображение модуля
транспортировки с одного склада на другой

Если флаг f равен 1, то U изделий уходит с первого узла и столько же в этот момент приходит на второй узел. Если флаг f равен 0, то переброски изделий не происходит, то есть они не вычитаются в первом выражении и не складываются во втором, а X1 и X2 остаются неизменными величинами.

Если изделия необходимо транспортировать через цепь узлов (см. рис. 31.18), то, обозначая объемы перевозок между узлами U1U2, …, Un – 1, имеем: 
X1 := X1 – U1 · f
X2 := X2 + U1 · f – U2 · f
X3 := X3 + U2 · f – U3 · f
…; 
Xn := Xn + Un – 1 · f.

Моделирование производственных процессов и систем
Рис. 31.18. Схема транспортировки изделий через цепь складов

Если задвижками f необходимо управлять по отдельности, то логично ввести переменные fi, управляя задвижкой в каждом узле отдельно.

Следует заметить, что данную модель для улучшения ее адекватности можно модернизировать: 
X1 := X1 – U1 · f · ed(X1); 
X2 := X2 + U1 · f · ed(X1) – U2 · f · ed(X2); 
X3 := X3 + U2 · f · ed(X2) – U3 · f · ed(X3); 
…; 
Xn := Xn + Un – 1 · f · ed(Xn – 1).

Выражение ed(Xi) играет роль своеобразного флага разрешения транспортировки, запрещая ее в случае, если в узле нет изделий. Если такого флага нет, то возможны странные варианты переброски фиктивных изделий с узла на узел, например, появление отрицательных изделий.

Еще одно замечание. На цифровой технике уравнения решаются с некоторым тактом. Если в течение такта окажется, что Ui больше Xi, то за такт из узла исчезнет больше изделий, чем в нем было, и количество изделий станет меньше нуля.

Во-первых, на это можно не обращать внимания, поскольку это погрешность численного расчета. Второй вариант — предотвратить все-таки такие коллизии. Для этого есть два способа. Первый состоит в том, чтобы уменьшить время dt такта расчета (до этого мы принимали его равным 1):X1 := X1 – U1 · f · ed(X1) · dt. Второй способ: вычитать и прибавлять значение Ui, если Ui < Xi, или вычитать и прибавлять Xi, если Ui ≥ Xi, то есть вычитать и прибавлять минимальное из двух чисел Ui иXiX1 := X1 – U1 · f · ed(X1) · ed(X1 – U1) – X1 · f · ed(X1) · not(ed(X1 – U1)). В данной записи выражениеed(Xi), играющее роль своеобразного флага разрешения транспортировки, становится излишним, поэтому его можно опустить: X1 := X1 – U1 · f · ed(X1 – U1) – X1 · f · not(ed(X1 – U1)). С учетом всего вышесказанного, напишем выражение для X2
X2 := X2 + U1 · f · ed(X1 – U1) + X1 · f · not(ed(X1 – U1)) – U2 · f · ed(X2 – U2) – X2 · f · not(ed(X2 – U2)).

Если представить себе, что мы имеем дело с производственной технологической линией, то в качестве складов в этой цепочке выступают запасы незавершенной продукции (промежуточные склады в производстве), а роль транспортных артерий — станки, которые обрабатывают изделия, тем самым как бы «проталкивая» их с одного участка на другой.

Тогда U играет в этих выражениях роль производительности станков: чем больше U, тем больше изделий за одну единицу времени переходит с одного склада на другой, а X играет роль количества изделий на промежуточных складах в производстве. Таким образом, U характеризует динамику производственного процесса, а множество X — его статику. То есть X характеризует, сколько изделий находится в производстве в разной стадии готовности, а U — сколько изделий и с какой скоростью обрабатывается в каждый момент времени, как быстро перетекают изделия с узла на узел. Задавая различные значения U, можно имитировать различные производственные ситуации.

Иногда при описании производства задают закон движения U. Например, U = k · X. Логика действия такого закона состоит в том, что чем больше изделий X скапливается на складе, тем больше должна быть интенсивность их обработки U, чтобы избежать чрезмерного накопления изделий на промежуточных складах. Как ранее было описано, закон движения, в отличие от уравнений материального баланса, представляет собой информационный поток, это хорошо видно на рис. 31.19.

Моделирование производственных процессов и систем
Рис. 31.19. Два варианта изображения схемы модели технологической линии с информационными
и материальными связями с различным уровнем детализации. Слева — обозначения по Форрестеру
с разделением материальных и информационных потоков, справа — граф зависимостей переменных

Можно задать и другие законы, например, Ui := Ui + k · (Xi – Xi + 1). Логика этого закона состоит в том, что если на i + 1-ом складе затоваривание (Xi + 1 > Xi), то надо притормаживать Ui, если недостаток, то есть Xi + 1 < Xi, то разгонять производительность данного узла.

Измерительная часть системы управления может фиксировать общее количество изделий P1 на всех складах, их суммарную стоимость P2, общую производительность станков P3, неравномерность распределения изделий в производстве P4, выполнение плана Xz — P5 и так далее: 
P1 = X1 + X2 + X3 + … + Xn
P2 = X1 · c1 + X2 · c2 + X3 · c3 + … + Xn · cn
P3 = U1 + U2 + U3 + … + Un
P4 = abs(X1 – X2) + abs(X2 – X3) + … + abs(Xn – 1 – Xn); 
P5 = Xn – Xz
По данным показателям можно настраивать регуляторы в производстве, добиваясь приемлемых значений у этих показателей.

С помощью такого подхода, используя логические комбинации (ИИЛИНЕ) и условия, отражаемые единичными функциями, можно описать разделения, слияния потоков, переход партий, сборку, брак, помехи, задержки, переход изделий с линии на линию, и вообще любую производственную топологию.

Задачи, которые можно решить на такой модели:

  • какие регуляторы подобрать для того, чтобы обеспечить интересующее значение показателейP1 — P5;
  • за какое время можно выполнить заданный план, какие управления U для этого следует задать;
  • как перейти от одной картины заполнения складов (X1X2X3, …, Xn) в производстве к другой (X1*X2*X3*, …, Xn*), изменяя множество U;
  • компенсируется ли и как регуляторами случайное возмущение типа «брак»;
  • какой уровень запасов изделий следует иметь в производстве, чтобы исключить дефицит;
  • насколько можно остановить какой-то из станков (поломка), чтобы не сорвать план;
  • какие управляющие величины U следует применить при заданном заполнении складов (X1X2,X3, …, Xn), чтобы обеспечить равномерность движения и распределения изделий по технологической линии.

Пример 6. Обработка партии изделий в термической печи. Рассмотрим обработку партии изделий в термической печи. Если температура в печи до 50 градусов, то партия снова поступает в обработку. Если температура в печи между 50 и 100 градусами, то партия уходит на склад готовых изделий. Если температура в печи больше 100 градусов, то партия поступает в брак.

Блок информационных сигналов имеет вид: 
f1 := ed(50 – T); 
f2 := not(ed(50 – T)) · ed(100 – T); 
f3 := not(ed(100 – T)).

Блок имитации материальных процессов: 
Обр := Партия · f1
Готовые := Готовые + Партия · f2
Брак := Брак + Партия · f3.

Обратите внимание: на схеме модели (рис. 31.20) отдельно сформированы все возможные и существенные для процесса условия «ed(Условие)», отдельно сформированы информационные сигналы (f1f2f3), отдельно описаны материальные потоки.

Моделирование производственных процессов и систем
Рис. 31.20. Схема модели «Обработка изделий в термической печи»

Пример 7. Погрузка железнодорожного состава. Рассмотрим процесс погрузки железнодорожного состава, состоящего из электровоза и прицепленных к нему трех вагонов (см.рис. 31.21). Над первым вагоном находится бункер, из которого насыпается груз. Вагон стоит на весах, измеряющих массу насыпанного груза. Грузоподъемность вагонов задана и известна системе управления из справочника в базе данных АСУ. Система управления (СУ) должна определить момент (и выдать управляющий сигнал электровозу), когда следует поставить под загрузку следующий вагон. После загрузки последнего вагона следует закрыть заслонку бункера.

Моделирование производственных процессов и систем
Рис. 31.21. Погрузка железнодорожного состава и система управления ею

Пусть U(t) — текущая загрузка вагона, значение на весах; V(t) — интенсивность поступления груза в вагон из бункера, количество за такт; i — номер вагона (1, 2, 3); E(i) — грузоподъемность i-го вагона (задана); X(t) — уровень сырья в бункере; f — сигнал машинисту электровоза: «продернуть состав на один вагон вперед».

Выражения, моделирующие погрузку и реакции системы управления, должны имитировать процесс погрузки (законы изменения U(t), X(t) и V(t)), сигналы АСУ (f и i).

U(t) := (U(t) + V(t)) · ed(E(i) – U(t)) — загрузка вагона увеличивается, если вагон не полон, и останавливается и сбрасывается в ноль, если вагон загружен до нормы E(i); 
f := not(ed(E(i) – U(t))) — сигнал машинисту электровоза: «продерни состав»; 
i := i + f — счетчик вагонов увеличивается в момент продергивания состава; 
X(t) := X(t) – V(t) — уровень сырья в бункере понижается; 
a := k · X(t) — чем меньше уровень X, тем медленнее высыпается сырье, так как верхние слои меньше давят на нижние; 
V(t) := a · B — интенсивность поступления груза в вагон из бункера; 
B := ed(3 – i + 1) · ed(X(t)) — сырье поступает в вагон, если его номер не больше третьего И сырье в бункере есть. 

На основе построенной модели можно решить ряд задач, например, определить время, за которое будет загружен весь состав, или выяснить другие какие-то другие вопросы. В общем случае, то, какая задача будет решаться на модели, во многом зависит от целей человека, использующего эту модель.

Пример 8. Триггер. Часто для управления информационными сигналами требуется триггер. Таблица истинности триггера представлена в табл. 31.1.

Таблица 31.1.
Таблица истинности триггера
Входы Новое состояние триггера, выход
Сброс триггера Старое состояние Информационный вход
R Q S Q
0 0 0 0
0 0 1 1
0 1 0 1
0 1 1 1
1 0 0 0
1 0 1 0
1 1 0 0
1 1 1 0

Это устройство, как видно из табл. 31.1, легко описывается логическими функциями, но при этом одновременно является системой с памятью (внутри триггера находится цепь обратной связи, математически: Q := F(RSQ), см. рис. 31.22).

Моделирование производственных процессов и систем
Рис. 31.22. Условное обозначение
триггера на схемах

Представим модель триггера, используя логические функции его состояния. В табл. 31.1 выделим все строки с Q = 1 (столбец «Новое состояние триггера, выход»). Их три. Запишем три ситуации через операцию ИЛИQ := c1 ИЛИ c2 ИЛИ c3. Каждая ситуация, чтобы строка выдала 1 на выходе, должна быть ОДНОВРЕМЕННОЙ комбинацией сигналов RQS, то есть R И Q И S. Если входной сигнал в строке равен 1, то переменную надо взять «как есть», если равен 0, то инвертировать функцией НЕ. Например, строка

R Q S Q
0 0 1 1

дает: НЕ(R) И НЕ(Q) И S И Q, или, используя функции в записи, как их обычно реализуют в формальных языках, имеем: not(R) · not(Q) · S · Q, или еще вариант: and(and(not(R), not(Q)), and(SQ)). Вся таблица в виде логической функции опишется так:

Q := (not(R) · not(Q) · S) ИЛИ (not(R) · Q · not(S)) ИЛИ (not(R) · Q · S).

В табл. 31.2 для справки приведены значения общеупотребимых логических функций ИИЛИ,НЕ. Окончательно, приводя подобные, вынося за скобки и используя формальную общепринятую языковую запись, получим:

Q := and(not(R), or(S, and(Q, not(S)))).

Таблица 31.2.
Значения логических
функций И, ИЛИ, НЕ
A B A and B A or B not A
0 0 0 0 1
0 1 0 1 1
1 0 0 1 0
1 1 1 1 0

Пример 9. СТАРТ-СТОП или Ловушка. Теперь допустим, что надо смоделировать такой процесс, который начинается при выполнении какого-то сигнала Y, затем идет какое-то время Tp и останавливается сам по себе по прохождении такого времени. Если во время выполнения процесса поступает снова сигнал Y, то процесс игнорирует такой сигнал Y. Если сигнал Y приходит вновь, когда процесс остановлен, то процесс готов воспринять сигнал и отреагировать на него снова.

Ловушкой такая конструкция называется потому, что модель на время захватывает входной сигнал и не реагирует в течение этого времени на другие входные сигналы. С помощью таких конструкций часто имитируют процесс обработки изделий в отдельных узлах технологической линии. Изделие попадает в узел, как в ловушку, и выходит из него только через определенное время. В течение всего этого времени узел занят и не готов принять другие изделия (входные сигналы). Получается, что и изделие занято узлом, и узел занят изделием.

Назовем для наглядности флаги: 
«Можно_начать» — флаг устанавливается в 1, если можно начать процесс, а процесс можно начать, если пришел сигнал Y И процесс сейчас не идет; 
«Процесс_идет» — флаг устанавливается в 1, если процесс происходит, то есть уже начался И пока не закончился. Процесс идет, если можно начать процесс ИЛИ если процесс уже идет И пока не остановлен; 
«Стоп» — флаг устанавливается в 1, если надо остановить процесс, а это происходит, если процесс уже или пока не идет ИЛИ время протекания процесса окончилось.

Теперь запишем уравнения согласно логике (в записи использованы знаки & (И) и | (ИЛИ)):

Можно_начать := ed(Y) & not(Процесс_идет); 
Процесс_идет := Можно_начать | (Процесс_идет & not(Стоп)); 
t := (t + h) · ed(Tp – t) · Процесс_идет; 
Стоп := not(Процесс_идет) | not(ed(t)).

Надеюсь, эта статья об увлекательном мире моделирование производственных процессов, была вам интересна и не так сложна для восприятия как могло показаться. Желаю вам бесконечной удачи в ваших начинаниях, будьте свободными от ограничений восприятия и позвольте себе делать больше активности в изученном направлени . Надеюсь, что теперь ты понял что такое моделирование производственных процессов, систем и для чего все это нужно, а если не понял, или есть замечания, то не стесняйся, пиши или спрашивай в комментариях, с удовольствием отвечу. Для того чтобы глубже понять настоятельно рекомендую изучить всю информацию из категории Моделирование и Моделирование систем

Ответы на вопросы для самопроверки пишите в комментариях, мы проверим, или же задавайте свой вопрос по данной теме.

создано: 2015-12-19
обновлено: 2021-03-13
132497



Рейтиг 9 of 10. count vote: 2
Вы довольны ?:


Поделиться:

Найди готовое или заработай

С нашими удобными сервисами без комиссии*

Как это работает? | Узнать цену?

Найти исполнителя
$0 / весь год.
  • У вас есть задание, но нет времени его делать
  • Вы хотите найти профессионала для выплнения задания
  • Возможно примерение функции гаранта на сделку
  • Приорететная поддержка
  • идеально подходит для студентов, у которых нет времени для решения заданий
Готовое решение
$0 / весь год.
  • Вы можите продать(исполнителем) или купить(заказчиком) готовое решение
  • Вам предоставят готовое решение
  • Будет предоставлено в минимальные сроки т.к. задание уже готовое
  • Вы получите базовую гарантию 8 дней
  • Вы можете заработать на материалах
  • подходит как для студентов так и для преподавателей
Я исполнитель
$0 / весь год.
  • Вы профессионал своего дела
  • У вас есть опыт и желание зарабатывать
  • Вы хотите помочь в решении задач или написании работ
  • Возможно примерение функции гаранта на сделку
  • подходит для опытных студентов так и для преподавателей



Комментарии


Оставить комментарий
Если у вас есть какое-либо предложение, идея, благодарность или комментарий, не стесняйтесь писать. Мы очень ценим отзывы и рады услышать ваше мнение.
To reply

Моделирование и Моделирование систем

Термины: Моделирование и Моделирование систем