Страница 63 из 111 ПерваяПервая ... 1353616263646573 ... ПоследняяПоследняя
Показано с 621 по 630 из 1109

Тема: Modbus Universal MasterOPC Server новый OPC сервер от компании ИнСАТ

  1. #621

    По умолчанию

    Я должен принять 6 переменных по 1 байту, сначала поставил 6, потом
    Цитата Сообщение от SCADAMaster Посмотреть сообщение
    а количество элементов - в два раза больше.
    поставил 12, видимо не так?
    Чередование делал еще таким для 6 байтов - 210543

  2. #622

    По умолчанию

    Цитата Сообщение от daniel23 Посмотреть сообщение
    Я должен принять 6 переменных по 1 байту, сначала поставил 6, потом
    int32 - это 4 байтовая переменная. Если вы сделаете прием 12 переменных по 4 байта, это сколько байт будет?
    Спасибо.

  3. #623

    По умолчанию

    Я вас понял, спасибо. Делаю так local destMask = {"byte", "byte", "byte", "byte", "byte", "byte", "int16:3:10", "byte"}; и так local destMask = {"byte", "byte", "byte", "byte", "byte", "byte", "int16:1:10", "int32:1:3210", "byte"}; Но в ответе не получаю 6 байт

  4. #624

    По умолчанию

    В каком ответе? От устройства?
    Потом то что вы с полученным ответом делаете?
    Спасибо.

  5. #625

    По умолчанию

    Да, от устройства. Ответ записывается в тег TV = string.format ("%02X", dest[LEN-1]); Вообщем я пытаюсь время и дату вывести в одном теге, а не в 6.
    Изображения Изображения
    • Тип файла: png 1.png (18.8 Кб, Просмотров: 9)

  6. #626

    По умолчанию

    И что у вас возвращается? Почему вы ожидаете 6 байт? У вас вернется значение числа int32.
    Лучше сначала просто вывести в server.Message результат всех элементов таблицы dest
    Спасибо.

  7. #627

    По умолчанию

    Когда маска ответа local destMask = {"byte", "byte", "byte", "byte", "byte", "byte", "int16:3:10", "byte"} ответ 218 (номер месяца, год)
    Когда маска ответа local destMask = {"byte", "byte", "byte", "byte", "byte", "byte", "int16:1:10", "int32:1:3210", "byte"} ответ 16060218(час, число месяца, номер месяца, год)
    При такой маске ответа local destMask = {"byte", "byte", "byte", "byte", "byte", "byte", "int16:1:10", "int32:1:3210", "byte"} вывел через server.Message сначала все элементы dest, затем оставил только нужные
    dest7 = string.format("%02X", dest[7]);
    dest8 = string.format("%02X", dest[8]);
    server.Message ("dest:", " ", dest7, dest8);
    получилось так
    06-02-2018 16:46:14.191 TESMA_PORT.TESMA_106.TimerMemory.Tag1:dest: 502416060218 (сек, мин, часы, день, месяц, год)
    Как все эти числа теперь вывести в тег?

  8. #628

    По умолчанию

    Как вариант - получить год, месяц день и прочее, собрать из этого время (есть специальные функции) преобразовать в строку и запихнуть в тег.
    Спасибо.

  9. #629

    По умолчанию

    Цитата Сообщение от SCADAMaster Посмотреть сообщение
    Как вариант - получить год, месяц день и прочее, собрать из этого время (есть специальные функции) преобразовать в строку и запихнуть в тег.
    Можете подсказать, какая именно функция собирает из байтов время? Пробовал time.PackTime, но видимо использую не ту функцию

    Даже из примера err,timesec = time.PackTime(2012,5,3,12,31,45);
    ответ
    07-02-2018 16:37:00.031 TESMA_PORT.TESMA_106.Group1.TIME:time: 1336037505 err: 0
    а не 201253123145
    Последний раз редактировалось daniel23; 07.02.2018 в 16:39.

  10. #630

    По умолчанию

    Добрый день!
    Можно ли изменить приоритет в протоколе Bacnet?
    сейчас только 16 идет...

Страница 63 из 111 ПерваяПервая ... 1353616263646573 ... ПоследняяПоследняя

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •