1. Обязательно представиться на русском языке кириллицей (заполнить поле "Имя").
  2. Фиктивные имена мы не приветствуем. Ивановых и Пупкиных здесь уже достаточно.
  3. Не надо писать свой вопрос в первую попавшуюся тему - всегда лучше создать новую тему.
  4. За поиск, предложение и обсуждение пиратского ПО и средств взлома - бан без предупреждения. Непонятно? - Читать здесь.
  5. Рекламу и частные объявления "куплю/продам/есть халтура" мы не размещаем ни на каких условиях.
  6. Перед тем как что-то написать - читать здесь, а затем здесь и здесь.
  7. Не надо писать в ЛС администраторам свои технические вопросы. Администраторы форума отлично знают как работает форум, а не все-все контроллеры, о которых тут пишут.

M340 групповое чтение каналов

Unity Pro (Control Expert), Quantum, Premium, M340, M580, Hybrid DCS, Process Expert, Zelio, Twido, M17*, M2**, SCADAPACK, SoMachine, MachineExpert, ZelioSoft, TwidoSoft, TwidoSuite, TelePace

Модераторы: Глоб.модераторы, Специалисты SE

Ответить
Аватара пользователя

Автор темы
megavolt86
эксперт
эксперт
Сообщения: 1172
Зарегистрирован: 14 ноя 2013, 20:35
Имя: Анатолий Сергеевич
Страна: Россия
город/регион: Башкортостан
Благодарил (а): 13 раз
Поблагодарили: 68 раз

M340 групповое чтение каналов

Сообщение megavolt86 »

Здравствуйте, друзья!
Разрабатываю большой проект с использованием двух м580 на 4 стойках каждый и двух м340 на 2 стойках каждый. Так как каналов много, интересует возможность группового чтения каналов.
Описание. У м580 при добавлении модуля в конфигурация автоматом создается структура, я эту структуру перелопачиваю посредством рукописного dfb и получаю на выходе группу ddt переменных. Это необходимо для связки с citect, в котором уже есть своя библиотека джинов и чтоб максимально упростить разработку скады подгоняю структуру в плк под структуру в citect.
А вот м340 нет возможности при добавлении в конфигурацию получить готовую структуру. Пробовал сам объявлять массив формата array[0..8] of int по адресу %iw0.2.0, так к адресу элементов массива прибавляется лишний 0 (%iw0.2.1.0) - компилятор на такую конструкцию ругается. Еще как вариант пробовал через цикл опросить группу каналов через абсолютный адрес, компилятор на такую конструкцию ругается.
Может кто сталкивался с такойзадачкой? Как ее можно решить?
:ext_secret:

leon78
эксперт
эксперт
Сообщения: 1146
Зарегистрирован: 25 июл 2008, 10:06
Имя: Леонид
Страна: РФ
Благодарил (а): 49 раз
Поблагодарили: 134 раза

M340 групповое чтение каналов

Сообщение leon78 »

В конфигурации контроллера выберете Memory Management - Mixed Topologica and State RAM.
Можно будет назначить модулям аналогового ввода адрес типа %IW и читать их прямым обращением к памяти (например %IW0[индекс = адресу]), либо привязать массивы к адресам модулей.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Хард - это то, что можно швырнуть об стенку, а софт - это то, что можно лишь обматерить.
Аватара пользователя

Автор темы
megavolt86
эксперт
эксперт
Сообщения: 1172
Зарегистрирован: 14 ноя 2013, 20:35
Имя: Анатолий Сергеевич
Страна: Россия
город/регион: Башкортостан
Благодарил (а): 13 раз
Поблагодарили: 68 раз

M340 групповое чтение каналов

Сообщение megavolt86 »

leon78, такой вопрос. Как я понял каждый модуль после активации state ram будет иметь адрес каналов не вида %iw[Rack]. [slot]. [channel], а последовательно %iw1... 8, следующий модуль 9...16?
:ext_secret:

leon78
эксперт
эксперт
Сообщения: 1146
Зарегистрирован: 25 июл 2008, 10:06
Имя: Леонид
Страна: РФ
Благодарил (а): 49 раз
Поблагодарили: 134 раза

