Segnetics

Вернуться   Segnetics > Форум Segnetics > Вопросы о программировании

Вопросы о программировании Вопросы, касающиеся программирования на FBD

Ответ
 
Опции темы Поиск в этой теме
Старый 10.04.2009, 11:12   #1
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 117
Благодарил(а): 15 раз(а)
Поблагодарили: 660 раз(а) в 604 сообщениях
По умолчанию Определение включенного входа

Есть два метода:

быстрый (правая картинка)

и медленный (левая картинка)

Медленный требует малое число блоков, но задержка определения будет равна количеству входов, умноженное на время цикла программы. Если входов 10 и цикл системы 100 мсек, то время определения может доходить до секунды.

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

Схема работает следующим образом:

Счётчик (1) отсчитывает количество входов. В примере это 3 входа.

Мультиплексор (2) перебирает эти входы.

Если какой-либо вход оказывается в единичном состоянии, то это единичное состояние через мультиплексор (2) попадёт на вход разрешения запоминания регистра (4). Регистр (4) запомнит, на каком шаге это произошло. Номер шага совпадает с номером входа.

Если ещё какой-нибудь вход будет в единичном состоянии, то регистр (4) сотрёт информацию о прошлом входе и запомнит новый номер шага. Таким образом, если в единичном состоянии несколько входов, то запомнен будет только последний.

Когда счётчик (1) переберёт все входы, на его выходе "QU" возникнет импульс, который сначала скопирует информацию из регистра (4) в регистр (3), а затем обнулит содержимое регистра (4). Такая операция необходима для того, чтобы дать возможность регистру (4) запомнить новую информацию, не теряя существующую, которая теперь хранится в регистре (3).

Всё, определение закончено.


PS. Если нужно перебрать 100 входов, то счётчику (1) нужно указать счёт до 100, а мультиплексор (2) расширить до 101 входа.

PPS. Нулевой вход мультиплексора задействовать в данной схеме нельзя. Изменять порядок выполнения блоков тоже. Всё строго как на схеме: счётчик первый, мультиплексор второй, выходной регистр третий, промежуточный регистр четвёртый.
Изображения
Тип файла: png Указатель на вход.PNG (12.5 Кбайт, 1055 просмотров)
Тип файла: jpg test.JPG (45.6 Кбайт, 691 просмотров)


__________________
Программа делает то что написал программист, а не то что он хотел.

Добро всегда побеждает зло. Кто победил - тот и добрый.

Последний раз редактировалось Arsie, 16.02.2012 в 11:19
Arsie вне форума   Ответить с цитированием
Ответ


Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать свои сообщения

BB code is Вкл.
[IMG] код Вкл.
HTML код Выкл.



Часовой пояс GMT +4, время: 22:24.


Версия vBulletin: 3.8.7
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Segnetics 2005 - 2024