С помощью FBD моделирую сигнал, этот же сигнал мне нужно разложить в ряд Фурье. На каком языке программирования это лучше сделать? И еще вопрос. Можно ли строить графики не от времени, а от какой-либо другой величины?
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
В Trace Mode 6 нет штатных решений такой задачи. Можно попытаться писать программу на языке ST. Или подключить внешнюю библиотеку, которая будет осуществлять разложение сигнала. Однако, более рационально поискать какие-либо численные методы приближенного решения задачи.
Можно строить тренды типа "Тренд XY".
Posted by Ольга1988 (Участник № / Member № 5428) on :
А можно поподробнее про внешнюю библиотеку? Я учусь в ВФ МЭИ, Trace mode 6.07, он у нас лицензионный, только вот номера лицензии не знаю.
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
В разделе "Описание языка ST/Функции Техно ST/Внешние библиотеки" дана спецификация вызова внешних библиотек, написанных на произвольных процедурных языках и загружаемых в ОС.
Posted by Ольга1988 (Участник № / Member № 5428) on :
Здравствуйте. Для расчета коэффициентов ряда Фурье нужен интеграл, в языке FBD есть такой блок, но в языке ST можно создавать циклы, что тоже необходимо мне при разложении сигнала. Подскажите, можно ли как-то в ST извлекать интеграл или в языке FBD существует блок способный заменить цикл (то есть значение переменной менялось последовательно от 1 до N с шагом 1)?
Posted by Nico (Участник № / Member № 5342) on :
в языке FBD циклов нет каждая отработка канала вызывающая программу может являться итерацией
Posted by NestorIT (Участник № / Member № 4337) on :
Подскажите пожалуйста, в данной программе нужно задать Трд как одномерный массив, как это сделать?
Posted by NestorIT (Участник № / Member № 4337) on :
Или все-таки массивом должен быть Потери_эл_эн? Но в любом случае программы в ТМ, к сожалению, обмениваться массивами не могут (а иногда очень хочется), т.е. ни входы, ни выходы массивами сделать не получится.
Posted by Ольга1988 (Участник № / Member № 5428) on :
По задумке Трд - это время работы двигателя в сутках, а Потери_эл_эн - это потери электрической энергии,в кВт*ч, напрямую зависящие от Трд. Собственно хотелось бы выводить на экран количество прошедших дней, то есть Трд, и потери_эл_эн за прошедшее количество дней. Насколько я поняла если в программе написать просто Потери_эл_эн = ... , то будет считаться сразу сумма всех потерь за 200 дней.
Posted by Ольга1988 (Участник № / Member № 5428) on :
Ребята, подскажите, пожалуйста, как на ST сделать одномерный массив.
Posted by NestorIT (Участник № / Member № 4337) on :
Для локальных/глобальных переменных создаете так же, как и для аргументов: имя и тип данных, а в столбце [] пишите 1..200 (или 0..199 - как удобнее). Но сделать массив для аргументов программы - невозможно.