This is topic Локальный архив и кв. корень in forum Микро Мониторы Реального Времени / Micro Real Time Monitors at Форум TRACE MODE: техническая поддержка.
В контроллере (обычный 486 ПК) не могу найти файл локального архива. Как он называется - buffs.dta, или как задано в бланке Архивация диалога Параметры узла. Все флажки установлены как написано в справочной системе: Архивы в ОЗУ и энергонезависимой памяти. Но архив не ведется, что еще надо сделать? Кроме этого, после запуска Микро МРВ и отработки IL-программ на экране контроллера появляется сообщение: sqrt: _DOMAIN error
Контроллер продолжает работать, но после каждого цикла выводится это сообщение и расчетные значения выводятся на ПК оператора не правильные. Как я понимаю не работает функция квадратного корня. Почему? Микро МРВ (стандартный) не поддерживает функцию SQRT?
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Если в строке запуска МикроМРВ Вы не указали диск сохранения архива, то его и не будет на диске. Имя его стандартно и всегда buffs.dta . Сообщение по sqrt - у Вас скорее всего неправильное значение под корнем задано, возможно отрицательное.
Posted by Путинцев Н.В. (Участник № / Member № 1093) on :
В строке запуска Микро МРВ стоит disk=3, но на С:\ файла buffs.dta нет. По поводу отрицательного значения под корнем - в РБК в эмуляторе все работает нормально, значение выдается правильное.
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
1) Должен сохранять. А ключом [BUFFS=d] количество блоков задали? 2) А Вы в МикроМРВ выведите это значение - эмулятор может совсем не то показывать, ведь он не на реальных значениях работает.
Posted by Путинцев Н.В. (Участник № / Member № 1093) on :
Файл buffs.dta на диске С:\ появился. Похоже это произошло после того, как я его там создал. Теперь он модифицируется и восстанавливается, если удалить. А ошибка корня связана с тем, что в моем Микро МРВ не работает функция возведения в степень. Запускал файлы mrt7_e.exe и mrt86_e.exe, разницы нет. Повторяю, в эмуляторе все работает, значит программа написана правильно. Я в программе поставил контрольные точки (W) до возведения в степень и после и организовал канал для просмотра этих точек. До возведения - 2 и после операции возведения в квадрат показывает 2. В чем может быть ошибка? Микро МРВ поддерживает функцию возведения в степень?
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Какой релиз МикроМРВ?
Posted by Путинцев Н.В. (Участник № / Member № 1093) on :
5.15!
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Вообще - дожен поддерживать. Необходимо проверить.
Posted by Путинцев Н.В. (Участник № / Member № 1093) on :
Может быть у меня не те исполнительные модули? Mrt7.exe - 284816 байт, mrt86.exe - 284660 байт. В справочной системе я не нашел ограничений для МикроМРВ по этому вопросу. Кстати, какой модуль надо запускать для 486?
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Тот модуль, что с числом 86 - это только для контроллеров без сопроцессора. 486 - c сопроцессором, поэтому под ним лучше использовать Mrt7.exe или Mrt7_e.exe
Вы возведение в степень под обоими МикроМРВ проверяли?
Posted by Путинцев Н.В. (Участник № / Member № 1093) on :
Да, пробовал Mrt7.exe и mrt86.exe, разницы нет.
Posted by Путинцев Н.В. (Участник № / Member № 1093) on :
И все-таки, господа, как возвести число в степень в МикроМРВ?
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Проверили под МикроМРВ релиза 5.15 - все работает нормально и возведение в произвольную степень и в квадрат. Можете прислать свой проект, чтобы мы его у себя запустили?
Posted by Путинцев Н.В. (Участник № / Member № 1093) on :
Отправил проект с которым я экспериментировал в адрес техподдержки. Очень интересно, почему же у меня не работает?
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
1. Функция возведения в степень (POW или '**') в IL-программах для МикроМРВ не поддкрживается (см. документацию в разделе "Отличия серверов"). Эти функции в МикроМРВ работают только в FBD.
2. Прием автопосылки по каналу Вывод_W4 контроллера, в узле OPER настроен на передачу значения в канал "Пила2". Т.о. - для передачи значения данного канала, принимаемого по сети, необходимо перенастроить передачу его значения в одноименный канал "Вывод_W4" узла OPER. Вам необходимо в системном объекте "ПРИЕМ РАССЫЛОК" узла OPER разъединить автопосылку от текущего приемника (канала "Пила2") и перенастроить на приемник "Вывод_W4".
Posted by Путинцев Н.В. (Участник № / Member № 1093) on :
Ну спасибо, обрадовали! Слона-то я и не заметил! Что мне можете посоветовать? В контроллере идет расчет расхода газа, это его основная обязанность. Без возведения в степень никак нельзя. А если использовать оператор CALL **? Почему для МикроМРВ эту функцию урезали? В ТМ6 возведение в степень в IL - программах МикроМРВ тоже не поддерживает?
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Непонятно зачем Вы вообще IL выбрали для математики - настоятельно бы не рекомендовал!
Posted by Путинцев Н.В. (Участник № / Member № 1093) on :
Хорошо, но что можно еще использовать для расчетов? Подскажите, пожалуйста.
Posted by AdAstra Technical Support (Участник № / Member № 4) on :