Здравствуйте, прошу помощи! Начну по порядку:
1. Подключил устройство через АС4, далее в MasterOPC Universal Modbus Server создал новый коммуникационный узел с настройками: Сохраненное изображение 2014-9-26_10-17-19.844.jpg
Настройки взял из документации на прибор ( Wordовский документ в архиве)
2. Добавил устройство и прописал настройки:Сохраненное изображение 2014-9-26_10-28-8.269.jpg
где адрес - прописал адрес, который забивал в устройстве :008
3.Добавил тег: Сохраненное изображение 2014-9-26_10-30-32.446.jpg
Во-первых вопрос: куда мне прописывать скрипт? В Устройство? или Тег?
Со скриптом еще веселее.
Хочется считать с устройства например значение датчиков. В документации описано:Сохраненное изображение 2014-9-26_11-10-46.879.jpg
Если я не ошибся, то это очень похоже на протокол "DCON".
Просмотрел пример реализации собственных протоколов.
В коде мне требуется поменять в строке send[1] = "#"; решетку на @.Код:Листинг 1.7 Пример реализации протокола DCON -- функция,выполняющаяся перед чтением тегов function OnBeforeReading() local Addr=server.GetCurrentDeviceAddress(); --считываем адрес устройства local send={}; --инициализируем таблицу запроса send[1] = "#"; --оператор типа запроса send[2] = string.format ("%02X",Addr); --преобразование адреса --к нужному виду send[3]="\r"; --добавление символа перевода каретки local sendmask={"string","string","string"}; --маска запроса local dest={}; --инициализация таблицы принятых значений local destmask={"string:1","sdouble:8:7"}; --маска ответа --дополнительные переменные: ошибка, количество элементов в таблице dest, --количество принятых байт local err,len; --объявление переменных - флаг ошибки --и количество принятых элементов local n=0; --количество попыток запроса --запрос к устройству в цикле repeat
В send[3]="\r"; меняю \r на 02h ( так как в протоколе устройства 3-им в запросе идет команда)
Добавляю send[4]="..."; Что в него прописывать я не понимаю...
Добавляю send[5]="*"; так как <*> - (ASCII – 2Ah)- стоповый байт кадра.
Следовательно маска у меня должна получиться такой:
local sendmask={"string","string","string","string","str ing"};
В правильном ли направлении я двигаюсь?
Архив на Я.диске https://yadi.sk/d/SUtApWG7bfrxn




Ответить с цитированием