пятница, 30 января 2015 г.

Многопозиционные переключатели

Ниже приведен отрывок из письма, которое я получила некоторое время назад:

«В очередной раз разрабатывая схему электрическую столкнулся с постоянной проблемой:
Допустим мне нужен самый простой 3-позиционный переключатель с фиксацией 3NO+0+3NO (например, ПКУ3-3031).
Родительский компонент заполняет свои точки подключения (если прописано) из столбца COILPINS таблицы _PINLIST_*** базы default_cat.mdb, в столбце PINLIST прописаны все возможные варианты дочерних НО и НЗ контактов элемента. У данного переключателя есть три положения и если переключатель имеет среднее положение в "0", то все дочерние контакты (УГО) должны быть НО. Тут проблема в том, что я не нашел способа привязки поля СОСТОЯНИЕ и списка доступных НО и НЗ контактов элемента, т.е. для состояния 00Х ПКУ3-3031 должны быть доступны только номера групп контактов 3-4,7-8,11-12 а для того же состояния 00Х ПКУ3-3052 1-2,3-4,5-6,7-8,9-10.
Имеет ли ACADE алгоритм обработки для создания такой связи?
Если ДА, то предлагаю обсудить в блоге способ реализации
PS: текст письма вами может быть свободно опубликован
С уважением Николай Николаевич Глаз.»

В следующем письме Николай предложил решение этой задачи, которое предлагается обсудить на примере переключателя «ПКУ3-12-C3031 У3».
Диаграмма переключателя:

1.    Создаем графические образы составных частей переключателя.
В графический образ родительского компонента добавляем атрибуты позиций переключателя: «POS1», «POS2», «POS3». Атрибуты точек подключения в графический образ не включаем, так как к этой части компонента не планируется подключать провода.

Создаем два дочерних компонента с двумя точками подключений в каждом. Для первого дочернего компонента атрибутам «STATE» и «CONTACT» назначаем «ХОО», а атрибуту «PINLIST_TYPE» - значение «4ХОО».

Для второго дочернего компонента атрибутам «STATE» и «CONTACT» назначаем «ООХ», а атрибуту «PINLIST_TYPE» - значение «4ООХ».

2.    В таблице «SS» базы данных каталога изделий создаем новое изделие «ПКУ3-12-C3031 У3».

В поле «Текстовое значение» вводим имена атрибутов позиций переключателя и соответствующие значения для них.

Для многопозиционного переключателя будем использовать контакты типа «4», для которого кроме цифры допускается использование букв. При автоматическом назначении номеров выводов вместо атрибута «CONTACT», будет использоваться атрибут «PINLIST_TYPE», по которому также будет происходить дополнительная фильтрация.
В диалоговом окне «Список выводов» вводим типы контактов и номера для них.

Для каждого контакта выбираем тип «4» («Не определено») и вводим номера выводов. После описания всех контактов в поле «Список выводов» дописываем вручную дополнительный текст состояния контактов.

Переключатель «ПКУ3-12-C3031 У3» содержит 6 контактов, следовательно, получаем строку «4ХОО,1,2;4ООХ,3,4;4ХОО,5,6;4ООХ,7,8;4ХОО,9,10;4ООХ,11,12».

Николай Глаз: «Классическое описание переключателя состояниями НО и НЗ затруднительно т.к. в той же схеме 3031 есть 3 состояния НО (XOO,OOX,XOX) и 3 НЗ (ХХО,ОХХ,ОХО) относительно среднего положения. Как ни крути, а 6 возможных состояний двумя доступными корректно не опишешь.
Поэтому целесообразнее перейти на тип контакта 4. Можно давать список выводов в виде 4,1,2,*OOX;4,3,4,*OOX;.... тогда ACE будет верно подсчитывать макс кол-во контактов но каждый раз пользователю придется уделять внимание, что бы выводы контакта соответствовали типу контакта т.к. для ACE все контакты одного типа равнозначны и он будет их автоматически подставлять по порядку.
Еще более целесообразно перейти на модифицированный контакт типа 4ххх».

3.    Размещаем на чертеже родительский компонент и назначаем ему каталожные данные переключателя «ПКУ3-12-C3031 У3».
4.    Размещаем дочерний компонент и назначаем для него «родителя». Появляется предупреждение, которое в данном случае означает, что вместо атрибута «CONTACT» будет использоваться атрибут «PINLIST_TYPE». Нажимаем кнопку «Игнорировать предельное значение».

Контакту автоматически назначаются номера.

Номера контактов также можно выбрать из списка.

Николай Глаз: «Плюсы данного метода: даже если вы выберете неподходящий тип контакта (например ХХО для ПКУ3-3031), то ACE отсортирует и на выбор не предложит ничего подходящего и наоборот, выбрав подходящий тип контакта, ACE вам предложит только подходящие контакты (исключаются случайные ошибки).
Минусы данного метода: для типа контакта 4 не предусмотрено быстрое переключение типа контакта и это логично. ACE не подсчитывает максимальное количество модифицированных типа контакта 4 (см. рисунок ниже) и постоянно выдает ошибку (описана выше)

А вы используете в своих проектах многопозиционные переключатели?
Если вы придумали свою технологию, напишите об этом.
Ваш опыт очень важен для нас.

6 комментариев:

  1. Не совсем понял суть проблемы... На принципиальной схеме устройство показывается в каком-то одном положении (обычно в отключенном). Т.е. многопозиционный переключатель следует очевидно изображать в положении "0", в базе данных все контакты к нему описывать для этого положения, а рядом с переключателем поместить диаграмму переключателя в виде таблицы, в которой и будут состояния всех контактов в разных положениях переключателя. Для такой диаграммы можно создать набор блоков в меню.

    ОтветитьУдалить
  2. Этот комментарий был удален автором.

    ОтветитьУдалить
  3. Переключатель 3001 не имеет как такового полностью выключенного положения (положения - 3,1,2)
    Относительно среднего положения (1 у 3001) есть 4НО и 2НЗ (описание выводов 1,1,2;1,3,4;2,5,6;1,7,8;2,9,10;1,11,12)
    А если мне нужен переключатель 3001 с выключенным состоянием в левом положении, то относительно положения №3 должно быть 3НО и 3НЗ (1,1,2;1,3,4;2,5,6;2,7,8;1,9,10;2,11,12)
    а относительно правого (так же 3НО и 3НЗ) описание выводов имеет вид (2,1,2;2,3,4;1,5,6;2,7,8;1,9,10;1,11,12)
    Вот это я и называю неоднозначностью описания, т.е оно зависит от базового состояния.
    Поэтому я и предлагаю уйти от использования классических УГО для 3,4..позиционных переключателей и использовать тип контакта 4

    ОтветитьУдалить
    Ответы
    1. Под "полностью выключенным" положением я не имел в виду положение, когда все контакты отключены - имеется в иду положение "0". Для этого положения совершенно конкретно определены состояния всех контактов, как вы и написали - 4 н.о., 2 н.з. Вот и в базу я заношу описания контактов для этого положения, а на свободном месте размещаю диаграмму переключателя. Ведь все равно при реальной работе переключатель может принимать любое свое положение, и 1, и 2, и 3. Так зачем описывать в базе состояния контактов для всех этих положений?

      Удалить
  4. Вашу дискуссию я перенесла на форум
    http://forums.autodesk.com/t5/autocad-electrical-russkiy/mnogopozitsionnye-pereklyuchateli/m-p/5495798
    Может быть, там будет удобнее?

    ОтветитьУдалить
  5. Этот комментарий был удален автором.

    ОтветитьУдалить