PDA

Просмотр полной версии : ПЛК150 + ModBus



zilog
29.12.2006, 09:21
Можно-ли поднять тэги с ПЛК150 по Modbus-у в "OPC драйвер приборов на интерфейсе RS485 по протоколу ModBus", который шел на диске с ПЛК?
Можно-ли это сделать через Debug-RS232 порт в режиме RTU (как я понял, начиная с версии прошивки 1.31 это возможно). И если не затруднит, выложите пример настройки в CoDeSys Modbus-а Master и Slave.

Филоненко Владислав
29.12.2006, 12:19
Можно-ли поднять тэги с ПЛК150 по Modbus-у в "OPC драйвер приборов на интерфейсе RS485 по протоколу ModBus", который шел на диске с ПЛК?
Можно-ли это сделать через Debug-RS232 порт в режиме RTU (как я понял, начиная с версии прошивки 1.31 это возможно). И если не затруднит, выложите пример настройки в CoDeSys Modbus-а Master и Slave.

У CoDeSys нет поддержки ModBus, CoDeSys работет по протоколу GetWay.
Примеры настройки мастеров и slave есть на сайте (видеоролики) и в документации.
Настройка для Debug-RS232 ничем не отличается от настройки других портов, надо только не забыть использовать кабель без перемычки. (распайка идет в документации).

Евгений Пашигоров
06.02.2007, 11:40
А у меня тоже вопрос по modbus.

Нужно в ПЛК прочитать/записать переменную с прибора Delta. который
работает по modbus ascii.
В конфигураторе ПЛК подключаю модуль modbus. в нем интерфейс 485,
добавляю переменную, и заковыка. В описании на прибор Delta указан
адрес переменной 4701Н, но конфигуратор не дает ввести такое значение, говорит invalid parameter. Хотя сторонняя программка
modbus-tester это позволяет и переменную видит.
Может ли это быть связано с версией прошивки (1.29)? В комплекте
нашего прибора ПЛК150 не было кабеля для перепрошивки, его надо делать самому?

Филоненко Владислав
06.02.2007, 11:46
А у меня тоже вопрос по modbus.

Нужно в ПЛК прочитать/записать переменную с прибора Delta. который
работает по modbus ascii.
В конфигураторе ПЛК подключаю модуль modbus. в нем интерфейс 485,
добавляю переменную, и заковыка. В описании на прибор Delta указан
адрес переменной 4701Н, но конфигуратор не дает ввести такое значение, говорит invalid parameter. Хотя сторонняя программка
modbus-tester это позволяет и переменную видит.
Может ли это быть связано с версией прошивки (1.29)? В комплекте
нашего прибора ПЛК150 не было кабеля для перепрошивки, его надо делать самому?

ЛЮДИ! Читайте, плиз, форум перед тем, как задавать вопрос!
Я уже отвечал не этот вопрос мин. 3 раза!
Перепрошивайтесь, меняйте таргет и все будет хорошо!

Евгений Пашигоров
27.02.2007, 16:42
Перепрошился на 1.31, взял новый таргет. Все равно на адрес 4701H выдает
Value not valid

Филоненко Владислав
27.02.2007, 21:02
Перепрошился на 1.31, взял новый таргет. Все равно на адрес 4701H выдает
Value not valid
Попробую помочь.
Вариантов несколько:
1. Неправильно установили таргет или пользуетесь проектом, сделанным на старом таргете.
2. Неправильно вводите число. 4701H надо вводить как 16#4701 или в десятичном виде - 18177.

Вы не первый, кто использует частотники с такими адресами и у всех работает нормально.

Евгений Пашигоров
28.02.2007, 09:06
Насчет неправильного таргета. Я скачал новые таргеты 1.31, старые удалил, новые установил с помощью Install Target. Что-то еще надо сделать с проектом, чтобы он подхватил новый таргет?

PLC Configuration не позволяет ввести в поле адреса регистра для modbus device число больше 255

Филоненко Владислав
28.02.2007, 15:21
Выбрать поле "Standart configuration" и ответить ДА.

Евгений Пашигоров
28.02.2007, 16:10
Выбрать поле "Standart configuration" и ответить ДА.

Загрузил стандартную конфигурацию. Все устройства и переменные, которые я создавал, пропали.
Добавляю заново... и опять не позволяет ввести адрес регистра больше 255!
Куда еще смотреть? Как же это у всех получается?

