Страница 1 из 1
Помогите решить маленькую задачку.
Добавлено: 25 фев 2016, 16:56
vlaks
Добрый день..
Помогите решить маленькую задачку.
Имеется от 10 дискретных (тревожных) входов. Задача выводить номер или название сработавшего дискретного входа на дисплей в течении 5 секунд. Если несколько дискретных входов срабатывают одновременно (относительно), то их выстроить в очередь и так же последовательно как они сработали вывести на дисплей. Предполагаю что для решения этой задачи нужно
использовать массивы, но опыта работы с ними пока нету.

Помогите решить маленькую задачку.
Добавлено: 25 фев 2016, 17:53
Олег
Сложность зависит от того как и на какой дисплей выводить, в самом простом случае и 10 блоков Switch и одного Сложение строк достаточно при выводе на LCD1602. Ну еще таймеры и обработка входа, но это для всех систем одинаково будет.
Помогите решить маленькую задачку.
Добавлено: 25 фев 2016, 19:25
vlaks
Олег писал(а):Сложность зависит от того как и на какой дисплей выводить
Я не хочу что бы строки складывались. Дисплей не имеет значение, для примера можно и LCD1602
Активировался 1 вход - вышла надпись об этом на 5 секунд.
Активировался 2 вход - вышла надпись об этом на 5 секунд.
Активировались сразу несколько входов 9, 7, 5 - вышла надпись сначала 9-го входа на 5 секунд, потом 7-го на 5 секунд и 5-го на 5 секунд. и т.п.
Помогите решить маленькую задачку.
Добавлено: 25 фев 2016, 20:44
Олег
То-есть в один момент времени на экране одна строка и остальные выводятся потом, каждая по пять секунд?
Помогите решить маленькую задачку.
Добавлено: 25 фев 2016, 20:48
vlaks
ДА. выходные сообщения по мере поступления должны выстраиваться в очередь..
Помогите решить маленькую задачку.
Добавлено: 26 фев 2016, 20:56
VirSpy
Попробуй так. Не проверял.

Помогите решить маленькую задачку.
Добавлено: 29 фев 2016, 10:52
vlaks
не работае

Помогите решить маленькую задачку.
Добавлено: 29 фев 2016, 13:05
Олег
Здесь нечто похожее, посмотрите.
Помогите решить маленькую задачку.
Добавлено: 29 фев 2016, 13:50
vlaks
Олег писал(а):Здесь нечто похожее, посмотрите.
Вот кое что накидал.... Для моих задач подходит.
http://pixs.ru/showimage/Screenshot_9303792_20896045.png
Помогите решить маленькую задачку.
Добавлено: 29 фев 2016, 15:35
rw6cm
vlaks писал(а):Задача выводить номер или название сработавшего дискретного входа на дисплей в течении 5 секунд.
В условиях задачи много неясностей.
Что такое сработка? Какой сигнал, какой длительности, как часто может происходить???
Если сработка может быть каждую секунду, то за время 50сек (10 сигналов по 5 сек на дисплей) очередь выстроится в 50 единиц.
Отсюда и массив надо делать на 50. Если в течении 5 сек одну и туже сработку считать как 1 раз, то достаточно массив на 10.
К тому же
vlaks писал(а):Если несколько дискретных входов срабатывают одновременно (относительно)
этот вариант возможен или нет, не понятно.
Не думаю что ваш вариант
vlaks писал(а):Вот кое что накидал.... Для моих задач подходит.
это поможет решить.
Здесь набросок как мне это видеться, но вокруг нужно еще куча условий
п/с сработкой считается № входа на землю.
Помогите решить маленькую задачку.
Добавлено: 29 фев 2016, 20:48
rw6cm
Немного доработал. Сделал буфер, для сработок идущих подряд.
И развязку если один из входов остается закорочен.