PDA

Просмотр полной версии : CHARCURVE и СП-270



Владислав Г.
19.10.2015, 12:41
В проекте должна предусматриваться возможность калибровки величин, которые находятся в функциональном блоке CHARCURVE. Вопрос заключается в следующем: как вывести этот массив данных на панель оператора СП-270, с дальнейшей возможностью его изменять? Спасибо за помощь.

Владислав Г.
19.10.2015, 14:00
Если нет такой возможности, то придется писать отдельную программу кусочно-линейной аппроксимации.

Гарчев Евгений
19.10.2015, 14:18
Можно завести отдельные переменные для каждой координаты каждой точки.

Владислав Г.
19.10.2015, 15:20
Можно завести отдельные переменные для каждой координаты каждой точки.

Хороший вариант, однако я не совсем понял как это ФБ работает. Если Х1 присваивается значение 10, Y1 - 100, то при in1=(0-9) out1=100, при in1=10 out1=0. Далее, если я добавляю другие точки, картина не меняется. В другом исполнении CHARCURVE, когда я объявлял массив данных out1 выводил промежуточные значения между двумя ближайшими точками.
Видно я что-то не так понимаю.

Василий Кашуба
19.10.2015, 15:31
В проекте должна предусматриваться возможность калибровки величин, которые находятся в функциональном блоке CHARCURVE. Вопрос заключается в следующем: как вывести этот массив данных на панель оператора СП-270, с дальнейшей возможностью его изменять? Спасибо за помощь.
Каково количество точек?

Владислав Г.
19.10.2015, 15:39
Каково количество точек?

Предусматривается не менее 21 точки

Гарчев Евгений
19.10.2015, 15:41
А вы остальные элементы массива (Х2У2, Х3У3, ...) заполнили? Хотя бы так: Х1=0 У1=0, Х2=10 У2=100...
Если нет, то так и должно быть: все что меньше 10 (Х1) будет равно 100 (У1), все что больше - будет равно 0.

Гарчев Евгений
19.10.2015, 15:47
Предусматривается не менее 21 точки

Максимальное кол-во точек у Charcurve - 11.

Гарчев Евгений
19.10.2015, 15:50
Хороший вариант, однако я не совсем понял как это ФБ работает. Если Х1 присваивается значение 10, Y1 - 100, то при in1=(0-9) out1=100, при in1=10 out1=0. Далее, если я добавляю другие точки, картина не меняется. В другом исполнении CHARCURVE, когда я объявлял массив данных out1 выводил промежуточные значения между двумя ближайшими точками.
Вино я что-то не так понимаю.

Сначала картинки не было - Поменяйте для остальных точек элементы массива P1 (сейчас все присвоения относятся к 0-му элементу) и упорядочите вызов элементов (после всех присвоений необходимо вызывать сам блок).

Владислав Г.
19.10.2015, 15:53
Я создам несколько Charcurve.
Прописал Х1...Х4, Y1...4. Но, если in1 равняется или больше Х1, то на выходе ноль.

Гарчев Евгений
19.10.2015, 15:55
Я создам несколько Charcurve.
Прописал Х1...Х4, Y1...4. Но, если in1 равняется или больше Х1, то на выходе ноль.

Все Х и У на картинке присваиваются 0-му элементу массива (P1[0]).

Василий Кашуба
19.10.2015, 16:04
Предусматривается не менее 21 точки
Посмотрите эту тему http://www.owen.ru/forum/showthread.php?t=18056&p=145979&viewfull=1#post145979, я думаю вам подойдёт.

Владислав Г.
19.10.2015, 16:35
Все получилось. Исправил порядок. Спасибо.