Филоненко Владислав
28.02.2007, 16:54
Все таки вы что-то упустили...
Сделаем так:
1. Удалить все таргеты с помощью InstallTarget
2. Удалите все файлы из каталога c:\CoDeSys\ и установите таргеты заново
3. Создайте новый проект и попробуйте

незарегистрированный
01.03.2007, 16:26
Все таки вы что-то упустили...
Сделаем так:
1. Удалить все таргеты с помощью InstallTarget
2. Удалите все файлы из каталога c:\CoDeSys\ и установите таргеты заново
3. Создайте новый проект и попробуйте

Ох-ох!..
Все сделал как предложено. Теперь Install Target при попытке открытия таргет-файла выдает ошибки:
File does not exist: Target1 = plc.trg27819
File does not exist: Path3 = BrowserHelp.ini
File does not exist: Path4 = IOModules
и таргет не появляется в левом окошке.

Что-то я делаю не так...

Филоненко Владислав
02.03.2007, 08:14
Ох-ох!..
Все сделал как предложено. Теперь Install Target при попытке открытия таргет-файла выдает ошибки:
File does not exist: Target1 = plc.trg27819
File does not exist: Path3 = BrowserHelp.ini
File does not exist: Path4 = IOModules
и таргет не появляется в левом окошке.

Что-то я делаю не так...

Добрый день!
Я не представляю, что у Вас происходит. Может быть скачанный таргет поврежден был и поэтому не устанавливается?

Евгений Пашигоров
02.03.2007, 08:43
Хорошо. Скачаю снова и попробую все сначала.

Евгений Пашигоров
06.03.2007, 11:09
Возникла такая непонятность.
Соединяю ПЛК-150 с панелью Дельта TP04 через 485 порт по modbus ascii.
Добился что панель видит ПЛК и читает с него, что весьма радует.
В модуле modbus slave определена переменная, я ей дал имя tmr, в программе ей присваиваются значения, но панель считывает всегда 0.
Только когда я попробовал обратиться в программе к этой переменной по абсолютному адресу (типа %QW9.1.0 := tmr ), панель стала считывать правильно. Это где ошибка? И нет контроля наличия такой переменной в программе при компиляции.
Дело в том, что дискретным выходам я тоже давал символические имена, и обращения к ним проходят нормально. А тут такая заковыка.

Филоненко Владислав
06.03.2007, 11:34
пришлите, пожалуйста, проект. на слух трудно понять, в чем дело

Евгений Пашигоров
06.03.2007, 14:50
пришлите, пожалуйста, проект. на слух трудно понять, в чем дело

не знаю, какой файл присылать, делаю экспорт.

Еще одно замечание. В документации на ПЛК надо указать, что подключение по ip level2, а то я потратил 2 часа, потом нашел в форуме, а так бы еще и не получилось.

Евгений Пашигоров
06.03.2007, 15:09
Не ищите ошибку. Она у меня в голове.
Я описал эти переменные в головном модуле, и они перекрыли выходные переменные с таким же именем. Все там нормально работает.

Николаев Андрей
06.03.2007, 15:34
В руководствах по эксплуатации написано, что при подключении по Ethernet надо выбирать тип TCP/IP Level2.
www.owen.ru/index.php?cp=T7support.php&uid=15695

zilog
10.03.2007, 13:04
Не могу победить следующую проблемму:
485 порт на ПЛК150 не хочет работать в режиме RTU (ни как master, ни как slave). При попытке прочитать по модбасу регистр из ПЛК (ПЛК как slave) значение считывается ~2 секунды, потом ПЛК ресетится с beep-ом.
Тот же проект, но переставляю 485 порт в режим ASCII - все работает без проблемм.
Подключил МВА8 к ПЛК (ПЛК соответственно master) - та же хрень: в режиме ASCII - ok, в режиме RTU - reset.
Прошивка 1.31.4, таргет 1.31.2
Помогите плиз, нужен именно RTU.

незарегистрированный
10.03.2007, 14:03
Попробуйте создать новый проект и подключить один регистр(2 байта) с Вашего устройства. Потом еще по-одному... Предпологаю, что после 4-ого регистра начинаются глюки. Слово к разработчикам.

Филоненко Владислав
10.03.2007, 15:13
Не могу победить следующую проблемму:
485 порт на ПЛК150 не хочет работать в режиме RTU (ни как master, ни как slave). При попытке прочитать по модбасу регистр из ПЛК (ПЛК как slave) значение считывается ~2 секунды, потом ПЛК ресетится с beep-ом.
Тот же проект, но переставляю 485 порт в режим ASCII - все работает без проблемм.
Подключил МВА8 к ПЛК (ПЛК соответственно master) - та же хрень: в режиме ASCII - ok, в режиме RTU - reset.
Прошивка 1.31.4, таргет 1.31.2
Помогите плиз, нужен именно RTU.

