Входят ли переменные, созданные в Network Variables в область ввода-вывода? То есть учитываются ли они в ограничении 360 байт?
Вид для печати
Входят ли переменные, созданные в Network Variables в область ввода-вывода? То есть учитываются ли они в ограничении 360 байт?
Не буду создавать отдельную тему спрошу здесь же (прошу прощения у автора если что).
Такая ситуация: есть два ПЛК 150 И.М. споследней версией прошивки и последними же таджетами. В ПЛК два проекта которыеведут обмен через сетевые переменные, т.е. по два списка в каждом контроллере один на чтение один на запись. При первоначальной загрузке проектов и первом запуске обмен идет как положено. Теперь слегка модифицируемпроект одного из контроллеров, например добавим одну локальную переменную (списки сетевых переменных не трогаем). Перезагружаемпроект в контроллер (не важно целиком перезаливаем или on-line change). Теперь "Обновленный" проект не получает данные от "старого" контроллера но может писать переменные В "старый". Тоесть работает только один список. Если теперь просто перезалить второй проект (или поменять в нем что-нибудь), то контроллеры вообще потеряют друг друга. Помогает только полный физический перезагруз контроллеров.
Прокоментируйте пожалуйста такую ситуацию. Если надо могу выложить примеры проектов, но они простейшие 2 списка две переменных.
Заранее спасибо.
1. Сетевые переменные в лиц. область не входят.
2. Nekit,
Я не могу сказать точно, что происходит при изменении списка переменных и почему добавляя лок. переменную происходит такой сбой, т.к. код для сетевых переменных не документирован.
Вероятно при доб. новой переменной старые сдвигаются и обмен нарушается. При перезагрузке контроллеры в момент коннекта сначала синхронизируют адреса переменных через символьные файлы, а затем уже используют относительные адреса при обмене, т.к. это быстрее.
Мы этот вопрос проверим и запросим 3S.
Сегодня проверил на паре контроллеров ThinkIO там все нормально. Завтра проверю на паре ThinkIO и ОВЕН.
Не понял о каких символьных файлах идет речь? Они вроде при обмене с ОРС используются? С ними тоже кстати в свое время намучался: вначале каждого файла есть численный идентификатор который изменяется при каждой компиляции и даже если не менять набор ОРС переменных то перезалитый проект со старым sdb файлом работать не будет. Тут может тоже чтонибудь аналогичное.
Всетаки надеюсь на прояснение ситуации а то ведь если 5 контроллеров в сети то проблема а если 25 то беда.
Проблема обнаружена и будет решена в сл. прошивке.
Как временное решение - делайте reset_original перед заливкой новой программы
Значится так.
Проблему пофиксили, версия прошивки 2.06.1, но пока тестирование не пройдёт - передавать не можем.
Ждемс. Если не сложно скиньте на naiked@rambler.ru буду тестить с удовольствием ;-)
Вот в понедельник выйду из отпуска... :)
Итак: понедельник!
Похожая проблема. Обмена между контроллерами сетевыми переменными нет, если была изменена программа одного из контроллеров.
час делаю так: загружаю программу, ставлю ее в автозагрузку, выключаю контроллеры, иду курить до полной разрядки аккумуляторов в ПЛК, включаю и обмен пошел.
ресет оригинал тоже помогает, но почемуто не всегда....
возможно я что то накосячил, но я никак не могу сбросить контроллер в заводское состояние всеми извесными мне способами, не пробывал только перепрошивку.
Контроллер все равно стартует с программой которая стояла в автозагрузке. Версия прошивки 2.05, таргет соответствующий.
ЗЫ: тоже хотел бы потестировать 2.06, ждемс...
версия 2-06 еще до нового года выложена на сайте
http://www.owen.ru/device/88206764
в самом низу страницы
Не посмотрел, спасибо, пробую..
Вопрос появился: сетевые переменные востанавливаются при сбое по питанию, т.е. являются энергонезависимыми или их нужно принудительно востанавливать?
и еще маленько отвлеченный вопрос, вроде на форуме проскакивало сообщение о программе которая может загрузить проект без КоДеСис?, не могу найти....
или еще: стартует или нет контроллер с автозагрузки если создать загрузочные файлы с помощью КоДеСис и залить их программой plc_io.exe в ПЛК?
Пока нет времени проверить...., а знать бы хотелось.
Сетевые - как зададите. Если retain и request on bootup поставите - будут сохраняемыми
PLCIO.exe
стартует
точно, спасибо, что то сам не догадался....Цитата:
Филоненко Владислав;17690]Сетевые - как зададите. Если retain и request on bootup поставите - будут сохраняемыми
а вот и нет...Цитата:
PLCIO.exe
стартует
создаю загрузочный проект в КоДеСис получаю 2 файла - "имя_проекта.PRG" и "имя_проекта.CHK" . Заливаю эти два файла в ПЛК PLCIO, выключаю питание, жду полного отключения ПЛК, включаю питание и ничего не происходит....
еще способы есть???, или я что то делаю не так?
Объяснять наладчикам как пользоватся КоДеСис очень долго, да и заливать сразу надо четыре контроллера, обязательно чего-нибудь перепутают, а так запустил батник и все...
Именовать файлы надо DEFAULT.CHK и DEFAULT.PRG - не забывайте если поменяли PLC Configuration ФАЙЛ config.dat. Проверить можно: зайдите в PLC Browser и задайте команду filedir, после Create Boot Project повторите filedir
Создайте проект, НЕ ЛОГИНЯСЬ сделайте Create Boot Project.
В каталоге проекта появятся нужные файлы.
.....и появятся только 2 файла "имя_проекта.PRG" и "имя_проекта.CHK".
Файл config.dat, как выяснил в результате экспериментов, записывается ТОЛЬКО в ПЛК при загрузке программы при установленном соединении с ПЛК.
а файл BOOT.SDB появляется опять же только в ПЛК если из КоДеСис при подключенном контроллере сделать Create Boot Project.
на компьютере этих файлов нет, другое дело что час у меня есть в наличии ПЛК100, такой же как и стоящие на объекте и я могу просто залить в него программу, сделать автозагрузку и выдернуть все нужные мне файлы из него, НО это сейчас. завтра возможно я его куданибудь применю, а такой фичей хочется пользоваться постоянно..., тем долее некоторые объекты удалены от места моего проживания на 340 км - не наездишся из за каждой мелочи.
Вчера обнаружилась проблема с обменом, описанная Nekit - 2 ПЛК, два списка переменных, в каждом ПЛК, один на чтение - второй - на запись. Вначале списки были созданы для обмена только в одну сторону - обмен работал - после, добавил еще списки для двустороннего обмена - эти списки не работают. ПЛК Овен 150-И-М , версия прошивки ПЛК 2.10.8, таргет 2.10. В топике вроде обсуждается, что пофиксили еще в 2.06.1. Проблема так и не исправлена??? Как заставить работать обмен?
может вы задали одинаковые идентификаторы? надо очень осторожно настраивать.
На это обратил особое внимание - создано 2 списка в каждом ПЛК:
ПЛК-1: V10_VU, id=3; V10_VU_WR, id=4. ПЛК-2: V10_VU, id=3; V10_VU_WR, id=4. Правильно?
З.Ы. Вопрос - если в этой же локальной сети существует еще пара ПЛК, которые обмениваются между собой независимо от описанной выше пары - id обмена у обоих пар должны различаться? У меня сейчас так сделано, первая пара ПЛК использует id=1 и 2, а вторая id=3 и 4.
1. несомненно должны быть уникальные Id, это общая система.
2. пришлите все-же проекты обоих плк.
другого способа нет.
сетевые переменные - вещь в себе.
я решил перейти на Udp-сокеты. все как-то более управляемо стало, процессор меньше загружен, проект меньше "весить" стал. по надежности - время покажет.
Извините, но GetWay к сетевым переменным никакого отношения не имеет.
Протокол там легок как пушинка. А ради мизерной возможной оптимизации отказываться от стандартизированной системы обмена данными - ИМХО неправильно.
Имея такую стандартизируемую систему - Вы можете расширять число контроллеров без правок программы.