Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

GPSS и проблема в коде

49K
17 января 2010 года
Crazy D0G
3 / / 29.06.2009
Здравствуйте. При написании программы на GPSS к курсовому проекту столкнулся с несколькими проблемами, но покопавшись в интернете я нашел код своей программы, правда немного отличным от моего. Привожу его ниже + описание самого задания:
Задание 6.
На участке термической обработки выполняются цементация и закаливание шестерен,
поступающих через 10 ± 5 мин. Цементация занимает 10 ± 7 мин, а закаливание - 10 ± б мин.
Качество определяется суммарным временем обработки. Шестерни с временем обработки больше 25 мин
покидают участок, с временем обработки от 20 до 25 мин передаются на повторную закалку и при времени
обработки меньше 20 мин должны пройти повторную полную обработку. Детали с суммарным временем
обработки меньше 20 мин считаются вторым сортом.
Смоделировать процесс обработки на участке 400 шестерен. Определить функцию распределения времени
обработки и вероятности повторения полной и частичной обработки. При выходе продукции без повторной
обработки менее 90% обеспечить на участке мероприятия, дающие гарантированный выход продукции
первого сорта 90%.
Код:
sortDetali  table   P4,2,1,6               ;raspredelenie pervichnoy i vtorichnoy obrabotki
timeDetali  table   P3,0,1,53   ;raspredelenie vremeni operaciy

    GENERATE    10,5,,400
    ASSIGN  4,0 ;2 - pervichnaya obrabotka (cementaciya i zakalivanie)
            ;3 - pervichnaya + povtornaya (zakalivanie)
            ;4 - pervichnaya + povtornaya (cementaciya и zakalivanie)
            ;5 - pervichnaya + povtornaya + (zakalivanie)
            ;6 - pervichnaya + povtornaya + (zakalivanie) + (zakalivanie)
met1    ASSIGN  1,AC1
    ADVANCE 6,5 ;cementaciya
    ASSIGN  1,(AC1-P1)
    ASSIGN  4+,1
   
met2    ASSIGN  2,AC1  
    ADVANCE 6,4 ;zakalivanie
    ASSIGN  2,(AC1-P2)
    ASSIGN  4+,1

    ASSIGN  3+,(P1+P2)
    ASSIGN  1,0

    TEST E  P4,2,met3
    TEST L  P3,25,met3
    TEST L  P3,20,met2
    TRANSFER    ,met1

met3    ASSIGN  sort,(2-((P3\20)&1))
    TEST NE P$sort,1,met4
    TEST GE x1,(x2#9),met2  ;meropriyatiya, dayuschie vihod produkcii 1go sorta 90%.
met4    SAVEVALUE   P$sort+,1

    TABULATE    sortDetali
    TABULATE    timeDetali
    TERMINATE   1
start     400


В этом коде запись абсолютного времени идет в параметры транзакта, в своем же коде я применял MARK и потом уже все условия сравнивал с М1. Идея вышеприведенного кода мне понравилась и решил использовать ее самому, отказавшись от MARK :)
Вот мой код:
Код:
sortDetali        table        P4,2,1,6        
timeDetali        table        P3,0,1,53        

        GENERATE         10,5,,400

        ASSIGN        4,0
CEMQ        ASSIGN    1,AC1
        QUEUE         CEMENT
        SEIZE         CEM
        DEPART         CEMENT
        ADVANCE   10,7
        RELEASE         CEM
        ASSIGN    1,(AC1-P1)
        ASSIGN        4+,1

ZAKQ        ASSIGN    2,AC1
        QUEUE         ZAKAL
        SEIZE         ZAK
        DEPART         ZAKAL
        ADVANCE   10,6
        RELEASE         ZAK
        ASSIGN    2,(AC1-P2)
        ASSIGN        4+,1

        ASSIGN    3+,(P1+P2)
        ASSIGN        1,0
        ASSIGN        2,0

        TEST E        P4,2,SORT
        TEST L         P3,25,SORT
        TEST L         P3,20,ZAKQ
        TRANSFER        ,CEMQ

SORT        ASSIGN    sort,(2-((P3\20)&1))
        TEST NE   P$sort,1,met1
        TEST GE   x1,(x2#9),ZAKQ
met1  SAVEVALUE P$sort+,1

        TABULATE        sortDetali
        TABULATE        timeDetali

        TERMINATE 1
        START        400

А теперь вопросы - что дает эта строчка - "TEST GE x1,(x2#9),ZAKQ" ? что это за переменные x1 и x2 и почему x2 умножается на 9 ?
Так же хотелось бы уточнить - это нормально, что при начальных данных выход продукции 1 сорта или 100% или почти 100%? так как в коде, который я нашел начальные данные о задержках в устройствах цементации и закаливания уменьшены и поэтому выход 2 сорта идет больше.
И как определить функцию распределения времени обработки и веро*ятности повторения полной и частичной обработки - использовать данные из таблиц?
Буду очень признателен откликнувшимся. Спасибо.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог