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

Тема: ПЛК 110, модбас и массивы структур.

  1. #1

    По умолчанию ПЛК 110, модбас и массивы структур.

    День добрый всем присутствующим.
    Пытался решить задачу правильно - не получилось, сдал заказчику проект вида ctrl-c+ctrl-v, но хочется понять как это делать правильно: имеем: установку состоящую из нескольких десятков идентичных узлов, каждый из которых независимо управляется по модбасу.
    Логично - создать структуру, которая описывает данные одного узла и массив таких структур, описывающий установку в целом.
    Соответственно HMI имеет дело с одним элементом массива и все хорошо, проблем с местным управлением нет.
    А теперь пытаемся отразить все это в модбас карту - и ничего не получается, поскольку руками отредактировать связь нельзя, а перетаскивание приводит к ссылке из модбас переменной на имя массива, что глупость.
    Есть где посмотреть пример как это делается по уму?
    Кстати - почему попытка развернуть в дереве массив структур показывает список первого уровня вложенности и дальше не разворачивается?
    Да, забыл сказать - мы про MS4d
    Последний раз редактировалось lttn; 01.12.2018 в 16:21.

  2. #2
    Пользователь
    Регистрация
    11.01.2009
    Адрес
    Кострома
    Сообщений
    3,144

    По умолчанию

    вы внесите в структуру к примеру номер+ данные. По номеру данные в ПЛК записываются в нужные регистры массиива.
    поиск нужной структуры в массиве выполняется с помощью функции FOR и Exit.
    Пример: есть некий архив, для поиска нужной информации задаем дату. По дате находится нужная структура в массиве и данные выводятся в регистр модбас.
    если разрешена запись в панели, то можно еще и изменить данные.
    Так же возможно вам подойдет функция "рецепты".

  3. #3

    По умолчанию

    это, к сожалению, совсем не про то.
    Упростим проблему: есть структура с условным названием "настройки". В ней, к примеру, несколько целочисленных полей.
    Эти поля должно быть возможно читать и изменять как через регистры модбас, так и с веб-интерфейса контроллера, например с использованием компонента "текстовый ввод".
    Как это сделать?

  4. #4

    По умолчанию

    2 варианта.
    Правильный
    создаёте 3 структуры, 1-я для доступа по modbus - отображаем её на область I/O ModBus. Вторая для визуализации - используем в визуализации.
    3-я хранится в retain и используется алгоритмом ПЛК.
    Диспетчер данных (придётся написать) выбирает откуда брать данные (стратегии могут быть разными) и синхронизирует 3 структуры.

    1 структура, отображена в modBus slave, он уже в retain, с этой же областью работают остальные потребители.
    Куча подводных камней, но для закрытого решения, где Вы пишите все- приемлемо.
    Последний раз редактировалось Пантелеев Дмитрий; 18.10.2019 в 09:42.
    Тролль-наседка, добрый, нежный и ласковый

  5. #5

    По умолчанию

    Цитата Сообщение от Филоненко Владислав Посмотреть сообщение
    2 варианта.
    Правильный
    создаёте 3 структуры, 1-я для доступа по modbus - отображаем её на область I/O ModBus. Вторая для визуализации - используем в визуализации.
    3-я хранится в retain и используется алгоритмом ПЛК.
    Диспетчер данных (придётся написать) выбирает откуда брать данные (стратегии могут быть разными) и синхронизирует 3 структуры.

    1 структура, отображена в modBus slave, он уже в retain, с этой же областью работают остальные потребители.
    Куча подводных камней, но для закрытого решения, где Вы пишите все- приемлемо.
    я бы как раз по 2 варианту и делал. Отслеживать и синхронизировать, откуда пришли изменения (по модбасу или из формы) надо по-любому. Иначе только геммор заработаешь.
    Последний раз редактировалось Пантелеев Дмитрий; 18.10.2019 в 09:42.

  6. #6

    По умолчанию

    Цитата Сообщение от Филоненко Владислав Посмотреть сообщение
    2 варианта.
    Правильный
    создаёте 3 структуры, 1-я для доступа по modbus - отображаем её на область I/O ModBus.
    -- уже не работает. Нельзя никаким способом отобразить компонент структуры на внешний канал. Можно структуру целиком, но тогда связь создастся, но проект не соберется с сообщением "Error: 'Система.PLC110_30 1.Внешние каналы.структура' ссылается на атрибут, не назначенный в задачу : 'Объекты.Объект 1.структура' Источник: 'Система.PLC110_30 1.Внешние каналы.структура'".
    Цитата Сообщение от Филоненко Владислав Посмотреть сообщение
    ...
    1 структура, отображена в modBus slave, он уже в retain, с этой же областью работают остальные потребители.
    Куча подводных камней, но для закрытого решения, где Вы пишите все- приемлемо.
    -- та же фигня. Нельзя связать внешний канал с компонентом структуры. И с элементом массива нельзя. Только с отдельностоящей переменной.

  7. #7

    По умолчанию

    Я протупил и почему то думал, что речь о ПЛК с КоДеСис.
    P.S. Валенок, хватит уже флудить. Для флуда пикабу и башорг есть!
    Тролль-наседка, добрый, нежный и ласковый

  8. #8
    Пользователь
    Регистрация
    12.07.2007
    Адрес
    Воронеж
    Сообщений
    882

    По умолчанию

    Цитата Сообщение от Филоненко Владислав Посмотреть сообщение
    Я протупил и почему то думал, что речь о ПЛК с КоДеСис.
    P.S. Валенок, хватит уже флудить. Для флуда пикабу и башорг есть!
    ОМГ, башорг.


    P.S.
    Фишки.нет и Яплакалъ постарше будут пикабу, однако
    Последний раз редактировалось приборист; 17.10.2019 в 22:04.

Похожие темы

  1. Динамические массивы в ST ???
    от garfild4232 в разделе Помощь Разработчикам
    Ответов: 3
    Последнее сообщение: 02.03.2016, 09:24
  2. Ответов: 4
    Последнее сообщение: 05.09.2012, 07:17
  3. Ответов: 41
    Последнее сообщение: 08.04.2011, 10:56
  4. инициализация массива структур
    от drvlas в разделе ПЛК1хх
    Ответов: 3
    Последнее сообщение: 16.12.2010, 18:31
  5. Подскажите про массивы
    от alexxx в разделе ПЛК1хх
    Ответов: 0
    Последнее сообщение: 20.11.2008, 22:35

Ваши права

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