IPB

Здравствуйте, гость ( Вход | Регистрация )

> Наблюдение за выполнением процесса отработки.
VAL_64
сообщение 1.10.2018 - 11:32
Сообщение #1


Гигант мысли
****

Группа: Пользователи
Сообщений: 253
Регистрация: 21.01.2017
Пользователь №: 10799



Всем доброго времени суток, прошу помощи.
Кто подскажет как организовать наблюдение за выполнением определенного куска кода (программы)?
Если будет превышено время выполнения этого кода, должно все остановится и выдать аварию.
Время выполнения задается в ручную к примеру от 0 до 1000 сек.

Я имею виду изменять время не находу процесса отработки, а выставил время например 3сек. и запустил процес на отработку, если этот процесс за 3сек.
не добрался до концевика окончания процесса прервать процесс (безопасный останов), или возвратится в исходную позицию,
а если укладывается в эти 3сек. то продолжать дальше...
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
Открыть новую тему
Ответов
VAL_64
сообщение 8.10.2019 - 12:24
Сообщение #2


Гигант мысли
****

Группа: Пользователи
Сообщений: 253
Регистрация: 21.01.2017
Пользователь №: 10799



var
циклы : (исходная_позиция, отработка, продолжать_дальше, прервать_процесс ...);
t : time;
время_например : time := t#3s;
определися_таки : bool;
-------------
case циклы of
исходная_позиция:
if запустил_процес_на_отработку then
t := time();
циклы := отработка;
end_if
отработка :
if концевик then
циклы := продолжать_дальше;
elsif time() - t > время_например then
циклы := sel(определися_таки, исходная_позиция, прервать_процесс);
end_if
продолжать_дальше:
... ;
прервать_процесс:
... ;
end_case
Кто подскажет как это все организовать в FBD или LD
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
paul-th
сообщение 7.12.2019 - 10:34
Сообщение #3


Писатель
**

Группа: Пользователи
Сообщений: 55
Регистрация: 15.11.2008
Пользователь №: 8998



Цитата(VAL_64 @ 8.10.2019 - 13:24) *
var
циклы : (исходная_позиция, отработка, продолжать_дальше, прервать_процесс ...);
t : time;
время_например : time := t#3s;
определися_таки : bool;
-------------
case циклы of
исходная_позиция:
if запустил_процес_на_отработку then
t := time();
циклы := отработка;
end_if
отработка :
if концевик then
циклы := продолжать_дальше;
elsif time() - t > время_например then
циклы := sel(определися_таки, исходная_позиция, прервать_процесс);
end_if
продолжать_дальше:
... ;
прервать_процесс:
... ;
end_case
Кто подскажет как это все организовать в FBD или LD

Вам же ответили, есть так называемые циклические шаговые программы, это всё пишется элементарно в LD.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения

Сообщений в этой теме


Ответить в эту темуОткрыть новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия Сейчас: 27.04.2024 - 23:08