Страница 62 из 111 ПерваяПервая ... 1252606162636472 ... ПоследняяПоследняя
Показано с 611 по 620 из 1109

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

  1. #611

    По умолчанию

    А есть ли возможность в MPS при выполнении 1 запроса считывать несколько данных(скорее всего скрипт на уровне устройства), чтобы опрос устройства происходил быстрее. А потом уже в тегах выбирать какие именно данные необходимо отобразить. Например считывать память, которая имеет размер 2К байт. Устройство позволяет считывать до 64 байт за 1 запрос. Т.е. нужно выполнить 31 запрос для полного считывания памяти.

  2. #612

    По умолчанию

    Про какой протокол идет речь?
    Или вы про скрипты? В скриптах запрашивайте как хотите.
    Спасибо.

  3. #613

    По умолчанию

    У прибора свой протокол. В MPS есть ограничение на количество байт в значении тега, а именно в 4 байта? Например делается запрос для получения в TV 6 или 8 байт, но получают ответ только 2 байта. Если же делать запрос на 4 байта, то получаю ответ в 4 байта. Может я что-то делаю не так? Запрос делают так local destMask = {"byte", "byte", "byte", "byte", "byte", "byte", "int64:6:543210", "byte"}; send = {0x55, 0x01, 0xFE, 0x0F, 0x01, 0x03, 0x04, 0x82, 0x06, CS}; TV = string.format ("%02X",dest[LEN-1]);

  4. #614

    По умолчанию

    Типа int64 у нас нет.
    Вы можете запрашивать как int32 значения, а потом их объединять на верхнем уровне или передавать как строку.
    Спасибо.

  5. #615

    По умолчанию

    Цитата Сообщение от SCADAMaster Посмотреть сообщение
    Типа int64 у нас нет.
    Вы можете запрашивать как int32 значения, а потом их объединять на верхнем уровне или передавать как строку.
    Т.е. сделать 2 запроса на 4 и 2 байта соответственно. И объединить их перед выводом в значение тега?

  6. #616

    По умолчанию

    можно и в одном запросе. Просто указываете тип - int32, а количество элементов - в два раза больше.
    Объеденить их потом можно, но только если в строку, так как тега типа int64 в ОРС сервере нет.
    Спасибо.

  7. #617

    По умолчанию

    Дело в том, что какое бы количество элементов не указывал int32:4:3210 или int32:6:543210 результат в теге не меняется
    Когда local destMask = {"byte", "byte", "byte", "byte", "byte", "byte", "int32:4:3210", "byte"};
    send = {0x55, 0x01, 0xFE, 0x0F, 0x01, 0x03, 0x04, 0x82, 0x04};
    Результат 4 байта
    когда local destMask = {"byte", "byte", "byte", "byte", "byte", "byte", "int32:6:543210", "byte"};
    send = {0x55, 0x01, 0xFE, 0x0F, 0x01, 0x03, 0x04, 0x82, 0x06};
    Результат 2 байта
    Последний раз редактировалось daniel23; 06.02.2018 в 11:13.

  8. #618

    По умолчанию

    Приложите вашу конфигурацию (оставьте в ней только то, что связано с вашим скриптом), а также лог. Для этого в свойствах сервера включите запись журнала и всех его событий, размер лога задайте равным 10000. Запустите режим исполнения и воспроизведите ошибку. Лог пишется в папку:
    c:\ProgramData\InSAT\MasterOPC Universal Modbus Server\SERVERLOGS\
    Лог заархивируйте и вышлите нам вместе с конфигурацией.
    Спасибо.

  9. #619

    По умолчанию

    Ошибок так то нет, но вот значения не меняются при изменении int32:4 на int32:6. Это странно
    Вложения Вложения
    Последний раз редактировалось daniel23; 06.02.2018 в 11:53.

  10. #620

    По умолчанию

    А какие значения не меняются?
    Что это такое:
    "int32:12:1110976543210"
    12 переменных типа int32 у вас в ответе нет. А чередование байт вообще не пойми что
    Посмотрите внимательно документацию.
    Спасибо.

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

Ваши права

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