powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Программирование [игнор отключен] [закрыт для гостей] / МОДЕЛИРОВАНИЕ В GPSS
5 сообщений из 5, страница 1 из 1
МОДЕЛИРОВАНИЕ В GPSS
    #37196164
Фотография Геннадий Oracle MAN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый вечер. В общем посмотрев на код видно, что верно. Но когда она начинает выполняться она вылеает. И не могу понять почему.
0001 SIMULATE
0002 SVE1 EQU 1
0003 SVE1 STORAGE 6 ;Число кадров в цифром тракте
0010 INITIAL X$ABON,30 ;Число абонементов в подсети
0015 INITIAL X$RNT,12000 ;Средний интервал между вызовами
0020 INITIAL X$RAZG,1200 ;Средняя длительность разговора
0025 INITIAL X$PROSL,150 ;Средняя длительность прослушивания сигнала занято
0030 INITIAL X$POFT,600 ;Средний интревал между повторами вызова
0035 INITIAL X$OBSL,400 ;Вероятность обслуживания в тысячных долях
0040 INITIAL X$NEOT,500 ;Процент неответа в тысячных долях
0045 INITIAL X$UST,40 ;Средняя длительность установления связи
0050 INITIAL X$ADAP,5 ;Порог адаптации
0055 PER1 FVARIABLE 100000#N$TXIE/X$POTER ;Вероятность потери во времени
0060 PER2 FVARIABLE 100000#N$LED/X$POTER ;Вероятность успещного завершения разговора
0065 PER3 FVARIABLE X$SRED/(N$LED+N$TXIE) ;Среднее число попыток на один вызов
0071 BER1 FVARIABLE X$BLO1+N$ZAN-X$BLO2 ;
0072 BER2 FVARIABLE X$POTER+X$BLO3+X$BLO4 ;
0073 PER4 FVARIABLE 100000#(V$BER1/V$BER2) ;Вероятность блокировки в абонементском тракте
*
0110 EXPON FUNCTION RN4,C24
0,0/.100,.104/.200,.222/.300,.355/.400,.509
.500,.690/.600,.915/.700,1.200/.750,1.380
.800,1.600/.840,1.830/.880,2.120/.900,2.300
.920,2.520/.940,2.810/.950,2.990/.960,3.200
.970,3.500/.980,3.900/.990,4.600/.995,5.300
.998,6.200/.999,7/1,8

0117 NAST FUNCTION P3,C2 ;Функция настойчивости
1,600/2,900
0124 TOCH FUNCTION P3,C7 ;Точная функция настойчивости
1,600/2,700/3,750/4,790/5,820/6,850/7,880
0125 OTS FUNCTION P4,C3 ;Функция настойчивости при отсутвии абонемента
1,300/2,400/3,500

0126 GENERATE 1,,,1 ;Генерация исходного транзакта
0127 ASSIGN POTER,0 ;Получение заданного числа источников
0128 ASSIGN SRED,0
0129 ASSIGN ADR,0
0130 ASSIGN BLO1,0
0131 ASSIGN BLO2,0
0132 ASSIGN BLO3,0
0133 ASSIGN BLO4,0
0134 ASSIGN 3,0
0138 SPLIT X$ABON,ACT
0139 TERMINATE

0140 ACT ADVANCE X$RNT,FN$EXPON ;Моделирование интервала между вызовами
0145 ASSIGN 3,1 ;В 3 храниться число поторных вызовов
0150 SAVEVALUE POTER+,1 ;POTER - Суммарное число повтороных вызовов

0155 VHO TEST LE S1,X$ADAP ;Проверка наличия свободного кадра
0160 TEST L RN6,X$OBSL,IPV ;Проверка обслуживания
0161 ENTER 1
0162 QUEUE 1
0163 ADVANCE X$RAZG,FN$EXPON
0164 DEPART 1
0165 LEAVE 1
0170 SAVEVALUE SRED+,P3 ;SPED сумма повторных попыток
0175 TEST NE TG1,1,DNE
0180 SPLIT 1,ACT
0185 TERMINATE 1

