Страница 2 из 5 ПерваяПервая 1234 ... ПоследняяПоследняя
Показано с 11 по 20 из 43

Тема: ип320, номера регистров

  1. #11
    Пользователь Аватар для drvlas
    Регистрация
    30.09.2010
    Адрес
    Киев
    Сообщений
    700

    По умолчанию

    Цитата Сообщение от drvlas Посмотреть сообщение
    Ну, вроде все. Или нет...
    Нет. Еще вопрос. Все же какое куцое описание! Читаю технические характеристики ИП320 и не вижу:

    Каковы пределы количества экранов? Где и как начинает сказываться размер проекта?

    В описании Конфигуратора пишется о том, что "динамические графические тексты" занимают много памяти и для больших проектов (более 20 экранов) их не рекомендуется использовать.

    Как сказывается число экранов на работе? У ПЛК100 памяти немеряно (я пришел от маленьких контроллеров и мне здесь всего много) и будет ли там занято 1К или 100К байт - что нам до того?
    Когда ИП320 отображает конкретный экран номер 123, он ведь читает из памяти ПЛК100 только релевантную информацию (для этого 123-го экрана)? Если да - то какая разница, сколько всего есть экранов?
    Если нет, то (страшно даже представить) ИП320 черпает из ПЛК всю память, относящуюся к ее работе?
    Или там все не так? А как?

    Почему спрашиваю. Распределяю память. Сначала положил битовую область. Хочу, чтобы она так и оставалась в начальной области - и чтобы на последующих стадиях проектирования мне не стало ее мало. Что мне мешает вообразить, что у меня будет 100 экранов и каждому я отведу по 2 байта битовых флагов (не считая тех индикаторов, которые займут байтные места)? Резервирую 200 байт.
    На байтовые (индикаторы) тупо резервирую по 20 байт на экран - еще 2000 байт. "Я съем при Вас, Вы сможете проверить"
    Потом располагаю область регистров. И тоже не хочу потом переделывать номера. Резервирую по 10 штук (20 байт) на экран = еще 2000 байт.
    То есть, при таком подходе в памяти ПЛК100 будет "захвачено" около 4200 байт, причем с огромными "дырами", ибо далеко не все экраны будут созданы и ни один из них (надеюсь) не использует все зарезервированные для него номера.

    Где мне от этого станет плохо, неудобно?

    Вопрос совершенно отдельный. При работе с конфигуратором ИП320 я создал экран 1, потом 2, 3, 4... Потом подумал, что экран номер 33 очень красиво было бы расположить сразу за экраном номер 1. Могу я его перенести на место второго и сместить номера всех от него до 32-го (не переделывая все экраны ручками)?

    Могу я для создания нового экрана взять имеющийся старый в качестве шаблона?

    Последние 2 вопроса, конечно, не сравнимы по важости с первым, но хочется работать удобно и иметь красивый список экранов...

  2. #12

    По умолчанию

    Документация на панель действительно не совсем доведена до ума.
    Возьмите готовые примеры. Там и про Float и про время есть.
    С точки зрения ModBus Slave в ПЛК без разницы будет панель ИП320 или СП270

  3. #13
    Пользователь Аватар для drvlas
    Регистрация
    30.09.2010
    Адрес
    Киев
    Сообщений
    700

    По умолчанию

    спасибо за инфо!
    но, понимаете, я тщательно формулирую конкретные вопросы именно для того, чтобы получить на них конкретные ответы. что дадут предложенные вами примеры в ответе на вопросы, например, об ограничениях? я спрашиваю, поплохеет ли мне от того, что создам 100 экранов (ведь в доках написано "большой проект" про 20 экранов) - что дадут мне примеры? или искать среди них тот, у которого много экранов, потом его собирать-запускать и зрить - будет где-то тормозить или нет?

    а адресация для индикаторов - любой бит или кратный 8? человек, который уже мне помогал (дай бог ему здоровья), написал несколько отличную инфо от той, что в доках. я спрашиваю очень простое: он ошибся случайно или в документации ошибка? можете вы рассудить?

    как работает переприсвоение кнопок - да где я такое в примерах найду? это ж умереть можно.


    иное дело, вопрос типа "как организовать такие-то функции?" - тут уже грамотно выбранный пример очень может сгодиться. но у меня здесь другие вопросы. пройдитесь по ним, если есть возможность.

    да, еще. николай, а вот по процедурам работы с ип320 (перетасовка экранов, копирование экранов) - не могли бы вы просветить?

    спасибо!
    Последний раз редактировалось drvlas; 14.11.2010 в 01:12.

  4. #14

    По умолчанию

    Цитата Сообщение от drvlas Посмотреть сообщение
    спасибо за инфо!
    но, понимаете, я тщательно формулирую конкретные вопросы именно для того, чтобы получить на них конкретные ответы. что дадут предложенные вами примеры в ответе на вопросы, например, об ограничениях? я спрашиваю, поплохеет ли мне от того, что создам 100 экранов (ведь в доках написано "большой проект" про 20 экранов) - что дадут мне примеры? или искать среди них тот, у которого много экранов, потом его собирать-запускать и зрить - будет где-то тормозить или нет?

    а адресация для индикаторов - любой бит или кратный 8? человек, который уже мне помогал (дай бог ему здоровья), написал несколько отличную инфо от той, что в доках. я спрашиваю очень простое: он ошибся случайно или в документации ошибка? можете вы рассудить?

    как работает переприсвоение кнопок - да где я такое в примерах найду? это ж умереть можно.


    иное дело, вопрос типа "как организовать такие-то функции?" - тут уже грамотно выбранный пример очень может сгодиться. но у меня здесь другие вопросы. пройдитесь по ним, если есть возможность.

    да, еще. николай, а вот по процедурам работы с ип320 (перетасовка экранов, копирование экранов) - не могли бы вы просветить?

    спасибо!
    1. Можно просто Андрей.
    2. По панелям я вообще не силен - я бы эту тему в панелях завел... На сколько знаю количество экранов специально не ограничивается. Если у Вас будет 100 пустых экранов - будет работать. Если у Вас 10 экранов с верху до низу забитых float-ами и т.д. - может и их не хватить. Все дело в размере итоговой программы.
    3. Адреса для кнопок и ламп - бит может иметь любой адрес, ни о какой кратности ничему речи быть не может... или я что то недопонимаю в вопросе...
    4. Что такое переприсваивание кнопок?

    P.S. чтобы получать лаконичный ответ на конкретный вопрос - задавайте его коротко и лаконично.

    P.S.S. В примерах есть очень много полезной информации, которая возможно прямо не отвечает, но в примере где несколько битов видно, что адреса у них не кратны 8, к примеру.

  5. #15

    Wink рекомендации человека со стороны

    для панели опереатора ип320 могу порекомендовать создавать экраны с нумерацией кратной 10 - очень удобно добавлять экраны. :-)
    Цитата Сообщение от николаев андрей Посмотреть сообщение
    а с точки зрения расширения программы я бы начинал с битов. но имхо - дело вкуса и удобства.
    из выше прочитанного я понял что панель оператора мастер, а плк1хх слейв. (я так всегда делаю) в этом случае очень удобно на плкххх в конфигурации создавать несколько слейвов только с разными адресами:
    1. слейв 1 – измеренные значения. (всё регистрами)
    2. слейв 2 – ввод аварийных уствок. (всё регистрами)
    3. слейв 3 – индикация нештатных ситуаций (по восемь бит - например датчик температуры прямого отопления неисправен и т. д.)
    4. слейв 4 – управление системой автоматического управление гвс (по восемь бит - например вклю/выкл отопление и т. д)
    5. и тд. (дальше уже сами)
    в этом случае даже если надо что-то добавить или оказалось что-то не нужное в панели оператора не так уж много переделывать и всё очень удобно и красиво получается :-)
    Автоматизация Диспетчеризация Сервис
    e-mail: ads-kaluga@mail.ru

  6. #16
    Пользователь Аватар для drvlas
    Регистрация
    30.09.2010
    Адрес
    Киев
    Сообщений
    700

    По умолчанию

    Цитата Сообщение от Николаев Андрей Посмотреть сообщение
    1. Можно просто Андрей.
    Извините, заработался!

    Цитата Сообщение от Николаев Андрей Посмотреть сообщение
    я бы эту тему в панелях завел...
    Нашел! Спасибо! А как бы туда перенести эту мою тему? Нехорошо как-то вышло...

    Цитата Сообщение от Николаев Андрей Посмотреть сообщение
    P.S. чтобы получать лаконичный ответ на конкретный вопрос - задавайте его коротко и лаконично.
    Стараюсь, чтобы понятно... Ну, мы с Вами уже говорили об этом. очевидно, у нас чуть разные привычки. Моим уже так много лет, что прямо беда с ними

    2 Gans: Спасибо отдельное! Вы тоже из немногословных?
    Из Ваших интересных подсказок (буду использовать, ИСТЕСНА) я сделаю парочку выводов, уж не обессудьте болтуна:

    1) Таки нет у Конфигуратора умения переставлять экраны. Если уж создал 1, 2, 3, то поставить следующий после первого - зась! Отсюда и нумерация по 10. Что ж, вспомним Бейсик...

    2) Можно одно и то же физическое устройство связывать с Мастером под разными номерами. Это как раз и позволяет что-то упрощать при переделках. Но что? Я не понял. Ведь у слейва 1 и слейва 2 физически одна память. Если я занял регистром место по адресу 0, то этот адрес у второго слейва уже нельзя использовать? Или что? Или компилятор у ПЛК сам разберется с областями памяти нескольких созданных Слейвов и уплотнит физическое размещение?
    А как с трафиком? Все же, что Мастер вычитывает? Строго то, что относится к активному Экрану? Как часто? Где, где это можно прочесть?

    3) Похоже (эх!) мне придется переделать некоторую работу (в связи с п.1 из понятого). И похоже, что таки скопировать экран для шалона нельзя. Понимаешь, ведь та идея с динамически переключаемыми экранами (другая ветка) - она же великолепна! Но немного влом повторять каждый экран 4 раза.

    Вообще, мне, как новичку, очень импонирует многое в самой организации процесса создания устройства. Вот это разнесение всей программы на кусочки, описываемые (трудно назвать процесс работы с Конфигуратором прораммированием) в независимых частях - в ИП320 создал весь интерфейс пользователя, в ПЛК нарисовал алгоритм, где-то на уровне системы обмена Мастер-Слейв за меня решили вопросы обмена... Очень ново и здорово для человека, который в битиках привык возиться!
    Поэтому методичное занесение адресов регистров, размещение пиктограмм на экранах, ведение таблиц распределения адресов и прочее - это довольно скучно, но это здОрово! Думаю, и сопровождение таких проектов, их модификация - простой процесс. При условии, что продумано хорошо и задокументировано тоже
    Вот и пытаюсь сейчас продумать. Когда опыта - ноль. Ладно, пора ломать свои таблицы.

    Кстати, решил, вот что. Всю структуру "сначала биты, потом область байтов, потом область регистров" я не буду распространять на все 100 экранов (вообще-то у меня до 20 экранов, это я так утрирую, чтобы вы мне подсказали подводные камни. Но не подсказываете, значит плыву вслепую).
    Получается вот что. сначала область на 20 экранов для битов. Я вроде продумал все - должно хватить. Причем здесь в одни рамки (по объему резервирования) попадают и очень насыщенные экраны, и такой себе экран-заставка (ЛОГО). А у заставки вообще один регистр - номер версии программы!
    Вот я и подумал: а почему так важно биты в начале? Да никакой разницы! Просто номера битов в начала идут 3-хзначные, а потом придется 4-5 значные писать. Ну и что?
    Поэтому, затевая очередную переделку, я создаю на каждый экран свою структуру биты-байты-регистры. Ее параметры (размеры) я выбираю из каких-то представлений о будущем наполнении экрана. Скажем, для экрана ЛОГО я возьму 1 регистровый адрес на биты, один на байты и парочку на регистры. И ясно, что этому экрану такой короткой структуры с головой хватит. А для экрана ручного управления механизмами я отведу побольше памяти - там мало ли чего придумаю еще.
    Вот так и распределю память: память для структуры первого экрана, память для структуры второго экрана и т.д. Тогда и колическтов экранов меня не жмет: добавляю экран, добавляю память.
    Где-то так.
    Вот сейчас правил оЧепятки и возник лаконичный вопрос: может я вообще зря называю все это распределением памяти? Это же распределение адресов!
    Тогда вот лаконика:

    Если в проекте у меня всего 2 регистра. Если номер одного из них 0, а второго 10000 - то в памяти ПЛК компилятор разместит их рядом? Он преобразует номера регистров в рядом расположенные физические адреса?
    Последний раз редактировалось drvlas; 14.11.2010 в 15:00.

  7. #17

    По умолчанию

    На байтовые (индикаторы) тупо резервирую по 20 байт на экран
    По 160 индикаторов и/или кнопок на одном экране?
    На панели ИП320 всего 20 кнопок, и чтобы их все без остатка назначить, достаточно 5 байт. Да и 20 видимых индикаторов с поясняющим текстом на ее экранчик не влезет - это ж не индустриальный писюк с SVGA-дисплеем 1024*768...
    Если все еще непонятно, в каждом созданном вами элементе "8 бит" можно уместить ровно 8 индикаторов и/или кнопок (битовых объектов, принимающих значение True или False).
    Пример: добавляете вы в пустой Modbus Slave (т.е с нулевого адреса) субэлемент "8 bit". И обзываете его "Knopochki". Теперь из любого места программы ПЛК вы можете работать с любым битом этого элемента, как с глобальной переменной:

    IF Knopochki.5 = TRUE THEN (* если на ИП320 в каком-то экране нажали эту кнопку *)
    Knopochki.0 := FALSE; (* то погасим вот этот индикатор *)
    Pause := TRUE; (* и приостановим работу установки *)
    ELSE
    Knopochki.0 := TRUE; (* иначе его включим... *)
    Pause := FALSE; (* и разрешим установке работать дальше... *)
    END_IF

    В проекте панели на этом "каком-то экране" объекту-кнопке присвоен адрес бита "0х"5, а индикатору "0х"0. И на каком-то другом экране вы можете повторно обращаться к тем же самым битам, если вам и там надо вставить кнопку и индикатор того же назначения (пусть даже они там визуально оформлены как-то иначе).
    Вообще говоря, вы явно не с того конца за разработку программы ПЛК взялись. Сосредоточьтесь на ее основном алгоритме, проработайте его. А затем уже пришьете к этому алгоритму редактирование рабочих и управляющих переменных, индикацию и всю прочую требуху (то есть HMI, человеко-машинный интерфейс для оператора установки). Вот тогда и станет ясно, сколько и каких переменных вам требуется для организации HMI. А затем уже раскидаете эти переменные по экранам своего проекта панели.

  8. #18

    По умолчанию

    как работает переприсвоение кнопок
    нет никакого "переприсвоения".
    есть объект "кнопка", который вы создаете на экране. в его свойствах назначается реальная кнопка на панели, по нажатию которой объект выполняет заданное вами действие (сброс в 0, установку в 1, триггерное переключение 0/1 или генерацию короткого импульса) с выбранным вами битом в области ввода-вывода.
    это назначение действует только в пределах данного экрана. на другом экране та же самая кнопка панели может производить совсем другое действие с совсем другим битом, или совсем ничего не делать.
    в проекте у меня всего 2 регистра. если номер одного из них 0, а второго 10000
    вы не назначаете номера регистрам, они нумеруются автоматически, при создании элемента в области ввода-вывода. чтобы получить номер 10000, придется создать перед ним 10 тысяч регистров...
    а почему так важно биты в начале? да никакой разницы! просто номера битов в начала идут 3-хзначные, а потом придется 4-5 значные писать. ну и что?
    ничего. это не догма. можете размещать субэлементы ввода-вывода в любом живописном беспорядке, если вам так окажется удобнее. все равно при разработке проекта с объемистым вводом-выводом придется потратить немного времени и завести табличку (хоть в экселе, хоть на бумаге), где будет имя каждого элемента, занимаемые им адреса и комментарий по его функционалу. иначе запутаетесь, пытаясь все это в голове удержать.

  9. #19
    Пользователь
    Регистрация
    23.09.2008
    Адрес
    Центророссийск
    Сообщений
    2,318

    По умолчанию

    опять он тут.


    таки нет у конфигуратора умения переставлять экраны. если уж создал 1, 2, 3, то поставить следующий после...
    сортируются они по своему номеру-индексу, а если надо кудато-то перетащить - копируете экран и сносите исходный.
    и нумерация через 10 нужна исключительно для визуального удобства работы в конфигураторе, экраны скучкованы по смыслу.а вообще-то нумерация экрана пофиг.


    если я занял регистром место по адресу 0, то этот адрес у второго слейва уже нельзя использовать?
    только через ^

    ведь у слейва 1 и слейва 2 физически одна память
    у штатных слейвов разная.

    или компилятор у плк сам разберется с областями памяти нескольких созданных слейвов
    это он любезно предоставит вам. и только вам.
    а раз слейв один, а мастеров туева хуча ( например на разных интерфейсах) то, например, пересылка мастер1>слейв>мастер2
    мастер2.уставка:=мастер1.уставка


    если в проекте у меня всего 2 регистра. если номер одного из них 0, а второго 10000 - то в памяти плк компилятор разместит их рядом? он преобразует номера регистров в рядом расположенные физические адреса?
    Cкорее всего рядом. но вас это не должно парить. это не прямые регистры,
    это область отображения.
    Последний раз редактировалось Валенок; 14.11.2010 в 10:36.

  10. #20
    Пользователь
    Регистрация
    23.09.2008
    Адрес
    Центророссийск
    Сообщений
    2,318

    По умолчанию

    ИП320 черпает из ПЛК всю память, относящуюся к ее работе
    Если в проекте у меня всего 2 регистра. Если номер одного из них 0, а второго 10000 - то в памяти ПЛК компилятор разместит их рядом? Он преобразует номера регистров в рядом расположенные физические адреса?
    Тока щас допер до смысла вопроса.

    ИП320 ниоткуда ничего не черпает. У него свои, независимые ресурсы.И если в проекте на ИП320 всего два регистра @0 и @10000, То, надеясь на разработчиков, предполагаю, что это не прямые регистры, и реально занятая область в ИП-320 - 4 байта.
    И если при этом он мастер, то для создания ПЛК-слейва (штатного),

    Terrano1992 :
    чтобы получить номер 10000, придется создать перед ним 10 тысяч регистров...


    Если же мастер - ПЛК, то не вижу проблем.

Страница 2 из 5 ПерваяПервая 1234 ... ПоследняяПоследняя

Ваши права

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