Регистрация | Последние сообщения | Персональный список | Поиск | Настройка конференции | Личные данные | Правила конференции | Список участников | Top 64 | Статистика раздела | faq | Что нового v.2.3 | Чат
Skunk Forum - Техника, Наука, Общество » АСУТП »
Алгоритм циклической загрузки-разгрузки аппарата (страница 2)

Версия для печати (настроить)
Страницы: 1 2

Новая тема | Написать ответ

Подписаться

Автор Тема:   Алгоритм циклической загрузки-разгрузки аппарата
Avsha
Member

Сообщений: 78
Регистрация: Июль 2005

написано 13 Января 2006 08:37ИнфоПравкаОтветитьIP

Ну вот дошли мы и до диагностики работы алгоритма.
Есть например 4 дискретных признака - D1, D2, D3, D4.
Требуется проверить их последовательное срабатывание и в результате получить на выходе дискретный сигнал - D_цикл, что цикл был последовательно полностью пройден от состояния к состоянию.

У кого какие соображения, каким образом проверять последовательность срабатывания признаков для FBD или ST?

Anatol_K
unregistered
написано 13 Января 2006 11:29  ПравкаОтветитьIP

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

Avsha
Member

Сообщений: 79
Регистрация: Июль 2005

написано 13 Января 2006 12:19ИнфоПравкаОтветитьIP

Я тоже думал в этом-же направлении, с использованием счетчика на ST:

1) Если фронт_D1=1 и cчетчик_S=0, то cчетчик_S=1
2) Если фронт_D2=1 и cчетчик_S=1, то cчетчик_S=2
3) Если фронт_D3=1 и cчетчик_S=2, то cчетчик_S=3
4) Если фронт_D4=1 и cчетчик_S=3, то cчетчик_S=4
5) Если cчетчик_S=4, то D_цикл=1, cчетчик_S=0


Avsha_
unregistered
написано 15 Января 2006 07:24  ПравкаОтветитьIP

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

|-------|
| |--D_ALM
D_Res---| |--A_St
| |
D_1 -- | |--ND_1
D_2 -- | |--ND_2
D_3 -- | |--ND_3
D_4 -- | |--ND_4
|------ |

Входы:
D_1 ... D_4 - признаки алгоритма
D_Res - Сигнал cброса счетчиков и сигнала нарушения

Выходы:
A_St=(1..4) - Счетчик "Текущее состояние алгоритма"
ND_1 ... ND_4 - Счетчики "Количество срабатываний каждого из признаков"
D_ALM - Сигнал диагностики - "Нарушена последовательность срабатываний признаков"

Примечание:
Счетчики можно брать на графики, а сигнал диагностики D_ALM писать в протокол нарушений.

------------------------------------------------------------------------------
If REDGE (D_Res,vD_Res) Then (*Фронт сброса D_Res*)
vD_iniz:= FALSE; D_ALM:=FALSE;
vA_St:=0.0;
vND_1:=0.0;
vND_2:=0.0;
vND_3:=0.0;
vND_4:=0.0;
End_if;
------------------------------------------------------------------------------
If REDGE (D_1,vD_1) Then (*Фронт признака D_1*)
vND_1:= vND_1 + 1.0;
If not vD_iniz Then vD_iniz:= TRUE; vA_St:= 4.0; END_IF;(*Инициализация*)
If vA_St=4.0 Then vA_St:=1.0; D_ALM:=FALSE;
Else vA_St:=1.0; D_ALM:=TRUE; END_IF;
End_if;
------------------------------------------------------------------------------
If REDGE (D_2,vD_2) Then (*Фронт признака D_2*)
vND_2:= vND_2 + 1.0;
If not vD_iniz Then vD_iniz:= TRUE; vA_St:= 1.0; END_IF;(*Инициализация*)
If vA_St=1.0 Then vA_St:=2.0; D_ALM:=FALSE;
Else vA_St:=2.0; D_ALM:=TRUE; END_IF;
End_if;
------------------------------------------------------------------------------
If REDGE (D_3,vD_3) Then (*Фронт признака D_3*)
vND_3:= vND_3 + 1.0;
If not vD_iniz Then vD_iniz:= TRUE; vA_St:= 2.0; END_IF;(*Инициализация*)
If vA_St=2.0 Then vA_St:=3.0; D_ALM:=FALSE;
Else vA_St:=3.0; D_ALM:=TRUE; END_IF;
End_if;
------------------------------------------------------------------------------
If REDGE (D_4,vD_4) Then (*Фронт признака D_4*)
vND_4:= vND_4 + 1.0;
If not vD_iniz Then vD_iniz:= TRUE; vA_St:= 3.0; END_IF;(*Инициализация*)
If vA_St=3.0 Then vA_St:=4.0; D_ALM:=FALSE;
Else vA_St:=4.0; D_ALM:=TRUE; END_IF;
End_if;
------------------------------------------------------------------------------
(*Вывод данных*)
A_St:= vA_St;
ND_1:= vND_1;
ND_2:= vND_2;
ND_3:= vND_3;
ND_4:= vND_4;
------------------------------------------------------------------------------

Ваш ответ:

Коды форума
Смайлики


Ник:    Пароль       
Отключить смайлики
Страницы: 1 2

Все время MSK

Склеить | Разбить | Закрыть | Переместить | Удалить

Новая тема | Написать ответ
Последние сообщения         
Перейти к:

Свяжитесь с нами | skunksworks.net

Copyright © skunksworks.net, 2000-2018

Разработка и техническая поддержка: skunksworks.net


Рейтинг@Mail.ru Яндекс.Метрика