PDA

Просмотр полной версии : соединение ПР200 и ПЛК110 по MODBUS RTU



pwm100558
10.09.2017, 12:51
для тренировки захотелось соединить ПР200 и ПЛК110 по сети MODBUS RTU -RS485
соединил проводами реально
в ПР200 выдаю константу 37,5 REAL на выход NET-slave- подчиненный- с завода перемычки никто не трогал и не лазил
хочу эту константу увидеть в ПЛК110
что надо подправить в проектах??
проекты прилагаю
какой бы пример посмотреть?
а может из контроллера надо делать такой запрос?
0х03- function code
0x0004- data start adres
1- number of data
2 - data bytes
-32768-327767- data range
measured output values- instruction significance
????
вот возможные варианты запросов:
VARIANT1:ARRAY [1..8] OF INT:=1,4,0,32,0,4,240,3;
VARIANT2:ARRAY [1..8] OF INT:=1,4,0,4,0,4,176,8;
VARIANT3:ARRAY [1..8] OF INT:=1,14,0,32,0,4,49,192;
VARIANT4:ARRAY [1..8] OF INT:=1,14,0,4,0,4,113,203;
???
Почему в документации такой пример не рассмотрен?

Relaymen
11.09.2017, 09:36
А почему вы в ПЛК используете 32 bit input module и 32bit output module а не Real input module State и Real output module State? Плюс этим переменным надо задать адреса как в ПР, да и в ПР у вас обе переменные выходящие сетевые, а в ПЛК одна входящая а вторая выходящая.

Мастеренко Иван
11.09.2017, 10:07
для тренировки захотелось соединить ПР200 и ПЛК110 по сети MODBUS RTU -RS485
соединил проводами реально
в ПР200 выдаю константу 37,5 REAL на выход NET-slave- подчиненный- с завода перемычки никто не трогал и не лазил
хочу эту константу увидеть в ПЛК110
что надо подправить в проектах??
проекты прилагаю

В OwenLogic при работе по интерфейсу rs485 выходные сетевые можно только прочитать, входные записать/прочитать.
Например, в Вашем проекте OL 2 выходных сетевых переменных типа real, конфигурация плк будет так
33070
Сетевые настройки плк и пр200 должны совпадать.
В Universal Modbus Device Work Module поставьте By poll time.
Руководство по настройке области ввода/вывода плк можно найти здесь: http://www.owen.ru/catalog/codesys_v2/51162335

pwm100558
11.09.2017, 15:06
вот- меня устраивает только прочитать, но почему-то не читается

pwm100558
11.09.2017, 15:12
вот- меня устраивает только прочитать, но почему-то не читается
А чтобы прочитать , то что создано, надо делать вход по RS-485 и читать запрос ПЛК110??

capzap
11.09.2017, 15:13
вот- меня устраивает только прочитать, но почему-то не читается

интересно, зачем ушли в плк от сетевых настроек по умолчанию, EVEN ни как не соответствует ПР-овской НЕТ

pwm100558
11.09.2017, 15:43
интересно, зачем ушли в плк от сетевых настроек по умолчанию, EVEN ни как не соответствует ПР-овской НЕТ
ПР200 выдает на выход точно 37,5 и 55
попробую вернуть настр по умолч.

