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

Тема: Преобразование кусков IP адреса в шестнадцатиричное число

  1. #1

    По умолчанию Преобразование кусков IP адреса в шестнадцатиричное число

    в четырех регистрах хранятся части IP адреса передаваемого с панели вайнтек на ПЛК, как преобразовать эти 4 части в число вида 16#C0A87B59

  2. #2
    Пользователь Аватар для A.Simonov
    Регистрация
    11.07.2017
    Адрес
    Москва
    Сообщений
    167

    По умолчанию

    Цитата Сообщение от Seyran Посмотреть сообщение
    в четырех регистрах хранятся части IP адреса передаваемого с панели вайнтек на ПЛК, как преобразовать эти 4 части в число вида 16#C0A87B59
    Добрый день.

    Уверен, что есть более изящное решение, но сходу пришло только это:
    1.png

    Мы имеем 4 байта (в них лежат части IP). Склеиваем их в строковую переменную, предварительно приведя их к HEX виду, с помощью функции BYTE_TO_STRH.

    Функция BYTE_TO_STRH находится в библиотеке oscat basic
    https://ftp.owen.ru/CoDeSys23/05_Lib..._basic_333.lib

    Результат:
    2.png

    Для наглядности результат можно отобразить как HEX.
    Для этого необходимо перейти во вкладку Проект > Опции
    И выбрать соответствующее представление.
    3.png

    Результат в HEX:
    4.png

    Код программы:

    Код:
    PROGRAM PLC_PRG
    VAR
    	wIP1:		BYTE;
    	wIP2:		BYTE;
    	wIP3:		BYTE;
    	wIP4:		BYTE;
    	stIP:		STRING;
    	dwIP:		DWORD;
    END_VAR
    Код:
    wIP1:=16#AA;
    wIP2:=16#BB;
    wIP3:=16#CC;
    wIP4:=16#DD;
    
    stIP:='16#';
    stIP:=CONCAT(stIP, BYTE_TO_STRH(wIP1));
    stIP:=CONCAT(stIP, BYTE_TO_STRH(wIP2));
    stIP:=CONCAT(stIP, BYTE_TO_STRH(wIP3));
    stIP:=CONCAT(stIP, BYTE_TO_STRH(wIP4));
    
    dwIP:=STRING_TO_DWORD(stIP);
    Последний раз редактировалось A.Simonov; 25.11.2019 в 11:10.
    Александр Андреевич Симонов
    Инженер по продуктам «ПЛК, модули и OwenCloud»
    e-mail: support@owen.ru
    e-mail: a.simonov@owen.ru

Похожие темы

  1. Случайное число в Codesys
    от radar в разделе СПК2хх
    Ответов: 19
    Последнее сообщение: 19.05.2018, 16:46
  2. Число оборотов электропривода
    от Мердан в разделе Подбор Оборудования
    Ответов: 3
    Последнее сообщение: 09.06.2016, 14:35
  3. Преобразование цифровых входов в число.
    от sialiv в разделе Программируемые реле
    Ответов: 20
    Последнее сообщение: 01.06.2016, 08:23
  4. перевод строки в число
    от Роланд в разделе Помощь Разработчикам
    Ответов: 4
    Последнее сообщение: 11.04.2013, 00:45
  5. отрицатальное число
    от Febricio в разделе ПЛК1хх
    Ответов: 4
    Последнее сообщение: 15.09.2010, 10:47

Метки этой темы

Ваши права

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