На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
  
> Помогите пожалуйста с кодом GPSS (синтаксис) , логика вроде соблюдена, а вот работать прога не хочет...
    [ code ]*********** Приема в больнице на медкомиссии имеется 4 врача которых должен пройти транзакт-посетитель
    D1 storage 1 ; не более 1 посетителя в кабинете
    D2 storage 1 ; не более 1 посетителя в кабинете
    D3 storage 1 ; не более 1 посетителя в кабинете
    D4 storage 1 ; не более 1 посетителя в кабинете


    var1 VARIABLE P1+QD1; посетитель за счет использования блока select заходит в первый кабинет с меньшей очередью
    var2 VARIABLE P2+QD2; а т.к. кабинетов=докторов всего 4, и дважды заходить в кабинет не надо то select выбирает
    var3 VARIABLE P3+QD3; не меньшую очередь, а меньшее значение функции, где P2 - параметр, который до прохода, в данном случае 2 кабинета,
    var4 VARIABLE P4+QD4; (P2 - второй параметр транзакта)=0, а после P2=1000, чтоб значение функции оказалось заведомо большим


    time2 table MP3,0,3,5; таблица, куда должны заноситься данные о времени прохождения медкомиссии

    ;Специально взял конструкцию Enter-Leave, а не SEIZE-RELEASE т.к. по модели может быть будет увеличить число докторов того или иного профиля


    PH1 Matrix ,4,2; матрица с данными о времени прохождения того или иного врача
    initial MX$PH1(1,1),5; заполнение матрицы данными
    initial MX$PH1(1,2),2
    initial MX$PH1(2,1),8
    initial MX$PH1(2,2),5
    initial MX$PH1(3,1),10
    initial MX$PH1(3,2),3
    initial MX$PH1(4,1),4
    initial MX$PH1(4,2),2

    Generate 7,5; генерация транзактов
    mark M11; отметка времени входа


    select MIN P5,V$var1,V$var4; выбор кабинета
    QUEUE DP5; Вход в очередь к кабинету
    enter DP5; вход на прием
    DEPART DP5; выход из очереди
    advance MX$PH1(P5,1),MX$PH1(P5,2); длительность приема
    leave DP5 ; прием окончен
    ASSIGN PP5,1000;
    TEST NE V10,4,vyhod
    advance 1 ; задержка по времени
    transfer , STK1; переход к следующему врачу
    tabulate time2
    vyhod TERMINATE


    *********** сегмент таймера
    Generate 480 ; 8 часов (1 день) работы
    terminate 1
    start 1
    [ /code ]

    и при запуске ошибка

    12/05/10 06:32:24 Model Translation Begun.
    12/05/10 06:32:24 Ready.
    12/05/10 06:32:24 Simulation in Progress.
    12/05/10 06:32:24 Error Stop.
    12/05/10 06:32:24 Halt. XN: 1. Block 3 Next.
    12/05/10 06:32:24 Clock:10.423660. Next: SELECT. Line 34.
    12/05/10 06:32:24 select MIN P5,V$var1,V$var4; выбор кабинета
    12/05/10 06:32:24 Reference to a non-existent Parameter.

    Подскажите пожалуйста где ошибка?
    1 пользователей читают эту тему (1 гостей и 0 скрытых пользователей)
    0 пользователей:


    Рейтинг@Mail.ru
    [ Script execution time: 0,0139 ]   [ 14 queries used ]   [ Generated: 19.05.24, 23:40 GMT ]