Страница 1 из 2 12 ПоследняяПоследняя
Показано с 1 по 10 из 11

Тема: ПЛК110+МВ110-8А+МВ110-8АС+ИП320

  1. #1

    По умолчанию ПЛК110+МВ110-8А+МВ110-8АС+ИП320

    Доброго дня, Уважаемые коллеги. Первый раз имею дело с оборудованием OWEN, поэтому заранее извиняюсь за глупые вопросы.
    Подскажите, пожалуйста, в чем может быть затык.
    Задача: связать по ModBus ПЛК110+МВ110-8А+МВ110-8АС+ИП320.
    ПЛК110- мастер.
    К модулям аналогового ввода подключены датчики тока- показания с которых мы сравниваем в ПЛК с уставками, при превышении стоп-машина.
    Уставки задаем с панели и на ней же выводим текущие значения + кнопка квитировать и аварийные сообщения.
    Для чтения из панели использую:
    кнопка квитировать- 8bit output module (0x01 Read Coils Status) (1 регистр + 1 сдвиг для выравнивания)
    задание уставок- Real input module (0x03 Read holding Registers) (2 регистра начиная с чётного (0,1-2,3-4,5 и т.д.)
    Для записи в панель использую:
    аварийных сообщений- 8bit input module (0x0f Force multiply Status) (1 регистр + 1 сдвиг для выравнивания)
    задание уставок- Real output module (0x10 Preset multiply Registers) (2 регистра начиная с чётного, аналогично входным регистрам).
    В итоге: при передаче значения тока с модуля в ПЛК, значение в ПЛК отображается корректно, а при передаче в панель получается совсем какая-то муть, ещё и с минусом.
    При записи значения уставки- в панели отображается корректно, а в плк что-то, аля 1,52е-32.
    Такое чувство, что или неправильно настроены поля в панели (хотя перепробовал все возможные варианты) или сдвигаются регистры ( регистр поля в панели соответствует регистру указанному в универсальном устройстве модбас).
    Подскажите, пожалуйста в чем может быть дело? Или хоть направьте куда копать. Заранее благодарю
    Изображения Изображения

  2. #2

    По умолчанию

    Цитата Сообщение от ztox Посмотреть сообщение
    Доброго дня, Уважаемые коллеги. Первый раз имею дело с оборудованием OWEN, поэтому заранее извиняюсь за глупые вопросы.
    Подскажите, пожалуйста, в чем может быть затык.
    Задача: связать по ModBus ПЛК110+МВ110-8А+МВ110-8АС+ИП320.

    Подскажите, пожалуйста в чем может быть дело? Или хоть направьте куда копать. Заранее благодарю
    1) Все регистры 4 байт и Float, в конфигурации должны быть с чётными адресами. Советую сразу ставить 2 шт. 8 бит(это будет регистр 0), потом все Register Input (Output, каждый считается за 1 регистр), а потом все Float ( считается за 2 регистра) и проследить, что адреса чётные.
    2) Нет скринов UMD, их настройки важны, для чтения и записи. В кратце, чтение делается циклически и Native для флоатов, запись по изменению.
    3) Для правильного отображения Float, иногда надо переставить местами регистры (иногда и байты). Здесь я выкладывал программу чтения регистров МВА8А, в ней есть ФБ, для перестановки местами регистров WORD в переменной Float, можете использовать https://owen.ru/forum/showthread.php?t=35094
    4) Советую на будущее упаковывать отдельные биты в маску и передавать их до 16 шт. одним регистром WORD. При приёме распаковать и использовать.
    5) Расстановка регистров по порядку, позволяет передавать, принимать до 40 однотипных регистров за одну посылку, что и реализовано в моём примере. Это намного ( в несколько раз) ускоряет обмен.
    6) Сразу в настройках ПЛК, измените цикл с 1 мс до 3-5 мс. Можно добавить модуль статистики и посмотреть загрузку ПЛК и температуру процессора.
    Лучше бы сразу выложили проект, было бы быстрее)
    Последний раз редактировалось kondor3000; 16.01.2022 в 01:01.

  3. #3

    По умолчанию

    Цитата Сообщение от kondor3000 Посмотреть сообщение
    1) Все регистры 4 байт и Float, в конфигурации должны быть с чётными адресами. Советую сразу ставить 2 шт. 8 бит(это будет регистр 0), потом все Register Input (Output, каждый считается за 1 регистр), а потом все Float ( считается за 2 регистра) и проследить, что адреса чётные.
    2) Нет скринов UMD, их настройки важны, для чтения и записи в панель из панели.
    3)Для правильного отображения Float, иногда надо переставить местами регистры ( байты). Здесь я выкладывал программу чтения регистров МВА8А, в ней есть ФБ, для перестановки местами регистров WORD в переменной Float, можете использовать https://owen.ru/forum/showthread.php?t=35094

    Лучше бы сразу выложили проект, было бы быстрее)
    Спасибо большое, регистры все четные вроде(
    Про проекты не подумал
    Во вложении.
    p.s. извиняюсь, но что есть UMD?)
    Вложения Вложения

  4. #4

    По умолчанию

    Цитата Сообщение от ztox Посмотреть сообщение
    Спасибо большое, регистры все четные вроде(
    Про проекты не подумал
    Во вложении.
    p.s. извиняюсь, но что есть UMD?)
    UMD это Universal Modbus Devise. Добавил ещё пункты в первом сообщении.

    Посмотрел программу, это жесть какая то)))))))
    Зачем такие длинные названия?
    OverLimitCurrentTransporter6 можно записать OLCT6 и если надо расшифровку (* превышение предельного тока транспортёра 6 *) или PrItr6
    OverLimitCurrentTransporter2Panel - OLCT2_p (* превышение предельного тока транспортёра 2 на панель *) или PrItr2_p

    Уже эти короткие названия можно вставлять в конфигурации вместо АТ по щелчку мыши, и обращаться к переменным как к глобальным по имени. Тогда всё что написано в глобальных можно выкинуть, все эти
    CurrentTransporter1 AT %QD6.3.0.0 : REAL; писать не надо. Больше половины проекта можно было вообще не писать)

    В FBD это выглядит как фильм ужасов) Не пробовали на CFC схему нарисовать сократив названия? Если на ST не получается.
    Последний раз редактировалось kondor3000; 16.01.2022 в 03:05.

  5. #5

    По умолчанию

    Там в блоке REAL собирается из двух WORD, код надо немного модифицировать, чтобы переставлялись регистры в переменной REAL 1 Песестановка регистров.jpg
    Код:
     FUNCTION_BLOCK SW_WORD
    VAR_INPUT
    	rIn:REAL;        (*входная переменная типа REAL*)
    END_VAR
    VAR_OUTPUT
    	rOut : REAL;      (* выходная переменная типа REAL*)
    END_VAR
    VAR
    	ptr_In :  POINTER TO ARRAY  [0..1] OF WORD;     (*указатель на входную переменную*)
    	ptr_Out : POINTER TO ARRAY[0..1] OF WORD;      (*указатель на выходную переменную*)
    END_VAR
    _______________________________________________________________
    ptr_In :=ADR(rIn);
    ptr_Out := ADR( rOut);
    
    ptr_Out^[ 0 ] :=ptr_In^[ 1 ] ;
    ptr_Out^[ 1 ] :=ptr_In^ [0] ;
    Последний раз редактировалось kondor3000; 16.01.2022 в 12:21.

  6. #6

    По умолчанию

    спасибо большое) буду пробовать. А возможно ли общаться ПЛК-ИП320 по RS-232 (панель мастер) и ПЛК-МВ по RS485 (ПЛК мастер), одновременно?

  7. #7

    По умолчанию

    Цитата Сообщение от ztox Посмотреть сообщение
    спасибо большое) буду пробовать. А возможно ли общаться ПЛК-ИП320 по RS-232 (панель мастер) и ПЛК-МВ по RS485 (ПЛК мастер), одновременно?
    Почему нет? Можно конечно, вы же по разным портам подключаетесь.
    Только я большого смысла не вижу. Чем вас не устраивает данная конфигурация? И скорость можно было сделать 115 200 вместо 9600. Только надо все блоки перепрограммировать будет.
    Панель мастер при любом сбое в обмене, может начать подвисать не по детски.

    Кстати, почему у вас у МВ110-8А и у МВ110-8АС в программе одинаковые адреса чтения? Вообще то они разные.
    У МВ110-8АС 1 канал REAL адрес 288
    Последний раз редактировалось kondor3000; 16.01.2022 в 18:47.

  8. #8

    По умолчанию

    Поправил все как советовали. Итог тот же, лимиты из панели в ПЛК читаются без проблем, данные в Панель писать не хочет( Помогите, разобраться...
    Вложения Вложения

  9. #9

    По умолчанию

    Цитата Сообщение от ztox Посмотреть сообщение
    Поправил все как советовали. Итог тот же, лимиты из панели в ПЛК читаются без проблем, данные в Панель писать не хочет( Помогите, разобраться...
    Проверяете небось по 1 каналу

    Опять 25, на первом конвейере, в панели Значение тока адрес 4Х2 стоит флоат и 1 регистр.
    На 2 конвейере Уставка тока, адрес 4Х28 стоит флоат и 1 регистр

    В контроллере UMD запись в панель, стоит By Poll Time ( циклически) а должно быть By vallue Chang ( по изменению)

    И ещё в панели, в Сервисе/Настройки проекта/ снимите галку Порядок регистров

    В модуле МВ110-8АС опять ареса неправильные, Ток конвейера 1 адрес, 16#100- это 256 регистр, в котором целочисленное значение.
    Написал же 1 регистр флоат в модуле 16#120 адрес 288.
    Калькулятор в режим Программист поставьте, набираете в HEX, число 120, переключаете в DEC и получаете 288

    Мало того, что настройки который раз неправильные поставили, так ещё и подаёте целочисленное значение на регистр REAL.
    ( тип REAL, 2 регистра, представление Float ) Откройте справку по F1, и вызубрите уже типы переменных)
    Последний раз редактировалось kondor3000; 17.01.2022 в 22:14.

  10. #10

    По умолчанию

    Дальше ещё круче. Вы пишите, что всё читает с панели.
    Запускаю программу в эмуляции, пытаюсь записать число в Уставку тока ( чтение из панели, Конвейер 1). Она тут же перезаписывается из блока LimitCurrentPanel, потому, что в эту же переменную присваивается другая и так во всех уставках.
    Как у вас вообще что-то читаться может? 1 Уставка тока.jpg
    Если бы, как уже писал, дали регистру имя, то не надо было бы искать откуда ваша переменная перезаписывается.

    Советую создать чистый проект, добавить два UMD, в них по 1 шт. Real Input, Real Output и добиться чтения записи из панели.
    С этого вообще то и надо было начать писать проект.
    Когда заработает, добавляйте остальные блоки и добивайтесь правильной работы.
    В эмуляции почти всё проверяется, кроме переворота регистров Float при передаче по Модбас.
    Последний раз редактировалось kondor3000; 18.01.2022 в 00:59.

Страница 1 из 2 12 ПоследняяПоследняя

Похожие темы

  1. ПЛК110 + МВ110-8А + МВ110-8А
    от Linker1989 в разделе ПЛК1хх
    Ответов: 12
    Последнее сообщение: 31.10.2014, 16:05
  2. ПЛК110 + ИП320 + МВ110-8А
    от WARchun в разделе ПЛК1хх
    Ответов: 18
    Последнее сообщение: 25.06.2014, 05:54
  3. ПЛК110-30+ИП320+МВ110-8А+ Модем ROBUSTEL
    от WARchun в разделе ПЛК1хх
    Ответов: 18
    Последнее сообщение: 14.02.2014, 06:18
  4. Подключение ПЛК110-30 + МВ110-16Д + МВ110-8А
    от Gorn_cem в разделе ПЛК1хх
    Ответов: 14
    Последнее сообщение: 11.07.2011, 10:29
  5. ПЛК110-32 + ИП320 + МВ110-16ДН по ModbusRTU
    от Evlord в разделе ПЛК1хх
    Ответов: 2
    Последнее сообщение: 15.04.2011, 09:11

Ваши права

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