0190 IPV TEST G RN7,X$NEOT,NOT
0195 SAVEVALUE BLO2+,1 ;BLO2 Число состояний занято
0196 ENTER 1
0197 QUEUE 1
0198 ADVANCE X$PROSL,FN$EXPON
0199 DEPART 1
0200 LEAVE 1
0205 SAVEVALUE BLO1+,1 ;BLO1 Число блокировок из-за отсуствие кадра
0210 TEST LE RN7,FN$TOCH,TXIE
0215 SAVEVALUE BLO3+,1 ;BLO3 Число потоврных попыток из-за занятости кадра
0220 ASSIGN 3+,1
0225 ADVANCE X$POFT,FN$EXPON
0230 TRANSFER ,VHO

0235 NOT SAVEVALUE ADR+,1 ;ADR Число неответов адресата
0236 ENTER 1
0237 QUEUE 1
0238 ADVANCE X$UST,FN$EXPON
0239 DEPART 1
0240 LEAVE 1
;0245 TEST LE RN6,FN$OTS,TXIE
0250 SAVEVALUE BLO4+,1 ;BLO4 Число повторных попыток при неответе
0255 ASSIGN 3+,1
0260 ADVANCE X$POFT,FN$EXPON ;Интервал между вызовами при неответе
0265 TRANSFER ,VHO


0270 TXIE SAVEVALUE SRED+,P3 ;SRED Отказ от установки связи
0275 TEST NE TG1,1,DNE
0280 SPLIT 1,ACT
0285 TERMINATE 1
0310 DNE TERMINATE 1



0315 GENERATE 200
0320 SAVEVALUE ADAP,5
0325 TEST G SR1,800,KON
0330 SAVEVALUE ADAP,6
0335 KON TERMINATE
0340 START 500


Жирным я отметил ту часть, где есть предполагаемая ошибка. Так как остальной код выполняется.
...
Рейтинг: 0 / 0
МОДЕЛИРОВАНИЕ В GPSS
    #37196533
Фотография u_gray
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
 0190  IPV TEST G RN7,X$NEOT,NOT
заменить на
Код: plaintext
 0190  IPV TEST G RN7,X$NEOT,NOT1
, и:
Код: plaintext
 0235  NOT SAVEVALUE ADR+, 1 	 ;ADR Число неответов адресата
заменить на
Код: plaintext
 0235  NOT1 SAVEVALUE ADR+, 1 	 ;ADR Число неответов адресата
...
Рейтинг: 0 / 0
МОДЕЛИРОВАНИЕ В GPSS
    #37197040
Фотография Геннадий Oracle MAN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
автор;0245 TEST LE RN6,FN$OTS,TXIE Убираем кавычки
Выдает такую ошибку
04/03/11 23:35:13 Model Translation Begun.
04/03/11 23:35:13 Ready.
04/03/11 23:35:13 Simulation in Progress.
04/03/11 23:35:13 Error Stop.
04/03/11 23:35:13 Halt. XN: 15. Block 45 Next.
04/03/11 23:35:13 Clock:144.571220. Next: TEST. Line 83.
04/03/11 23:35:13 0245 TEST LE RN6,FN$OTS,TXIE
04/03/11 23:35:13 Reference to a non-existent Parameter.
Какой параметр не существует ?
...
Рейтинг: 0 / 0
МОДЕЛИРОВАНИЕ В GPSS
    #37197104
Фотография u_gray
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Геннадий Oracle MAN;0245 TEST LE RN6,FN$OTS,TXIE
Какой параметр не существует ?

Параметр FN$OTS .

У тебя проблема с функцией:
Код: plaintext
 0125  OTS  FUNCTION  P4,C3

Видишь, у нее аргумент - 4-й параметр транзакта.
А значение этого параметра нигде по тексту программы не определено.
Поэтому в момент обращения к FN$OTS значение функции тоже не может быть вычислено.

Например, будет работать вот так:
Код: plaintext
 0125  OTS  FUNCTION  P3,C3
Но какая логика у модели на самом деле, тебе лучше знать.
...
Рейтинг: 0 / 0
МОДЕЛИРОВАНИЕ В GPSS
    #37197748
Фотография Геннадий Oracle MAN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да спс я понял... Ошибка оказалась в том что в начале программы нужно было "ASSIGN 4,0". Вот и косяк.)))
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Программирование [игнор отключен] [закрыт для гостей] / МОДЕЛИРОВАНИЕ В GPSS
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]