Блок Таблица состояния

В этом форуме можно обсудить интерфейс программы, работу встроенных блоков, взаимодейсткие с Ардуино IDE и т.д.
vd153
Сержант
Сообщения: 124
Зарегистрирован: 05.01.2017{, 08:09}
Репутация: 4

Блок Таблица состояния

#1

Сообщение vd153 » 29.01.2017{, 01:17}

Прощу если у кого есть талант объяснить.
Растолкуйте как работает блок ТАБЛИЦА СОСТОЯНИЯ, как настроить , что задавать о что выйдет?

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

Блок Таблица состояния

#2

Сообщение Олег » 29.01.2017{, 02:10}

Каждая строка это комбинация состояний входов при котором вы получаете высокий уровень на выходе. Например, при условии что у вас пять входов и вы пишете в первых трех строках:
10011
01010
11100
Это означает что при данных комбинациях на входах вы получите на выходе единицу, при всех остальных вариантах на входах, на выходе будет ноль.
и так для каждого выхода.
Если будет только одна строка
00000
значит только при нулях на всех входах на выходе будет единица, при всех других случаях ноль.
Если что-то непоняно, спрашивайте.
Последний раз редактировалось Олег 29.01.2017{, 13:02}, всего редактировалось 1 раз.

Гость

Блок Таблица состояния

#3

Сообщение Гость » 29.01.2017{, 09:09}

Еще был бы блок такой же только наоборот , было бы здорово.
Подаем 1 на вход ,-получаем то что в таблице состояний на выходах.
Последний раз редактировалось Anydy 29.01.2017{, 12:08}, всего редактировалось 1 раз.

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

Блок Таблица состояния

#4

Сообщение Олег » 29.01.2017{, 09:48}

Сейчас это можно делать на демультиплексоре. Ставьте сколько угодно выходов, а на вход подавайте нужное число для получения нужной комбинации. Например при 5  выходах подав на вход 2 получите 00010, подав 5 получите 00101, подав 31 получите 11111 ну и так далее. Калькулятор десятично двоичного кода.

Аватара пользователя
Boroda
Капитан
Сообщения: 836
Зарегистрирован: 01.05.2016{, 01:04}
Репутация: 36
Откуда: Коломна
Имя: Станислав
Контактная информация:

Блок Таблица состояния

#5

Сообщение Boroda » 29.01.2017{, 11:36}

Можно сделать из таблицы кодов и преобразователя byte_to_8bit

Вложения
9605605.jpg

vd153
Сержант
Сообщения: 124
Зарегистрирован: 05.01.2017{, 08:09}
Репутация: 4

Блок Таблица состояния

#6

Сообщение vd153 » 29.01.2017{, 13:46}

Олег писал(а):Каждая строка это комбинация состояний входов при котором вы получаете высокий уровень на выходе. Например, при условии что у вас пять входов и вы пишете в первых трех строках:
10011
01010
11100
Это три строки для трех выходов ?
если 1строка -это для одного выхода?
я правильно понял???

Аватара пользователя
Boroda
Капитан
Сообщения: 836
Зарегистрирован: 01.05.2016{, 01:04}
Репутация: 36
Откуда: Коломна
Имя: Станислав
Контактная информация:

Блок Таблица состояния

#7

Сообщение Boroda » 29.01.2017{, 14:59}

vd153, пример.

При таких комбинациях на входах, на выходе Q1 будет лог1, иначе лог0.



При таких комбинациях на входах, на выходе Q2 будет лог1, иначе лог0.

Вложения
9848606.jpg
7699114.jpg
Последний раз редактировалось Boroda 29.01.2017{, 15:00}, всего редактировалось 1 раз.

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

Блок Таблица состояния

#8

Сообщение Олег » 29.01.2017{, 15:52}

