Вопрос по шаблону VKT-7
Автор |
Сообщение |
Сообщение создано: 01. 03. 2015 [10:00]
|
pentagon128
Руслан Кучерявый
Создатель темы
Зарегистрирован(а) с: 15.11.2011
Сообщения: 102
|
Есть у меня под рукой ВКТ-7-04 с RS232 для экспериментов, настроены тепловыводы. VKT7Easy2_v3.44 (заводское ПО) с ним работает у меня нормально в Windows, через USB/RS232 преобразователь CH341 по перекрёстному нуль-модемному кабелю. Также этот USB/RS232 преобразователь CH341 нормально определяется драйвером ядра и работает в Linux, в частности на Raspbian на Raspberry Pi (проверено telnet используя 2-шт. таких адаптеров а также через работу с модемами). Т.е. физически канал связи рабочий 100%.
Теперь в качестве эксперимента пробую настроить связь в OpenScada на Raspberry Pi. Версия OpenScada на устройстве 2219, библиотеку DevLib подключил из версии 2221 (перекинул через sql запрос). Пользовательский протокол VKT-7 установлен, входной и выходной последовательный транспорт VKT7 созданы, входному транспорту назначен протокол UserProtokol.VKT7, адрес=/dev/ttyUSB0:9600:8N1 (это USB/RS232 преобразователь CH341) . Создаю на логическом уровне контроллер vkt7 с периодом исполнения 60 сек, задаю внутри контроллера параметр vkt7 и привязываю к нему шаблон DevLib.VKT7.
В конфигурации шаблона параметра транспорт=SYS.Transport.["Serial"].["out_VKT7"]. В самом исходнике DevLib.VKT7 вижу адрес прибора прописан=0 (у меня так и есть в приборе), список параметров прибора в шаблоне расширен, появилась возможность, как я догадываюсь - опрашивать архивы.
При запуске параметра на исполнение получаю в его атрибутах Ошибка:1:Transport 'SYS.Transport.["Serial"].["out_VKT7"]' error.
Трафик транспортов VKT7 что входящего, что исходящего равен 0. Т.е. шаблон не работает с транспортами. Пробовал указывать в конфигурации шаблона Транспорт=SYS.Transport.Serial.out_VKT7,тоже не работает.
Роман, подскажите пожалуйста в чём может быть проблема. Или шаблон ещё не рабочий (в процессе разработки)? Такую-же ошибку получал при работе с предыдущей версией шаблона VKT-7.
Сам ВКТ-7 со своим протоколом интереса для меня не представляет, на рынке есть тепловычислители других производителей с Modbus RTU&TCP. Будут представлять интерес пожалуй тепловычислители с OPC-UA, другой вопрос - когда они появятся )))
|
Сообщение создано: 01. 03. 2015 [15:43]
|
roman
Roman Savochenko
Moderator Contributor Developer
Зарегистрирован(а) с: 12.12.2007
Сообщения: 3750
|
"pentagon128" wrote:
Теперь в качестве эксперимента пробую настроить связь в OpenScada на Raspberry Pi. Версия OpenScada на устройстве 2219, библиотеку DevLib подключил из версии 2221 (перекинул через sql запрос). Пользовательский протокол VKT-7 установлен, входной и выходной последовательный транспорт VKT7 созданы, входному транспорту назначен протокол UserProtokol.VKT7, адрес=/dev/ttyUSB0:9600:8N1 (это USB/RS232 преобразователь CH341) .
Входной зачем? Про него тут что-то написано: http://wiki.oscada.org/HomePageEn/Using/APIFunctionLibs/LibUserPrtDevs#h1161-7
"pentagon128" wrote:
Создаю на логическом уровне контроллер vkt7 с периодом исполнения 60 сек, задаю внутри контроллера параметр vkt7 и привязываю к нему шаблон DevLib.VKT7.
В конфигурации шаблона параметра транспорт=SYS.Transport.["Serial"].["out_VKT7"].
Разве это правильно?
"pentagon128" wrote:
При запуске параметра на исполнение получаю в его атрибутах Ошибка:1:Transport 'SYS.Transport.["Serial"].["out_VKT7"]' error.
Естественно.
"pentagon128" wrote:
Сам ВКТ-7 со своим протоколом интереса для меня не представляет, на рынке есть тепловычислители других производителей с Modbus RTU&TCP. Будут представлять интерес пожалуй тепловычислители с OPC-UA, другой вопрос - когда они появятся )))
Это вряд-ли, скорее нечто IEC 60870-5.
Learn, learn and learn better than work, work and work.
|
Сообщение создано: 02. 03. 2015 [02:52]
|
pentagon128
Руслан Кучерявый
Создатель темы
Зарегистрирован(а) с: 15.11.2011
Сообщения: 102
|
Спасибо за подсказку! Буду пробовать по новой, в соответствии с http://wiki.oscada.org/HomePageEn/Using/APIFunctionLibs/LibUserPrtDevs#h1161-7, этот документ для меня новый.
|
Сообщение создано: 02. 03. 2015 [16:28]
|
pentagon128
Руслан Кучерявый
Создатель темы
Зарегистрирован(а) с: 15.11.2011
Сообщения: 102
|
По новому документу связь с прибором установил сразу. Считываются несколько параметров (номер абонента, номер прошивки, тип прибора), но не все. (см. прилагаемые рисунки) Например текущие показания объёмных расходов Eval(Nan), а на табло прибора V1=V2=V3=0, но при этом в приборе наличии код нештатной ситуации 6, нет питания расходомеров+расход ниже нижней уставки. Также не определяются еденицы измерения параметров прибора, в приборе система практическая (кгс/см2, т/ч, град.С, М3/ч)/ Ну и соответственно архивы в прибое пустые, т.к. прибор взят "с полки". Как нибудь попробую опросить прибор с данными на рабочем узле учёта, но это не скоро. В полях конфигурации шаблона прописал архиватор на БД SQLITE вида DBArch.vkt7days . Никаких таблиц в файле БД тоже не создаётся.
Также есть мысль прокинуть транспорт VKT7 через уже настроенный remserial на Raspberry Pi на верхний уровень (так у меня Modbus RTU пробрасывается по Ethernet на нижний уровень), но пока нужды в этом нет.
Вложенный файл
01.png (Тип файла: image/png, Размер: 30.32 килобайт) — 2575 загрузок
02.png (Тип файла: image/png, Размер: 22.45 килобайт) — 2436 загрузок
|
Сообщение создано: 02. 03. 2015 [16:55]
|
roman
Roman Savochenko
Moderator Contributor Developer
Зарегистрирован(а) с: 12.12.2007
Сообщения: 3750
|
"pentagon128" wrote:
По новому документу связь с прибором установил сразу. Считываются несколько параметров (номер абонента, номер прошивки, тип прибора), но не все. (см. прилагаемые рисунки) Например текущие показания объёмных расходов Eval(Nan), а на табло прибора V1=V2=V3=0, но при этом в приборе наличии код нештатной ситуации 6, нет питания расходомеров+расход ниже нижней уставки. Также не определяются еденицы измерения параметров прибора, в приборе система практическая (кгс/см2, т/ч, град.С, М3/ч)/ Ну и соответственно архивы в прибое пустые, т.к. прибор взят "с полки". Как нибудь попробую опросить прибор с данными на рабочем узле учёта, но это не скоро. В полях конфигурации шаблона прописал архиватор на БД SQLITE вида DBArch.vkt7days . Никаких таблиц в файле БД тоже не создаётся.
И к чему это всё?
Во первых поддержки по этому протоколу никто не обещал, т.е. как есть.
Во вторых этой поддержки быть не может поскольку у меня лично такого счётчика нет.
И в третьих, как результат первых двух — включайте отладку и разбирайтесь, настраивайте правильно исходящий транспорт и изучайте почему нет ответов на многие запросы, за VKT7 такое наблюдалось, особенно когда там опрашиваются почти все параметры.
Learn, learn and learn better than work, work and work.
|
Сообщение создано: 02. 03. 2015 [18:15]
|
pentagon128
Руслан Кучерявый
Создатель темы
Зарегистрирован(а) с: 15.11.2011
Сообщения: 102
|
"roman" wrote:
И к чему это всё?
пока есть прибор под рукой и Openscada +немного времени , почему бы не проверить возможности по получению данных таким образом?
"roman" wrote:
Во первых поддержки по этому протоколу никто не обещал, т.е. как есть.
Во вторых этой поддержки быть не может поскольку у меня лично такого счётчика нет.
И в третьих, как результат первых двух — включайте отладку и разбирайтесь, настраивайте правильно исходящий транспорт и изучайте почему нет ответов на многие запросы, за VKT7 такое наблюдалось, особенно когда там опрашиваются почти все параметры.
Ситуация понятна. Разработчик ВКТ ещё и протокол меняет от версии к версии (4,5,7,9 все разные) поэтому смысла поддержки этого прибора в пользовательском протоколе Openscada вообще не вижу, соответственно копания в отладке тоже. С точки зрения проектировщика АСУТП - гораздо выгоднее прибор с готовым modbus на борту. Рациональная мысль - только кинуть туннель по remserial через rs232/usb что даст возможность сэкономить на 1 шт. модеме, но т.к. модемы как правило оплачивает заказчик (входят в спецификацию на узел учёта) то тратить время на это экономически нецелесообразно.
|
Сообщение создано: 03. 03. 2015 [11:16]
|
roman
Roman Savochenko
Moderator Contributor Developer
Зарегистрирован(а) с: 12.12.2007
Сообщения: 3750
|
"pentagon128" wrote:
пока есть прибор под рукой и Openscada +немного времени , почему бы не проверить возможности по получению данных таким образом?
Проверять никто и не запрещал, но Вы же и вопросы задавали. А если задаются вопросы, то что-то ожидается чего никто не обещал.
"pentagon128" wrote:
Ситуация понятна. Разработчик ВКТ ещё и протокол меняет от версии к версии (4,5,7,9 все разные)
Впервые вообще слышу о версии протокола VKT-7, как минимум в документе "modbusprotocol-vkt7.pdf" от начала 2014 года ничего о версиях не упоминается, только о версии ПО прибора, которая должна быть больше 1.5.
"pentagon128" wrote:
С точки зрения проектировщика АСУТП - гораздо выгоднее прибор с готовым modbus на борту.
Если обратите внимание на название файла со спецификацией протокола VKT7, да и внутри они такое заявляют, то он яко-бы ModBus/RTU, хотя отношения к ModBus/RTU по сути уже и не имеет, поскольку стандартные функции переопределили исказив PDU (модель данных ModBus) и от ModBus там осталось только ADU.
Learn, learn and learn better than work, work and work.
|
Сообщение создано: 03. 03. 2015 [16:22]
|
pentagon128
Руслан Кучерявый
Создатель темы
Зарегистрирован(а) с: 15.11.2011
Сообщения: 102
|
"roman" wrote:
Впервые вообще слышу о версии протокола VKT-7, как минимум в документе "modbusprotocol-vkt7.pdf" от начала 2014 года ничего о версиях не упоминается, только о версии ПО прибора, которая должна быть больше 1.5.
Речь идёт о версии прибора - самого тепловычислителя. От версии к версии протокол разный. В 9-й, как я понимаю, добавлена запись настроечных тегов в прибор. Завтра например будет 10-я, что нибудь ещё добавят, а 7-й снимут с производства...и смысл тогда какой с ним возиться )))
"roman" wrote:
Если обратите внимание на название файла со спецификацией протокола VKT7, да и внутри они такое заявляют, то он яко-бы ModBus/RTU, хотя отношения к ModBus/RTU по сути уже и не имеет, поскольку стандартные функции переопределили исказив PDU (модель данных ModBus) и от ModBus там осталось только ADU.
Читал месяца 3 назад. Также читал форум по этому прибору. Математическая модель обмена, когда вначале надо пробудить прибор пакетом, потом запросить маску конфигурации, потом записать в прибор маску запрашиваемых данных рассчитанную по маске конфигурации (полученной на предыдущем шаге) и только потом по маске запрашиваемых данных запросить прибор (только тогда будет ответ прибора) отнюдь не модбас, где вся карта тегов доступна сразу и целиком.
|
Сообщение создано: 16. 02. 2017 [06:57]
|
pentagon128
Руслан Кучерявый
Создатель темы
Зарегистрирован(а) с: 15.11.2011
Сообщения: 102
|
Удалось решить вопрос съёма данных с теплокомовских девайсов ВКТ-7 и ВКТ-9 через контроллер выполняющий интеграционные функции и имеющий работающую OpenScada на борту. Решение - шлюзование интерфейса через remserial, что не затрагивает функционал OpenScada, главное - чтобы на борту контроллера было Linux ядро. На одной стороне канала ВКТ7/9, на другом виртуальная машина с vkt-easy или менеджером данных. Канал идёт через наш облачный сервис используя серые IP как на стороне ВКТ, так и на стороне рабочего места специалиста опрашивающего ВКТ, оно находиться на ноутбуке. Удалось совсем избавиться от GSM CSD модемов. На эту тему я недавно написал краткую статью, ознакомиться можно здесь
asutpeng.ru/images/files/articles/OEMVKT9DANFOSSECL310.pdf
[Сообщение редактировалось 2 раз(а), в последний раз 16.02.2017 в 07:20.]
|
Сообщение создано: 10. 09. 2018 [17:29]
|
Garro
Olegs Sos
Зарегистрирован(а) с: 10.09.2018
Сообщения: 1
|
"pentagon128" wrote:
Есть у меня под рукой ВКТ-7-04 с RS232 для экспериментов, настроены тепловыводы. VKT7Easy2_v3.44 (заводское ПО) с ним работает у меня нормально в Windows, через USB/RS232 преобразователь CH341 по перекрёстному нуль-модемному кабелю. Также этот USB/RS232 преобразователь CH341 нормально определяется драйвером ядра и работает в Linux, в частности на Raspbian на Raspberry Pi (проверено telnet используя 2-шт. таких адаптеров а также через работу с модемами). Т.е. физически канал связи рабочий 100%.
Теперь в качестве эксперимента пробую настроить связь в OpenScada на Raspberry Pi. Версия OpenScada на устройстве 2219, библиотеку DevLib подключил из версии 2221 (перекинул через sql запрос). Пользовательский протокол VKT-7 установлен, входной и выходной последовательный транспорт VKT7 созданы, входному транспорту назначен протокол UserProtokol.VKT7, адрес=/dev/ttyUSB0:9600:8N1 (это USB/RS232 преобразователь CH341) . Создаю на логическом уровне контроллер vkt7 с периодом исполнения 60 сек, задаю внутри контроллера параметр vkt7 и привязываю к нему шаблон DevLib.VKT7. Цена на ВКТ-5 по линку.
В конфигурации шаблона параметра транспорт=SYS.Transport.["Serial"].["out_VKT7"]. В самом исходнике DevLib.VKT7 вижу адрес прибора прописан=0 (у меня так и есть в приборе), список параметров прибора в шаблоне расширен, появилась возможность, как я догадываюсь - опрашивать архивы.
При запуске параметра на исполнение получаю в его атрибутах Ошибка:1:Transport 'SYS.Transport.["Serial"].["out_VKT7"]' error.
Трафик транспортов VKT7 что входящего, что исходящего равен 0. Т.е. шаблон не работает с транспортами. Пробовал указывать в конфигурации шаблона Транспорт=SYS.Transport.Serial.out_VKT7,тоже не работает.
Роман, подскажите пожалуйста в чём может быть проблема. Или шаблон ещё не рабочий (в процессе разработки)? Такую-же ошибку получал при работе с предыдущей версией шаблона VKT-7.
Сам ВКТ-7 со своим протоколом интереса для меня не представляет, на рынке есть тепловычислители других производителей с Modbus RTU&TCP. Будут представлять интерес пожалуй тепловычислители с OPC-UA, другой вопрос - когда они появятся )))
а ваше мнение о ВКТ-5?
|
|
|