Добрый день. Помогите, плз, разобраться. Хочу (не спрашивайте, зачем) прочитать данные из Меркурий 230, который подцеплен к компу через Меркурий 221 (в данном случае порт СОМ4). Программа "Универсальный конфигуратор" счетчик видит, все нормально, связь есть. Стучусь до счетчика через MasterOPC скриптом, вот кусок :
local err,len=0;
local slen=11; -- send buffer lenght
local rlen=0; -- read buffer lenght
local wt={0x15,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x85,0x11}; --Open channel for adr=21
local sbuf=server.TableToString(wt);
err,rbuf,len=server.SendAndReceiveData(sbuf,slen,rlen);
if err then
server.Message("Error openning M230 (adr=21)");
end
По идее счетчик должен возвращать в ответ 4 байта : 1 - адрес, 2 - код возврата, 3,4 - CRC. При попытке указать длину буфера чтения больше нуля функция возвращает ошибку (err=true). Если rlen=0, то ошибки нет, но буфер чтения пуст. Аналогично при попытке прочитать данные.
Аналогичная конструкция нормально работает с овеновскими СИ8, все читает. Здесь не получается.
Посоветуйте, че-нить, плз.
- Обязательно представиться на русском языке кириллицей (заполнить поле "Имя").
- Фиктивные имена мы не приветствуем. Ивановых и Пупкиных здесь уже достаточно.
- Не надо писать свой вопрос в первую попавшуюся тему - всегда лучше создать новую тему.
- За поиск, предложение и обсуждение пиратского ПО и средств взлома - бан без предупреждения. Непонятно? - Читать здесь.
- Рекламу и частные объявления "куплю/продам/есть халтура" мы не размещаем ни на каких условиях.
- Перед тем как что-то написать - читать здесь, а затем здесь и здесь.
- Не надо писать в ЛС администраторам свои технические вопросы. Администраторы форума отлично знают как работает форум, а не все-все контроллеры, о которых тут пишут.
MasterOPC, ошибка при обращении к server.SendAndReceiveData()
Модератор: Глоб.модераторы
-
- здесь недавно
- Сообщения: 4
- Зарегистрирован: 15 июн 2016, 09:40
- Имя: Александр Тулаев
- Страна: Россия
- город/регион: Лермонтов, Ставропольский край
-
- почётный участник форума
- Сообщения: 639
- Зарегистрирован: 29 сен 2008, 17:05
- Имя: Алексей Угрюмов
- Страна: Россия
- город/регион: СПб
- Благодарил (а): 13 раз
- Поблагодарили: 25 раз
MasterOPC, ошибка при обращении к server.SendAndReceiveData()
лучше спросите у поддержки. Они хорошо отвечают. [email protected]
Alex.
-
- здесь недавно
- Сообщения: 4
- Зарегистрирован: 15 июн 2016, 09:40
- Имя: Александр Тулаев
- Страна: Россия
- город/регион: Лермонтов, Ставропольский край
MasterOPC, ошибка при обращении к server.SendAndReceiveData()
Спасибо, это понятно. Мы пока ничего у них не покупали. Хотелось понять, стоит ли это делать. Я полагал, народ пользуется возможностью считать все, что угодно и откуда угодно с помощью этих функций. Может, я просто что-то не так делаю. Ладно, разберемся, но все равно спасибо.
-
- почётный участник форума
- Сообщения: 639
- Зарегистрирован: 29 сен 2008, 17:05
- Имя: Алексей Угрюмов
- Страна: Россия
- город/регион: СПб
- Благодарил (а): 13 раз
- Поблагодарили: 25 раз
MasterOPC, ошибка при обращении к server.SendAndReceiveData()
очень узкая сфера, вряд ли найдёте кроме разработчиков с кем обсудить.
да они и до покупки отвечают без проблем. Это обычная практика в работе у Инсат: у них все продукты есть "на попробовать". А чем не устроил готовый OPC сервер для связи со счетчиками "Меркурий" от того же Инсат?
да они и до покупки отвечают без проблем. Это обычная практика в работе у Инсат: у них все продукты есть "на попробовать". А чем не устроил готовый OPC сервер для связи со счетчиками "Меркурий" от того же Инсат?
Alex.
-
- почётный участник форума
- Сообщения: 639
- Зарегистрирован: 29 сен 2008, 17:05
- Имя: Алексей Угрюмов
- Страна: Россия
- город/регион: СПб
- Благодарил (а): 13 раз
- Поблагодарили: 25 раз
MasterOPC, ошибка при обращении к server.SendAndReceiveData()
А на форуме можете у Виктора Момотова спросить memberlist.php?mode=viewprofile&u=9491
Alex.
-
- здесь недавно
- Сообщения: 4
- Зарегистрирован: 15 июн 2016, 09:40
- Имя: Александр Тулаев
- Страна: Россия
- город/регион: Лермонтов, Ставропольский край
MasterOPC, ошибка при обращении к server.SendAndReceiveData()
Спасибо за совет. А по задаче, мне нужно снять данные с нескольких овеновских СИ8 (вода, стоки), с вычислителя "Ирга-2" (пар), ну и электричество. Все заводится на один комп, хотелось бы все сделать в одной программе. Вешать все на MasterSCADA и три ОРС-сервера как-то неэстетично. Короче, пока тренируюсь.
-
- здесь недавно
- Сообщения: 4
- Зарегистрирован: 15 июн 2016, 09:40
- Имя: Александр Тулаев
- Страна: Россия
- город/регион: Лермонтов, Ставропольский край
MasterOPC, ошибка при обращении к server.SendAndReceiveData()
Всем спасибо, тема закрыта. Заработало через server.SendAndReceiveDataByMask(). Кстати, по MasterSCADA есть большая ветка на форуме owen.ru, если кому надо