IPB

Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в эту темуОткрыть новую тему
> Error C9163 Ошибка FX3U, При компилировании предупреждение При выполнении ошибка
t2zabavniy
сообщение 6.06.2013 - 11:36
Сообщение #1


Читатель
*

Группа: Пользователи
Сообщений: 22
Регистрация: 25.04.2013
Пользователь №: 10041



[ЗАКРЫТО]


Суть такова. При компилировании выдает предупреждение "Error C9163 A temporary variable is not reused, which was used for an output of an EN function in a network before, and a different or new one is taken because the project specific flag is set.". Но компилирует проект. При запуске на контроллере выдает ошибку 6612.
В чем проблема не понимаю - простейший же код.
Проект вроде прикрепил
Кто сталкивался с такой ошибкой? из английский понимаю и текст ошибки прочел. Но по коду - так и не понял о какой временной переменной там речь идет.

Сообщение отредактировал t2zabavniy - 6.06.2013 - 17:46
Прикрепленные файлы
Прикрепленный файл  r23a.zip ( 1.42 мегабайт ) Кол-во скачиваний: 5
 
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
t2zabavniy
сообщение 6.06.2013 - 12:26
Сообщение #2


Читатель
*

Группа: Пользователи
Сообщений: 22
Регистрация: 25.04.2013
Пользователь №: 10041



внес коррективу в код - проблемный участок(Network) перенес на 3ю позицию. Теперь компилируется без Warning, но при выполнении таже проблема - 6612.
Помогите?плиз!
Советы какие?
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
t2zabavniy
сообщение 6.06.2013 - 12:49
Сообщение #3


Читатель
*

Группа: Пользователи
Сообщений: 22
Регистрация: 25.04.2013
Пользователь №: 10041



Вот - ну совсем обрезал программу - н че он хочет...



Может 6612 - слишком много обращений к какомуто одному и томуже маркеру в пределах одного POU?

Сообщение отредактировал t2zabavniy - 6.06.2013 - 13:43
Прикрепленные файлы
Прикрепленный файл  r23a1.zip ( 1.46 мегабайт ) Кол-во скачиваний: 1
 
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
KAZAH
сообщение 6.06.2013 - 14:23
Сообщение #4


Маньяк
*****

Группа: Пользователи
Сообщений: 838
Регистрация: 27.07.2004
Из: Россия
Пользователь №: 48



на скринах видно где ваши ошибки (предупреждения на которые насрать) .в окне компиляции делаете двойной клик на ошибке или предупреждении и софтина показывает вам её местонахождение.ещё совет -пользуйтесь метками а не непосредственным указанием операндов.


--------------------
Наши цели ясны, задачи определены. За работу, товарищи!
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
t2zabavniy
сообщение 6.06.2013 - 14:37
Сообщение #5


Читатель
*

Группа: Пользователи
Сообщений: 22
Регистрация: 25.04.2013
Пользователь №: 10041



Спасибо, я вкурсе как пользоваться писком места ошибки. И читать по английски умею.
Ошибка контроллера 6612 гласит примерно что "количество примененых инструкций LD и LDI превышает количество имеющихся в контроллере блоков ANB и ORB". ANB и ORB это операции отвечающие за параллельное и последователноле выполнение участков однй сети(Network). Я так не могу понять суть проблемы, так как я создавал после проблемного участка еще много сетей, и в них были и параллельные и последовательные участки. Тоесть , я не знаю каким макаром в ЦПУ выполняется программа, но я так понимаю что выполнение идет слева на право и сверху в низ. И если выполнена одна цепочка(Network) то сохраняются состояния задействованых в ней переменных(ну например маркер М0), затем выполняется следующий Network, и если в нем тоже используется М0, то ее состояние во временном месте хранения корректируется. И когда контроллер пройдется по всем POU и завершит цикл, то как раз в конце цикла он записывает в соответствующие маркеры/регистры их окончательное значение(поэтой причине мне ктото рекомендовал для котушек реле применять Set/Reset вместо прямого присваивания значения). Так вот - где этому контроллеру нехватает этих ORB и ANB? если в пределах POU - то врядле. Если в пределах Network - то я даже пытался по кусочку оттесывать от проблемного Network. но чтото не помогло.
PS Метки я так понимаю для облегчения восприятия.

Сообщение отредактировал t2zabavniy - 6.06.2013 - 14:39
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
KAZAH
сообщение 6.06.2013 - 14:46
Сообщение #6


Маньяк
*****

Группа: Пользователи
Сообщений: 838
Регистрация: 27.07.2004
Из: Россия
Пользователь №: 48



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


--------------------
Наши цели ясны, задачи определены. За работу, товарищи!
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
t2zabavniy
сообщение 6.06.2013 - 15:03
Сообщение #7


Читатель
*

Группа: Пользователи
Сообщений: 22
Регистрация: 25.04.2013
Пользователь №: 10041



Цитата(KAZAH @ 6.06.2013 - 12:46) *
вы пытаетесь управлять одним и тем же меркером по разным фронтам.

каким именно, ткните
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
KAZAH
сообщение 6.06.2013 - 15:14
Сообщение #8


Маньяк
*****

Группа: Пользователи
Сообщений: 838
Регистрация: 27.07.2004
Из: Россия
Пользователь №: 48



5,6 ранг М51.что делать этому меркеру ?в софтине есть функция double coil check запустите её и увидите всё.

Сообщение отредактировал KAZAH - 6.06.2013 - 15:18


--------------------
Наши цели ясны, задачи определены. За работу, товарищи!
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
t2zabavniy
сообщение 6.06.2013 - 15:22
Сообщение #9


Читатель
*

Группа: Пользователи
Сообщений: 22
Регистрация: 25.04.2013
Пользователь №: 10041



Цитата(KAZAH @ 6.06.2013 - 13:14) *
5,6 ранг М51.что делать этому меркеру ?


Согласен - вариант не красивый. Но не в этом месте проблема. Так как менял этот участок и все равно 6612

В прикреплении 3й вариант. Ноблин - ну нет у меня маркера управляемого с двух мест

по дукоментации
"There is no limitation in the number of parallel circuits which can be connected by ORB instructions (in the case of
appropriate program shown above).
Though ORB instructions can be used at one time, note that the repeated use of LD or LDI instruction is limited to 8 or
less (in the case of inappropriate program shown above).
"
Тоесть только по LD и LDI ограниячения. только вот не понял - 8 штук в рамках одной Network?
ЗАКРЫВАЮ ТЕМУ
разобрался с проблемой

Сообщение отредактировал t2zabavniy - 6.06.2013 - 17:53
Прикрепленные файлы
Прикрепленный файл  var1.png ( 9.71 килобайт ) Кол-во скачиваний: 14
Прикрепленный файл  var2.png ( 22.18 килобайт ) Кол-во скачиваний: 12
Прикрепленный файл  r23a.zip ( 1.46 мегабайт ) Кол-во скачиваний: 0
 
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения

Ответить в эту темуОткрыть новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия Сейчас: 26.04.2024 - 16:21