vd153, На скриншотах, которые показал Boroda, входы это I1 - I5, а каждая строчка это возможная комбинация на входах. На выходе Q1 будет 1, если:
на I1, I2, I3 будет 1, а на I4, I5 будет 0 (строка 1)
на I1, I2, будет 0, а на I3, I4, I5 будет 1 (строка 2)
ну и так далее.
А выходы это Q1 и Q2. Для каждого выхода своя вкладка в которую можно записывать строки с требуемыми комбинациями.
Последний раз редактировалось Олег 29.01.2017{, 15:55}, всего редактировалось 1 раз.

vd153
Сержант
Сообщения: 124
Зарегистрирован: 05.01.2017{, 08:09}
Репутация: 4

Блок Таблица состояния

#9

Сообщение vd153 » 29.01.2017{, 20:58}

ну и сложности , этот блок что для электронного казино , что ли? куча вариантов попробуй уследи за каждым .
Значит с этой таблицы можно делать замену для OR AND XOR на свой вкус ?
Последний раз редактировалось vd153 29.01.2017{, 20:59}, всего редактировалось 1 раз.

Аватара пользователя
Boroda
Капитан
Сообщения: 836
Зарегистрирован: 01.05.2016{, 01:04}
Репутация: 36
Откуда: Коломна
Имя: Станислав
Контактная информация:

Блок Таблица состояния

#10

Сообщение Boroda » 29.01.2017{, 21:14}

vd153, ну типа того, вместо кучи логики один блок.

Добавлено (29.01.2017, 21:14)
---------------------------------------------
В промышленном оборудовании и не такое бывает. Например, есть 20 датчиков и в документации написано, при каких положениях датчиков это оборудование можно запустить кнопкой "старт". И есть такое положение датчиков, которое говорит об аварийной ситуации. А все остальные комбинации - технологические и тут не важны. Вот и собери все это на отдельной логике - пару тройку листов займет.

Аватара пользователя
Dev1
Майор
Сообщения: 1015
Зарегистрирован: 12.07.2016{, 18:04}
Репутация: 58
Откуда: Гондурас

Блок Таблица состояния

#11

Сообщение Dev1 » 29.01.2017{, 21:29}

Boroda писал(а):В промышленном оборудовании и не такое бывает. Например, есть 20 датчиков и в документации написано, при каких положениях датчиков это оборудование можно запустить кнопкой "старт". И есть такое положение датчиков, которое говорит об аварийной ситуации. А все остальные комбинации - технологические и тут не важны. Вот и собери все это на отдельной логике - пару тройку листов займет.
Ага, у нас этим занимается кучка релюшек. На дворе 2017, мать их 
Win7-64 FLProg v7.2.2 Portable :fie:

Аватара пользователя
Boroda
Капитан
Сообщения: 836
Зарегистрирован: 01.05.2016{, 01:04}
Репутация: 36
Откуда: Коломна
Имя: Станислав
Контактная информация:

Блок Таблица состояния

#12

Сообщение Boroda » 29.01.2017{, 23:08}

Зато радиации не боится.

R2PM
Рядовой
Сообщения: 16
Зарегистрирован: 18.09.2015{, 22:58}
Репутация: 0
Откуда: Тула

Блок Таблица состояния

#13

Сообщение R2PM » 07.03.2017{, 23:06}

Олег писал(а):Сейчас это можно делать на демультиплексоре. Ставьте сколько угодно выходов, а на вход подавайте нужное число для получения нужной комбинации. Например при 5 выходах подав на вход 2 получите 00010, подав 5 получите 00101, подав 31 получите 11111 ну и так далее.
Доброе время суток!!!
Если можно, то по подробней, у меня не получается так получить, на выходе  демультиплексора  активные выоды согласно чисел на входе, а двоичное значение не получается (макет показывает то же самое)
Виктор
Последний раз редактировалось R2PM 07.03.2017{, 23:07}, всего редактировалось 1 раз.
R2PM

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

Блок Таблица состояния

#14

Сообщение rw6cm » 08.03.2017{, 00:28}

R2PM писал(а):Если можно, то по подробней, у меня не получается
пример двоично десятичного счетчика
Win10-64, FLProg (portable)

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

Блок Таблица состояния

#15

Сообщение Олег » 08.03.2017{, 01:15}