Странно. Вышлите, пожайлуста, ваш проект.

zilog
11.03.2007, 08:28
Высылаю прект.
Пробовал разные варианты настройки порта (скорость, четность и т.д.) - не идет связь.
Может дело в железе, но тогда бы в ASCII тоже бы не работало, я так думаю.

Филоненко Владислав
12.03.2007, 14:48
Высылаю прект.
Пробовал разные варианты настройки порта (скорость, четность и т.д.) - не идет связь.
Может дело в железе, но тогда бы в ASCII тоже бы не работало, я так думаю.

Уважаемый Zilog!
Ваш проект, к-й мы проверили на ПЛК (с внешней панелью-мастером и др. ПЛК), полностью работоспособен и не виснет.
Возможно у Вас либо бракованный ПЛК, либо Вы что-то не так делаете...

Евгений Пашигоров
12.03.2007, 15:20
А где можно почитать про Овеновский протокол (rs-485)?

Вот подключаю к ПЛК150 ТРМ101 (смех, но неродная Дельта создала меньше проблем), и не работает. Сразу вопросы.
1. В приборе ТРМ101 можно задать только скорость порта и количество бит.
В параметрах ПЛК надо указать еще четность-нечетность, стоп-биты, хеш-имя параметра, который пишем/читаем, а в документации об этом ни слова.
2. Как вообще сделана адресация регистров в ОВЕН-485? Что такое хеш, индексация?

Малышев Олег
12.03.2007, 16:35
А где можно почитать про Овеновский протокол (rs-485)?

Вот подключаю к ПЛК150 ТРМ101 (смех, но неродная Дельта создала меньше проблем), и не работает. Сразу вопросы.
1. В приборе ТРМ101 можно задать только скорость порта и количество бит.
В параметрах ПЛК надо указать еще четность-нечетность, стоп-биты, хеш-имя параметра, который пишем/читаем, а в документации об этом ни слова.



2. Как вообще сделана адресация регистров в ОВЕН-485? Что такое хеш, индексация?

1. Параметры RS485 Нет четности(N),1 стоп бит.Хеш -имя(оно же имя параметра) для температуры - Pv, для уставки SP.

2. Для некоторых приборов может быть, например, несколько уставок. Т.е. имя не меняется меняется индекс.

Почитать, можно здесь:
http://owen.ru/index.php?cp=T7support.php&uid=97210

Евгений Пашигоров
13.03.2007, 08:42
А все-таки, описание самого протокола - это секретная информация?
Ну почему надо догадываться обо всем?
Вот из указанного документа читаю нужную мне строку для ТРМ101:
параметр hash-код
PV B8DF
И что указывать, PV или b8df? Или как обычно, пробуем или то, или это, пока не заработает?
Есть где-то нормальное описание, чтобы прочел и гадать не пришлось?
Тут упоминается «Описание протокола обмена между ПЭВМ (Персональной Электронной Вычислительной Машиной) и микроконтроллерами», а где его взять?

Малышев Олег
13.03.2007, 09:20
Даю ссылку только на протокол. http://owen.ru/documents/support/files/type_prot.zip
Нужно использовать именно имя параметра.
Еще про индексы
http://owen.ru/forum/showthread.php?t=177
Обратите внимание какая версия прошивки прибора.

Евгений Пашигоров
14.03.2007, 11:05
Хорошо. С этим надеюсь разобраться.

Не хочется начинать новую ветку, но вот еще проблема.
Конфигурирую дискретные входы как триггеры по фронту. Добавляю первый триггер, все нормально. Добавляю второй - при компиляции выдается ошибка "переменная такая-то ссылается на используемую область памяти". Причем таких переменных появляется две.
Ошибка воспроизводится и при создании совершенно нового проекта с пустым оператором и без переменных. Прошивка 1.31, таргеты для нее.
Как я понимаю, пользователь не обязан следить за распределением памяти, значит это ошибка где-то в таргете?

Филоненко Владислав
14.03.2007, 11:41
Ошибка в менеджере распределения памяти CoDeSys. Надеемся, в сл. версиях исправят. А пока попробуйте разбавить тригеры счетчиками, а затем их (счетчики) удалить.