Попался мне тут недавно сей контроллер(как же я не люблю эти старые версии, но не суть). И после загрузки программы (размер где-то 10 кб.) у меня в памяти какие-то странные наборы 0 и 1. после принудительного обнуления, произошло кажущееся просветление, но! в некоторых регистрах все равно лежат данные. причем в одном даже нарастающие. обнулить принудительно я их не могу. Данные лежат где-то в %mw400-%mw410. это точно. дальше не искал так как не до того было.
Может кто знает где собака зарыта?
Это не могут быть данные вашей же программы?
1. Объявлены ли RETAIN переменные?
2. Что у вас в Target settings -> Memory options?
Инженер-системотехник
+7 (916) 477 3925
Данные программы точно нет. В симуляции этих данных нет. Да и прога уже давно отлажена на других контроллерах.
1. Переменные все Retain. хотя у меня подозрение, что в старых версиях ваги это необязательно. данные не пропадали даже когда были просто var.
2. в io-pro 32 я что-то такого не нашел.
Я уж и забыл, что для этих контроллеров нужна I/O-PRO 32... Вопрос о Memory options снимается.
Помню, ваговцы предупреждали, что не следует использовать M-переменные одновременно с RETAIN. Потому что физически они лежат в одной и той же области памяти, и RETAIN переменная может попасть в один из M-адресов.
То есть, либо писать
VAR
X AT %MW0: INT;
либо
VAR RETAIN
X: INT;
Инженер-системотехник
+7 (916) 477 3925
Максим, а вот так можно?
VAR
X AT %MW0: INT;
VAR RETAIN
Y AT %MW1: INT;
X в Y не попадет?
И еще вопрос: Есть ли ограничения на количество циклов перезаписи для Retain памяти? Можно ли в ней держать часто меняющиеся переменные?
Нет, X в Y не попадет в данном случае, ведь адрес явно указан. Просто, насколько я понимаю, слово RETAIN здесь лишнее, оно не даст никакого эффекта. В общем, предлагаю вам указать для каждой RETAIN переменной явный адрес, и убрать раздел VAR RETAIN. Напишите, поможет ли это.
В область памяти для RETAIN переменных можно писать сколь угодно часто. Дело в том, что содержимое этой области сохраняется в энергонезависимой памяти лишь в случае отключения питания.
Инженер-системотехник
+7 (916) 477 3925
Внимание, совет не использовать одновременно RETAIN и %M касается только WAGO-I/O-PRO 32. В Codesys 2.3 (WAGO-I/O-PRO CAA) поведение RETAIN и %M переменных задается в Memory Options.
Инженер-системотехник
+7 (916) 477 3925
у меня недавно была проблемма похожая, но на PromPC 758-870 и 876, там многие адреса М памяти стояли в единичке и ни какие попытки сброса не давали результата, помогла прошивка свежей версии фирмВаре через CF карту.
А можно ли программу написанную на разных языках (CFC, ST, FBD, IL) в CoDeSys как нибудь преобразовать в один язык к примеру чтоб вся программа и функциональные блоки были в ST ?
Вы не можете публиковать новые темы в этом форуме Вы не можете отвечать на сообщения в этом форуме Вы не можете удалять Ваши сообщения на этом форуме Вы не можете редактировать Ваши сообщения на этом форуме Вы не можете создавать голосования на этом форуме Вы не можете выражать своё мнение в голосованиях на этом форуме