Да, что-то я лоханулся  , после демультиплексора нужна таблица состояний.

Аватара пользователя
Sancho
Полковник
Сообщения: 3990
Зарегистрирован: 25.12.2015{, 17:32}
Репутация: 567
Откуда: Ярославль.
Имя: Александр
Контактная информация:

Блок Таблица состояния

#16

Сообщение Sancho » 08.03.2017{, 10:28}

R2PM писал(а):Доброе время суток!!!Если можно, то по подробней, у меня не получается так получить, на выходе  демультиплексора  активные выоды согласно чисел на входе, а двоичное значение не получается (макет показывает то же самое)
Вариант
Boroda писал(а):Можно сделать из таблицы кодов и преобразователя byte_to_8bit
САМЫМ лучшим в этом случае!
Последний раз редактировалось Sancho 08.03.2017{, 11:08}, всего редактировалось 1 раз.
Если не получится на контроллере - сделаю на тразисторах и 155/176...Научился, немного.
Поможем проекту вместе!

R2PM
Рядовой
Сообщения: 16
Зарегистрирован: 18.09.2015{, 22:58}
Репутация: 0
Откуда: Тула

Блок Таблица состояния

#17

Сообщение R2PM » 08.03.2017{, 11:09}

rw6cm писал(а):пример двоично десятичного счетчика
Владимир добрый день!!!!
Спасибо больщое, это как для утопающего лодка - очень к стати, класс - попробывал. Буду увеличивать разрядность по выходу, надо иметь не 4-ре, а 8-м разрядов. Пытаюсь сделать полуавтоматический  КВ тюнер на реле.
С уважением Виктор

Добавлено (08.03.2017, 11:09)
---------------------------------------------
Sancho писал(а):Сделай отдельную плату такого типа, выбери нужное количество входов и выходов...на входы константы true/false по желанию
Спасибо большое за помощь. Если возможно, то в двух словах по принцыпу подхола, сразу не "вьехал" ночь была в поиске решения.
Извиняйте, если что не так .
С уважением Виктор
R2PM

Аватара пользователя
Sancho
Полковник
Сообщения: 3990
Зарегистрирован: 25.12.2015{, 17:32}
Репутация: 567
Откуда: Ярославль.
Имя: Александр
Контактная информация:

Блок Таблица состояния

#18

Сообщение Sancho » 08.03.2017{, 11:29}

Только сегодня нашёл для flprog блоки пользователя Boroda byte_to_8bit. Это самый правильный подход к решению таких задач! Можно увеличивать разрядность сколь угодно(каскадировать).
Сам такими всегда пользуюсь, в других программах, при передаче и приёме статусов, называются, кроме byte_to_bit, они там ещё и PACK и UNPACK. Считываю один регистр(modbus), а там куча инфы!!! Не надо COIL читать немеренное количество/
Свой пост поправил с учётом найденных блоков, он годился для малых решений flprog, но иногда использование многоходового переключателя (мультиплексора) здорово помогает, например, при замене одних значений друими...
А теперь вопрос - найдите глобальные отличия в двух последних картинках и чего не хватает в flprog?
Вложения
3781344.png
3660974.png
3767224.png
Последний раз редактировалось Sancho 08.03.2017{, 12:17}, всего редактировалось 1 раз.
Если не получится на контроллере - сделаю на тразисторах и 155/176...Научился, немного.
Поможем проекту вместе!

R2PM
Рядовой
Сообщения: 16
Зарегистрирован: 18.09.2015{, 22:58}
Репутация: 0
Откуда: Тула

Блок Таблица состояния

#19

Сообщение R2PM » 09.03.2017{, 20:33}

Boroda писал(а):Можно сделать из таблицы кодов и преобразователя byte_to_8bit
Всем доброе время суток!!!
Подскажите как найти блок преобразователя byte_to_8bit в программе. Перерыл как будто все, но не нашел.
Спасибо!
R2PM

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

Блок Таблица состояния

#20

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


Ответить

Вернуться в «Обсуждение программы FLProg (Не багтрекер, и не хотелки. Делимся опытом!!)»