Всё, собственно, так и делаю. У меня всего 3 регистра: 1 на чтение, 2 на запись. В ИП они разнесены еще и по разным экранам.
Буду с нуля добавлять по одному и смотреть где споткнется, спасибо за совет
Вид для печати
Всё, собственно, так и делаю. У меня всего 3 регистра: 1 на чтение, 2 на запись. В ИП они разнесены еще и по разным экранам.
Буду с нуля добавлять по одному и смотреть где споткнется, спасибо за совет
Еще момент выравнивания регистров учтите для ПЛК. на этом тоже сразу спотыкаешься как правило.
To melky Я вроде все учитываю: и выравниваю, и нумерацию вроде правильно проставил.
На всякий случай прикрепляю архив с проектом. Может кто глянет?!
У вас в ust1 и ust2 из разных мест идет запись и инициализация.
Со стороны панели, при инициализации и еще и указаны в Var Ratein. Это как раз и может быть проблемой.
Вам надо сделать это разными переменными и из панели их менять... Начните с этого
Modbus slave он по определению ratein
Причем здесь "из разных мест".
Нумерация регистров внутри слейва ПЛК начинается с 0
Вложение 29222
Первый 2 byte (ust2) имеет адрес 0
Второй 2 byte (ust1) имеет адрес 1
А в проекте панели адреса у них почему-то 3 и 2.
Вложение 29223 Вложение 29224
И зачем по два регистра читать/писать, у Вас что переменные DWord?
И здесь тоже
Вложение 29225
ЗЫ
К стати для экрана "Показания весов" в слейве ПЛК нет регистра
Или Вы думаете, что из UMD мастера ПЛК вес сам попадет в слейв? Панель не может к весу обратится
Добавлять нужно Float, а не 4byte
Вложение 29265
Адрес Ves_HMI для панели будет 2
Вложение 29266
petera С адресами я понял Вас в 165 посте, спасибо. Но вот как мне переменную ves передавать в ves_HMI?
копированием в программе ПЛК из одной переменной во вторую, например в конце цикла программы.
Скопировал в программе ПЛК, Запустил проект. На ИП могу посмотреть вес, а вот уставки изменить не могу. Что я опять не так сделал?
Выкладываю проект с последними изменениями.
У Вас вообще ничего не должно запускаться!!
Сплошные ошибки
Вложение 29276
Это Вы действий наделали вместо программ?
Вложение 29279
Вложение 29280
И зачем сие действия?
Сделать программы
Вложение 29282
Вложение 29283
В основной программе удалить это
Вложение 29285
У меня вес копируется
Вложение 29287
Вложение 29288
Николай83, разобраться и понять что вы именно делаете не так, на дистанции сложно.
1. Сохраните все что натворили и положите куда-то подальше (временно)
2. Создайте пустой новый проект и разберитесь с визуализацией одной единственной переменной, для понимания интерфейсного взаимодействия
3. Панель ИП320 - строго мастер!!!
4. Сам стараюсь использовать для конекта с панелью 232-й порт, подключая в четком соответствии с РЭ
5. Любая неточность в Ваших действиях = отсутствие связи.
6. Чуть не забыл - удалите всю логику чтоб исключить всякую ересь и перезапись данных. Просто добейтесь вначале чтения и записи.
7. Все переменные заведенные в панель, обязательно должны быть заведены (запрограммированы) в ПЛК
Изучите мою, однозначно работающую конфигурацию и сделайте по аналогии
https://yadi.sk/d/UDAy9ggG3DmXkU
Вложение 29392
Здесь должно быть 4х!!!
3х - регистры только на чтение!!
Еще исправить здесь
Вложение 29396
Заработало! НО!..... выключил питание минут на 10, включаю, мв110 перестал общаться по RS485. Подключаюсь к ПК через USB-dev, подключаюсь в CDS и, о чудо, RS485 заработал!
Опять снимаю питание, жду, включаю - нет обмена. Подключаюсь через USB-dev, нажимаю подключение в CDS и опять чудо - RS485 заработал.
Куда копать? Чую что обмен по 485-му инициирую через подключение в CDS, а как его инициировать в полевых условиях?
Вот как-то так. Сам не понимаю как так происходит, поэтому и описал проблему криво как-то. Простите если что.
Есть ощущение , что загрузочный проект не создавался. Поэтому каждый раз, подключаясь к контроллеру из CDS вы загружаете в него программу. Или не так?
Контроллер из новой линейки (М02) или старый? Если новый, то посмотрите, в каком положении стоит пресловутый тумблер, может быть в нем дело
Я не знаю какая у меня линейка (МО2 илинет). Никакого тумблера я не обнаружил. ПЛК брали в декабре 2016.
ну а надписи, надписи то на нем есть ?
ПЛК100 не бывают из линейки (М02)
Вложение 29428
Так что мне делать? куда копать, Господа?
Уже 2-й месяц вожусь с проектом, а толку почти никакого.
Так вам petera уже указал на ошибки.
Панель с ПЛК работает только по одному интерфейсу, соответственно все переменные, которые вы хотите видеть в панели должны принадлежать данному интерфейсу.
И как писалось выше, шаг влево/вправо расстрел (потеря связи)... Пытаетесь ли вы читать переменную, которой не существует в интерфейсе или писать в несуществующую переменную одно и тоже...
Начните с малого, удалите в программе дублирование переменных, добавления по одной переменной в обмене между панелью и ПЛК.
По поводу М02, каюсь, затупил слегка, почему-то подумал, что контроллер 110-й. Что касается странного поведения, выложите версию проекта с последними вашими правками, после которых это началось. Так быть не должно, при нормальном положении дел конфигурация начинает работать сразу.
Можно конечно предположить, что какие-нибудь "хвосты" предыдущих проектов портят жизнь, говорят иногда помогает сделать заводской сброс и перезалить проект. Попробуйте, вдруг поможет.
Спасибо за совет, попробую сбросить. А проект я выложу, но уже завтра. Пока беру паузу.
Выкладываю на Ваш суд, Господа, последнюю версию проекта. С учетом всех замечаний.
Давайте отодвинем в сторону программу и начнем с простого. Я выкинул из вашей программы все, оставил только передачу веса из модуля в панель.
Теперь, если все исправно, должно происходить следующее:
1. Модуль должен опрашиваться
2. При переключении на экран отображения веса, вы его должны видеть.
3. при переключении на экран задания уставок их можно менять, при этом они после выключения и повторного включения должны сохраняться. ничего не надо никуда копировать и инициализировать, просто дальше будете с ними работать, и всё.
иногда бывают проблемы с несогласованностью старта программ в ПЛК и панели, поэтому многие проделывают некие дополнительные действия для сохранения уставок. У меня этого ни разу не было, но при этом я стараюсь не выносить на стартовый экран элементов, связанных с уставками.
попробуйте, о результатах дайте знать.
YuriBel выкинул из программы все, оставил только передачу веса из модуля в панель.
Ничего не изменилось. После отключения питания связь между модулем и ПЛК потерялась, соответственно панель при попытке отображения веса пишет потеря связи.
Связь появляется через CDS как и раньше.
Давайте еще упростим, выкинем панель и все, что с ней связано. Оставим только модуль в конфигурации. Тогда опрос модуля должен начатьсяя при включении ПЛК. Завтра с утра продолжу"надругательства" над вашей программой и выложу тест.
Для начала Button добавить
Вложение 29508--->Вложение 29509
Николай, если еще не разобрались и не отчаялись, предлагаю "есть удава по частям". В приложении три примера. В первом пустая программа, в конфигурацию просто добавлен мастер, который опрашивает 1ТД (70 регистр)раз в 100 мс.И больше ничего. На всякий случай добавлен модуль Button, но тот факт , что ваша ошибка вылезает системно, вызывает некоторые сомнения в том, что виновата кнопка "Старт-стоп". Проделайте следующее:
Загрузите проект, сделайте его загрузочным, выключите и включите контроллер. Если по части связи контроллера и 1 ТД все в порядке, то на модуле вы должны увидеть мигающий светодиод, это означает, что обмен между контроллером и ТД идет. Тогда переходим к тесту2.
Тест 2 проверяет взаимодействие с панелью. В конфигурации контроллера организован слейв с двумя регистрами, программа копирует значение одного в другой. Проект в панели позволит вам на второй странице задать уставку, которая отобразится также и в окне контрольного значения (в результате работы программы). Аналогично , попробуйте сделать загрузочный проект, выключите и включите контроллер, проверьте работоспособность связи. Проделайте это несколько раз, только дайте небольшой интервал перед включением контроллера после выключения, чтобы успели записаться ретэйны. Вы увидите, что значение уставки, которое вы ввели, сохраняется, за счет того, что все переменные, описанный в слейве, попадают в область ретэйн.
Если все в порядке, переходим к третьему тесту. Здесь в конфигурации есть и мастер и слейв. С уставками должно быть все точно также, как в тесте2, на третьей странице панели вы должны увидеть показание веса из модуля. В программе вторая строка копирует его значение из мастера в слейв.
Проверить на аутентичном железе не могу, нет ПЛК 100, либо вечером, если не уеду в командировку, либо в выходные, смогу проверить на ПЛК110.
Господа!
Что-то я совсем голову сломал.
Вчера вечером при попытке залить в ПЛК "новый" проект обнаружил что все это время в ПЛК был старый (самый первый) проект. В нем не было ни панели, ни модуля. Из этого делаю вывод что все это время ПЛК не принимал никакие проекты. Пробовал уже на 3-х ПК соединиться с ПЛК, не могу установить нигде USB дрова. Даже на ПК с которого заливал самый первый проект не могу связаться с ПЛК. ПК его видят, но в диспетчере устройств видно как неизвестное USB-устройство.
Я запутался совсем.
Или я убил ПЛК?
Какие есть мысли?...
Подключиться к нему по сети и забыть про USB как страшный сон, сказав спасибо Овен-у
так ведь первый проект я залил по USB!
Вынужден согласиться. У меня есть кабель КС1 (RJ12-DB9F), который шел в комплекте. Как наладить связь через этот кабель?