M340 групповое чтение каналов

Сообщение leon78 »

%iw[Rack]. [slot]. [channel] сохраниться (наверное, лучше проверить).
megavolt86 писал(а): 04 июн 2020, 11:06 а последовательно %iw1... 8, следующий модуль 9...16?
Адрес первого канала модуля задается в окне конфигурации модуля (на скриншоте слева внизу), его можно менять.
Хард - это то, что можно швырнуть об стенку, а софт - это то, что можно лишь обматерить.
Аватара пользователя

Автор темы
megavolt86
эксперт
эксперт
Сообщения: 1172
Зарегистрирован: 14 ноя 2013, 20:35
Имя: Анатолий Сергеевич
Страна: Россия
город/регион: Башкортостан
Благодарил (а): 13 раз
Поблагодарили: 68 раз

M340 групповое чтение каналов

Сообщение megavolt86 »

leon78, почему у вас в примере используется %iw0?
При создании секции в dfb данная конструкция подсвечивается как ошибочная?
У вас нет необходимых прав для просмотра вложений в этом сообщении.
:ext_secret:

leon78
эксперт
эксперт
Сообщения: 1146
Зарегистрирован: 25 июл 2008, 10:06
Имя: Леонид
Страна: РФ
Благодарил (а): 49 раз
Поблагодарили: 134 раза

M340 групповое чтение каналов

Сообщение leon78 »

Поставьте галочку Tools - Project Settings - Variables - Directly represented array variables
Хард - это то, что можно швырнуть об стенку, а софт - это то, что можно лишь обматерить.
Аватара пользователя

Автор темы
megavolt86
эксперт
эксперт
Сообщения: 1172
Зарегистрирован: 14 ноя 2013, 20:35
Имя: Анатолий Сергеевич
Страна: Россия
город/регион: Башкортостан
Благодарил (а): 13 раз
Поблагодарили: 68 раз

M340 групповое чтение каналов

Сообщение megavolt86 »

leon78 писал(а): 04 июн 2020, 11:22 Поставьте галочку
не помогло, кстати цпу р34 1000, может в этом дело...
Кстати в цикле можно использовать конструкцию

Код: Выделить всё

ch[i] :=%iw[Rack].[slot].[i]
если рак и слот это входные переменные dfb?
Кстати указанный вами пример работает всекции mast, авот в секции dfb подчеркивается...
:ext_secret:

leon78
эксперт
эксперт
Сообщения: 1146
Зарегистрирован: 25 июл 2008, 10:06
Имя: Леонид
Страна: РФ
Благодарил (а): 49 раз
Поблагодарили: 134 раза

M340 групповое чтение каналов

Сообщение leon78 »

Не знаю, попробуйте.
Не уверен, что внутри DFB можно использовать адреса памяти, кроме системных %SW и %S.
Хард - это то, что можно швырнуть об стенку, а софт - это то, что можно лишь обматерить.
Аватара пользователя

Автор темы
megavolt86
эксперт
эксперт
Сообщения: 1172
Зарегистрирован: 14 ноя 2013, 20:35
Имя: Анатолий Сергеевич
Страна: Россия
город/регион: Башкортостан
Благодарил (а): 13 раз
Поблагодарили: 68 раз

M340 групповое чтение каналов

Сообщение megavolt86 »

leon78 писал(а): 04 июн 2020, 11:45попробуйте
остановился покачто на использовании массива в переменных.
А вот вопрос... Где бы можно было почитать про косвенную адресацию на плк модикон?
:ext_secret:

leon78
эксперт
эксперт
Сообщения: 1146
Зарегистрирован: 25 июл 2008, 10:06
Имя: Леонид
Страна: РФ
Благодарил (а): 49 раз
Поблагодарили: 134 раза

M340 групповое чтение каналов

Сообщение leon78 »

megavolt86 писал(а): 04 июн 2020, 11:59 А вот вопрос... Где бы можно было почитать про косвенную адресацию на плк модикон?
В хелп "References to Data Instances by Address"
Хард - это то, что можно швырнуть об стенку, а софт - это то, что можно лишь обматерить.
Ответить

Вернуться в «ПЛК»