Jump to content

Переменные блока FC (Step7)


Viktor2004

Recommended Posts

Viktor2004

Уважаемые коллеги помогите пожалуйста

В функциональном блоке FC используются переменные типа IN OUT IN_OUT STAT

А чему они соответствуют? Как понимать их адреса, например

#IN7 (адрес 10.0)

или

#STAT157 (адрес 86.0)

может они соответствуют каким-то адресам в блоках DB, или адреса ввода-вывода соответствуют как-то входным и выходным адресам?

Link to post
Share on other sites


UnPinned posts
6 часов назад, Viktor2004 сказал:

Уважаемые коллеги помогите пожалуйста

В функциональном блоке FC используются переменные типа IN OUT IN_OUT STAT

А чему они соответствуют? Как понимать их адреса, например

#IN7 (адрес 10.0)

или

#STAT157 (адрес 86.0)

может они соответствуют каким-то адресам в блоках DB, или адреса ввода-вывода соответствуют как-то входным и выходным адресам?

Всё-таки STAT используются только в FB блоках и это переменные, которые хранятся в блоке данных, назначенном для данного номера FB (так называемые instance data block). В блоках FC на ряду с In, Out и другими, используются локальные переменные TEMP, которые хранятся в локальном L стеке памяти контролера и действуют только в этом блоке до его закрытия. Значения адреса напротив каждой переменной, означает адрес (смещение) в этом локальном стеке. По этим адресам, если мне не изменяет память, можно обратиться к конкретной переменной при определённых условиях, вроде при косвенной адресации. В других случаях к ним обращаются по заданному имени, например L #TEMP1 или S #TEMP2. А вообще в симатик менеджере отличная встроенная справка, которая раскрывает глаза на многие вопросы прямо не отходя от кассы, как говорится.

Link to post
Share on other sites
Viktor2004



    Читал. Мало помогла. Вот например:

 

M030: A(    
           AN    DB34.DBX  108.2
            A     DB34.DBX  110.5
            ON    #OUT46

            )

 


    Куда он выдает этот OUT ? И кто и как им может воспользоваться?

 

 

Edited by Viktor2004
Link to post
Share on other sites
1 час назад, Viktor2004 сказал:



    Читал. Мало помогла. Вот например:

 

M030: A(    
           AN    DB34.DBX  108.2
            A     DB34.DBX  110.5
            ON    #OUT46

            )

 


    Куда он выдает этот OUT ? И кто и как им может воспользоваться?

 

 

Сейчас всё поймёте, это достаточно просто

Вот пример вызова блока на языке STL, который используется в вашем примере. Здесь из блока OB1 (основной блок по которому крутится цикл контроллера) вызывается блок FB4 и ему назначается Instant data block DB110, который используется только этим функциональным блоком. CALL FB4, DB110. Обратите внимание на ниже идущие записи IN := и OUT :=. Это и есть ввод и вывод переменных для вашего блока. Т.е. из блока OB1 из которого я вызвал FB4 я передаю ему на обработку через вход IN1 бит из блока данных DB100.DBX340.3, который будет обработан внутри блока FB4 по какому-либо алгоритму, а из блока FB4 назад в блок OB1 из которого он был вызван, возвращается результат действия алгоритма, через выход OUT17, например. И этот результат пишется DB100.DBX340.2. В качестве ввода вывода могут выступать и целые байты, слова и т.д., а не только биты. Это просто как пример.

Call in stl.jpg

Тоже самое и в LAD исполнении. Тут уже вводят в блок и выводят из него двойные слова. Соответственно в самом блоке FC67 для IN и OUT назначаются форматы данных DWORD

Call in lad.jpg

1 час назад, Viktor2004 сказал:



    Читал. Мало помогла. Вот например:

 

M030: A(    
           AN    DB34.DBX  108.2
            A     DB34.DBX  110.5
            ON    #OUT46

            )

 


    Куда он выдает этот OUT ? И кто и как им может воспользоваться?

 

 

Простыми словами выдаёт он этот OUT46 наружу блока FC или FB внутри которого присутствует данная запись. А там снаружи используется тем блоком, из которого данный FC или FB был вызван. Если выдаёт бит, то при вызове указываете в какой бит или маркер этот OUT46 будет записан

Надеюсь не запутал ещё больше:biggrin:. Так то сименс достаточно понятная система

