Текущее время: Вс, июл 20 2025, 12:05

Часовой пояс: UTC + 3 часа


Правила форума


ВНИМАНИЕ!

Вопросы по SAP Query и Quick View - сюда



Начать новую тему Ответить на тему  [ Сообщений: 21 ]  На страницу 1, 2  След.
Автор Сообщение
 Заголовок сообщения: Периодичность выполнения
СообщениеДобавлено: Чт, авг 09 2007, 10:12 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Вт, авг 22 2006, 11:14
Сообщения: 136
Добрый день! Необходимо выполнять некую операцию с периодичностью ~200мс, есть ли в абапе возможность задать таким образом таймер?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Периодичность выполнения
СообщениеДобавлено: Чт, авг 09 2007, 10:45 
Ассистент
Ассистент

Зарегистрирован:
Ср, окт 25 2006, 23:58
Сообщения: 45
Откуда: Москва
пошел_погулять написал(а):
Добрый день! Необходимо выполнять некую операцию с периодичностью ~200мс, есть ли в абапе возможность задать таким образом таймер?


Если в программе то:

WAIT UP TO '0.200' SECONDS.

А если программу периодично выполнять, то надо job создавать тогда.

_________________
Все можно починить, если долго вертеть в руках.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Периодичность выполнения
СообщениеДобавлено: Чт, авг 09 2007, 10:56 
Гуру-эксперт
Гуру-эксперт

Зарегистрирован:
Вт, сен 07 2004, 17:47
Сообщения: 2988
пошел_погулять написал(а):
Добрый день! Необходимо выполнять некую операцию с периодичностью ~200мс, есть ли в абапе возможность задать таким образом таймер?

А зачем, если не секрет, что мониторить собираетесь?

diatchkov написал(а):
А если программу периодично выполнять, то надо job создавать тогда.

На 0.2 секунды? Да диспетчер заданий хорошо если раз в 1.0 с их просматривает.

_________________
"После" - не значит "вследствие"


Последний раз редактировалось sy-uname Чт, авг 09 2007, 11:30, всего редактировалось 1 раз.

Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Периодичность выполнения
СообщениеДобавлено: Чт, авг 09 2007, 11:06 
Ассистент
Ассистент

Зарегистрирован:
Ср, окт 25 2006, 23:58
Сообщения: 45
Откуда: Москва
sy-uname написал(а):
Добрый день! Необходимо выполнять некую операцию с периодичностью ~200мс, есть ли в абапе возможность задать таким образом таймер?

А зачем, если не секрет, что мониторить собираетесь?

sy-uname написал(а):
На 0.2 секунды? Да диспетчер заданий хорошо если раз в 1.0 с их просматривает.


Согласен, но я и не сказал что там такой период можно выставить.

_________________
Все можно починить, если долго вертеть в руках.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Периодичность выполнения
СообщениеДобавлено: Чт, авг 09 2007, 11:31 
Председатель
Председатель
Аватара пользователя

Зарегистрирован:
Чт, апр 13 2006, 12:32
Сообщения: 1503
Откуда: Питер
diatchkov написал(а):
Если в программе то:

WAIT UP TO '0.200' SECONDS.


Это в какой системе, интересно, так будет работать?

SAP написал(а):
The system interprets the field time as an integer. This allows you to enter waiting periods in seconds.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Периодичность выполнения
СообщениеДобавлено: Чт, авг 09 2007, 11:40 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Ср, ноя 23 2005, 13:37
Сообщения: 1805
Откуда: ECC 6.0
Пол: Мужской
vga написал(а):
Это в какой системе, интересно, так будет работать?
Округляет до целого.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Периодичность выполнения
СообщениеДобавлено: Чт, авг 09 2007, 11:45 
Председатель
Председатель
Аватара пользователя

Зарегистрирован:
Чт, апр 13 2006, 12:32
Сообщения: 1503
Откуда: Питер
sibrin написал:
vga написал(а):
Это в какой системе, интересно, так будет работать?
Округляет до целого.


Ну я имел ввиду, что задержка будет ровно 0.2 сек.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, авг 09 2007, 12:08 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Вт, авг 22 2006, 11:14
Сообщения: 136
Мне необходимо посылать определенные данные в последовательный порт с периодичньстью ~200мс.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Периодичность выполнения
СообщениеДобавлено: Чт, авг 09 2007, 12:38 
Гуру-эксперт
Гуру-эксперт

Зарегистрирован:
Вт, сен 07 2004, 17:47
Сообщения: 2988
vga написал(а):
diatchkov написал(а):
Если в программе то:

WAIT UP TO '0.200' SECONDS.


Это в какой системе, интересно, так будет работать?

