PDA

Просмотр полной версии : проблемы с плк 150



freeon
21.04.2010, 08:33
Прошу помочь с одним вопросом. Начал работать с контроллером плк 150. Возникли следующие проблемы: не могу подключиться к контроллеру по Ethernet. Вроде бы настроил всё верно. Принудительно задал контроллеру IP-адрес в PLC-Browser, так же присвоил дополнительный IP компьютеру, задал маску подсети равную 255.255.0.0. Но при попытке подключиться к контроллеру возникает ошибка. Через RS-232 подключение происходит нормально. Что можете посоветовать? Так же ещё интересует возможность использования RS-485. Должен ли он отображаться в PLC Configuration или нет? Заранее спасибо. Прошу не критиковать строго - с контроллерами работаю недавно.

Николаев Андрей
21.04.2010, 09:12
1. По RS485 программировать ПЛК нельзя. Можно обмениваться по сети, но это настраивается в конфигурации ПЛК - по ней отдельный документ.
2. Связь по Ethernet
За частую ошибка может быть по двум вопросам:
- кабель
- настройки сети на ПК и на ПЛК
- после установки IP Mask и Gate в ПЛК надо его перезагрузить, и уже потом проверить принялись ли настройки.

freeon
21.04.2010, 13:39
благодарю.

freeon
21.04.2010, 14:04
Хочу ещё спросить: при попытке подключиться к контроллеру в программе EasyWork PLC выдаётся сообщение о том, что отсутствует файл DEFAULT.PRG Подскажите, что за файл и на что он влияет.

Николаев Андрей
21.04.2010, 15:24
На форуме ответ уже был: это как раз плод Ваших трудов, записанных на Flash контроллера. делается это прям перед установкой уже на объект. И без этого программы в контроллере нет...
Команда - создать загрузочный проект (creat boot project) из меню онлайн, при подключенном контроллере.

freeon
29.04.2010, 16:13
Ещё один вопросик=) В конфигураторе ПЛК я добавил элемент Modbus(Master) в нём прописал Universal Modbus device. Подключаемый прибор - измеритель давления "Прома-ИДМ" работающий по RS 485 по протоколу Modbus RTU. Какой тип прибора задаётся при конфигурации ПЛК? Заранее спасибо за ответ!

Николаев Андрей
29.04.2010, 16:15
Вы все правильно задали - Universal ModBus Device - это какое то устройство ModBus, не важно какое.
А вот какие ячейки опрашивать, какими командами - указано должно быть в документации к Slave устройству.

freeon
29.04.2010, 16:21
То есть не имеет значения 8 bit input module или Register input module или ещё какой либо? А опрашиваем ячейки из основной программы PLC_PRG?

Николаев Андрей
29.04.2010, 16:24
Память ModBus отдельно от памяти МЭК - AT %....... формируется контроллером автоматически.
Как формируется - надо почитать в РЭ на PLC Configuration...
В зависимости от типа переменных будут меняться адреса.

freeon
29.04.2010, 16:25
благодарю. углубляюсь в изучение...:)

freeon
12.05.2010, 10:43
Добрый день. Понимаю, что уже замучал, но просто только-только начинаю работу с контроллерами и очень хотелось бы уточнить: уже который день пытаюсь подключить измеритель давления ПРОМА-ИДМ по RS-485:confused: . В мануале по slave устройству написанно:

Все приборы серии ПРОМА (далее приборы) поддерживают следующие функции Modbus RTU (назначение функций для прибора):

0x01 Read Coils - (считывание состояния выходных реле);
0x03 Read Multiple Registers - (считывание пределов измерения и пределов сигнализации);
0x04 Read Input Registers - (считывание текущего значения измеряемого параметра);
0x05 Write Coil - (управление релейными выходами прибора);
0x06 Write Single Register - (управление ЦАП);
0x10 Write Multiple Registers - (изменение пределов измерения, пределов сигнализации и управление токовым выходом).

Как я понимаю, это и есть команды, с помощью которых мы общаемся с устройством, но CodeSys не понимает такой синтаксис. Искал примеры по подключению slave устройств по Modbus, но, к сожалению не нашёл. Просветите новичка. Как лучше подойти к этому вопросу, может у кого-то есть какие-либо примеры? Благодарю за внимание:) .

