Author |
Message |
Written on: 15. 04. 2011 [08:34]
|
almaz
Almaz Karimov
Contributor
Topic creator
registered since: 25.09.2008
Posts: 516
|
Вот бы в DCON такую же вкладку с отчётом "Запрос-ответ" как в MODBUS.
http://wiki.oscada.org/Doc/ModBus#h592-12
21 век - век повсеместной автоматизации. Главное - во благо всем людям.
|
Written on: 15. 04. 2011 [10:08]
|
roman
Roman Savochenko
Moderator Contributor Developer
registered since: 12.12.2007
Posts: 3750
|
Ну так, сделайте. В чём проблема? :)
Learn, learn and learn better than work, work and work.
|
Written on: 15. 04. 2011 [10:46]
|
almaz
Almaz Karimov
Contributor
Topic creator
registered since: 25.09.2008
Posts: 516
|
Чтобы написать мне придётся долго разбираться в коде :(, а Вам потом - переписывай. :) Да это я так - мысль вслух. А надо то, наверно, скопировать участок кода и подрехтовать несколько строк. Знать бы каких ... Для пользователей скады была бы полезная вкладка.
[This article was edited 1 times, at last 15.04.2011 at 11:08.]
21 век - век повсеместной автоматизации. Главное - во благо всем людям.
|
Written on: 12. 02. 2013 [07:39]
|
Godzilla
Арсен Закоян
Contributor
registered since: 12.02.2013
Posts: 123
|
Добрый день!Есть задача подключить контроллеры ADAM-4050(а точнее их полный аналог НЕВОД+).В таблице совместимости http://wiki.oscada.org/Doc/DCON?v=du5 этот контроллер значится как совместимый с командой @AA.Но это не так,вместо @AA используется команда $AA6.Попробовал поправить исходник модуля DCON,после этого стал посылать правильные запросы в контроллер.Но как оказалось и ответ у него различается от серии i-7000.Выдает "Ошибка: 22:Ошибка ответа модуля".I-7000 по команде @AA выдает ответ типа >0F00 , это означает, что дискретные входы с IN1 по IN4 разомкнуты, а дискретные выходы с RL1 по RL4 находятся в состоянии "выключено". А ADAM-4050 при команде $AA6 выдает ответ типа ![состояние выходов][состояние входов]00 ,например !0FFF00 ,что означает На всех входах присутствует напряжение высокого уровня, на выходах DIO1-DIO4 транзисторы открыты , на DIO5-DIO8 транзисторы закрыты . Понимаю что нужно править всего пару строк,но я не силен в С++.Прикрепляю документацию и по серии I-7000, и по НЕВОД+.Если что то напутал,прошу поправьте.Заранее Спасибо
[This article was edited 1 times, at last 12.02.2013 at 08:08.]
Attachment
I7000DIO-rus.pdf (File type: application/pdf, Size: 704.24 kilobytes) — 1195 downloads
|
Written on: 12. 02. 2013 [18:03]
|
roman
Roman Savochenko
Moderator Contributor Developer
registered since: 12.12.2007
Posts: 3750
|
"Godzilla" wrote:
Есть задача подключить контроллеры ADAM-4050(а точнее их полный аналог НЕВОД+).В таблице совместимости http://wiki.oscada.org/Doc/DCON этот контроллер значится как совместимый с командой @AA.Но это не так,вместо @AA используется команда $AA6.
Это не контроллер, а, согласно вложенной Вами-же документации, — "Модуль сбора данных". Раз этот модуль не вложился в текущую абстракцию модуля DAQ.DCON, то Вы всегда можете сами написать нужные запросы к этому модулю посредством реализации "DCON" модуля Protocol.UserProtocol, которая есть в текущей библиотеке функций OpenSCADA.
Learn, learn and learn better than work, work and work.
|
Written on: 12. 02. 2013 [18:07]
|
roman
Roman Savochenko
Moderator Contributor Developer
registered since: 12.12.2007
Posts: 3750
|
Добавил для уровня "Отладка (0)" к функции "Диагностика": http://wiki.oscada.org/Doc/OpisanieProgrammy/part4/files?get=subsys_daq_mod_cntr_diagn.png
Вкладка "Диагностика" (рис.4.5k) содержит форму диагностических сообщений источника данных. Поскольку многие источники данных представляют собой внешние устройства с доступом к данным посредством сетевого обмена или системной шины то возможны различные нештатные ситуации при доступе к данным. Вывод всех их в поле "Статус", объекта контроллера, невозможен поскольку он отображает только текущее состояние доступа к данным. С помощью диагностики можно проследить все нештатные ситуации в виде сообщений, сформированных данным объектом контроллера за указанный промежуток времени и с выбранным уровнем сообщения. Кроме непосредственно рабочей диагностической информации ряд модулей источников данных могут предоставлять здесь различные отладочные дампы обмена, на уровне сообщений "Отладка (0)".
Learn, learn and learn better than work, work and work.
|
Written on: 12. 02. 2013 [21:37]
|
almaz
Almaz Karimov
Contributor
Topic creator
registered since: 25.09.2008
Posts: 516
|
"Godzilla" wrote: Есть задача подключить контроллеры ADAM-4050(а точнее их полный аналог НЕВОД+).В таблице совместимости http://wiki.oscada.org/Doc/DCON?v=du5 этот контроллер значится как совместимый с командой @AA.Но это не так,вместо @AA используется команда $AA6. У меня ADAM не было и их документацию не особо внимательно изучал, поэтому упустил. ADAM-4050 не поддерживает команду 7DI(@AA). Надо будет заменить 7DI(@AA) на 7DI($AA6) так как I-7050 поддерживает 7DI($AA6). Похоже и вывод дискретных сигналов 8DO(@AA,FF) не будет работать на ADAM-4050. Другие дискретные модули ввода-вывода ADAM тоже надо проверить на совместимость с I-7000 и NL, заменить методы ввода-вывода или добавить новые.
21 век - век повсеместной автоматизации. Главное - во благо всем людям.
|
Written on: 13. 02. 2013 [09:40]
|
almaz
Almaz Karimov
Contributor
Topic creator
registered since: 25.09.2008
Posts: 516
|
"Godzilla" wrote: Понимаю что нужно править всего пару строк
Если срочно надо, попробуйте пока исправить там же где правили (строка 435 svn1964) это
pdu = TSYS::strMess("@%02X",cntr.p_hd[i_p].at().mod_addr);
di_txterr = cntr.DCONReq(pdu,cntr.p_hd[i_p].at().crc_ctrl,5);
на это
pdu = TSYS::strMess("$%02X6",cntr.p_hd[i_p].at().mod_addr);
di_txterr = cntr.DCONReq(pdu,cntr.p_hd[i_p].at().crc_ctrl,7,'!');
PS Пока разбираюсь с совместимостью команд для блоков разных производителей. Позже выложу патч, исправляющий модуль DCON сразу для нескольких блоков ADAM.
[This article was edited 2 times, at last 13.02.2013 at 09:45.]
21 век - век повсеместной автоматизации. Главное - во благо всем людям.
|
Written on: 13. 02. 2013 [11:38]
|
Godzilla
Арсен Закоян
Contributor
registered since: 12.02.2013
Posts: 123
|
Большое спасибо,Алмаз за столь скорую помощь! Все заработало,сам был близок к разгадке,но...в общем спасибо.Кстати некоторые аналоги модулей ADAM не имеют команды #AA ,сняв все показания разом, а только #AAN ,где N номер аналогового порта(0-3) ,например GL ADAM от Геолинк.Мне это шибко не надо,на предприятии такой модуль всего один,но может быть кому нибудь понадобится,прикреплю документацию и от него.
Attachment
GLADAM.DOC (File type: application/msword, Size: 541.5 kilobytes) — 2095 downloads
|
Written on: 19. 02. 2013 [14:04]
|
almaz
Almaz Karimov
Contributor
Topic creator
registered since: 25.09.2008
Posts: 516
|
"roman" wrote: Добавил для уровня "Отладка (0)" к функции "Диагностика" Спасибо! Удобно стало наблюдать за запросами-ответами.
"Godzilla" wrote: Кстати некоторые аналоги модулей ADAM не имеют команды #AA ,сняв все показания разом, а только #AAN ,где N номер аналогового порта(0-3) ,например GL ADAM от Геолинк. Добавил методы считывания по одному аналоговому входу. Только такое считывание будет несколько медленнее, чем скопом.
Выкладываю модуль DCON целиком (изменились переводы). Прошу включить в рабочую ветку svn (можно и в LTS), после чего скорректирую таблицы совместимости блоков в wiki.
Список изменений:
- добавлены методы считывания аналоговых входов по одному;
- исправлена работа метода 1AO (#AA) (блоки NL-1AO, I-7021, ADAM-4021);
- добавлен метод 4AO (#AACN) для работы с блоком ADAM-4024;
- заменены методы считывания дискретных входов @AA на $AA6 для обеспечения совместимости с блоками ADAM;
- добавлены методы записи дискретных выходов 4DO (#AA000F), 8DO (#AA00FF), 12DO (#AA000FFF) для работы с блоками ADAM.
21 век - век повсеместной автоматизации. Главное - во благо всем людям.
Attachment
DCON.tar.gz (File type: application/x-gzip, Size: 13 kilobytes) — 573 downloads
|