Страница 3 из 5 ПерваяПервая 12345 ПоследняяПоследняя
Показано с 21 по 30 из 43

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

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

    По умолчанию

    Цитата Сообщение от Terrano1992 Посмотреть сообщение
    ...при разработке проекта с объемистым вводом-выводом придется потратить немного времени и завести табличку (хоть в экселе..), где будет имя каждого элемента, занимаемые им адреса и комментарий по его функционалу....
    +1е38

    Без этого проект - спам. Любой объем ввода-вывода необходимо документировать в отдельном документе, т.к. область io логически независима от существующих на данный момент слейвов и мастеров.

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

    По умолчанию

    Ну, порадовали, спасибо огромное!

    Давайте по порядку.

    Цитата Сообщение от Terrano1992 Посмотреть сообщение
    Если все еще непонятно, в каждом созданном вами элементе "8 бит" можно уместить ровно 8 индикаторов и/или кнопок (битовых объектов, принимающих значение True или False).
    Если все еще не понятен мой вопрос, то повторяю его настойчиво:

    Документ:
    Панель оператора ИП320
    Конфигурирование
    Руководство пользователя

    Пункт 4.8.
    Страница 21.
    "При работе панель анализирует весь байт по логике ИЛИ"

    таблица 7.1 на странице 30 "Магниты" - тоже по байту на индикатор.

    Умоляю, прокомментируй именно это! Скажи, что там наврали - и я все прощу

    Цитата Сообщение от Terrano1992 Посмотреть сообщение
    Вообще говоря, вы явно не с того конца за разработку программы ПЛК взялись. Сосредоточьтесь на ее основном алгоритме, проработайте его.
    Почему? Я иду параллельно, с вашей помощью Там у меня есть алгоритм, много чего напробовал. Более того, задача-то у меня в переводе проекта с микропоцессора на ПЛК100. Т.е алгоритм достаточно понятен.
    Но уже чувствую, что пора взаимодействовать с панелью. И тут вижу, что продумать систему экранов - очень важно. Это и удобство работы оператора, и надежность работы системы, и всякое-разное. Думаю, самое время хоть в черне все набросать. Не забывайте, что я же ни разу не запускал панель с ПЛК! А это может многое изменить в моих представлениях.

  3. #23

    По умолчанию

    Цитата Сообщение от drvlas Посмотреть сообщение
    Пункт 4.8.
    Страница 21.
    "При работе панель анализирует весь байт по логике ИЛИ"
    таблица 7.1 на странице 30 "Магниты" - тоже по байту на индикатор.
    однозначна на текущий момент очепятка а вот в 2007 году .....
    Автоматизация Диспетчеризация Сервис
    e-mail: ads-kaluga@mail.ru

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

    По умолчанию

    Цитата Сообщение от Terrano1992 Посмотреть сообщение
    нет никакого "переприсвоения".
    есть объект "кнопка", который вы создаете на экране. в его свойствах назначается реальная кнопка на панели
    Стоп-стоп! Те кнопки, которым я не присвоил явно функцию в данном экране - вообще не отрабатываются? Или как?

    Цитата Сообщение от Terrano1992 Посмотреть сообщение
    вы не назначаете номера регистрам, они нумеруются автоматически, при создании элемента в области ввода-вывода. чтобы получить номер 10000, придется создать перед ним 10 тысяч регистров...
    Да как же так? Вот те буковки, что я пишу в Конфигураторе возле "4х" и "0х" - это что? Это номера?

    Цитата Сообщение от Terrano1992 Посмотреть сообщение
    при разработке проекта с объемистым вводом-выводом придется потратить немного времени и завести табличку (хоть в экселе, хоть на бумаге)
    КАНЕШНА! Завел. Уже и переделал пару раз Я в курсах, что такое забыть самим собою придуманное

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

    По умолчанию

    Цитата Сообщение от Gans Посмотреть сообщение
    однозначна на текущий момент очепятка а вот в 2007 году .....
    Скачал с сайта. Да, есть изменения. Теперь эта херня напечатана на странице 22, а не на странице 21.

    Так где у нас ветка по панелям, Андрей? Куда пожелания отправлять?

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

    По умолчанию

    Цитата Сообщение от валенок Посмотреть сообщение
    опять он тут.
    чему я очень рад!

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

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

  7. #27

    По умолчанию

    Пункт 4.8. Страница 21.
    "При работе панель анализирует весь байт по логике ИЛИ"
    Не знаю, откуда в документации такое. Может быть, осталось от самых первых версий панели и конфигуратора, забыли поправить...
    Сейчас (конфигураторы 6.5е, 6.5к) индикаторы работают именно с одиночными битами, а не с "байтами по логике ИЛИ". Я в этом на 100% уверен, поскольку рядом со мной макет (ПЛК100Р-М, ИП320, МВА8 и МДВВ), где оператор может независимо включать и выключать с панели любой из 5 циркуляционных вентиляторов в сушильной камере. Все включается, выключается и запоминается в Retain. На одном экране 5 триггерных кнопок и 5 индикаторов, все 5 бит упакованы в один байт. Если бы было "по логике ИЛИ" - то у меня бы по нажатию на любую из 5 кнопок все 5 индикаторов хором зажигались или гасли...
    Те кнопки, которым я не присвоил явно функцию в данном экране - вообще не отрабатываются? Или как?
    "Или как". Например, есть кнопка "ALM". У нее в панели есть своя предопределенная функция - показать вам экран списка тревог (он в панели есть всегда, его проектировать не нужно, только тексты тревог в табличку прописать). Но вы можете на каком-то из ваших экранов создать объект "кнопка" и привязать его к кнопке "ALM". Тогда на этом экране она будет делать то, что вы опишете в свойствах объекта, а на остальных (где она не описана в одном из "кнопочных" объектов) выполнять свою штатную функцию.
    Или можете в каком-то из экранов определить кнопку ESC, чтобы она выполняла переход не на предыдущий экран (откуда мы попали в текущий), а на тот экран, какой вы желаете. Причем сделать ее скрытой, чтобы не загромождать экран. Хотя без реальной нужды вряд ли стоит менять назначение навигационных кнопок (ESC, ALM, "стрелки", SET и ENT), нарушая привычный порядок навигации, выполняемой с их помощью. Разумнее использовать кнопки цифрового поля.
    Да как же так? Вот те буковки, что я пишу в Конфигураторе возле "4х" и "0х" - это что? Это номера?
    Чтобы обратиться из панели к регистру - надо, чтобы этот регистр существовал в области ввода-вывода. Иначе панель напишет вам "Потеря связи...", поскольку не сможет данный регистр прочитать. Ну а когда вы конфигурируете область ввода-вывода в ПЛК, то не сможете создать регистр с адресом 100, не создав перед ним 99, 98, 97 и так далее до 0.
    Так что с гипотетическим "регистром 10000" - на здоровье. Создавайте 10001 регистр и обращайтесь к любому из них. Последний как раз и будет с адресом 10000.
    если в проекте на ИП320 всего два регистра @0 и @10000, То, надеясь на разработчиков, предполагаю, что это не прямые регистры, и реально занятая область в ИП-320 - 4 байта.
    Если панель - мастер, то она читает из сети только те переменные, которые использованы на данном экране, не забивая себе мозги лишней информацией. Вот в случае панели-slave все хуже. Насколько я помню, в этом случае ПЛК в нее все переменные проекта вынужден вдувать.
    Последний раз редактировалось Terrano1992; 14.11.2010 в 16:13.

  8. #28

    По умолчанию

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

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

    По умолчанию

    Короче.

    1. Плк всегда читает/пишет всю область io.

    1.1 Если плк-мастер, и хочется чего-там сэкономить, создаем кучу UMD для каждого экрана (бу команд)+ UMD для текущего экрана (пол-тайм). Или UMD для для каждой переменной + UMD для текущего экрана. И экономим. ( ) Но это гиморнее чем п.1.

    1.2 Если плк-слейв, вообще о чем разговор? панель сама считает/запишет чего ей надо.

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

    По умолчанию

    Спасибо, товарищи! Намного легче стало ориентироваться в этих вопросах. И немного стыдно, что протупил - HMI это и есть форум про панели.

    С номерами регистров теперь разобрался. Кажется

    Теперь с экранами.
    Цитата Сообщение от Terrano1992 Посмотреть сообщение
    еще раз повторяю - это неверный подход к проектированию обмена между плк и панелью оператора (не только ип320, а вообще любой панелью)...
    ...
    чтобы уместилось. среди этих величин присутствуют две вышеназванных. так что же, их продублировать в еще одном наборе регистров? а зачем?
    Совершенно справедливо! Позвольте мне набросать, как я теперь понимаю структуру экранов (СОБСНО. уже создаю, сохранив предыдущую табличку, как памятник тупости).

    Итак, я теперь знаю, что ПЛК в своей памяти, конфигурируемой с помощью Конфигуратора ПЛК, держит специальные данные, доступные Клиенту-ИП320. Нумерация, которую я создаю при последовательном резервировании адресов (попутно их называю удобными мне именами), должна быть отражена в табличке связи. И именно из нее я так же черпаю информацию при работе с Конфигуратором ИП320 - вот те самые номера регистров и битов.
    Так?

    Далее. Я хочу все экраны сделать с управлением от ПЛК. Ну, не знаю, так ли это принципиально, но здесь все порождено подсказанным вами способом обойти ограничение Конфигуратора ИП320 - статический формат выводимого значения регистра.
    То есть, у меня совершенно точно есть так называемые Параметры, которые представляют собой очень разные по формату переменные - от битовых флагов до двойных слов и еще дробные величины с дискретностью 0,1...0,001.
    Чтобы в одно место на экране вывести такие разные по формату значения, я на самом деле делаю незаметную для оператора подмену - в зависимости от номера параметра ПЛК выбирает именно тот (заранее созданный) экран, который в том нужном месте вывода показывает регистр в одном из форматов:

    -123456789
    -1234.5
    -123.45
    -12.345

    Таким образом, автоматическая смена экрана будет, никуда не деться.
    А раз так - то она должна работать всегда?
    Так?

    Если так, то ПЛК всегда в курсе, что именно сейчас выводится. Тогда вопрос: а почему бы не сделать, чтобы для каждого из выводимых экранов ПЛК использовал одни и те же ячейки памяти?
    Грубо говоря, приготовлю я 2 байта битов и 20 байт регистров (ТИПА с запасом). Включаю (не я, а ПЛК) экран номер 1.
    ПЛК знает, что для этого экрана в регистр номер 1 нужно записать значение переменной wFoo, а в регистр 2 - значение переменной byBar. Ну, и записывает, ясен перец. Все. Для данного экрана ничего больше.
    А когда экран по какой-то причине нужно переключить, то ПЛК об этом-то узнает ПАЛЮБЕ. Переключая экран (по сути, прописывая номер экрана в один из регистров), ПЛК по быстрячку подкинет во все необходимые регистры и биты всю релевантную инфо.

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

    Я на верном пути, товарищи?

Страница 3 из 5 ПерваяПервая 12345 ПоследняяПоследняя

Ваши права

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