Страница 1 из 1

Помогите решить маленькую задачку.

Добавлено: 25.02.2016{, 16:56}
vlaks
Добрый день..

Помогите решить маленькую задачку.

Имеется от 10 дискретных (тревожных) входов. Задача выводить номер или название сработавшего дискретного входа на дисплей в течении 5 секунд. Если несколько дискретных входов срабатывают одновременно (относительно), то их выстроить в очередь и так же последовательно как они сработали вывести на дисплей. Предполагаю что для решения этой задачи нужно
использовать массивы, но опыта работы с ними пока нету.  Изображение

Помогите решить маленькую задачку.

Добавлено: 25.02.2016{, 17:53}
Олег
Сложность зависит от того как и на какой дисплей выводить, в самом простом случае и 10 блоков Switch и одного Сложение строк достаточно при выводе на LCD1602. Ну еще таймеры и обработка входа, но это для всех систем одинаково будет.

Помогите решить маленькую задачку.

Добавлено: 25.02.2016{, 19:25}
vlaks
Олег писал(а):Сложность зависит от того как и на какой дисплей выводить
Я не хочу что бы строки складывались. Дисплей не имеет значение, для примера можно и LCD1602

Активировался 1 вход - вышла надпись об этом на 5 секунд.
Активировался 2 вход - вышла надпись об этом на 5 секунд.
Активировались сразу несколько входов 9, 7, 5 - вышла надпись сначала 9-го входа на 5 секунд, потом 7-го на 5 секунд и 5-го на 5 секунд.  и т.п.

Помогите решить маленькую задачку.

Добавлено: 25.02.2016{, 20:44}
Олег
То-есть в один момент времени на экране одна строка и остальные выводятся потом, каждая по пять секунд?

Помогите решить маленькую задачку.

Добавлено: 25.02.2016{, 20:48}
vlaks
ДА. выходные сообщения по мере поступления должны выстраиваться в очередь..

Помогите решить маленькую задачку.

Добавлено: 26.02.2016{, 20:56}
VirSpy
Попробуй так. Не проверял.
Изображение

Помогите решить маленькую задачку.

Добавлено: 29.02.2016{, 10:52}
vlaks
не работае Изображение

Помогите решить маленькую задачку.

Добавлено: 29.02.2016{, 13:05}
Олег
Здесь нечто похожее, посмотрите.

Помогите решить маленькую задачку.

Добавлено: 29.02.2016{, 13:50}
vlaks
Олег писал(а):Здесь нечто похожее, посмотрите.
Вот кое что накидал.... Для моих задач подходит.

http://pixs.ru/showimage/Screenshot_930 ... 896045.png

Помогите решить маленькую задачку.

Добавлено: 29.02.2016{, 15:35}
rw6cm
vlaks писал(а):Задача выводить номер или название сработавшего дискретного входа на дисплей в течении 5 секунд.
В условиях задачи много неясностей.
Что такое сработка? Какой сигнал, какой длительности, как часто может происходить???
Если сработка может быть каждую секунду, то за время 50сек (10 сигналов по 5 сек на дисплей) очередь выстроится в 50 единиц.
Отсюда и массив надо делать на 50. Если в течении 5 сек одну и туже сработку считать как 1 раз, то достаточно массив на 10.
К тому же
vlaks писал(а):Если несколько дискретных входов срабатывают одновременно (относительно)
этот вариант возможен или нет, не понятно.
Не думаю что ваш вариант
vlaks писал(а):Вот кое что накидал.... Для моих задач подходит.
это поможет решить.

Здесь набросок как мне это видеться, но вокруг нужно еще куча условий :)

п/с сработкой считается № входа на землю.

Помогите решить маленькую задачку.

Добавлено: 29.02.2016{, 20:48}
rw6cm
Немного доработал. Сделал буфер, для сработок идущих подряд.
И развязку если один из входов остается закорочен.