Страница 2 из 2 ПерваяПервая 12
Показано с 11 по 19 из 19

Тема: Подключение не стандартного устройва

  1. #11

    По умолчанию

    Мы отправляем, устройство принимает, а затем отвечает нам.

  2. #12
    Пользователь
    Регистрация
    27.11.2011
    Адрес
    Краснодар
    Сообщений
    13,513

    По умолчанию

    ох уж эти программисты... нам это кому? Дедушке Василию на деревню?

    ПЛК - отправил
    Устроство - Ответило

    ищите проблемы в ПЛК. Если ИНОЕ, то пишите подробнее. Как вы убедились что отправка произошла, как убедились что ответ произошел и так далее.

  3. #13

    По умолчанию

    Мы и ищем в ПЛК.
    Мы даже меняли порт, но от этого ничего не поменялось.

    Отслеживали данные на конце провода с помощью компьютера.
    Последний раз редактировалось Стас Ц.; 15.08.2023 в 09:36. Причина: Дополнил

  4. #14

    По умолчанию

    Вот наш протокол. Возможно ли, что он после отправки закрывает порт или не открывает порт приёма?
    Код:
    fbComControl4: OCL.COM_Control; // ФБ управления портом COM4
    fbRS603_DI: OCL.UNM_SerialRequest; // ФБ опроса лазерного дальномера
    awAO2: ARRAY [0..1] OF BYTE; // регистры, записывающие в модуль RS603
    awAI2: ARRAY [0..3] OF BYTE; // регистры, считанные с модуля RS603
    CASE iStateCom4 OF
                    0: // открытие COM-порта COM4
                                   fbComControl4
                                   (
                                                   xEnable := TRUE,
                                                   udiComPort := 4,
                                                   udiBaudrate := 9600,
                                                   udiByteSize := 8,
                                                   eParity := OCL.COM_PARITY.EVEN,
                                                   eStopBit := OCL.COM_STOPBIT.ONE
                                   );
                                   IF fbComControl4.xDone THEN
                                                   iStateCom4 := 1;
                                   END_IF
                    1: // опрос модуля RS603
                                   awAO2[0] := 16#01;
                                   awAO2[1] := 16#86;
                                   fbRS603_DI
                                   (
                                                   xExecute := fbComControl4.xDone,
                                                   tTimeout := T#500MS,
                                                   usiRetry := 3,
                                                   hCom := fbComControl4.hCom,
                                                   pRequest := ADR(awAO2),
                                                   szRequest := 2,
                                                   pResponse := ADR(awAI2),
                                                   szResponse := 4,
                                                   szExpectedSize := 0,
                                                   wStopChar := 16#0000
                                   );                    
    END_CASE
    Последний раз редактировалось Стас Ц.; 15.08.2023 в 10:31.

  5. #15

    По умолчанию

    На fbComControl4.xDone генерируется единичный импульс при открытии COM-порта - так что с помощью приведенного выше кода вы отправите на дальномера только один запрос при запуске проекта.

    В общем случае вам должно помочь что-то вроде:

    Код:
    1: // опрос модуля RS603
    
    awAO2[0] := 16#01;
    awAO2[1] := 16#86;
    
    fbRS603_DI
    (
       xExecute := TRUE,
       tTimeout := T#500MS,
       usiRetry := 3,
       hCom := fbComControl4.hCom,
       pRequest := ADR(awAO2),
       szRequest := 2,
       pResponse := ADR(awAI2),
       szResponse := 4,
       szExpectedSize := 0,
       wStopChar := 16#0000
    );
    
    IF fbRS603_DI.xDone OR fbRS603_DI.xError THEN
        fbRS603_DI(xExecute := FALSE);
    END_IF
    
    END_CASE
    Надеюсь, на COM4 вы подключили только дальномер и не пытаетесь опрашивать через него другие устройства.

  6. #16

    По умолчанию

    На COM4 мы больше ничего не опрашиваем.
    Ваш код был реализован но к сожалению он не поменялось.

    Возможно ли, что в CODESYS надо что-то включить, чтобы ПЛК начал принимать сигналы?

  7. #17

    По умолчанию

    Цитата Сообщение от Стас Ц. Посмотреть сообщение
    На COM4 мы больше ничего не опрашиваем.
    Ваш код был реализован но к сожалению он не поменялось.

    Возможно ли, что в CODESYS надо что-то включить, чтобы ПЛК начал принимать сигналы?
    Ничего дополнительно включать не надо.
    Обеспечьте удаленный доступ по AeroAdmin - посмотрим, что у вас происходит.
    Данные для подключения и ваш контактный телефон пришлите мне на почту или telegram (в подписи).

  8. #18
    Пользователь
    Регистрация
    31.07.2013
    Адрес
    Аркаим
    Сообщений
    1,480

    По умолчанию

    Стас Ц
    Дальномер случаем не Рифтек?
    Если да, то там свой фирменный протокол, и нужен бубен достаточно большого диаметра, что бы плк Овен начали его понимать.

  9. #19

    По умолчанию

    Спасибо за помощь.
    Проблема было из-за добавления новой задачи, а также изменения интервала и приоритета текущий задач.
    Желательно это всё не трогать тогда и проблем не будет.

Страница 2 из 2 ПерваяПервая 12

Похожие темы

  1. Ответов: 1
    Последнее сообщение: 12.10.2021, 09:18
  2. Ответов: 41
    Последнее сообщение: 01.11.2018, 14:03

Ваши права

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