Автор |
Сообщение |
Сообщение создано: 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 килобайт) — 2585 загрузок
Снимок.png (Тип файла: image/png, Размер: 328.93 килобайт) — 2687 загрузок
|
Сообщение создано: 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.
|