Error C9163 Ошибка FX3U, При компилировании предупреждение При выполнении ошибка |
Здравствуйте, гость ( Вход | Регистрация )
Error C9163 Ошибка FX3U, При компилировании предупреждение При выполнении ошибка |
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
Прикрепленные файлы
|
|
|
6.06.2013 - 12:26
Сообщение
#2
|
|
Читатель Группа: Пользователи Сообщений: 22 Регистрация: 25.04.2013 Пользователь №: 10041 |
внес коррективу в код - проблемный участок(Network) перенес на 3ю позицию. Теперь компилируется без Warning, но при выполнении таже проблема - 6612.
Помогите?плиз! Советы какие? |
|
|
6.06.2013 - 12:49
Сообщение
#3
|
|
Читатель Группа: Пользователи Сообщений: 22 Регистрация: 25.04.2013 Пользователь №: 10041 |
Вот - ну совсем обрезал программу - н че он хочет...
Может 6612 - слишком много обращений к какомуто одному и томуже маркеру в пределах одного POU? Сообщение отредактировал t2zabavniy - 6.06.2013 - 13:43
Прикрепленные файлы
|
|
|
6.06.2013 - 14:23
Сообщение
#4
|
|
Маньяк Группа: Пользователи Сообщений: 838 Регистрация: 27.07.2004 Из: Россия Пользователь №: 48 |
на скринах видно где ваши ошибки (предупреждения на которые насрать) .в окне компиляции делаете двойной клик на ошибке или предупреждении и софтина показывает вам её местонахождение.ещё совет -пользуйтесь метками а не непосредственным указанием операндов.
-------------------- Наши цели ясны, задачи определены. За работу, товарищи!
|
|
|
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 |
|
|
6.06.2013 - 14:46
Сообщение
#6
|
|
Маньяк Группа: Пользователи Сообщений: 838 Регистрация: 27.07.2004 Из: Россия Пользователь №: 48 |
я не понял -вам шашечки или ехать?каким образом ваши предупреждения влияют на выполнение программы? та прога которая первая изобилует противоречивыми инструкциями.вы пытаетесь управлять одним и тем же меркером по разным фронтам.что должен делать плк?он должен был обозвать вас нехорошим словом.но не умеет матерится.
-------------------- Наши цели ясны, задачи определены. За работу, товарищи!
|
|
|
6.06.2013 - 15:03
Сообщение
#7
|
|
Читатель Группа: Пользователи Сообщений: 22 Регистрация: 25.04.2013 Пользователь №: 10041 |
|
|
|
6.06.2013 - 15:14
Сообщение
#8
|
|
Маньяк Группа: Пользователи Сообщений: 838 Регистрация: 27.07.2004 Из: Россия Пользователь №: 48 |
5,6 ранг М51.что делать этому меркеру ?в софтине есть функция double coil check запустите её и увидите всё.
Сообщение отредактировал KAZAH - 6.06.2013 - 15:18 -------------------- Наши цели ясны, задачи определены. За работу, товарищи!
|
|
|
6.06.2013 - 15:22
Сообщение
#9
|
|
Читатель Группа: Пользователи Сообщений: 22 Регистрация: 25.04.2013 Пользователь №: 10041 |
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
Прикрепленные файлы
|
|
|
Текстовая версия | Сейчас: 26.04.2024 - 16:21 |