Страница 118 из 156 ПерваяПервая ... 1868108116117118119120128 ... ПоследняяПоследняя
Показано с 1,171 по 1,180 из 1712

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

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

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

    По умолчанию

    Цитата Сообщение от Евгений Кислов Посмотреть сообщение
    При этом работать можно? Двойное определение сделано преднамеренно, чтобы таким способом поименовать переменную.

    Представленное ниже Допустимо?

    VAR_GLOBAL
    // LeftSide
    // INPUT
    d_INPUT_PLC_LeftSide AT %ID15: DWORD; (*Маска дискретных входов ПЛК. Левая сторона. FDI_01 - DI_12*)
    // OUTPUT
    x_OUTPUT_PLC_LeftSide_0 AT %QX44.0: BOOL; (*Дискретный выход ПЛК DO_01*)
    x_OUTPUT_PLC_LeftSide_1 AT %QX44.1: BOOL; (*Дискретный выход ПЛК DO_02*)
    x_OUTPUT_PLC_LeftSide_2 AT %QX44.2: BOOL; (*Дискретный выход ПЛК DO_03*)
    x_OUTPUT_PLC_LeftSide_3 AT %QX44.3: BOOL; (*Дискретный выход ПЛК DO_04*)
    w_OUTPUT_PLC_LeftSide: WORD; (*Маска дискретных выходов ПЛК. Левая сторона. DO_01 - DO_04*)

    //RightSide
    // INPUT
    d_INPUT_PLC_RightSide AT %ID35: DWORD; (*Маска дискретных входов ПЛК. Правая сторона. DI_13 - DI_24*)
    d_OUTPUT_PLC_RightSide AT %QD35: DWORD; (*Маска дискретных выходов ПЛК. Правая сторона. DO_05 - DO_12*)

    END_VAR

  2. #2

    По умолчанию Некорретный экпорт/импорт соотнесений в модулей периферии ПЛК 210-12

    При эксперте соотнесений LeftSide в файл CSV несутся некоторые переменные, которых нет во вкладке соотнесения модуля. При обратном импорте возникают ошибки импортирования. Проблема в том, что текст описания данных переменных разделен ";". Отсюда проблема.
    Экспорт соотнесения.png

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

    По умолчанию

    Цитата Сообщение от Назаров Александр Посмотреть сообщение
    При эксперте соотнесений LeftSide в файл CSV несутся некоторые переменные, которых нет во вкладке соотнесения модуля. При обратном импорте возникают ошибки импортирования. Проблема в том, что текст описания данных переменных разделен ";". Отсюда проблема.
    Экспорт соотнесения.png
    Поправим при обновлении таргетов.

  4. #4

    По умолчанию

    Цитата Сообщение от Евгений Кислов Посмотреть сообщение
    Поправим при обновлении таргетов.
    Импорт файла соотнесения модуля должен содержать все переменные или он заменит только те строки, которые находятся в файле, а остальные останутся старыми?

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

    По умолчанию

    Цитата Сообщение от Назаров Александр Посмотреть сообщение
    Импорт файла соотнесения модуля должен содержать все переменные или он заменит только те строки, которые находятся в файле, а остальные останутся старыми?
    Заменит только те строки, которые находятся в файле. Остальные останутся старыми.

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

    По умолчанию

    Если вы понимаете, как работает AT-адресация - то можете ее использовать.
    Со своей стороны я бы не рекомендовал ее применять без существенной необходимости.

  7. #7

    По умолчанию

    Проблема оказалась в кодировке КИРИЛЛИЦЫ. Нужна UTF-8. По крайней мере на неё перекодировал. Виды комментариев работают оба. Спасибо Евгению Кислову за терпение.

  8. #8

    По умолчанию

    При обмене ПЛК210-01-CS с MOXA nPort 5130A сыпятся ошибки. При этом с модулями МВ210-101 связь стабильная, без ошибок.

    В дереве
    вопрос7.png
    возле "MOXA NPort" циклически меняются значки ош1.png -> ош2.png -> ош3.png. При этом счётчик Error Counter постоянно увеличивается, хотя данные от устройства, подключенного к nPort по RS485 Modbus RTU передаются в ПЛК, но не долго. Через несколько дней (~3...4 дня) обмен прекращается. Не пойму, что не так.

    Вот код подключения к nPort и опроса удалённого устройства:
    Объявления:
    TCP_MOXA : OCL.TCP_Client; // ФБ подключения к MOXA NPort 5130A по TCP/IP
    timertcp : TON;
    MB_US800_4_AI1 : OCL.MB_TcpRequest; // ФБ опроса расходомера (канал №1) по MODBUS RTU over TCP
    awAI1 : ARRAY [1..4] OF WORD; // регистры канала №1, считанные из расходомера
    Программа:
    (* MOXA NPort 5130A *)
    TCP_MOXA(xEnable := NOT timertcp.Q, sIpAddr := '192.168.128.37', uiPort := 4001, tTimeout:=T#500MS);
    IF TCP_MOXA.xDone OR TCP_MOXA.xError THEN
    TCP_MOXA.xEnable := FALSE;
    END_IF;
    timertcp(IN := (TCP_MOXA.xDone OR TCP_MOXA.xError) AND NOT timertcp.Q, PT:= T#1S);

    (* опрос расходомера (канал №1) *)
    MB_US800_4_AI1(
    xExecute := TCP_MOXA.xActive,
    hConnection := TCP_MOXA.hConnection,
    tTimeout := T#100MS, // Время ожидания ответа
    xIsRtuOverTcpMode := TRUE, // Протокол MODBUS RTU over TCP
    usiUnitId := 4, // Адрес устройства в сети RS485
    eFuncCode := 16#03, // Функция MODBUS RTU
    uiDataAddr := 16#200, // Начальный обрабатываемый регистр
    uiDataCount := 4, // Количество обрабатываемых регистров
    pData := ADR(awAI1),
    szSize := SIZEOF(awAI1)
    );
    IF MB_US800_4_AI1.xDone OR MB_US800_4_AI1.xError THEN
    MB_US800_4_AI1(xExecute := FALSE); // После выполнения блока, его надо сбросить
    GVL.voc2a_F_fwd := WORD2_TO_REAL(awAI1[1], awAI1[2]); // Читаем Параметр1
    GVL.voc2a_Fs_fwd := WORD2_TO_UDINT(awAI1[3], awAI1[4]); // Читаем Параметр2
    END_IF;
    При подключении видно, что у MOXA_NPort выход xBusy постоянно TRUE, а, судя по не запускающемуся таймеру timertcp, выход xDone у MOXA_NPort постоянно FALSE:
    вопрос7_1.png
    Нормально ли это? Я предполагал, что после каждого успешного выполнения xDone должен переключаться в TRUE или после неуспешного выполнения xError должен переключаться в TRUE.
    Последний раз редактировалось askaev; 04.06.2024 в 09:03.

  9. #9

    По умолчанию

    Цитата Сообщение от askaev Посмотреть сообщение
    При обмене ПЛК210-01-CS с MOXA nPort 5130A сыпятся ошибки. При этом с модулями МВ210-101 связь стабильная, без ошибок.

    В дереве
    вопрос7.png
    возле "MOXA NPort" циклически меняются значки ош1.png -> ош2.png -> ош3.png. При этом счётчик Error Counter постоянно увеличивается, хотя данные от устройства, подключенного к nPort по RS485 Modbus RTU передаются в ПЛК, но не долго. Через несколько дней (~3...4 дня) обмен прекращается. Не пойму, что не так.

    Вот код подключения к nPort и опроса удалённого устройства:
    Объявления:

    Программа:


    При подключении видно, что у MOXA_NPort выход xBusy постоянно TRUE, а, судя по не запускающемуся таймеру timertcp, выход xDone у MOXA_NPort постоянно FALSE:
    вопрос7_1.png
    Нормально ли это? Я предполагал, что после каждого успешного выполнения xDone должен переключаться в TRUE или после неуспешного выполнения xError должен переключаться в TRUE.
    Добрый день.
    1.
    Поясните, пожалуйста, для чего добавляете NPort как устройство в дереве проекта, если уже работаете через библиотеку?
    Если Вам требуется реализовать Modbus RTU over TCP, то следует оставить только код.

    2.
    Попробуйте для теста оставить статически .xEnable := TRUE в строке вызова блока TCP_MOXA.

    См. пример на стр. 166 документа: https://ftp.owen.ru/CoDeSys3/11_Docu...odbus_v3.2.pdf
    Инженер по продукту ПЛК

    e-mail: a.pineko-skvortsov@owen.ru

  10. #10

    По умолчанию

    Цитата Сообщение от Александр Пинэко-Скворцов Посмотреть сообщение
    Добрый день.
    1.
    Поясните, пожалуйста, для чего добавляете NPort как устройство в дереве проекта, если уже работаете через библиотеку?
    Думал, что надо и там и там.

    Цитата Сообщение от Александр Пинэко-Скворцов Посмотреть сообщение
    Если Вам требуется реализовать Modbus RTU over TCP, то следует оставить только код.
    Убрал из дерева. Оставил только вызов ФБ из кода.

    Цитата Сообщение от Александр Пинэко-Скворцов Посмотреть сообщение
    Попробуйте для теста оставить статически .xEnable := TRUE в строке вызова блока TCP_MOXA.
    Сделал. Пока работает. Будем набирать статистику и смотреть, не завис ли обмен снова.

Страница 118 из 156 ПерваяПервая ... 1868108116117118119120128 ... ПоследняяПоследняя

Похожие темы

  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

Ваши права

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