Страница 39 из 111 ПерваяПервая ... 2937383940414989 ... ПоследняяПоследняя
Показано с 381 по 390 из 1109

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

  1. #381

    По умолчанию

    Цитата Сообщение от SCADAMaster Посмотреть сообщение
    А зачем вам вообще тег? Вам же нужно контроллеру сообщить что будете читать такой то файл.
    Выполняете команду modbus.WriteHoldingRegistersAsInt16( ) пишите в нужный Modbus регистр например 0, читаем нулевой файл.
    Это нужно вставить в сам код скрипта - в функцию OnBeforeReading(), перед выполнением скрипта чтения файла.
    Не получается почему то
    Пишу
    Код:
    function OnBeforeReading()
    local err;
    err = modbus.WriteHoldingRegistersAsInt16(30,1,true,"10325476",false,0); 
    end
    --вызов кода из файла
    dofile(LUA_MODULES.."\\OwenPlcHDA.lua")
    В плк изменения тэга тоже не видно
    01.PNG

  2. #382

    По умолчанию

    Так нельзя. Надо писать прямо в файле OwenPlcHDA.lua
    Откройте его любым блокнотом и правьте.
    Спасибо.

  3. #383

    По умолчанию

    Вставляю код
    Код:
    local FirstRead=false; --объявление флага первого считывания файла (нужен при докачивании файла)
      
      modbus.WriteHoldingRegistersAsInt16(30,1,true,"10325476",false,0);
      
      if UsePart==true and LastRec>NumRec then --если используется докачивание и есть сохраненный номер записи
    В ответ при опросе:
    Код:
    10-02-2016 13:06:25.165 события:WriteModbus : данные должны быть переданы таблицей 
    10-02-2016 13:06:25.165 архив:WriteModbus : данные должны быть переданы таблицей

  4. #384

    По умолчанию

    Вот пример из справки:
    --записать 2 значения int16 с адреса 1 c перестановкой байт, не используя команду 6
    local w={}
    local err
    w[1]=5; w[2]=7;
    err = modbus.WriteHoldingRegistersAsInt16(1,2,true,"1032 5476",false,w);
    --err: true – ошибка, false – ошибки нет
    То есть данные нужно сначала положить в таблицу, перед посылкой.
    То есть в вашем случае написать:
    w[1]=0;
    И w передавать в функцию вместо значения.
    Спасибо.

  5. #385

    По умолчанию

    Спасибо большое, недоразобрался с примером из справки. Сделал как вы сказали, переменная стала писаться, но... Даже с учетом того, что переключение выбора файла происходит, что наглядно видно в плк, но второе подустройство всё равно считывает данные первого файла, и потом выдает уже ошибку чтения файла (так как второго файла на плк ещё не существует). У меня подозрение что пока происходит присвоение переменной, опс уже успевает начать чтение файла.

    P.S. для 2-ух подустройств создал два аналогичных скрипта с разными значениями w. Может в этом ошибка и нужно делать присваивание w в зависимости от
    Код:
     NumFile=server.ReadSubDeviceExtProperty("NumFile");  --получить номер файла
    Или может команду вставить в функцию, выполняющуюся после чтения тэгов?

  6. #386

    По умолчанию

    Как хотите - это не играет роли.
    Посмотрите по Modbus запросам - корректный ли номер шлется.
    Спасибо.

  7. #387

    По умолчанию

    По логу вроде бы всё правильно
    Код:
    2016.2.10 14:4:53 #000=896
    
    [10.02.2016 14:23:22.686] WRITE : avars:Запись в тест.тест.архив.avars значения 896
    [10.02.2016 14:23:22.686] WRITE : тест:Запись в FromScript1 значения 1
    [10.02.2016 14:23:22.702] TRACE : (ххх.ххх.ххх.ххх:502) Tx: [0015] 17 00 00 00 00 09 01 10 00 20 00 01 02 00 01 
    [10.02.2016 14:23:23.155] TRACE : (ххх.ххх.ххх.ххх:502) Rx: [0012] 17 00 00 00 00 06 01 10 00 20 00 01 
    [10.02.2016 14:23:23.155] Inf : тест:Oтвет  тест.тест
    [10.02.2016 14:23:23.155] Inf : тест:Запрос 0:тест:MODBUS_FILE
    [10.02.2016 14:23:23.186] TRACE : (ххх.ххх.ххх.ххх:502) Tx: [0016] 18 00 00 00 00 0A 01 14 07 06 00 01 00 00 00 0A 
    [10.02.2016 14:23:23.671] TRACE : (ххх.ххх.ххх.ххх:502) Rx: [0111] 18 00 00 00 00 69 01 14 66 65 06 31 36 2E 32 2E 32 20 31 35 3A 32 37 3A 33 38 20 23 30 30 30 3D 38 39 36 0A 0D 31 36 2E 32 2E 32 20 31 36 3A 31 3A 33 20 23 30 30 30 3D 38 39 36 0A 0D 31 36 2E 32 2E 32 20 31 36 3A 39 3A 31 31 20 23 30 30 30 3D 38 39 36 0A 0D 31 36 2E 32 2E 32 20 31 36 3A 31 36 3A 32 31 20 23 30 30 30 3D 38 39 36 0A 
    [10.02.2016 14:23:23.671] SCRIPT : <<тест.тест.события>> : тест.тест.события:str=16.2.2 15:27:38 #000=896
    
    16.2.2 16:1:3 #000=896

  8. #388

    По умолчанию

    Тогда разбирайтесь с контроллером - почему он продолжает передавать только один файл.
    Спасибо.

  9. #389

    По умолчанию

    Спасибо за помощь, буду дальше ковырять

  10. #390

    По умолчанию

    Прошу о помощи. В мастер опс юниверсал модбас - поставил пароль на запрет редактирования - сохранил изменения! Запустил мастерскада - параметры отображаются! Хотел изменить в OPC - OPC не даёт ввести пароль для редактирования - можно ли как нибудь восстановить текщую конфигурацию OPC? и убрать пароль!

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

Ваши права

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