PDA

Просмотр полной версии : В отладке - работает, в норм. режиме - НЕТ



serg_s
26.01.2016, 14:07
Здравствуйте.

Помогите пожалуйста разобраться, а то зла просто на это уже не хватает :mad:
Вкратце: в программе считываю текстовый файл в массив структур. Прогоняю в отладке построчно - все четко, что и ожидалось, массив нормально формируется, в нормальном режиме получаю какую-то билиберду - идут то задвоения какие-то, то пустоты, то иероглифы китайские... Пробовал на реальном контроллере. Этот проект на Control Win. Результат один и тот же.
Прикладываю проект и пример файла, который читаю.

serg_s
27.01.2016, 08:54
Кто-нибудь посмотрел?
Проблема скорей всего возникает на этапе установки позиции - смещения какие-то непонятные. Как с этим бороться, неужели никто не сталкивался? Или я что-то не так делаю?

GoodLuck
27.01.2016, 09:46
У вас в программе неправильно организован процесс чтения из файла. Вы пытаетесь все действия произвести за один цикл работы контроллера. Используйте оператор CASE.
Вот можно посмотреть пример, как это делается

serg_s
27.01.2016, 09:52
У вас в программе неправильно организован процесс чтения из файла. Вы пытаетесь все действия произвести за один цикл работы контроллера. Используйте оператор CASE.
Вот можно посмотреть пример, как это делается

Изначально так и делал - результат тот же.
Почему в отладке работает нормально? Какая разница CASE или еще чего?
И там не один цикл получается, если конкретно функцию рассматривать, я дважды прогоняю каждую функцию. К этому варианту от безысходности пришел уже

GoodLuck
27.01.2016, 10:13
Изначально так и делал - результат тот же.
Почему в отладке работает нормально? Какая разница CASE или еще чего?

Скиньте ваш проект с CASE.

Почему вы решили, что надо дважды прогонять, а не трижды, например? Команда открытия файла, чтения или любая другая должна прогоняться до тех пор, пока xDone не перейдет в TRUE, либо xError - в TRUE.

И еще, почему у вас POU называется PRG, а не PLC_PRG?

А в отладке нормально работает, потому что там цикл получается не 20мс, а как часто вы нажимаете на кнопку F8.

serg_s
27.01.2016, 12:38
Спасибо за участие, заработало все-таки с CASE.
Так и не понял, почему до этого с CASE не работало, не доглядел я что-то наверно...