Захотелось реализовать тренд (температур) на матрице с MAX1219. По задумке от реальной температуры будет рисоваться тренд с диапазоном +5...-3 градуса (или +10...-6).
Получилось, но только каждый столбец тренда живет на своем индикаторе. Т.е. для восьмичасового тренда у меня требуется 8 индикаторов
Хочется все 8 столбцов получить на одном. В FLProg доступа к отдельному столбцу нет, или я не понимаю, как это сделать. Понимаю, что без динамической индикации не обойтись, но тогда незачем MAX7219.
Как бы сделать поизящнее?
Спасибо, scadapack!
Дело сдвинулось, стек у меня был не Byte, поэтому его не видел MAX7219.
***
Сдвинулось не очень далеко.
Из RAND в стек помещаю значения от 0 до 8.
На матрице только 3 строки, перемещаются поперек матрицы
Хотелось как в последней картинке.
Добавлено (09.02.2016, 16:35)
---------------------------------------------
Понял, что выводит мне матрица. Двоичный вид числа. Осталось заставить матрицу показывать не двоичный вид, а то, что мне нужно. А мне нужно отображать одну точку в столбце, или 8 на всю матрицу. Круг замкнулся.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Последний раз редактировалось AdreyM 09 фев 2016, 15:03, всего редактировалось 1 раз.
Немного обновил проект. Теперь тренд жвижется справо на лево. Наверно вывод необходимого байта данных можно сделать и без блока Poligon, но мне так покaзалось проще, чем наводнить проект кучей математических блоков.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Последний раз редактировалось Airis 09 фев 2016, 22:52, всего редактировалось 1 раз.
Тренд точками рисуется. Горит одна точка в столбике от 0 до 8, что соответствуетвходным данным от 0 до 8, и все это сдвигается в с права на лево по таймеру.
Последний раз редактировалось Airis 10 фев 2016, 00:39, всего редактировалось 1 раз.
Airis
Я понял, что я ничего не понял, как работает Poligon. Но это работает.
Ты шаман. КАК до этого можно догадаться??? В моем понимании, (и как это работает у меня в АСУ ТП), это преобразование входной величины в выходную в соответствии с кривой внутри Poligon-a.
Спасибо!
Блок Poligon появился впоследней версии программы, и хотелось его как не будь попробовать. Как этот блок работает можно догадается, но непонятно почему преобразование происходит с необходимостью добавляться +1 к выходному значению. Например, одна точка в 4 ряду по калькулятору соответствует 16, а одна точка в 5 ряду соответствует 8, но в блоке Poligon к выходному значению надо добавлять +1. То есть 4 точке соответствует 17, а 5 точка 9.
Последний раз редактировалось Airis 10 фев 2016, 11:59, всего редактировалось 1 раз.
Airis писал(а):Блок Poligon появился впоследней версии программы, и хотелось его как не будь попробовать. Как этот блок работает можно догадается, но непонятно почему преобразование происходит с необходимостью добавляться +1 к выходному значению. Например, одна точка в 4 ряду по калькулятору соответствует 16, а одна точка в 5 ряду соответствует 8, но в блоке Poligon к выходному значению надо добавлять +1. То есть 4 точке соответствует 17, а 5 точка 9.
объясните как определять какая тоска соответствует какому числу , и о каком калькуляторе идет речь
То какая точка светится определяется обычным калькулятором в режиме программиста. Например,
хотите зажечь диод 1, 4, 8, то в калькуляторе, в режиме бинарных чисел пишите то что хотите отобразит - 10010001, и в результате получаете число 145 в децимальном режиме исчислении. Тоже
самое можно сделать и в самом FLProg. Рисуем точки в блоке MAX7219, а потом в блоке для работе со массивом можно посмотреть кокой децимальном код соответствует соответствующей стоке.
Например,рисуем "сердечко" и получаем что ее код:
1. строка - 0
2. строка - 108
3. строка - 254
4. строка - 254
5. строка - 124
6. строка - 56
7. строка - 16
8. строка - 0
Если данные в матрицу отправлять через стек и блок Poligon, то к полученным данным надо добавить +1 (не знаю почему). То есть - 1, 109, 255, 255, 125, 57, 17, 1. В моем варианте тренд все-таки движется с низу и вверх. Для одной 8х8 матрицы это несущественно (матрицу можно повернуть как надо), но на готовый блоках из нескольких матриц это надо иметь ввиду.
Последний раз редактировалось Airis 13 фев 2016, 16:43, всего редактировалось 1 раз.