PDA

Просмотр полной версии : Object reference not set an instance of an object



Artur85
08.08.2017, 13:54
Помогите разобраться, при симуляции проекта выскакивает ошибка, в чем тут соль? Макрос вроде бы подключил как описано в примере к нему
32511

wal79
08.08.2017, 14:31
Помогите разобраться, при симуляции проекта выскакивает ошибка, в чем тут соль? Макрос вроде бы подключил как описано в примере к нему
32511

Какая версия ОЛ? Вполне возможно это уже устранялось. Если после обновления на 1.9.131 ошибка по прежнему осталась напишите.

Artur85
08.08.2017, 14:39
Какая версия ОЛ? Вполне возможно это уже устранялось. Если после обновления на 1.9.131 ошибка по прежнему осталась напишите.

Версия ОЛ 1.9.125.10819.
Причем данная ошибка проскакивает только когда работаю с аналоговыми входами, с дискретными все работает как часы и данной проблемы нет

Алексей Геннадьевич
08.08.2017, 14:51
Возможно старый макрос FSEL сделанный ещё в ОЛ 1.7 плохо переваривает.

Artur85
08.08.2017, 15:01
Возможно старый макрос FSEL сделанный ещё в ОЛ 1.7 плохо переваривает.

Макрос взят из онлайн библиотеки, по моему разумению, все что там представлено должно работать как часы)))) Да в принципе и не в макросе то дело, у меня и без него такая ошибка выскакивает, если даже просто попытаться соединить напрямую аналоговый вход с аналоговым выходом выдает ту же ошибку

wal79
08.08.2017, 15:07
Макрос взят из онлайн библиотеки, по моему разумению, все что там представлено должно работать как часы)))) Да в принципе и не в макросе то дело, у меня и без него такая ошибка выскакивает, если даже просто попытаться соединить напрямую аналоговый вход с аналоговым выходом выдает ту же ошибку

Установил 1.9.125. Соединил аналоговый вход с аналоговым выходом, запустил симуляцию. Никакой ошибки не возникло. Можете дать проект? Можно в личку... Или какие-то подробности...

Artur85
08.08.2017, 15:11
Установил 1.9.125. Соединил аналоговый вход с аналоговым выходом, запустил симуляцию. Никакой ошибки не возникло. Можете дать проект? Можно в личку... Или какие-то подробности...

Да проект то в принципе весь на картинке в первом сообщении. Я только начал, а тут такая засада(((
По ТЗ в соответствии с показаниями датчика температуры должен либо включаться либо отключаться вентилятор. Датчик температуры стоит аналоговый Pt500, поэтому плясать приходится от того что есть

wal79
08.08.2017, 15:52
Да проект то в принципе весь на картинке в первом сообщении. Я только начал, а тут такая засада(((
По ТЗ в соответствии с показаниями датчика температуры должен либо включаться либо отключаться вентилятор. Датчик температуры стоит аналоговый Pt500, поэтому плясать приходится от того что есть

Проект то согласно картинке я повторил и ошибки не увидел, поэтому и прошу сам проект. Если кинете в личку увижу его только я один.

Artur85
08.08.2017, 16:02
Проект то согласно картинке я повторил и ошибки не увидел, поэтому и прошу сам проект. Если кинете в личку увижу его только я один.
Да я тайны то из него не делаю))) Но сейчас в личку кину

Artur85
08.08.2017, 16:17
Как это сделать в личке не нашёл, поэтому выкладываю сюда

Artur85
09.08.2017, 09:37
Решил решить проблему переустановкой ОЛ.
Столкнулся со следующей проблемой
32522
Не как в толк не возьму какого черта функция сравнения вместо 0 или 1 выдает мне преобразованную константу на выходе????

wal79
09.08.2017, 09:38
Как это сделать в личке не нашёл, поэтому выкладываю сюда

32523
Открыл проект ,запустил в симуляции и никакой ошибки к сожалению не увидел. У Вас она до сих пор воспроизводится?

Василий Кашуба
09.08.2017, 09:58
32523
Открыл проект ,запустил в симуляции и никакой ошибки к сожалению не увидел. У Вас она до сих пор воспроизводится?
Artur85 Про этот баг говорит.32524

wal79
09.08.2017, 10:01
Artur85 Про этот баг говорит.32524

Ааа. А я ищу сообщение об ошибке "Object reference not set an instance of an object"... Понятно, посмотрю, что не так... Спасибо.

Artur85
09.08.2017, 15:19
Ааа. А я ищу сообщение об ошибке "Object reference not set an instance of an object"... Понятно, посмотрю, что не так... Спасибо.

Я эту проблему решил по вашему примеру, просто установил версию ОЛ с цифрой 125 на конце)))) Теперь у меня проблема которую Василий продублировал.
Вдобавок ко всему у меня вот еще какая загвоздка. Я настраиваю диапазон на аналоговом входе минимальное значение 500 максимальное 1000. Насколько я понимаю, все значения которые ниже минимального и выше максимального вход должен игнорить и выдавать 0, или я не так понимаю????

