В смысле? Может стоять несколько вариантов таргетов на один ПЛК (110.60) одновременно?
Вид для печати
я попробовал поставить два разных таргета на один тип плк - ругается, и говорит - не устанавливать таргет, или перезаписать..... я проект делал 3 года назад, мне теперь перебирать таргеты за 3 года, серьезно чтооли? нет ни какой возможности узнать таргет из проекта? может какой-то файлик в блокноте открыть посмотреть....
Ситуация очень простая. Три года назад написал программу. Сейчас заказчик просит внести изменения. Проект у меня разумеется сохранен. Чтобы его открыть я установил все заново.
Под таргетами подразумевается таргет файл. Я скачиваю последней версии с сайта ОВЕН, при открытии говорит "ошибка целевой платформы". Нужно выяснить на каком таргете я писал программу.......
Проект давать жалко (уж простите). Скажите пожалуйста как определить мне самому.
Я в одном городе, заказчик в другом, поэтому что выгравировано на стенке точно не скажу, но это был ПЛК110-220.60.Р-М
Попробуйте подключиться с помощью EasyWorkPLC, и там в ПЛЦ-браузере посмотреть версию прошивки.Цитата:
Нужно выяснить на каком таргете я писал программу
По версии прошивки уже поставить таргет.
---
Если проект на руках, то можно перепрошить ПЛК на самую свежую прошивку, поставить нужный таргет и залить проект. Возможно придется переназначить объявления в конфигурации ПЛК.
Я вот только что полез делать скриншот ошибки при таргете, но перед этим заново таргет установил самый последний, и ВУАЛЯ ошибки нет, проект открывается. Не понял в чем дело до этого =(
Посмотрел внимательно архивы прошивок и таргетов, там один таргет перекрывает кучу прошивок. Судя по всему, проще будет и правда просто на всем самом последнем сделать доработку и все.
Но вопрос все равно остается - а если проект крутится, и необходимо онлайн к нему подключиться, я смогу это сделать вне зависимости от того, какой таргет файл использовался при разработке, и при заливке программы 3 года назад?
Здравствуйте!
К примеру мы проверяем что если хоть один элемент массива ar_bJOB = TRUE то мы устанавливаем bJOBs = TRUE. Если все элемент массива ar_bJOB = FALSE то надо присвоить bJOBs = FALSE.
Вопрос как проверить все элементы массива что они равны FALSE и присвоить SJOBs = FALSE
VAR
ar_bJOB: ARRAY [1..3] OF BOOL;
i:INT;
bJOBs:BOOL;
END_VAR
-----------
FOR i := 1 TO 3 DO
IF ar_bJOB[i] THEN
bJOBs := TRUE;
END_IF;
END_FOR;
Можно сделать конечно так (пример ниже), проверяя каждый элемент в отдельности, но а если в массиве к примеру 100 элементов. Может есть вариант по проще до которого я не додумался ))):
IF NOT ar_bJOB[1] AND NOT ar_bJOB[2] AND NOT ar_bJOB[3] THEN
bJOBs := FALSE;
END_IF;
Извините я наверное вас не понял и скорее всего есть нюансы, смотря как фомируется массив. Если не сложно расскажите. У меня примерно так:
После опроса модулей сравниваем температуру с уставками, и формируем булевый массив, часть массива относится к одному оборудованию часть к другому.
При превышении уставки хотя-бы 1-го датчика на панели оборудования подсвечиваем номер экрана с этим оборудованием.
VAR
ar_bJOB: ARRAY [1..3] OF BOOL;
i:INT;
bJOBs:BOOL;
END_VAR
-----------
FOR i := 1 TO 3 DO
IF ar_bJOB[i] THEN
bJOBs := TRUE;
END_IF;
END_FOR;
Вот и возник вопрос как проверить весь массив на отсутствие аварий, что все переменные теперь FALSE. Можно конечно проверить каждый элемент массива:
IF NOT ar_bJOB[1] AND NOT ar_bJOB[2] AND NOT ar_bJOB[3] THEN
bJOBs := FALSE;
END_IF;
Возможно есть способ по проще?
Так нельзя?
FOR i := 1 TO 3 DO
IF NOT ar_bJOB[i] THEN
bJOBs := TRUE;
END_IF;
END_FOR;