FLProg
Вход на сайт
Логин:
Пароль:
Мы в VK
Поиск
Статистика


Яндекс.Метрика
Воскресенье, 04.12.2016, 04:55
Приветствую Вас Гость | RSS
Главная | Регистрация | Вход

Поиск по сайту


Форум
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Страница 1 из 11
Модератор форума: support, Сергей 
Форум » Основной » Спросить у знатоков » Помогите решить маленькую задачку.
Помогите решить маленькую задачку.
vlaks
Дата: Четверг, 25.02.2016, 16:56 | Сообщение # 1
Сержант
Группа: Проверенные
Сообщений: 37
Награды: 2
Репутация: 1
Статус: Offline
Добрый день..

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

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


Сообщение отредактировал vlaks - Четверг, 25.02.2016, 17:23
 
Олег Дата: Четверг, 25.02.2016, 17:53 | Сообщение # 2
Гуру
Группа: Проверенные
Сообщений: 722
Награды: 20
Репутация: 15
Статус: Offline
Сложность зависит от того как и на какой дисплей выводить, в самом простом случае и 10 блоков Switch и одного Сложение строк достаточно при выводе на LCD1602. Ну еще таймеры и обработка входа, но это для всех систем одинаково будет.
 
vlaks Дата: Четверг, 25.02.2016, 19:25 | Сообщение # 3
Сержант
Группа: Проверенные
Сообщений: 37
Награды: 2
Репутация: 1
Статус: Offline
Цитата Олег ()
Сложность зависит от того как и на какой дисплей выводить
Я не хочу что бы строки складывались. Дисплей не имеет значение, для примера можно и LCD1602

Активировался 1 вход - вышла надпись об этом на 5 секунд.
Активировался 2 вход - вышла надпись об этом на 5 секунд.
Активировались сразу несколько входов 9, 7, 5 - вышла надпись сначала 9-го входа на 5 секунд, потом 7-го на 5 секунд и 5-го на 5 секунд.  и т.п.
 
Олег Дата: Четверг, 25.02.2016, 20:44 | Сообщение # 4
Гуру
Группа: Проверенные
Сообщений: 722
Награды: 20
Репутация: 15
Статус: Offline
То-есть в один момент времени на экране одна строка и остальные выводятся потом, каждая по пять секунд?
 
vlaks Дата: Четверг, 25.02.2016, 20:48 | Сообщение # 5
Сержант
Группа: Проверенные
Сообщений: 37
Награды: 2
Репутация: 1
Статус: Offline
ДА. выходные сообщения по мере поступления должны выстраиваться в очередь..

Сообщение отредактировал vlaks - Четверг, 25.02.2016, 20:52
 
VirSpy Дата: Пятница, 26.02.2016, 20:56 | Сообщение # 6
Сержант
Группа: Проверенные
Сообщений: 55
Награды: 3
Репутация: 0
Статус: Offline
Попробуй так. Не проверял.
Прикрепления: 9290824.flp(238Kb)


Сообщение отредактировал VirSpy - Пятница, 26.02.2016, 21:01
 
vlaks Дата: Понедельник, 29.02.2016, 10:52 | Сообщение # 7
Сержант
Группа: Проверенные
Сообщений: 37
Награды: 2
Репутация: 1
Статус: Offline
не работае sad
 
Олег Дата: Понедельник, 29.02.2016, 13:05 | Сообщение # 8
Гуру
Группа: Проверенные
Сообщений: 722
Награды: 20
Репутация: 15
Статус: Offline
Здесь нечто похожее, посмотрите.
 
vlaks Дата: Понедельник, 29.02.2016, 13:50 | Сообщение # 9
Сержант
Группа: Проверенные
Сообщений: 37
Награды: 2
Репутация: 1
Статус: Offline
Цитата Олег ()
Здесь нечто похожее, посмотрите.


Вот кое что накидал.... Для моих задач подходит.

http://pixs.ru/showimage/Screenshot_9303792_20896045.png
Прикрепления: mes.flp(363Kb)


Сообщение отредактировал vlaks - Понедельник, 29.02.2016, 13:53
 
rw6cm Дата: Понедельник, 29.02.2016, 15:35 | Сообщение # 10
Генерал-майор
Группа: Проверенные
Сообщений: 476
Награды: 43
Репутация: 31
Статус: Offline
Цитата vlaks ()
Задача выводить номер или название сработавшего дискретного входа на дисплей в течении 5 секунд.

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

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

п/с сработкой считается № входа на землю.
Прикрепления: StepAlarm.flp(241Kb)


PC, E8400, 3.5Gb, Win7-32, ver.FLP(portable)
 
rw6cm Дата: Понедельник, 29.02.2016, 20:48 | Сообщение # 11
Генерал-майор
Группа: Проверенные
Сообщений: 476
Награды: 43
Репутация: 31
Статус: Offline
Немного доработал. Сделал буфер, для сработок идущих подряд.
И развязку если один из входов остается закорочен.
Прикрепления: StepAlarm1.flp(304Kb)


PC, E8400, 3.5Gb, Win7-32, ver.FLP(portable)
 
Форум » Основной » Спросить у знатоков » Помогите решить маленькую задачку.
Страница 1 из 11
Поиск:

FLProg © 2016
Яндекс.Метрика