PDA

Просмотр полной версии : Ошибка, выскакивающая в режиме Simulation Mode



Ollegator
24.11.2009, 11:33
В общем, проект нормально загружается в ПЛК и там работает, при попытке запустить его в режиме симуляции, вылазит ошибка.
Что-то не так с массивами, их у меня штук 10 в программе, ошибку найти не могу.
Что значит Please open callstack? Куда смотреть, что открывать?

И еще вопрос. У меня на ПЛК, при нажатии кнопки Reset, не сохраняются Retain переменные. После перезагрузки, они снова становятся теми, что были при последнем включении. Так и должно быть????

ПЛК 150 IM

Филоненко Владислав
24.11.2009, 12:26
наверное вы пытаетесь обратится к массиву по индексу за пределами допустимого, например к 101 элементу массива размером в 100 элементов

Ollegator
24.11.2009, 13:38
да, собственно говоря, я и хотел в режиме симуляции проследить, не выходит ли индексация за пределы массивов, а программа даже и не начинает работать. когда наблюдаю в режиме он-лайн в плк, индексация в порядке.

amn
09.09.2014, 16:19
Здравствуйте уважаемые форумчане!
Ошибка как у автора темы, только при запуске в симуляторе. "Runtime error: Wrong array index! Please open callstack!" И почему в ПЛК этой ошибки не возникает? Может кто знает как в Кодесис открыть стек вызовов, чтобы как-то эту ошибку найти?

Yegor
09.09.2014, 17:23
Online - Show call stack

В ПЛК эта ошибка может не контролироваться просто.

amn
09.09.2014, 19:55
Yegor, спасибо. Я кажется понял в чем дело. В программе я использовал библиотеку Sislibtime.lib, а она без ПЛК не работает. С ее помощью вычислялась дата (вернее дни) для массива, а массив был объявлен с [1..31]. В качестве индексов массива я использовал дни, вычисляемые этой библиотекой. А так как библиотека не работает в симуляторе, то там все по нулям.