pwm100558
11.09.2017, 16:12
[QUOTE=pwm100558;257619]ПР200 выдает на выход точно 37,5 и 55
попробую вернуть настр по умолч.[/QUOTE
заново модули подключил
а модули программа запускает чтение командой 0xff??
если я использую
REAL input module State??

лично я такой команды в программе не даю!!

pwm100558
11.09.2017, 16:54
А почему вы в ПЛК используете 32 bit input module и 32bit output module а не Real input module State и Real output module State? Плюс этим переменным надо задать адреса как в ПР, да и в ПР у вас обе переменные выходящие сетевые, а в ПЛК одна входящая а вторая выходящая.

а программа запускает чтение командой 0xff сама ??
теперь использую "REAL input module State"!
или надо давать каким-то образом команду 0xff??

capzap
11.09.2017, 17:41
а программа запускает чтение командой 0xff сама ??
теперь использую "REAL input module State"!
или надо давать каким-то образом команду 0xff??

перечитайте пост №3 и соответственно документ, чтоб понять что такое By poll time и не использовать команду 0xff

pwm100558
11.09.2017, 18:18
перечитайте пост №3 и соответственно документ, чтоб понять что такое By poll time и не использовать команду 0xff

у меня "By poll time"

capzap
11.09.2017, 18:39
у меня "By poll time"

сделаю выдержки для Вас

pwm100558
12.09.2017, 13:27
перечитайте пост №3 и соответственно документ, чтоб понять что такое By poll time и не использовать команду 0xff

у меня By poll time-включено
запускал CAS MODBUS SCANER--- 57600
сканирует COM1 & COM3
TIMEOUT- результат
GOOD- ничего такого нет

capzap
12.09.2017, 13:39
у меня By poll time-включено
запускал CAS MODBUS SCANER--- 57600
сканирует COM1 & COM3
TIMEOUT- результат
GOOD- ничего такого нет
это о чем? Если про то что Вы больше не будете спрашивать, писать Вам или нет 0xff, то писать ни куда не нужно

pwm100558
16.09.2017, 20:02
это о чем? Если про то что Вы больше не будете спрашивать, писать Вам или нет 0xff, то писать ни куда не нужно
Сделал- и читает и пишет по сети MODBUS RTU в ПР200 и из ПР200
Хотелось бы переделать и улучшить документацию на ПР200

Ревака Юрий
18.09.2017, 09:09
Сделал- и читает и пишет по сети MODBUS RTU в ПР200 и из ПР200
Хотелось бы переделать и улучшить документацию на ПР200

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

zendo057
18.09.2017, 12:56
Какое отличие real input module от real input module state?

Ильнур Гибадуллин
18.09.2017, 13:30
Какое отличие real input module от real input module state?

В подэлементах, заканчивающихся словом State помимо самого регистра имеется параметр Command. Если в этот параметр записать 255, то начнется опрос этого регистра; если подать 254, то опрос прекратится.

Sergeba
10.11.2019, 21:12
В подэлементах, заканчивающихся словом State помимо самого регистра имеется параметр Command. Если в этот параметр записать 255, то начнется опрос этого регистра; если подать 254, то опрос прекратится.

Что-то как-то не однозначное толкование этого момента.
В документации написано, что 255 нужно прописывать дважды (я так понимаю с промежуточным сбросом в 0). Написано - первый раз для активации командной переменной, второй раз для опроса. И что значит "начнётся опрос"? В документации написано что опрос будет однократным.
Очень хотелось бы разобраться в данном моменте, как же всё таки правильно пользоваться by command?

capzap
10.11.2019, 21:23
Что-то как-то не однозначное толкование этого момента.
В документации написано, что 255 нужно прописывать дважды (я так понимаю с промежуточным сбросом в 0). Написано - первый раз для активации командной переменной, второй раз для опроса. И что значит "начнётся опрос"? В документации написано что опрос будет однократным.
Очень хотелось бы разобраться в данном моменте, как же всё таки правильно пользоваться by command?
так все же интересует by command или при добавлении в конфигурацию нового элемента с окончанием State ?

Sergeba
10.11.2019, 22:48
так все же интересует by command или при добавлении в конфигурацию нового элемента с окончанием State ?

Насколько я понял, использовать By command возможно только с элементами State. Вопрос состоит как же всё-таки правильно это использовать? То что написано в этой ветке немного не соответствует руководству. Есть ли возможность привести пример программы на ST как использовать By command? В Codesys 3 там всё просто - есть булевый флаг записи в регистр, здесь же одни пишут, что достаточно записать 255 в командный регистр, а в документации написано что это нужно сделать дважды. Здесь пишут что после этого начинается опрос, а в документации написано что он происходит однократно. Где же написано верно?

capzap
11.11.2019, 10:07
и все же документацию на что Вы читали, не регистр со state или на work mode универсального мобас девайса?