lara197a
12.05.2010, 11:37
это команда, с помощью которой нужно обратиться к нужному регистру в устройстве, в зависимости от того, что вы хотите сделать-прочитатьили записать. Read-чтение Write-запись.
прочтите документацию на плк конфигуратор.
см. картинку.2345

freeon
12.05.2010, 12:45
ну с этим я, в принципе, разобрался:) но какие адреса в последующем опрашивать, чтобы получить непосредственно данные с прибора?

freeon
12.05.2010, 13:15
я так понимаю мы должны сперва задать стартовый сигнал, затем функцию действия и только потом сможем снять измеренное значение...

lara197a
12.05.2010, 13:50
Вам нужно добавить модуль Universal Modbus device.
Потом добавить подъэлемент и задать в параметрах номер регистра и команду, для чтения или записи перемеменной.
Прочтите документацию.

freeon
12.05.2010, 16:21
Вся документация уже прочтена. Всё как раз и упирается в добавление подэлемента. slave устройством является измеритель давления Промо-ИДМ, работающий по протоколу Modbus-RTU. Каким подэлементом его задавать? В сопроводительной документации к устройству это не указанно. И ещё вопрос. В документации указанно, что показания прибора находятся в двух регистрах (4001 и 4002) То есть придётся скорее всего создавать два подэлемента и адресоваться к каждому регистру?

lara197a
12.05.2010, 16:50
да правильно.

freeon
13.05.2010, 13:39
спасибо за внимание:)

freeon
13.05.2010, 15:16
вот скрин настройки. при опросе регистра, содержащего измеряемое значение на адресе Iw9.1.0.0 значение 0... в чём может быть причина? возможно неправильно задан подмодуль?

Николаев Андрей
13.05.2010, 16:05
попробуйте номер регистра - 1
почему то не русские очень любят в регистре кодировать и команду и номер регистра...

freeon
03.06.2010, 09:01
Мда, что-то так и не получилось у меня соединиться с контроллером по RS485... Уже и не знаю даже, что делать. Я вот думаю, универсальное устройство modbus имеет канал старт/стоп. Так мне нужно в него записывать значение 0x00FF, для начала работы или нет? Режим работы стоит by poll time. Помогите разобраться.

freeon
03.06.2010, 10:15
И ещё сразу вопрос вдогонку. Считывать надо значение с 4001 регистра. Мне в Register Adress так и записывать 4001 или перевести в hex? То же самое с Module slave adress. В настройках slave устройства задал ему адрес 16. Так и задаю в конфигураторе или тоже в шестнадцатеричной записываю?...

Николаев Андрей
03.06.2010, 10:30
1. Начните с документации по ПЛК. Там указано в каком формате вводятся данные.
Для того, чтобы опросить 40001 (к стати в dec или hex - надо узнавать из документации на устройство).
2. Добавльте ModBus Master\Universal ModBus device\"Размер и тип параметра (регистр или 32 бита чтения)".
В настройках регистра - адрес ставите 1, команда 04.
Не забудьте проверить настройки сети.
Если выбрано By polling time - ничего никуда записывать не надо... Единственно, что еще раз настройки глянуть сети, может стоит скорость понизить до 9600 и Poling time чуть увеличить...

freeon
03.06.2010, 10:50
Всё сделал по инструкции, ничего не помогает... Выдаёт last error 81. Работаю через RS485, поэтому Net mode поставил serial, так ведь? А Ip и port вообще не указывал. Голову уже сломал. Писал производителю slave устройства, говорят, что должно работать по протоколу modbus rtu, но вот уже, перепробовав все возможные настройки, тихо схожу с ума:)

freeon
03.06.2010, 13:48
я вот тут вообще подумал... может овеновский плк просто напросто не хочет с промой работать? так сказать несовместимость на аппаратном уровне... глупость конечно, но я уже и не знаю что думать. может кто сталкивался с такими измерителями давления?:(

freeon
03.06.2010, 15:38
ещё кое какие мысли... возможно прошивка очень старая. скрин прилагаю.

Николаев Андрей
03.06.2010, 16:48
ну подъезжайте в поддержку с вашим устройством... если в москве конечно...