keinme123
Forum Member / Участник форума
Участник № / Member № 9886
отправлено / posted
Добрый день, хотел бы узнать подробнее о периодах пересчета, где эту информацию найти? В справке не слишком полно описан этот механизм.
Но как я понимаю CALC это последовательный период пересчета. И если все каналы будут работать под CALC, это получается в одном потоке программа будет выполняться? А FAST это разделение по потокам, число потоков равно число логических процессоров - 1? Но где-то было написано, что потоки FAST выставляемые вручную в среде разработки, это не тот же FAST, что задаваемый ключом NODE_FSTAUTO.
Просто хочется оптимизировать программу, и вот не понимаю как лучше сделать. В основном в программе чтение регистров с устройств, им я сделал CALC, так как нужно менять частоту опроса, также есть самописные программы для упаковки и переадресации регистров в Модбас сервер самого МРВ.
[ 09.09.2026, 09:52: Сообщение отредактировал / Message edited by АдАстра. Техподдержка ]
Сообщения / Posts 51 | Из / From: Россия
| IP / IP: IP адрес / IP address |
Nico
Forum Professor / Завсегдатай форума
Участник № / Member № 5342
отправлено / posted
- если время пересчета укладывается в период пересчета то смысла в оптимизации нет - при загрузки dbb файла в файл отладки node_<>.txt пишется LOAD:Выполнено, Ch=<кол-во каналов>,nCpu=<кол-во ядер> - в 54 атрибуте канала CALL.math отображается время выполнения данной программы если время большое то установите в IDE каналу 261 режим std(jit) - из справки( ни каких ключей задавать не надо) цикл FAST – период в циклах FAST (задается только в ИС, CALL.SCREEN к этому не относится). В ИС можно задать до 4 потоков FAST. Номер потока FAST задает атрибут Период пересчета [5] канала (1, 2, 3 или 4, если задано значение больше, то оно приводится к этим номерам). - NODE_FSTAUTO переводит пересчет каналов с периодом CALC.1 в доп потоки - изменение периодов пересчета каналов в реальном времени в большинстве случаев смысла не имеет в дополнительные потоки
Сообщения / Posts 1011 | Из / From: Россия
| IP / IP: IP адрес / IP address |
подробнее о периодах пересчета, где эту информацию найти? Описание есть во встроенный Справочной Системе - Каналы (клик по заголовку).
Там же расписано про распределение нагрузки по ядрам процессора.
Просто хочется оптимизировать программу, и вот не понимаю как лучше сделать. Опишите максимально подробно решаемую задачу, можно на электронную почту технической поддержки (см. Личный Кабинет). Особенно интересует цель механизма "нужно менять частоту опроса "
keinme123
Forum Member / Участник форума
Участник № / Member № 9886
отправлено / posted
Здравствуйте, извините за задержку в ответе. У меня синхронизация ругается, независимо от того какой статус WORK/TRACE, у одного и того же узла засоряет события WORK/неизвестен. Я могу как-то на это повлиять не увеличивая цикл пересчета узлов? Допустим период синхронизации увеличить, каждые допустим 5 циклов по 100 мс.
Сообщения / Posts 51 | Из / From: Россия
| IP / IP: IP адрес / IP address |
отправлено / posted
Здравствуйте! У меня синхронизация ругается, независимо от того какой статус WORK/TRACE, у одного и того же узла засоряет события WORK/неизвестен. С этого стоило начать.
Какой релиз Вы используете? Какой период пересчета узлов? В настройках узлов (обоих) атрибуты 134, 135, 136, 137 и 138 установлены по умолчанию? Какие флаги установлены в (130) Синхронизация?
keinme123
Forum Member / Участник форума
Участник № / Member № 9886
отправлено / posted
Релиз 7.2.0
Ставил период 500 мс, но это многовато как-то, требованиям не соответствует на переключение. За 500 мс должно уже переключиться. 134: 1, 135: 2, 135: 2,137: 1000, 138: 2 В синхронизации установлены: -Запрет синхронизации глобальных переменных -Отмена синхронизации EvRep -Отмена синхронизации SIAD -Оба резерва на одном ПК (На двух узлах, для тестов на одном ПК) -TRACE (сеть): 1 - RW откл; 0 - R вкл, W откл
Сообщения / Posts 51 | Из / From: Россия
| IP / IP: IP адрес / IP address |
keinme123
Forum Member / Участник форума
Участник № / Member № 9886
отправлено / posted
Пробовал на 100 мс сделать, ошибок много. На 250 мс пореже, но также наблюдается.
Сообщения / Posts 51 | Из / From: Россия
| IP / IP: IP адрес / IP address |
отправлено / posted
Ставил период 500 мс, но это многовато как-то, требованиям не соответствует на переключение. За 500 мс должно уже переключиться. Вопрос определения времени на переключения на резерв является дискуссионным. И в большинстве случаев определяется не только требованиями и физическими возможностями как ПК, так и ОС, но и реальной необходимостью (главное, не переусердствовать, что бы резервы не переключались при "каждом чихе")
Рекомендую, для начала отладить все при периоде 500мс. И только затем начать эксперименты на Вашем оборудовании с аргументами 134-138.
Сообщения / Posts 17688 | Из / From: Россия
| IP / IP: IP адрес / IP address |
keinme123
Forum Member / Участник форума
Участник № / Member № 9886
отправлено / posted
Не очень понимаю смысл этих аргументов, на что они влияют.
Данные атрибуты описаны во встроенной Справочной Системе - Разработка проекта в ИС - Операции в ИС - Редактирование структуры проекта - Задание параметров узла - (внутри) Вкладка ’Основные’ редактора узла или просто открыть узел на редактирование и нажать клавишу F1
Значения данных аргументов в Вашем проекте не совпадают с "по умолчанию", они отредактированы. Рекомендую, для начала отладить все при периоде 500мс. И только затем начать эксперименты на Вашем оборудовании с аргументами 134-138.Сообщения / Posts 17688 | Из / From: Россия
| IP / IP: IP адрес / IP address |