Показано с 1 по 10 из 10

Тема: опрос по owen communication

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

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

    По умолчанию опрос по owen communication

    добрый вечер, подскажите пожалуйста, если при опросе адреса переменных должны динамически меняться с панели( в примере пока статично 512 и 514) , организация опроса возможна только таким способом как описана ниже. Для каждой переменной свой блок?

    CASE istatecom1 OF
    0:
    fbCom1 (
    xenable:=TRUE,
    udiComPort:=1,
    udibaudrate:=udibaudrate1,
    udibytesize:=udibytesize1,
    eparity:= parity1,
    estopbit:=stopbit1
    )
    ;
    IF fbcom1.xDone THEN istatecom1:=1;
    END_IF
    1:
    fbpr1(
    xExecute:=fbcom1.xActive,
    tTimeout:=T#200MS,
    usiRetry:=10,
    hCom:=fbcom1.hCom,
    xisasciimode:=xisasciimode1,
    usislaveid:=16,
    efunccode:=ocl.MB_FC.READ_HOLDING_REGISTERS,
    uidataaddr:=512,
    uidatacount:=1,
    pdata:=ADR(type_station1),
    szsize:=SIZEOF(type_station1)
    );
    IF fbpr1.xDone OR fbpr1.xError THEN fbpr1(xExecute:=FALSE);
    istatecom1:=2;
    2:

    fbpr1(
    xExecute:=fbcom1.xActive,
    tTimeout:=T#200MS,
    usiRetry:=10,
    hCom:=fbcom1.hCom,
    xisasciimode:=xisasciimode1,
    usislaveid:=16,
    efunccode:=ocl.MB_FC.READ_HOLDING_REGISTERS,
    uidataaddr:=514,
    uidatacount:=2,
    pdata:=ADR(arr_DDin1),
    szsize:=SIZEOF(arr_DDin1)
    );
    IF fbpr1.xDone OR fbpr1.xError THEN fbpr1(xExecute:=FALSE);
    ddin1_pump_w2r.awmodbusReal:=arr_ddin1;
    ddin1_pump:=ddin1_pump_w2r.rv;
    istatecom1:=3;
    END_IF

  2. #2

    По умолчанию

    Добрый день.
    У вас для опроса каждой переменной использует один и тот же экземпляр ФБ - это корректно.

  3. #3

    По умолчанию

    Добрый вечер, подскажите каким способом можно обнулять значения переменных, если не удалось считать переменные(обрыв связи)

  4. #4

    По умолчанию

    Цитата Сообщение от Dmitrijb Посмотреть сообщение
    Добрый вечер, подскажите каким способом можно обнулять значения переменных, если не удалось считать переменные(обрыв связи)
    Ориентируйтесь на выход xError, если он TRUE - выполняйте очистку буфера (например, через Mem.MemFill).

  5. #5

    По умолчанию

    Выдает исключение что необходима библиотека caa memory 3.5.12, не могу ее найти

  6. #6

    По умолчанию

    Цитата Сообщение от Dmitrijb Посмотреть сообщение
    Выдает исключение что необходима библиотека caa memory 3.5.12, не могу ее найти
    Она входит в дистрибутив CODESYS.
    Если она выдает исключение - возможно, вы некорректно вызываете функцию.
    Выложите ваш код.

  7. #7

    По умолчанию

    IF stcom1=1 THEN istatecom1:=2;
    ELSE istatecom1:=13;
    mem.MemFill(array1[0],22,0);
    END_IF

    соответственно array1 - array[0..22] of word

  8. #8

  9. #9

    По умолчанию

    Спасибо все заработало. Еще маленький нюанс не подскажете, на спк, в рабочем режиме, всегда горит оранжевый предупреждающий сигнал, проекте при компиляции есть предупреждение по неиспользованию допклавиатуры keypad, хотя она используется для ввода логина. Не из-за этого ли предупреждения загорается этот сигнал? чтение-запись по com1-порту идет стабильно.

  10. #10

    По умолчанию

    всегда горит оранжевый предупреждающий сигнал
    Это нормально - признак того, что проект запущен.

Похожие темы

  1. Опрос ТРМ138 по RS-485 ( протокол OWEN )
    от a_sergeevich в разделе ПЛК1хх
    Ответов: 21
    Последнее сообщение: 22.10.2024, 15:35
  2. Ответов: 23
    Последнее сообщение: 30.10.2022, 22:02
  3. Ответов: 16
    Последнее сообщение: 23.03.2020, 11:07
  4. ПЛК63 + ТРМ202 опрос по протоколу OWEN
    от trollik3 в разделе ПЛК63/73
    Ответов: 0
    Последнее сообщение: 03.04.2019, 17:34
  5. Опрос
    от kucherik в разделе Трёп (Курилка)
    Ответов: 11
    Последнее сообщение: 07.11.2012, 07:34

Ваши права

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