Edited by boomeeeer
Link to post
Share on other sites
Viktor2004
57 минут назад, boomeeeer сказал:

возвращается результат действия алгоритма, через выход OUT17, например. И этот результат пишется DB100.DBX340.2.

Спасибо. В данном примере все понятно. Есть конкретные команды присваивания. А если в цепочках просто используются IN OUT но не присваиваются никаким DB, Как с ними быть?

Если не затруднит, посмотрите пожалуйста этот проект https://cloud.mail.ru/public/Rmrv/nGrYXnFhy

Блок FB240 Network 8 Там множество OUT непонятно куда

Edited by Viktor2004
Link to post
Share on other sites
8 часов назад, Viktor2004 сказал:

Спасибо. В данном примере все понятно. Есть конкретные команды присваивания. А если в цепочках просто используются IN OUT но не присваиваются никаким DB, Как с ними быть?

Если не затруднит, посмотрите пожалуйста этот проект https://cloud.mail.ru/public/Rmrv/nGrYXnFhy

Блок FB240 Network 8 Там множество OUT непонятно куда

Это просто какой-то стандартный блок производителя и по мере добавления каких-либо функций станка он просто прописывает логику для тех или иных #OUT, а в данный момент он просто их опрашивает по "ИЛИ" на ноль. На примере OUT54, для него в объявлении переменных блока задано начальное значение - Initial value - FALSE, т.е. он всегда 0. Так как в блоке он больше нигде не используется (есть там ещё место, но он там тоже просто опрашивается) и не устанавливается, то условия в данном случае всегда будут выполнены, вне зависимости от состояния сигналов DB42.DBX  108.2 и DB42.DBX  110.5, потому что результат логической операции (RLO), при опросе на 0, переменной которая всегда равна 0, будет всегда 1.

M028: A(    
      AN    DB42.DBX  108.2
      A     DB42.DBX  110.5
      ON    #OUT54
      )     

Т.е. в сименсе можно "опросить" не только состояние входа или метки или бита блока данных, но и состояние выхода. Причём я могу опросить как состояние физического выхода (например A Q8.2), так и локальной переменной OUT, для того, чтобы просто узнать в каком он состоянии.
fb240.jpg

А вот ниже, в ветке 19, производитель уже добавил какую-то функцию и в этом стандартном блоке прописал условия для OUT41

  M045: A     #STAT110
      A     #IN22
      S     #OUT41

Т.е. опросил вход IN22 и установил выход OUT41

 

И для этих входа и выхода, в блоке FC244 Network2 из которого он вызывается, назначил на них биты в блоке данных DB18.DBX70.0 и DB18.DBX70.1

FC244.jpg

Edited by boomeeeer
  • Чемпион 1
Link to post
Share on other sites
gudstartup
23 часа назад, Viktor2004 сказал:

Блок FB240 Network 8 Там множество OUT непонятно куда

Виктор поинтересуйтесь описанием интерфейсных блоков PLC <-> NCK в Function Manual и SINUMERIK Safety Integrated Function manual для вашей CNC.

image.png

image.png

И чего это вы в логику полезли ?

Edited by gudstartup
Link to post
Share on other sites
Viktor2004
5 часов назад, gudstartup сказал:

И чего это вы в логику полезли ?

Да потому что как раз эта Safety Integrated Function не проходит.

В начале сообщение DB2.DBX  242.7 о том что необходимо запустить эту Safety Integrated Function

а когда запустил, тогда висит сообщение DB2.DBX  242.4 о том что эта Safety Integrated Function выполняется.

 

Станок SPINNER VC1160 с SINUMERIK 840D

Link to post
Share on other sites
andrey2147
2 часа назад, Viktor2004 сказал:

Да потому что как раз эта Safety Integrated Function не проходит.

А раньше как, проходило ?

Link to post
Share on other sites
Viktor2004
1 час назад, andrey2147 сказал:

А раньше как, проходило ?

Там перестал крутиться шпиндель. Ошибок при этом никаких не выдавал. Приходил специалист с Сименса,  протестировал все приводы, сказал что по Сименсу все исправно, а неисправен станок.  Я сохранил архивы NC и PMC и залил старый архив.  Стало только хуже. Тогда восстановил со снятых мной архивов. После этого станок перестал проходить этот тест безопасности. При нажатии кнопки для запуска теста слышу как срабатывает снятие с тормоза вертикальной оси. Проверил автономно работу тормоза. Подавал 24В ось благополучно освободилась и шпиндель сел на заранее представленную деревянную колоду. Тормоз работает