SAP написал(а):
The system interprets the field time as an integer. This allows you to enter waiting periods in seconds.
SAP написал(а):
WAIT UP TO sec SECONDS.
Effect
This statement interrupts program execution by as many seconds as are specified in sec. For sec, a data object of the type f is expected that must contain a positive number. After the specified time has passed, program execution is continued with the statement following WAIT.
Вроде да-же с 4.7(как минимум)
Другое дело что
SAP написал(а):
Notes
The statement WAIT causes a change in the work process. This is connected with rolling in and rolling out all the loaded programs. For this reason, the time in sec should not be set less than a second in order not to overload the system with too frequent changing of work processes.

пошел_погулять написал(а):
Мне необходимо посылать определенные данные в последовательный порт с периодичньстью ~200мс.

Хм, sap r3 уже позиционируется как система реального времени для управления технологическими процесами c гарантированным временем реакции?

_________________
"После" - не значит "вследствие"


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Периодичность выполнения
СообщениеДобавлено: Чт, авг 09 2007, 12:57 
Председатель
Председатель
Аватара пользователя

Зарегистрирован:
Чт, апр 13 2006, 12:32
Сообщения: 1503
Откуда: Питер
sy-uname написал(а):
Вроде да-же с 4.7(как минимум)


Хм, сейчас как раз есть доступ к 4.7. Проверил, округляет до ближайщего целого.
Например
Code:
  WRITE: / sy-UZEIT.
  DO 10 TIMES.
    WAIT UP TO '1.400' SECONDS.
  ENDDO.
  WRITE: / sy-UZEIT.


выполняется ровно 10 сек.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, авг 10 2007, 08:40 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Пн, ноя 01 2004, 12:17
Сообщения: 298
Пол: Мужской
как вариант:
Code:
GET RUN TIME FIELD T1.
Do.
  GET RUN TIME FIELD T2.
IF T2-T1 >200
DO SOMETHING
EXIT.
ENDIF.
ENDDO.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Периодичность выполнения
СообщениеДобавлено: Пт, авг 10 2007, 09:01 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Ср, ноя 23 2005, 13:37
Сообщения: 1805
Откуда: ECC 6.0
Пол: Мужской
sy-uname написал(а):
SAP написал(а):
Notes
The statement WAIT causes a change in the work process. This is connected with rolling in and rolling out all the loaded programs. For this reason, the time in sec should not be set less than a second in order not to overload the system with too frequent changing of work processes.

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


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Периодичность выполнения
СообщениеДобавлено: Пт, авг 10 2007, 09:48 
Гуру-эксперт
Гуру-эксперт

Зарегистрирован:
Вт, сен 07 2004, 17:47
Сообщения: 2988
sibrin написал:
...
Вообще говоря, может быть и есть какая-то c-функция, которая делает таймаут без выгрузки рабочего процесса. Только о ней мало кто знает.

'RZL_SLEEP' ? Правда у неё дискретность 1с и диапазон задаваемых значений не велик ( 1 - 5 ).

_________________
"После" - не значит "вследствие"


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Периодичность выполнения
СообщениеДобавлено: Пт, авг 10 2007, 12:10 
Председатель
Председатель
Аватара пользователя

Зарегистрирован:
Чт, апр 13 2006, 12:32
Сообщения: 1503
Откуда: Питер
sibrin написал:
Вообще говоря, может быть и есть какая-то c-функция, которая делает таймаут без выгрузки рабочего процесса. Только о ней мало кто знает.


Смею предположить, что функция лезет в рабочии процессы, чтобы перераспределить освободившееся время для других задач. Поэтому любая функция, использующая механизм alarm, чтобы получить управление через заданное время, будет работать по одинаковому принципу. Остается другой вариант, если задержка меньше секунды - сидеть в цикле и ждать ;-)


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Периодичность выполнения
СообщениеДобавлено: Пт, авг 10 2007, 13:38 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Ср, ноя 23 2005, 13:37
Сообщения: 1805
Откуда: ECC 6.0
Пол: Мужской
vga написал(а):
Поэтому любая функция, использующая механизм alarm, чтобы получить управление через заданное время, будет работать по одинаковому принципу.

Нет, RZL_SLEEP действительно делает таймаут не освобождая рабочий процесс. Она вызывает c-функцию:
Code:
    CALL 'ALERTS' ID 'ADMODE'         FIELD 50
                  ID 'STORAGE_OPCODE' FIELD 'SLEEP'
                  ID 'TIME'           FIELD INT_SECONDS.

Возможно, при других значениях ADMODE она будет принимать время не в секундах, а в миллисекундах.
Маловероятно, конечно...


Принять этот ответ
Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 21 ]  На страницу 1, 2  След.

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB