Форум TRACE MODE: техническая поддержка Послать новую тему / Post New Topic  Послать ответ / Post A Reply
мой профиль / my profile авторизация / login | регистрация / register | поиск / search | часто задаваемые вопросы / faq | начало / forum home

  Следующая старая тема / next oldest topic   Следующая новая тема / next newest topic
» Форум TRACE MODE: техническая поддержка » Пользователи для пользователей » Пользователи для пользователей » Языки программирования

   
Автор / Author Тема / Topic: Языки программирования
Ольга1988
Junior Member / Новичок
Участник № / Member № 5428


Icon 1 отправлено / posted      Профиль для / Profile for Ольга1988           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
С помощью FBD моделирую сигнал, этот же сигнал мне нужно разложить в ряд Фурье. На каком языке программирования это лучше сделать?
И еще вопрос. Можно ли строить графики не от времени, а от какой-либо другой величины?

Сообщения / Posts 9 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
AdAstra Technical Support
Moderator
Участник № / Member № 4


Icon 1 отправлено / posted      Профиль для / Profile for AdAstra Technical Support           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
В Trace Mode 6 нет штатных решений такой задачи.
Можно попытаться писать программу на языке ST. Или подключить внешнюю библиотеку, которая будет осуществлять разложение сигнала.
Однако, более рационально поискать какие-либо численные методы приближенного решения задачи.

Можно строить тренды типа "Тренд XY".

Сообщения / Posts 15120 | Из / From: Russia  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
Ольга1988
Junior Member / Новичок
Участник № / Member № 5428


Icon 1 отправлено / posted      Профиль для / Profile for Ольга1988           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
А можно поподробнее про внешнюю библиотеку?
Я учусь в ВФ МЭИ, Trace mode 6.07, он у нас лицензионный, только вот номера лицензии не знаю.

Сообщения / Posts 9 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
AdAstra Technical Support
Moderator
Участник № / Member № 4


Icon 1 отправлено / posted      Профиль для / Profile for AdAstra Technical Support           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
В разделе "Описание языка ST/Функции Техно ST/Внешние библиотеки" дана спецификация вызова внешних библиотек, написанных на произвольных процедурных языках и загружаемых в ОС.
Сообщения / Posts 15120 | Из / From: Russia  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
Ольга1988
Junior Member / Новичок
Участник № / Member № 5428


Icon 1 отправлено / posted      Профиль для / Profile for Ольга1988           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Здравствуйте. Для расчета коэффициентов ряда Фурье нужен интеграл, в языке FBD есть такой блок, но в языке ST можно создавать циклы, что тоже необходимо мне при разложении сигнала. Подскажите, можно ли как-то в ST извлекать интеграл или в языке FBD существует блок способный заменить цикл (то есть значение переменной менялось последовательно от 1 до N с шагом 1)?
Сообщения / Posts 9 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
Nico
Forum Professor / Завсегдатай форума
Участник № / Member № 5342


Icon 1 отправлено / posted      Профиль для / Profile for Nico           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
в языке FBD циклов нет
каждая отработка канала вызывающая программу может являться итерацией

Сообщения / Posts 554 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
NestorIT
Forum Member / Участник форума
Участник № / Member № 4337


Icon 1 отправлено / posted      Профиль для / Profile for NestorIT           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Реализовать на ST любым известным численным методом интегрирования:
Метод прямоугольников
Метод Эйлера
Метод Рунге-Кутта
и т.п.

Сообщения / Posts 35 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
Ольга1988
Junior Member / Новичок
Участник № / Member № 5428


Icon 1 отправлено / posted      Профиль для / Profile for Ольга1988           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Ребят, подскажите пожалуйста, где ошибка:
PROGRAM
VAR_INPUT Доля_потерь : REAL; END_VAR
VAR_INOUT Трд : REAL; END_VAR
VAR_OUTPUT Потери_эл_эн : REAL; END_VAR

for Трд := 1 to 200 by 1 do
Потери_эл_эн = [ ( 974.64 ** 2 + 619.31 ** 2) / 384.51 ** 2 ] * Трд * 24 * ( 384.51 / 1.7 )* [ Доля_потерь + ( 1 - Доля_потерь ) * 1.2 ];
end_for;

END_PROGRAM

E0011: Синтаксическая ошибка

Сообщения / Posts 9 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
NestorIT
Forum Member / Участник форума
Участник № / Member № 4337


Icon 1 отправлено / posted      Профиль для / Profile for NestorIT           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Квадратные скобки
Сообщения / Posts 35 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
AdAstra Technical Support
Moderator
Участник № / Member № 4


Icon 1 отправлено / posted      Профиль для / Profile for AdAstra Technical Support           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Топик переносится в раздел "Пользователи для пользователей".
Сообщения / Posts 15120 | Из / From: Russia  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
Ольга1988
Junior Member / Новичок
Участник № / Member № 5428


Icon 1 отправлено / posted      Профиль для / Profile for Ольга1988           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
PROGRAM
VAR_INPUT Доля_потерь : REAL; END_VAR
VAR_OUTPUT Трд : REAL; END_VAR
VAR_OUTPUT Потери_эл_эн : REAL; END_VAR
VAR_OUTPUT Потери : REAL; END_VAR

for Трд := 1 to 200 by 1 do
Потери_эл_эн [Трд]= ( ( 974.64 ** 2 + 619.31 ** 2) / 384.51 ** 2 ) * Трд * 24 * ( 384.51 / 1.7 )* ( Доля_потерь + ( 1 - Доля_потерь ) * 1.2 );
Потери = Потери_эл_эн [Трд];
end_for;

END_PROGRAM


Подскажите пожалуйста, в данной программе нужно задать Трд как одномерный массив, как это сделать?

Сообщения / Posts 9 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
NestorIT
Forum Member / Участник форума
Участник № / Member № 4337


Icon 1 отправлено / posted      Профиль для / Profile for NestorIT           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Или все-таки массивом должен быть Потери_эл_эн? Но в любом случае программы в ТМ, к сожалению, обмениваться массивами не могут (а иногда очень хочется), т.е. ни входы, ни выходы массивами сделать не получится.
Сообщения / Posts 35 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
Ольга1988
Junior Member / Новичок
Участник № / Member № 5428


Icon 1 отправлено / posted      Профиль для / Profile for Ольга1988           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
По задумке Трд - это время работы двигателя в сутках, а Потери_эл_эн - это потери электрической энергии,в кВт*ч, напрямую зависящие от Трд. Собственно хотелось бы выводить на экран количество прошедших дней, то есть Трд, и потери_эл_эн за прошедшее количество дней. Насколько я поняла если в программе написать просто Потери_эл_эн = ... , то будет считаться сразу сумма всех потерь за 200 дней.
Сообщения / Posts 9 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
Ольга1988
Junior Member / Новичок
Участник № / Member № 5428


Icon 1 отправлено / posted      Профиль для / Profile for Ольга1988           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Ребята, подскажите, пожалуйста, как на ST сделать одномерный массив.
Сообщения / Posts 9 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
NestorIT
Forum Member / Участник форума
Участник № / Member № 4337


Icon 1 отправлено / posted      Профиль для / Profile for NestorIT           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Для локальных/глобальных переменных создаете так же, как и для аргументов: имя и тип данных, а в столбце [] пишите 1..200 (или 0..199 - как удобнее). Но сделать массив для аргументов программы - невозможно.
Сообщения / Posts 35 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
   

Quick Reply
Сообщение / Message:

HTML код не разрешен. / HTML is not enabled.
UBB код разрешен. / UBB Code is enabled.

Значки Graemlins / Instant Graemlins
   


Послать новую тему / Post New Topic  Послать ответ / Post A Reply Закрыть тему / Close Topic   Feature Topic   Переместить топик / Move Topic   Удалить топик / Delete Topic Следующая старая тема / next oldest topic   Следующая новая тема / next newest topic
 - Printer-friendly view of this topic
Перейти к / Hop To


Новости АСУ ТП / News | SCADA / HMI | Обучение / Trainings | Свяжитесь с нами / Contact Us

Rambler's Top100 Rambler's Top100



Powered by Infopop Corporation
UBB.classic™ 6.7.2