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

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

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

Сообщение vlaks »

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

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

Имеется от 10 дискретных (тревожных) входов. Задача выводить номер или название сработавшего дискретного входа на дисплей в течении 5 секунд. Если несколько дискретных входов срабатывают одновременно (относительно), то их выстроить в очередь и так же последовательно как они сработали вывести на дисплей. Предполагаю что для решения этой задачи нужно
использовать массивы, но опыта работы с ними пока нету.  Изображение
Последний раз редактировалось vlaks 25 фев 2016, 17:23, всего редактировалось 1 раз.
Аватара пользователя
Олег
Полковник
Сообщения: 1532
Зарегистрирован: 13 окт 2015, 16:47
Контактная информация:

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

Сообщение Олег »

Сложность зависит от того как и на какой дисплей выводить, в самом простом случае и 10 блоков Switch и одного Сложение строк достаточно при выводе на LCD1602. Ну еще таймеры и обработка входа, но это для всех систем одинаково будет.
Аватара пользователя
vlaks
Рядовой
Сообщения: 46
Зарегистрирован: 08 сен 2015, 07:42
Откуда: Сургут

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

Сообщение vlaks »

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

Активировался 1 вход - вышла надпись об этом на 5 секунд.
Активировался 2 вход - вышла надпись об этом на 5 секунд.
Активировались сразу несколько входов 9, 7, 5 - вышла надпись сначала 9-го входа на 5 секунд, потом 7-го на 5 секунд и 5-го на 5 секунд.  и т.п.
Аватара пользователя
Олег
Полковник
Сообщения: 1532
Зарегистрирован: 13 окт 2015, 16:47
Контактная информация:

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

Сообщение Олег »

То-есть в один момент времени на экране одна строка и остальные выводятся потом, каждая по пять секунд?
Аватара пользователя
vlaks
Рядовой
Сообщения: 46
Зарегистрирован: 08 сен 2015, 07:42
Откуда: Сургут

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

Сообщение vlaks »

ДА. выходные сообщения по мере поступления должны выстраиваться в очередь..
Последний раз редактировалось vlaks 25 фев 2016, 20:52, всего редактировалось 1 раз.
Аватара пользователя
VirSpy
Рядовой
Сообщения: 62
Зарегистрирован: 03 дек 2015, 22:40
Откуда: Минск, РБ

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

Сообщение VirSpy »

Попробуй так. Не проверял.
Изображение
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Последний раз редактировалось VirSpy 26 фев 2016, 21:01, всего редактировалось 1 раз.
Аватара пользователя
vlaks
Рядовой
Сообщения: 46
Зарегистрирован: 08 сен 2015, 07:42
Откуда: Сургут

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

Сообщение vlaks »

не работае Изображение
Аватара пользователя
Олег
Полковник
Сообщения: 1532
Зарегистрирован: 13 окт 2015, 16:47
Контактная информация:

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

Сообщение Олег »

Здесь нечто похожее, посмотрите.
Аватара пользователя
vlaks
Рядовой
Сообщения: 46
Зарегистрирован: 08 сен 2015, 07:42
Откуда: Сургут

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

Сообщение vlaks »

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

http://pixs.ru/showimage/Screenshot_9303792_20896045.png
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Последний раз редактировалось vlaks 29 фев 2016, 13:53, всего редактировалось 1 раз.
Аватара пользователя
rw6cm
Полковник
Сообщения: 2372
Зарегистрирован: 06 сен 2015, 20:25
Имя: Владимир
Поблагодарили: 41 раз

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

Сообщение rw6cm »

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

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

п/с сработкой считается № входа на землю.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Win10-64, FLProg (portable)
Аватара пользователя
rw6cm
Полковник
Сообщения: 2372
Зарегистрирован: 06 сен 2015, 20:25
Имя: Владимир
Поблагодарили: 41 раз

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

Сообщение rw6cm »

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

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

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

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