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

Тема: ПЛК63+2МВ110-16Д+МУ110-16Р

  1. #1

    По умолчанию ПЛК63+2МВ110-16Д+МУ110-16Р

    Добрый день
    Необходимо чтобы ПЛК63 опрашивал два модуля МВ110-16Д и управлял одним модулем МУ110-16Р

    Реализовал блочек, но почему-то часто код ошибки (255). Соответственно считывание параметров с МВ16Д идет с большим лагом, хотя на МУ тоже ошибка но запись управляющих сигналов идет отлично. Помогите найти ошибку, пожалуйста.
    Вложения Вложения

  2. #2

    По умолчанию

    Мне стало интересно, я поглядел чуток. Я с ПЛК63 не работал, могу ошибаться.
    Из того, что я не понял:
    а) Почему в каждом FB для опроса модуля IO есть команды на открытие порта и его настройку?
    Ведь порт надо открыть один раз, и дальше его и использовать всегда открытым.
    То есть по идее должен быть некий FB вида "Rs485Port", который мы при старте программы (на Init) открываем, и дальше во все FBшки опросов передаём его дескриптор (у тебя это Settings.Port).
    б) Нет проверок на то, открылся ли вообще этот порт и всё ли хорошо с ним. У блока "COM_SERVICE" есть выход ".Opened" - и вот когда он TRUE - то тогда порт открылся успешно, и можно начинать опрос. А не когда ты дал команду на открытие порта и поставил в коде "com_ready := TRUE".
    Но тут я могу ошибаться, возможно не так понял код.
    в) И самое ИМХО важное - у тебя в конфигурации задач ничего не указано про время задачи. Если там пусто - то по умолчанию выполняется PLC_PRG как попало. А вот если руками туда её добавить, и задать время выполнения, например, 10-20 мсек - то тогда она будет работать быстрее.

    В общем, итого моё ИМХО - это что первым делом в каждом FB опроса межу собой дерутся порты. На втором месте - скорость выполнения задачи.
    Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живёте. © Steve McConnell
    Мой рабочий блог со статьями про щиты и автоматику ОВЕН - Cs-Cs.Net | Почта: Info@Cs-Cs.Net

  3. #3

    По умолчанию

    a) в опросе участвует только один FB, остальные это варианты экспериментов чтобы работать конкретно с отдельными устройствами. В данном случае задействован только один(MU_2MV). Прошу прощения что не удалил остальные
    б) ну да, возможно. я первый раз с этой библиотекой разбираюсь, результат это совмещение разных проектов что находил в примерах и форуме. Но учитывая что на МУ задание идет, и раз в несколько запросов с МВ иногда считывается чтото, думаю порт всётаки открылся
    в) ну в PLC_PRG у меня будет еще и основное тело добавлено, сейчас только отдельно обработка работы модбас, в параллели будет основная программа

    завел в отдельный PRG работу с модбасом, и в конфигурацию задач. Вроде заработало как надо. спасибо. Но почему-то всё равно немного костыли напоминает)
    Последний раз редактировалось lectorleo; 25.01.2022 в 13:45.

  4. #4

    По умолчанию

    Цитата Сообщение от lectorleo Посмотреть сообщение
    Добрый день
    Необходимо чтобы ПЛК63 опрашивал два модуля МВ110-16Д и управлял одним модулем МУ110-16Р

    Реализовал блочек, но почему-то часто код ошибки (255). Соответственно считывание параметров с МВ16Д идет с большим лагом, хотя на МУ тоже ошибка но запись управляющих сигналов идет отлично. Помогите найти ошибку, пожалуйста.
    Где объявление функц. блока MV_16D в PLC_PRG ?
    Цитата Сообщение от lectorleo Посмотреть сообщение
    завел в отдельный PRG работу с модбасом, и в конфигурацию задач. Вроде заработало как надо. спасибо. Но почему-то всё равно немного костыли напоминает)
    С таким же успехом можно было цикл ПЛК увеличить с 1 мс до 10-20 мс. Программа PLC_PRG исполняется каждый цикл ПЛК.
    Последний раз редактировалось kondor3000; 25.01.2022 в 14:15.

  5. #5

    По умолчанию

    Нет, как раз-таки правильное указание задач руками - это хорошо. Работу PLC_PRG сделали для тех, кто начинает и кто не знает про задачи.
    Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живёте. © Steve McConnell
    Мой рабочий блог со статьями про щиты и автоматику ОВЕН - Cs-Cs.Net | Почта: Info@Cs-Cs.Net

  6. #6

    По умолчанию

    Цитата Сообщение от kondor3000 Посмотреть сообщение
    Где объявление функц. блока MV_16D в PLC_PRG ?
    Нету, писал выше, что мой косяк что лишнее не удалил. Там только один FB используется который работает с одним МУ и двумя МВ

  7. #7

    По умолчанию

    Цитата Сообщение от Cs-Cs Посмотреть сообщение
    Нет, как раз-таки правильное указание задач руками - это хорошо. Работу PLC_PRG сделали для тех, кто начинает и кто не знает про задачи.
    Во всех проектах ПЛК63 и ПЛК73 работаю с PLC_PRG (который находится в "свободном плавании", хотя с ПЛК работаю не первый год и в курсе, что такое задачи), проекты, конечно, имеют структуру, но все вызовы осуществляются из PLC_PRG, всё отлично работает.
    Последний раз редактировалось Spawn; 26.01.2022 в 13:00.

  8. #8

    По умолчанию

    Spawn Понял, спасибо!
    Я учился от обратного: хотел уйти от PLC_PRG к своим именам типа TaskIO, TaskLight - и поэтому сразу полез в конфигурацию задач, и к ней привык: что можно сразу и жёстко задать нужное время цикла.

  9. #9

    По умолчанию


    Да не за что, просто поделился своим опытом...

Похожие темы

  1. ПЛК110-60 + МВ110-32ДН+МУ110-16Р+МУ110-8И Проблема Modbus RTU
    от Diesel_spb в разделе ПЛК (среда MasterSCADA 4D)
    Ответов: 11
    Последнее сообщение: 14.12.2021, 05:24
  2. плк63+му110-16к
    от slacker в разделе ПЛК63/73
    Ответов: 5
    Последнее сообщение: 09.02.2019, 11:12
  3. ПЛК63 + МВ110-8АС + МУ110-8И + МК110-8ДН-4Р опрос по modbus
    от Егор_Егор в разделе ПЛК63/73
    Ответов: 20
    Последнее сообщение: 03.08.2018, 10:03
  4. Ответов: 5
    Последнее сообщение: 29.06.2013, 23:04
  5. ПЛК63 + МУ110-6У + ИП320
    от Serp в разделе ПЛК63/73
    Ответов: 13
    Последнее сообщение: 26.01.2013, 20:11

Ваши права

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