Страница 59 из 149 ПерваяПервая ... 949575859606169109 ... ПоследняяПоследняя
Показано с 581 по 590 из 1642

Тема: CODESYS V3.5. Настройка обмена с другими устройствами (Modbus, ОВЕН, OPC и др.)

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1

  2. #2
    Супер Модератор Аватар для Евгений Кислов
    Регистрация
    27.01.2015
    Адрес
    Москва
    Сообщений
    13,601

    По умолчанию

    Цитата Сообщение от Максим Ульянов Посмотреть сообщение
    нули1.pngнули2.pngнули3.png

    вот пожалуйста
    Параметр Всегда обновлять переменные надо перевести в значение Вкл. 2.

  3. #3

    По умолчанию

    ок, будем пробовать..

  4. #4

    По умолчанию

    Доброе утро!

    ПЛК210. SP14. OwenCommunication, Float

    Не выходит пока организовать нормальную IN_OUT или чтение/запись функцию.
    В примере дано отдельно описание на чтение и отдельно запись.
    И то и то хорошо работает, а вот когда я начинаю и читать и писать, имею проблемы

    Пробовал разделить через BLINK по 200мс, то чтение, то запись. Работает, когда угадываю промежуток, но скажем так себе решение.
    Пробовал сделать через блок с входами IN_OUT, выбивает в исключение иногда
    IF OUT1_old<>OUT1 OR OUT2_old<>OUT2 THEN
    IN:=OCL.WORD2_TO_REAL(awSlaveData[OUT1], awSlaveData[OUT2], FALSE);
    END_IF;

    IF IN_old<>IN THEN
    FB (rInput :=IN, wOutput1 => awSlaveData[OUT2], wOutput2 => awSlaveData[OUT1]);
    END_IF;

    IN_old:=IN;
    OUT1_old:=OUT1;
    OUT2_old:=OUT2;
    Для чего вообще нужно: например SP(REAL) вы ее пишете как с панели, так можете записать в нее и из кода.
    Регистры должны обновиться, а в случае изменения регистров, должна измениться связанная с ними переменная

    В конфигураторе ПЛК110 переменные именно так и работают.
    Как это сделать корректно в Codesys 3.5 SP14?
    +79104444236
    С уважением,
    Лапшин Вячеслав

  5. #5
    Супер Модератор Аватар для Евгений Кислов
    Регистрация
    27.01.2015
    Адрес
    Москва
    Сообщений
    13,601

    По умолчанию

    Цитата Сообщение от krollcbas Посмотреть сообщение
    Доброе утро!

    ПЛК210. SP14. OwenCommunication, Float

    Не выходит пока организовать нормальную IN_OUT или чтение/запись функцию.
    В примере дано отдельно описание на чтение и отдельно запись.
    И то и то хорошо работает, а вот когда я начинаю и читать и писать, имею проблемы

    Пробовал разделить через BLINK по 200мс, то чтение, то запись. Работает, когда угадываю промежуток, но скажем так себе решение.
    Пробовал сделать через блок с входами IN_OUT, выбивает в исключение иногда


    Для чего вообще нужно: например SP(REAL) вы ее пишете как с панели, так можете записать в нее и из кода.
    Регистры должны обновиться, а в случае изменения регистров, должна измениться связанная с ними переменная

    В конфигураторе ПЛК110 переменные именно так и работают.
    Как это сделать корректно в Codesys 3.5 SP14?
    Добрый день.

    Производите запись в awSlaveData событийно, а не каждый цикл ПЛК - тогда проблем не будет.

  6. #6

    По умолчанию

    Доброго дня )вопрос : не могу в документации найти..стандартный компонент Modbus TCP Master ( через дерево объектов) может содержать до 100 запросов....а сколько я могу вычитать за один запрос?

  7. #7
    Супер Модератор Аватар для Евгений Кислов
    Регистрация
    27.01.2015
    Адрес
    Москва
    Сообщений
    13,601

    По умолчанию

    Цитата Сообщение от Максим Ульянов Посмотреть сообщение
    Доброго дня )вопрос : не могу в документации найти..стандартный компонент Modbus TCP Master ( через дерево объектов) может содержать до 100 запросов....а сколько я могу вычитать за один запрос?
    Добрый день.
    Согласно спецификации протокола Modbus - до 125 регистров в запросе чтения.
    У конкретного slave-устройства могут быть свои ограничения по этому поводу.

  8. #8

    По умолчанию

    Доброго времени Коллеги) итак : MB_TcpRequest отказывается работать (HANDLE_INVALID,10,Некорректное значение дескриптора интерфейса) хотя дескриптор получает от TcpClient....Через опс сервер ,проблем нет,если добавляю через дерево устройств как модбас слейв тоже читается без проблем...какаятофигня.png

  9. #9
    Супер Модератор Аватар для Евгений Кислов
    Регистрация
    27.01.2015
    Адрес
    Москва
    Сообщений
    13,601

    По умолчанию

    Цитата Сообщение от Максим Ульянов Посмотреть сообщение
    Доброго времени Коллеги) итак : MB_TcpRequest отказывается работать (HANDLE_INVALID,10,Некорректное значение дескриптора интерфейса) хотя дескриптор получает от TcpClient....Через опс сервер ,проблем нет,если добавляю через дерево устройств как модбас слейв тоже читается без проблем...какаятофигня.png
    Добрый день.
    Удалите из проекта весь код, кроме вызовов фб TCP_Client и MB_TcpRequest.
    Если после этого проблема сохранится - выкладывайте этот проект.

  10. #10

    По умолчанию

    Цитата Сообщение от Евгений Кислов Посмотреть сообщение
    Добрый день.
    Удалите из проекта весь код, кроме вызовов фб TCP_Client и MB_TcpRequest.
    Если после этого проблема сохранится - выкладывайте этот проект.
    Вот весь "Код")) удалил все...

    IF EnableRead THEN
    CASE ReadState OF
    STATE_MB_RD.CONNECTING:
    fbTcpClient
    (
    xEnable := TRUE ,
    tTimeout := T#5S,
    sIpAddr := '192.168.0.7',
    uiPort :=502
    );
    IF fbTcpClient.xActive THEN
    fbReadRequest (xExecute := TRUE);
    ReadState := STATE_MB_RD.READ;
    ELSIF fbTcpClient.xError THEN
    fbTcpClient(xEnable := FALSE);
    ReadState := STATE_MB_RD.CONNECTING;
    END_IF
    STATE_MB_RD.READ:
    fbReadRequest
    (
    xExecute:=TRUE,
    tTimeout:=T#5S,
    usiRetry:=5,
    hConnection:=fbTcpClient.hConnection,
    xIsRtuOverTcpMode:=FALSE,
    usiUnitId:=1,
    eFuncCode:=OCL.MB_FC.READ_INPUT_REGISTERS,
    uiDataAddr:=1,
    uiDataCount:=32,
    pData:=ADR (DatafORFANK),
    szSize:=SIZEOF (DatafORFANK)
    );
    EnableRead:=FALSE;
    ReadState := STATE_MB_RD.CONNECTING;
    END_CASE
    END_IF

Страница 59 из 149 ПерваяПервая ... 949575859606169109 ... ПоследняяПоследняя

Похожие темы

  1. Настройка ПР200, управление 3-мя устройствами через RS-485
    от Orbes в разделе Среда программирования OWEN Logic
    Ответов: 20
    Последнее сообщение: 15.05.2017, 16:45
  2. СП3ХХ Пример настройка обмена с ПЛК на CODESYS 2.3
    от Denis_Kay в разделе Панели оператора (HMI)
    Ответов: 6
    Последнее сообщение: 02.03.2017, 15:12
  3. Ответов: 43
    Последнее сообщение: 13.04.2015, 14:05
  4. Универсальная функция для обмена с устройствами OwenIO и всеми любимый LabView.
    от Алексей Крагель в разделе Помощь Разработчикам
    Ответов: 0
    Последнее сообщение: 30.05.2014, 13:38

Ваши права

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