Страница 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
				Немного доработал. Сделал буфер, для сработок идущих подряд.
И развязку если один из входов остается закорочен.