Link to post
Share on other sites
gudstartup
5 часов назад, Viktor2004 сказал:

Станок SPINNER VC1160 с SINUMERIK 840D

И что рекомендует производитель станка по поводу  700752  в РЭ?

Например у меня на шпинере если регулятор подачи на пульте оператора выставлен в 0 функция контроля  не отрабатывает пока его не выкрутишь хотябы на 50% для контроля снятия с тормоза ось должна переместится иначе функция контроля безопасности считается невыполненной. Вот картинка какие функции включает в себя SPL.

 

image.png

А может быть вы просто дверь рабочей зоны неправильно закрываете или замок неправильно работает?

 

Edited by gudstartup
Link to post
Share on other sites
gudstartup

У вас привода Sinamics?

Если да то можете просто выключить функцию acceptence test при помощи Sinamics startdrive полностью или частично.

image.png

Link to post
Share on other sites
gudstartup
1 час назад, Viktor2004 сказал:

Тормоз работает

И еще вопрос у вас в станке есть реле безопасности PILZ ?

если да то рекомендую к проверке достаточно глючная штука мы на DMU c ними намучались.

Link to post
Share on other sites
Viktor2004

Производитель по сообщениям 700752 и 700755 ничего не пишет. А что писать? И так всё ясно. Одно говорит что надо запустить проверку, второе говорит что проверка запущена.  Реле безопасности есть. Оба дают разрешение. Одно реле контроль аварийных кнопок, второе контроль замков. Оба дают разрешение

Сегодня я на другом станке, а там пока тайм-аут взял

Link to post
Share on other sites
andrey2147
23 минуты назад, Viktor2004 сказал:

второе говорит что проверка запущена. 

Я понимаю что она должна закончиться,но не заканчивается.

..............

Если шпиндель не стартовал ,проверяйте импульсы на включение привода и ответ, кажись клемма 663 (если не ошибаюсь.)

Не знаю как у вас,  сколько чинил сименсы, там дурацкая двойная система включения приводов - реле должны срабатывать вместе парно и синхронно, обычно контакты в них барахлят потому что они открытые.

......А ответ от привода должен быть именно лог 0, что было странно для меня.(вроде так )

23 минуты назад, Viktor2004 сказал:

Производитель по сообщениям 700752 и 700755 ничего не пишет. А что писать?

Вызовите уполномоченный сервис.

Edited by andrey2147
Link to post
Share on other sites
Viktor2004
1 час назад, andrey2147 сказал:

ызовите уполномоченный сервис.

Наше руководство считает что отсутствие знаний всегда компенсируется частотой повторений.

Link to post
Share on other sites
gudstartup
2 часа назад, Viktor2004 сказал:

Производитель по сообщениям 700752 и 700755 ничего не пишет

Тогда найдите логику формирования этих сообщений и смотрите PLC онлайн но также не помешает посмотреть какие safety integrated опции у вас включены в приводах.

А то что паузу взяли это правильно как говорится -  утро вечера....

Link to post
Share on other sites
Viktor2004
23 минуты назад, gudstartup сказал:
2 часа назад, Viktor2004 сказал:

 

Тогда найдите логику формирования этих сообщени

Я просто отвечал на Ваш первоначальный вопрос, зачем я полез в PLC. Для того и полез

Link to post
Share on other sites
gudstartup
34 минуты назад, Viktor2004 сказал:

Я просто отвечал на Ваш первоначальный вопрос

У вас не возникает ни одной ошибки NCK или SINAMICS связанных с safety function только не завершается функция проверки PLC?

Если есть еще и ошибки NCK то их можно игнорировать MD10094 $MN_SAFE_ALARM_SUPPRESS_LEVEL

 

О чем написано здесь 

 

image.png

 

image.png

 

 

6 часов назад, Viktor2004 сказал:

Я сохранил архивы NC и PMC и залил старый архив.  Стало только хуже. Тогда восстановил со снятых мной архивов. После этого станок перестал проходить этот тест безопасности.

Особенно интересно то что эта ошибка появились после манипуляции с архивами ...

 

 

Link to post
Share on other sites
andrey2147
2 часа назад, Viktor2004 сказал:

