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

Тема: CODESYS V3.5. Онлайн-FAQ

Древовидный режим

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #11
    Супер Модератор Аватар для Евгений Кислов
    Регистрация
    27.01.2015
    Адрес
    Москва
    Сообщений
    13,594

    По умолчанию COM#20. Как отмасштабировать значение, считываемое по Modbus?

    Вопрос: в проекте настроен опрос других устройств по протоколу Modbus через стандартные компоненты. Считываются целочисленные значение, и согласно документации их нужно домножить на 0.01, чтобы получить "настоящее" значение в формате REAL. Можно ли это выполнить это масшабирование на уровне настройки компонентов Modbus?

    Ответ:

    1. Необходимо создать ФБ для конвертации данных. В рамках примера он будет называться CONVERT.
    Перед объявлением ФБ необходимо указать атрибут io_function_block, а перед объявлением его переменной, которая будет привязываться к компоненту Modbus - io_function_block_mapping.

    Код:
    {attribute 'io_function_block'}
    FUNCTION_BLOCK CONVERT
    VAR_INPUT
    	{attribute 'io_function_block_mapping'}
    	wInput:		WORD;
    END_VAR
    VAR_OUTPUT
    	rOutput:	REAL;
    END_VAR
    VAR
    END_VAR
    
    rOutput := wInput * 0.01;
    2. В компоненте Modbus на вкладке Соотнесение входов/выходов выберите нужный канал (нужно выделить конкретный регистр - тип WORD)
    и нажмите кнопку Добавить ФБ для IO-канала.

    2021-08-30_12-51-42.png

    В выпадающем окне нужно выбрать ФБ CONVERT.

    2021-08-30_12-51-54.png

    В результате в столбце Соотнесение отобразится соответствующая пиктограмма, а в столбце Переменная будет автоматически сформирован путь к неявно объявленному экземпляру ФБ.

    2021-08-30_12-52-10.png

    3. С помощью этого пути можно обратиться к выходной переменной ФБ в коде программы (убрав из пути узел Application):

    Код:
    PROGRAM PLC_PRG
    VAR
    	rValue1:		REAL;
    	rValue2:		REAL;
    END_VAR
    
    rValue1 := Modbus_Slave_COM_Port_CONVERT.rOutput;
    rValue2 := Modbus_Slave_COM_Port_CONVERT_1.rOutput;
    2021-08-30_12-55-31.png

Похожие темы

  1. Ответов: 1
    Последнее сообщение: 29.06.2017, 11:21

Ваши права

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