УкраїнськаEnglishmRussian
Вход/Новый
В теме нет новых постов

Beckhoff


Автор Сообщение
Сообщение создано: 13. 04. 2011 [15:59]
SergeyRozhdestvin
Сергей Рождествин
Создатель темы
Зарегистрирован(а) с: 13.04.2011
Сообщения: 3
Доброе время суток уважаемые коллеги !!!
Кто нибудь работал с контроллерами Beckhoff + OpenSCADA или кто может подсказать кого нибудь кто сможет мне помочь включить "железку" (Beckhoff СХ9000),
я себе уже весь мозг съел :bang:, все делал по инструкции но ни чего не работает.
С этими железками работали Andrew Borinov, Evgeny Makarov (на соседних темах форума), но адреса связи не оставили.
На WinCE в СХ9000 установил ModBUSTCPServer.
Пытаюсь привязать СХ9000 к OpenSCADA по ModBUS/TCP . Виндовая ModBUS Poll все видит отвечает и пишет, OpenSCADA пишет TCP сокет не подключился.
Заранее Спасибо !!!
Сообщение создано: 13. 04. 2011 [16:12]
roman
Roman Savochenko
Moderator
Contributor
Developer
Зарегистрирован(а) с: 12.12.2007
Сообщения: 3750
"SergeyRozhdestvin" wrote:

Пытаюсь привязать СХ9000 к OpenSCADA по ModBUS/TCP . Виндовая ModBUS Poll все видит отвечает и пишет, OpenSCADA пишет TCP сокет не подключился.

Про конфигурацию, а именно адрес, транспорта ModBus расскажите.

Learn, learn and learn better than work, work and work.
Сообщение создано: 14. 04. 2011 [09:05]
SergeyRozhdestvin
Сергей Рождествин
Создатель темы
Зарегистрирован(а) с: 13.04.2011
Сообщения: 3
Раскажу то что знаю:
В СХ9000 (как и в других Beckhoff) при подключении по Ethernet - TCP/IP помимо указания TCP адреса службы (в нашем случае TCP адрес MODBUS - 502) необходимо указывать:

- - так называемую "адресную группу" (в нашем случае MODBUS 16#3000 - 16x5FFF), как я понимаю это смещение памяти, от туда же забирает значения и ADS-протокол но группа (смещение) 16#4020 (начало меркельной памяти). Драйвер MBTcpServer дублирует значения из меркельной 16#4020 в MODBUS 16#3000.

- - подсеть устройства (ПЛК) для TCP/IP значение 16#FF. Как я понял в OpenSCADA это делается выбором протокола TCP.


http://infosys.beckhoff.com/english.php?content=../content/1033/tcmodbussrv/html/tcmodbussrv_mapping.htm&id=18618
http://infosys.beckhoff.com/espanol.php?content=../content/1034/TcModbusSrv/HTML/TcModbusSrv_FB_MBReadWriteRegs.htm&id=
Вложенный файл

Снимок-1.png (Тип файла: image/png, Размер: 331.08 килобайт) — 2608 загрузок
Снимок.png (Тип файла: image/png, Размер: 328.93 килобайт) — 2719 загрузок
Сообщение создано: 14. 04. 2011 [09:43]
roman
Roman Savochenko
Moderator
Contributor
Developer
Зарегистрирован(а) с: 12.12.2007
Сообщения: 3750
Причём тут это всё?
Так-же как, зачем запускать входящий транспорт для опроса по ModBus?
Или Вы ModBus сервер настраиваете?
Документацию внимательно читайте!

Learn, learn and learn better than work, work and work.
Сообщение создано: 15. 04. 2011 [09:33]
SergeyRozhdestvin
Сергей Рождествин
Создатель темы
Зарегистрирован(а) с: 13.04.2011
Сообщения: 3
Заработала !!!
:bang: :bang: :bang: :bang: :bang:
Дело было в синтаксисе строки запроса "Перечня атрибутов", не обходимо адрес регистра в десятеричной форме писать: Вместо R:16x4000:var:Var необходимо R:12288:var:Var
На выходных или в ближайшее время выложу поэтапный алгоритм "танца с бубном".
Сообщение создано: 15. 04. 2011 [10:06]
roman
Roman Savochenko
Moderator
Contributor
Developer
Зарегистрирован(а) с: 12.12.2007
Сообщения: 3750
"SergeyRozhdestvin" wrote:

Вместо R:16x4000:var:Var необходимо R:12288:var:Var
На выходных или в ближайшее время выложу поэтапный алгоритм "танца с бубном".

Вот только не нужно глупости описывать!
Ни первая ни вторая записи некорректны. Подсказку внимательно читайте для поля списка атрибутов.

Learn, learn and learn better than work, work and work.
Сообщение создано: 16. 06. 2011 [09:06]
m_volkoff
Михаил Волков
Зарегистрирован(а) с: 16.06.2011
Сообщения: 5
Здравствуйте, господа!
У меня возникла проблема. Имеется контроллер Beckhoff BK7300, при записи значения в его дикретный выход активируется Watchdog (при следующей записи он сбрасывается в 0). В OpenSCADA реализована запись в этот выход с периодичностью 0.5 сек., но контроллер почему-то все равно уходит в защиту. Все работает, только если значения периодически меняются с 0 на 1 и наоборот. Возможно ли, что SCADA хранит предыдущее значение, которое писалось в выход, и в случае его совпадения с текущим не отправляет его по ModBus. Если да, то как это побороть. А если нет, то подскажите в каком направлении искать решение.

[Сообщение редактировалось 2 раз(а), в последний раз 16.06.2011 в 09:13.]
Сообщение создано: 16. 06. 2011 [09:20]
roman
Roman Savochenko
Moderator
Contributor
Developer
Зарегистрирован(а) с: 12.12.2007
Сообщения: 3750
"m_volkoff" wrote:

Возможно ли, что SCADA хранит предыдущее значение, которое писалось в выход, и в случае его совпадения с текущим не отправляет его по ModBus. Если да, то как это побороть.

Именно так. Опцию наверное нужно ещё одну предусматривать, или, наверное лучше, отключать проверку для чисто записываемых регистров-битов (C:100:w). Хотя тут тоже возможны проблемы.

Правильнее всего тогда уже добавлять поддержку асинхронной записи, которая осуществляется в одном цикле с чтением. Но у меня нет таких ближайших планов.

Learn, learn and learn better than work, work and work.



20420