Ревака Юрий
09.08.2017, 16:11
Я эту проблему решил по вашему примеру, просто установил версию ОЛ с цифрой 125 на конце)))) Теперь у меня проблема которую Василий продублировал.
Вдобавок ко всему у меня вот еще какая загвоздка. Я настраиваю диапазон на аналоговом входе минимальное значение 500 максимальное 1000. Насколько я понимаю, все значения которые ниже минимального и выше максимального вход должен игнорить и выдавать 0, или я не так понимаю????

Добрый день, нет, все что выходит за границы будет выводиться в соответствии с заданным наклоном характеристики.
Если Вам необходимо поведение как Вы описали, используйте макрос CONV4..20 из онлайн базы макросов.

Artur85
10.08.2017, 08:18
Добрый день, нет, все что выходит за границы будет выводиться в соответствии с заданным наклоном характеристики.
Если Вам необходимо поведение как Вы описали, используйте макрос CONV4..20 из онлайн базы макросов.

Спасибо, обязательно попробую

wal79
10.08.2017, 11:58
Я эту проблему решил по вашему примеру, просто установил версию ОЛ с цифрой 125 на конце)))) Теперь у меня проблема которую Василий продублировал.
Вдобавок ко всему у меня вот еще какая загвоздка. Я настраиваю диапазон на аналоговом входе минимальное значение 500 максимальное 1000. Насколько я понимаю, все значения которые ниже минимального и выше максимального вход должен игнорить и выдавать 0, или я не так понимаю????

А как Вы добились что на выходе fGT стало Float? Есть ли последовательность действий, которая приводит к данному дефекту?

Василий Кашуба
10.08.2017, 12:55
А как Вы добились что на выходе fGT стало Float? Есть ли последовательность действий, которая приводит к данному дефекту?
Этот дефект возникает при открытии старых проектов.

Artur85
10.08.2017, 13:33
Этот дефект возникает при открытии старых проектов.

Как видно из начального сообщения проект новый, то есть свойствами старых проектов не обладает

Artur85
10.08.2017, 13:35
А как Вы добились что на выходе fGT стало Float? Есть ли последовательность действий, которая приводит к данному дефекту?

В принципе с высоты своего опыта могу предположить что данный дефект образовался из-за того что в переменную с плавающей точкой было записано целочисленное значение, то есть набор цифр без разделительной запятой

Artur85
10.08.2017, 13:37
Добрый день, нет, все что выходит за границы будет выводиться в соответствии с заданным наклоном характеристики.
Если Вам необходимо поведение как Вы описали, используйте макрос CONV4..20 из онлайн базы макросов.

Попробовал этот макрос, вообще фигня получается.
Ставлю макрос CONV4..20 на out цепляю термодатчик Cu50. И какое бы я значение не подавал на вход, на выходе конвертора всё равно получается 0

Ревака Юрий
10.08.2017, 14:44
Попробовал этот макрос, вообще фигня получается.
Ставлю макрос CONV4..20 на out цепляю термодатчик Cu50. И какое бы я значение не подавал на вход, на выходе конвертора всё равно получается 0

Опишите более подробно что Вы хотите получить.

Artur85
10.08.2017, 15:48
Опишите более подробно что Вы хотите получить.
У меня на аналоговый вход подключается датчик температуры, с помощью макроса Cu50 его сопротивление преобразуется в значение температуры, мне нужно "отсечь" те значения сопротивления датчика при которых температура принимает отрицательные значения.
P.S. "Отсечь" значит что на выходе, при таких значениях сопротивления, программа выдавала 0 на вход функции fGT

Ревака Юрий
10.08.2017, 16:13
У меня на аналоговый вход подключается датчик температуры, с помощью макроса Cu50 его сопротивление преобразуется в значение температуры, мне нужно "отсечь" те значения сопротивления датчика при которых температура принимает отрицательные значения.
P.S. "Отсечь" значит что на выходе, при таких значениях сопротивления, программа выдавала 0 на вход функции fGT

Ну тут вариантов несколько, можно открыть данный макрос для редактирования и поправить нижний коэффициент, там он играет роль детектора КЗ, подредактируйте его, либо сделайте блок на выходе самого макроса, если t<0 через fSEL выводите 0, а чем вызвана необходимость такого решения?

Artur85
10.08.2017, 16:31
Ну тут вариантов несколько, можно открыть данный макрос для редактирования и поправить нижний коэффициент, там он играет роль детектора КЗ, подредактируйте его, либо сделайте блок на выходе самого макроса, если t<0 через fSEL выводите 0, а чем вызвана необходимость такого решения?

Необходимость данного решения вызвана тем, что надо контролировать наличие промерзшей жидкости в трубопроводе на участке установки датчика, чтобы при перекачке этой самой жидкости не прорвало трубу от резких перепадов температуры. То есть если на выходе датчика 0, насос перекачки должен быть заблокирован на включеение

Ревака Юрий
10.08.2017, 16:48
Так блокируйте его по условию все что меньше 1°С, к примеру, или 0.5.

eshostko
10.03.2023, 18:22
здравствуйте! такое же сообщение возникает при попытке добавить переменную в отладку! проект правда еще не закончен. планируется связь через пв210 связь с Cloud. отладка будет необходима. так симуляция выполняется нормально... используются готовые макросы с более ранних версий.... может в этом штука?
проект прилагаю. буду рад любой помощи.
кстати версия Logic на данный момент 2.3.321.0. До этого была предыдущая.