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

Тема: ПЛК 200 Master + СП310 Slave

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

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

    По умолчанию

    Цитата Сообщение от kondor3000 Посмотреть сообщение
    Ерундой не занимайтесь, температура у вас тип REAL (формат Float), её и передавайте
    И REAL и DWORD можно объединить с помощью UNION из двух ваших WORD, см скрин 1 Передача Риал через Юнион.jpg
    Добавляете DUT, выбираете Объединение и вписываете ваши переменные. В панели она как DWORD, формат Float, а в ПР Float.
    При неправильном отображении, так же переставляете местами регистры, WORD-ы.
    Местами менять где подскажите, В DUT? На втором скрине длинна регистра 2 ?
    Изображения Изображения
    Последний раз редактировалось ivan.v; 30.03.2023 в 22:58.

  2. #2

    По умолчанию

    Цитата Сообщение от ivan.v Посмотреть сообщение
    Местами менять где подскажите, В DUT? На втором скрине длинна регистра 2 ?
    Менять местами WORD можно с помощью функции, например 1 Перестановка WORD.jpg

    Код:
    FUNCTION Swap_W : REAL  // Функция  перестановки WORD в переменной REAL
    VAR_INPUT
    	rIn:REAL;        //входная переменная типа REAL
    END_VAR
    VAR
    	pInput	       : POINTER TO ARRAY[0..1] OF WORD;     // Указатель на масссив 
    	pOutput	: POINTER TO ARRAY[0..1] OF WORD;
    	rOut:REAL;     // переменная rIn с переставленными местами WORDами
    END_VAR
    _______________________________________________
    pInput :=ADR(rIn);                // Адрес входной переменной
    pOutput := ADR(Swap_W);           // Адрес выходной переменной
    
    pOutput^[ 0 ] := pInput^[ 1 ];
    pOutput^[ 1 ] := pInput^[ 0 ];
    Может вам ещё и не придётся переставлять)
    Последний раз редактировалось kondor3000; 30.03.2023 в 23:14.

  3. #3

    По умолчанию

    Цитата Сообщение от kondor3000 Посмотреть сообщение
    Менять местами WORD можно с помощью функции, например 1 Перестановка WORD.jpg

    Код:
    FUNCTION Swap_W : REAL  // Функция  перестановки WORD в переменной REAL
    VAR_INPUT
    	rIn:REAL;        //входная переменная типа REAL
    END_VAR
    VAR
    	pInput	       : POINTER TO ARRAY[0..1] OF WORD;     // Указатель на масссив 
    	pOutput	: POINTER TO ARRAY[0..1] OF WORD;
    	rOut:REAL;     // переменная rIn с переставленными местами WORDами
    END_VAR
    _______________________________________________
    pInput :=ADR(rIn);                // Адрес входной переменной
    pOutput := ADR(Swap_W);           // Адрес выходной переменной
    
    pOutput^[ 0 ] := pInput^[ 1 ];
    pOutput^[ 1 ] := pInput^[ 0 ];
    Может вам ещё и не придётся переставлять)
    да мне кажется нужно переставить. потому что значения прыгают как счетчик, идет перечисление значений. код пишется там же где и DUT?

  4. #4

    По умолчанию

    Цитата Сообщение от ivan.v Посмотреть сообщение
    да мне кажется нужно переставить. потому что значения прыгают как счетчик, идет перечисление значений. код пишется там же где и DUT?
    Добавить POU, выбираете функцию, вписываете имя Swap_W и выход REAL, язык ST, код просто копируете в русской раскладке, пояснения будут на русском. Скрин добавил в предыдущем сообщении.
    Смотреть вам надо чтобы в ПР было правильно и в Панели, 2 переворота, в итоге должно быть правильно.
    Последний раз редактировалось kondor3000; 30.03.2023 в 23:38.

  5. #5

    По умолчанию

    Цитата Сообщение от kondor3000 Посмотреть сообщение
    Добавить POU, выбираете функцию, вписываете имя Swap_W и выход REAL, язык ST, код просто копируете в русской раскладке, пояснения будут на русском. Скрин добавил в предыдущем сообщении.
    Смотреть вам надо чтобы в ПР было правильно и в Панели, 2 переворота, в итоге должно быть правильно.
    чем дальше в лес тем больше дров. думал будет проще, но нет Это нормально что тут все красным выделено?
    Изображения Изображения

  6. #6

    По умолчанию

    Цитата Сообщение от ivan.v Посмотреть сообщение
    чем дальше в лес тем больше дров. думал будет проще, но нет Это нормально что тут все красным выделено?
    А черту, для чего я нарисовал? Саму черту не надо, а всё что ниже в нижнее окно. И вторая строка у вас 2 раза, вы совсем дремучий, удалите повтор на второй строке.
    Верхее окно для объявлений, нижнее окно для кода )))))
    У вас всё должно быть как у меня в коде, лишние VAR тоже удалите.
    Последний раз редактировалось kondor3000; 31.03.2023 в 00:01.

Похожие темы

  1. Два ПР200 - slave. СП3хх - master. Обмен инфы между slave/
    от sertol64 в разделе Панели оператора (HMI)
    Ответов: 5
    Последнее сообщение: 14.06.2021, 21:32
  2. Weintek eMT3070B (master) + ПР200(slave)+Контроллер ГА (slave) по RS-485
    от Gonofar в разделе Программируемые реле
    Ответов: 4
    Последнее сообщение: 08.08.2020, 21:40
  3. Обмен данными СПК107 (master) ПР200 (slave) ТРМ151 (slave)
    от АндрейJ в разделе СПК1xx (архив)
    Ответов: 3
    Последнее сообщение: 29.06.2020, 09:51
  4. ПЛК73 slave - СП310 master ModBus вопрос по обмену
    от Иван Чернецкий в разделе ПЛК63/73
    Ответов: 4
    Последнее сообщение: 21.02.2017, 15:55
  5. ПЛК(Slave) < СП270(Master) > ПЛК(Slave). Хождение по экранам при потере связи.
    от masterfloMaster в разделе Панели оператора (HMI)
    Ответов: 3
    Последнее сообщение: 12.04.2011, 18:41

Ваши права

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