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

На этом форуме Вы можете задать вопросы знатокам программы и автору.
Ответить
Аватара пользователя
vlaks
Рядовой
Сообщения: 46
Зарегистрирован: 08.09.2015{, 07:42}
Репутация: 0
Откуда: Сургут

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

#1

Сообщение vlaks » 25.02.2016{, 16:56}

Добрый день..

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

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

Аватара пользователя
Олег
Полковник
Сообщения: 1532
Зарегистрирован: 13.10.2015{, 16:47}
Репутация: 62
Контактная информация:

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

#2

Сообщение Олег » 25.02.2016{, 17:53}

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

Аватара пользователя
vlaks
Рядовой
Сообщения: 46
Зарегистрирован: 08.09.2015{, 07:42}
Репутация: 0
Откуда: Сургут

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

#3

Сообщение vlaks » 25.02.2016{, 19:25}

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

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

Аватара пользователя
Олег
Полковник
Сообщения: 1532
Зарегистрирован: 13.10.2015{, 16:47}
Репутация: 62
Контактная информация:

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

#4

Сообщение Олег » 25.02.2016{, 20:44}

То-есть в один момент времени на экране одна строка и остальные выводятся потом, каждая по пять секунд?

Аватара пользователя
vlaks
Рядовой
Сообщения: 46
Зарегистрирован: 08.09.2015{, 07:42}
Репутация: 0
Откуда: Сургут

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

#5

Сообщение vlaks » 25.02.2016{, 20:48}

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

Аватара пользователя
VirSpy
Рядовой
Сообщения: 62
Зарегистрирован: 03.12.2015{, 22:40}
Репутация: 3
Откуда: Минск, РБ

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

#6

Сообщение VirSpy » 26.02.2016{, 20:56}

Попробуй так. Не проверял.
Изображение
Для скачивания вложений Вы должны быть зарегистрированы.
Последний раз редактировалось VirSpy 26.02.2016{, 21:01}, всего редактировалось 1 раз.

Аватара пользователя
vlaks
Рядовой
Сообщения: 46
Зарегистрирован: 08.09.2015{, 07:42}
Репутация: 0
Откуда: Сургут

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

#7

Сообщение vlaks » 29.02.2016{, 10:52}

не работае Изображение

Аватара пользователя
Олег
Полковник
Сообщения: 1532
Зарегистрирован: 13.10.2015{, 16:47}
Репутация: 62
Контактная информация:

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

#8

Сообщение Олег » 29.02.2016{, 13:05}

Здесь нечто похожее, посмотрите.

Аватара пользователя
vlaks
Рядовой
Сообщения: 46
Зарегистрирован: 08.09.2015{, 07:42}
Репутация: 0
Откуда: Сургут

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

#9

Сообщение vlaks » 29.02.2016{, 13:50}

Олег писал(а):Здесь нечто похожее, посмотрите.
Вот кое что накидал.... Для моих задач подходит.

http://pixs.ru/showimage/Screenshot_930 ... 896045.png
Для скачивания вложений Вы должны быть зарегистрированы.
Последний раз редактировалось vlaks 29.02.2016{, 13:53}, всего редактировалось 1 раз.

Аватара пользователя
rw6cm
Полковник
Сообщения: 1994
Зарегистрирован: 06.09.2015{, 20:25}
Репутация: 223
Имя: Владимир

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

#10

Сообщение rw6cm » 29.02.2016{, 15:35}

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

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

п/с сработкой считается № входа на землю.
Для скачивания вложений Вы должны быть зарегистрированы.
Win10-64, FLProg (portable)

Аватара пользователя
rw6cm
Полковник
Сообщения: 1994
Зарегистрирован: 06.09.2015{, 20:25}
Репутация: 223
Имя: Владимир

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

#11

Сообщение rw6cm » 29.02.2016{, 20:48}

Немного доработал. Сделал буфер, для сработок идущих подряд.
И развязку если один из входов остается закорочен.
Для скачивания вложений Вы должны быть зарегистрированы.
Win10-64, FLProg (portable)

Ответить

Вернуться в «Спросить у знатоков»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 0 гостей