Наше руководство считает что отсутствие знаний всегда компенсируется частотой повторений.

Я одно время завод WFL доканывал вопросами про ремонт станков они мне написали :

"инженер должен руководсвоваться своими внутреннеми ощущениями" ( в переводе примерно так. )

Link to post
Share on other sites
gudstartup

Вот ее некоторая инфа для вас 

SI_relay [FB10] не используется
SI_BrakeTest [FB11] использует I3.7 --> что за вход по эл. схеме?
SPL [DB18]

Link to post
Share on other sites
gudstartup

Вот последовательность выполнения SBT (Self Brake Test) если плохо видно приложил страницу в pdf

Я думаю что FB240 играет вспомогательную роль основные действия осуществляют FB11 FC18 и вызываемый ими модуль написанный на  C  FB15

image.png

1.pdf

@Viktor2004 Я думаю у вас не проходит SBT оси Z

6 часов назад, Viktor2004 сказал:

Просто висит сообщение что проверка идет

Обратите внимание на действия выполняемые  FC190

Edited by gudstartup
Link to post
Share on other sites
gudstartup
6 минут назад, Viktor2004 сказал:

Если меня снова туда отправят,

Я думаю что вас и отправят как настоящего профи только надеюсь ,что после праздников!:biggrin:

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    No registered users viewing this page.



  • Сообщения

    • Ветерок
      Ты можешь быть сколько угодно несогласен, но результат ты получаешь именно такой, какой получаешь.   Вот пример: плоскость горизонтальна, касательна к цилиндру. Считаешь этого достаточно? Но горизонтальная плоскость может касаться цилиндра как сверху, так и снизу. Вуалая!
    • Александр20
      У кого имеется профессиональный интерес как у меня, то могут поделиться опытом. Возможно кто то что то новое узнает. Если что то не нравиться, то можешь не участвовать в беседе. 
    • AlexArt
      @Ветерок , не согласен. Выше дописал контраргумент.
    • Ле0нид
      Спасибо за ответ, помню, что преподаватель говорил, что сетка на основе кривизны дает более точные результаты, поскольку там какая-то параболическая зависимость
    • Entomo
      Доброго времени суток. Многие известные разработчики (в том числе Ansys) CFD софта позиционируют свои продукты как такие, которые позволяют обсчитывать фазовые переходы. Однако, изучив документацию, я нашел детальное (именно детальное) описание указанного действа исключительно в COMSOL. После чего я вполне успешно (на мой субъективный взгляд) промоделировал задачу Стефана для тающего аккумулятора холода, находящегося в транспортной таре с биологическим материалом. Мой вопрос: есть ли другие кроме COMSOL продукты где с так же подробно было описано в документации моделирование фазовых переходов и которые (продукты) позволяли бы получать столь же полную картину результатов ?     P. S. Я не обнаружил такого исчерпывающего как в COMSOL описания фазового перехода даже в документации по горячо любимому мною  CCM+,  который я также в определенной мере освоил и в котором считал газодинамику
    • Ветерок
      Направление нормали отслеживается только для угла. Для касательности нормаль не учитывается. Отсюда и дуализм решения.
    • AlexArt
      @Ветерок , не, не! Тут же четко с одной стороны я задал сопряжение относительно нормалей! А получается, что в кадах положение нормалей не определено! Или же оно не постоянно... А так да, по факту получаем, что угол не задает положение относительно нормалей: он просто определяет отклонение, а в какую сторону - ему побоку. Но! Тогда получается, что если я задаю расстояние от плоскости, я ведь тоже как бы не говорю с какой стороны я задал это расстояние. Но! Это положение всегда стабильно!
    • Ветерок
      Потому что сочетание касательность-угол на полном цилиндре может быть реализована в двух вариантах. Надо добавить ещё какое-нибудь ограничение, которое отсчет возможность реализации второго варианта.
    • AlexArt
      @РоманВ , к сожалению, это не только в солиде, в компасе тоже самое: плавали - знаем. А сборка реальна большая. Имхо, это не связанно с кол-м сопряжений, если все сопряжения полностью определены без переопределений.
    • Ветерок
      Пробуй. Ты просил идею, тебе накидали идей. Или ты хочешь чтобы тебе сразу сделали со всеми твоими хотелками? Тогда размещай заказ за деньги. Как-то так.
×
×
  • Create New...