[?]: Установка стрейч-пленка для паллет фирмы Bocedi

Промышленные Логические Контроллеры SIMATIC S7-200/300/400
bva_bonda
Posts: 9
Joined: Wed Apr 28, 2010 3:29 pm

[?]: Установка стрейч-пленка для паллет фирмы Bocedi

Post by bva_bonda »

Есть установка для упаковывания паллетов, которая называется Bocedi. Управление осуществляется от плк Siemens 314+модули вх и вых и панели Uniop CP13G-04. Линия пакует (надевает пленку на паллету) два вида паллет разных по высоте и ширине. Линия работала в автоматическом режиме и определяла какая паллета на входе в линии и сколько соответственно пленки нужно отматывать. В данный момент линиия также работает в атоматическом режиме, но не определяет какая паллета на входе в линии и соответственно не верно отматывает пленку, т.е. на разные паллеты надевает одинаковое количество пленки (количество пленки сейчас задается с панели, ее можно увел/уменьшать, но это будет для все видов паллет).

После чего линиия стала так работать я не знаю (кто-то говорит перепады напряжения, кто-то что ни с того ни с сего она остановилась, слетели таймера и т.д.). Моя задача восстановить работу линии с отматыванием пленки нужного размера под определенную паллету.


У меня есть скачанные проекты из плк и из панели. Проекты делали итальянцы, в проекте на step-7 ни одного комментария. Разбираясь с проектами появились вопросы, которые может быть с помощью форума можно будет решить. На сколько я понял для определния паллеты используются концевой выключатель (при ценрировании паллеты на входе в Bocedi, он определяет ширину), а также есть фотодатчик DataCensor, который считывет высоту паллеты, непосредственно перед отматыванием пленки. Если можно, то я буду выкладывать куски программы в которых хотел бы просить помощи.

Code: Select all

 
      A     M     56.0
      FP    M     55.6      в программе встречается только в этом месте
      =     M     55.7

Code: Select all

    
      A     M     55.7
      =     L    110.0
      A     L    110.0
      A     I     19.4        это концевой, который при центрировании паллеты определяет какая паллета на входе
      JNB   _001
      L     1300
      T     DB90.DBW   48
_001: NOP   0
      A     L    110.0
      AN    I     19.4
      JNB   _002
      L     1200
      T     DB90.DBW   48
_002: NOP   0
В данном случае при срабатывании концевого I19.4 выбор ширины паллеты не работает, т.к. меркер М55.6 своего состояния не изменит никогда, он в программе нигде больше не встречается. Вход I19.4 также больше нигде не встречается. Как тогда работало определение ширины паллеты ?
Last edited by bva_bonda on Thu Nov 21, 2013 9:19 am, edited 1 time in total.
CoMod
Site Admin
Posts: 3992
Joined: Thu Feb 16, 2006 3:25 pm
Location: Russia

Re: [?]: установка для упаковывания паллетов Bocedi

Post by CoMod »

http://plcforum.uz.ua//S7RKOP_B.chm
---( P )--- Обнаружение положительного фронта RLO
Пример
Для наглядности используются промежуточные выходы, триггеры и счётчик.
При этом Pos_Front и Neg_Front принимают определённые статичные значения.
На Pos_Pulse и Neg_Pulse проникают только положительные импульсы и только в течении одного цикла после соответствующего фронта - поэтому при отладке визуально вы не успеваете увидеть этот импульс.
Image
На счётчике видно воздействие "невидимых" Pos_Pulse и Neg_Pulse на счётных входах CU (+) и CD (-).
Или тоже самое воздествие можно увидеть на триггере М6.0, который удобно использовать при отладке "фронтовых" битов P и N.
dmitry_79
Posts: 149
Joined: Sun Dec 20, 2009 1:30 pm
Location: Russia

Re: [?]: установка для упаковывания паллетов Bocedi

Post by dmitry_79 »

Уважаемый CoMod! А нет ли у Вас справки в таком же формате (CHM) для языков STL и FBD? (Очень удобный формат)
bva_bonda
Posts: 9
Joined: Wed Apr 28, 2010 3:29 pm

Re: [?]: установка для упаковывания паллетов Bocedi

Post by bva_bonda »

Спасибо, справкой пользуюсь постоянно, я и хотел спросить, можно ли в онлайне увидеть изменения FP, FN, т.к. я не увидел дальнейшего выполнения программы, поэтому решил что именно FP не выдает импульс. Разбираюсь дальше...
CoMod
Site Admin
Posts: 3992
Joined: Thu Feb 16, 2006 3:25 pm
Location: Russia

Re: [?]: установка для упаковывания паллетов Bocedi

Post by CoMod »

bva_bonda wrote:можно ли в онлайне увидеть изменения FP, FN, т.к. я не увидел дальнейшего выполнения программы, поэтому решил что именно FP не выдает импульс. Разбираюсь дальше...
Так как изменения FP, FN происходят в течение одного цикла, то есть менее 20 мс, то визуально в онлайн ты не успеешь ничего заметить.
Чтобы понять работает ли определитель фронта FP, FN надо использовать дополнительный контроль через счётчики или тригеры, которые фиксируют факт события фронта.
Добавь ниже места определения фронта
A M 56.0
FP M 55.6 в программе встречается только в этом месте
= M 55.7
вспомогательную ветку Network на LAD
Подай M55.7 на вход счётчика, как на картинке выше и наблюдай увеличение.

====== о русской справке и русских курсах ====
Разное на русском
http://curssiemens.narod.ru/
http://curswincc.narod.ru/
bva_bonda
Posts: 9
Joined: Wed Apr 28, 2010 3:29 pm

Re: [?]: установка для упаковывания паллетов Bocedi

Post by bva_bonda »

Подскажите, в проекте панели Числовое поле имеет связь с ПЛК через блок данных DB21.DBB54, доступ чтение/запись.

Image

В кросс-ссылках этого байта DBB54 в блоке данных DB21 нет

Image

Как я понимаю эти данные в плк не используются, т.к. ссылок в проекте нет на этот байт (либо были, но сейчас нет) ? Значит это только для панели ?
dmitry_79
Posts: 149
Joined: Sun Dec 20, 2009 1:30 pm
Location: Russia

Re: [?]: установка для упаковывания паллетов Bocedi

Post by dmitry_79 »

bva_bonda wrote:Подскажите, в проекте панели Числовое поле имеет связь с ПЛК через блок данных DB21.DBB54, доступ чтение/запись.
Число имеет длинну 2 байта (слово или WORD) тип данных INT, обращатся к нему нужно как к DBW
Поищите в проекте S7 адрес DB21.DBW54 (т.е. DBW54 содержит в себе DBB52 и DBB54)

Почитайте про типы данных используемых в S7 - бывает полезно :)
sania
Site Admin
Posts: 1387
Joined: Sat Aug 13, 2005 6:15 am

Re: [?]: установка для упаковывания паллетов Bocedi

Post by sania »

M56.0 & I19.4 вообще становятся в 1?судя по-всему M56.0 это от энкодера или ещё какая синхронизация
ничего не меняли\двигали?
и каким образом связаны DB90.DBW48 и длинна плёнки и как задаётся с панели длинна?
в скачанном проекте никогда нет коментариев(они не грузятся в плк) так что не надо катить бочку на итальяшек
bva_bonda
Posts: 9
Joined: Wed Apr 28, 2010 3:29 pm

Re: [?]: установка для упаковывания паллетов Bocedi

Post by bva_bonda »

dmitry_79, ведь байт DB21.DBB54 может быть как в составе слова DB21.DBW53 так и DB21.DBW54. Ну и также в составе двойных слов. Или не верно ? И помоему слово DB21.DBW54 состоит из DB21.DBB54 и DB21.DBB55.

Я думаю, что все дело в том, что я не правильно указал. В проекте панели Uniop CP13G-04 на этой странице в Числовом поле (Numeric data field) значения могут принимать значения 0 или 1, тип данных byte. Поэтому я и спросил, если вносятся значения в байт DB21.DBB5 и затем эти данные используются в проекте Step-7 должна ли быть ссылка в cross-reference на этот байт ?

Image

Во всяком случае ссылок на DB21.DBB54, DB21.DBW54 я не нашел. Если подскажите где еще поискать то буду признателен.

sania, я ни в коем случае не хотел ни на кого катить бочку, пусть будет некая фирма из Италии, :) . Я не знаю должны были они оставить проект с комментариями или нет, но в данном случае у меня есть только скачанный проект, в котором комментариев соотв. нет.

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

В программе пока еще ничего не менял/двигал. Какая была первоначальная программа я не знаю.

Image

Image

Image

Попробую физически описать операцию. Паллета подъезжает к центровальной установке, останавливается на против двух направлящих, все это время M56.0 замкнут, затем направляющие сжимают паллету (выравнивают), на одной из направляющих стоит концевой I19.4 (в момент прижатия направляющими паллеты он либо замыкается, либо нет), в это момент по импульсу М55.6 (спасибо CoMoD) выбирается либо 1200 либо 1300 (сейчас всегда выбиратся 1200, т.к. ролик у концевого I19.4 сломан). Вроде как, по этому концевому должна меняться программа либо 6, либо 9 (сейчас всегда 9). Но даже при переключении ручками концевого, программа не меняется.

Цифры 1200 и 1300 как я понял означают длину паллеты, т.е. если выбирается значение 1200, то

Image

если 1300, то

Image

Меркеры М57.7 вызывает ошибку "It measures on centering not in relief" (что-то типа "Измерение не верно")

Сейчас, кстати проверил, что значения ширины и длины паллет в программа 6 и 9 вбиты на панели не верно.
далее
Show

Code: Select all

 
      A     M     55.7
      CU    C     71
      LC    C     71
      A     M     55.7
      JCN   M002
      L     C     77
      T     #TEMP0
      DTR   
      T     #TEMP1
      L     #TEMP1
      L     DB90.DBD   64
      *R    
      T     #TEMP2
      L     DB90.DBD   50
      L     #TEMP2
      -R    
      RND-  
      T     DB90.DBW   54
      L     DB90.DBW   48
      T     #TEMP4
      DTR   
      T     #TEMP5
      L     #TEMP5
      L     1.000000e+000
      *R    
      T     #TEMP6
      RND   
      T     DB90.DBW   56
M002: NOP   0

Code: Select all

 
      L     DB90.DBW   54
      T     LW   100
      L     DB90.DBW   58
      T     LW   102
      L     DB90.DBW   56
      T     LW   104
      L     DB90.DBW   60
      T     LW   106

Code: Select all

 
      A     M     56.0
      AN    M     57.6
      AN    M     57.7
      JCN   M003
      CALL  FC    47
       IN0  :=LW100
       IN1  :=LW102
       IN2  :=LW104
       IN3  :=LW106
       IN4  :=31
       IN5  :=32
       IN6  :=33
       IN7  :=20
       OUT8 :=M57.7
       OUT9 :=M57.6
       OUT10:=LW108
       OUT11:=M57.5
      L     LW   108
      T     DB90.DBW   62
M003: NOP   0
Фунция FC47
Show
network 1

Code: Select all

 
       AN    #TEMP13
      JCN   M001
      AN    M    251.6
      S     #TEMP13
      R     #OUT9
      R     #OUT8
      L     0
      T     #TEMP12
      L     #IN0
      L     #IN1
      -I    
      T     #TEMP14
      L     0
      <I    
      JCN   M002
      T     #TEMP14
M002: L     #IN0
      L     #IN1
      +I    
      T     #TEMP15
      L     #IN2
      L     #IN3
      -I    
      T     #TEMP17
      L     0
      <I    
      JCN   M004
      T     #TEMP17
M004: L     #IN2
      L     #IN3
      +I    
      T     #TEMP18
M001: NOP   0
      L     #TEMP12
      T     #OUT10
network 2

Code: Select all

 
      L     #IN4
      T     LW   100
      OPN   DB [LW   100]
      L     #TEMP12
      SLW   3
      T     LD   102
      L     #TEMP14
      L     DBW [LD   102]
      <=I   
      A(    
      L     #TEMP15
      <=I   
      )     
      JC    M003
      O     #OUT9
      O     #OUT8
      JC    M003
      L     #TEMP12
      L     2
      +I    
      T     #TEMP12
      L     #IN7
      >=I   
      S     #OUT8
      R     #OUT9
      R     #TEMP13
      BEU   
M003: NOP   0
      L     #IN5
      T     LW   104
      OPN   DB [LW   104]
      L     #TEMP12
      SLW   3
      T     LD   106
      L     #TEMP17
      L     DBW [LD   106]
      <=I   
      A(    
      L     #TEMP18
      <=I   
      )     
      JC    M005
      O     #OUT9
      O     #OUT8
      JC    M005
      L     #TEMP12
      L     2
      +I    
      T     #TEMP12
      L     #IN7
      >=I   
      S     #OUT8
      R     #OUT9
      R     #TEMP13
      BEU   
M005: NOP   0
      AN    M    251.6
      S     #OUT9
      R     #OUT8
      R     #TEMP13
      L     #TEMP12
      T     #OUT10
      BEU   
sania
Site Admin
Posts: 1387
Joined: Sat Aug 13, 2005 6:15 am

Re: [?]: установка для упаковывания паллетов Bocedi

Post by sania »

б.... как любят юзать темпы...не понимая что из этого получится...
в FC47
#TEMP13
не понятно что туда влезть может,соответственно:
L #TEMP12
T #OUT10
тоже мусорные значения
попробуй создать свой ДБ и поменять все темпы какие есть в этих блоках
bva_bonda
Posts: 9
Joined: Wed Apr 28, 2010 3:29 pm

Re: [?]: установка для упаковывания паллетов Bocedi

Post by bva_bonda »

Может кто помочь в след. вопросе:
Есть FC126 и в ней есть след. код:
Show
Network 23:

Code: Select all

       A     M     55.7                  // паллета выровнена
      JCN   M002

      L     C     77                    // значение, когда паллета отцентрована (26)
      T     #TEMP0
      DTR                               // DInt -> Float
      T     #TEMP1
      L     #TEMP1
      L     DB90.DBD   64               //разрешение/точность загружаем 16
      *R    
      T     #TEMP2                      
      L     DB90.DBD   50               // загружаем/задаем ширину паллеты 1460 в панели
      L     #TEMP2
      -R    
      RND-                              // Float -> Int
      T     DB90.DBW   54               // ширина измеренной паллеты 
      L     DB90.DBW   48               // загружаем 1200 или 1300 (длина паллеты)
      T     #TEMP4
      DTR                               // DInt -> Float
      T     #TEMP5
      L     #TEMP5
      L     1.000000e+000
      *R    
      T     #TEMP6
      RND   
      T     DB90.DBW   56               // записываем 1200 или 1300
M002: NOP   0
Network 24:

Code: Select all

      L     DB90.DBW   54               // ширина измеренной паллеты 
      T     LW   100
      L     DB90.DBW   58               // задаем допуск на панели при измерении ширины паллеты
      T     LW   102
      L     DB90.DBW   56               // загр. 1200 или 1300 (длина паллеты)
      T     LW   104
      L     DB90.DBW   60               // задаем допуск на панели при измерении длины паллеты
      T     LW   106
Network 25:

Code: Select all

       A     M     56.0
      AN    M     57.6
      AN    M     57.7
      JCN   M003

      CALL  FC    47
       IN0  :=LW100                     //ширина измеренной паллеты
       IN1  :=LW102                     // допуск при измерении ширины паллеты
       IN2  :=LW104                     // загр. 1200 или 1300
       IN3  :=LW106                     // допуск при измерении длины паллеты
       IN4  :=31
       IN5  :=32
       IN6  :=33
       IN7  :=20
       OUT8 :=M57.7                     // паллета не найдена
       OUT9 :=M57.6                     // паллета найдена
       OUT10:=LW108
       OUT11:=M57.5                     // повторить поиск паллеты
      L     LW   108
      T     DB90.DBW   62
M003: NOP   0
Теперь весь код FC47:
Show
Network 1

Code: Select all

    AN    #TEMP13
      JCN   M001

      AN    M    251.6                 // никогда не установится
      S     #TEMP13
      R     #OUT9
      R     #OUT8

      L     0
      T     #TEMP12
      L     #IN0                        // ширина измеренной паллеты
      L     #IN1                        // допуск при измерении ширины паллеты
      -I    
      T     #TEMP14                     // ширина - допуск
      L     0
      <I    
      JCN   M002                        // если полож. значение, то переход к М002

      T     #TEMP14                     // запис. отриц. значение

M002: L     #IN0                        // ширина измеренной паллеты
      L     #IN1                        // допуск при измерении ширины паллеты
      +I    
      T     #TEMP15                     // ширина + допуск

      L     #IN2                        // загр. 1200 или 1300 длину паллеты
      L     #IN3                        // допуск при измер. длины
      -I    
      T     #TEMP17                     // длина - допуск
      L     0
      <I    
      JCN   M004                        // если полож. знач., то переход к М004

      T     #TEMP17                     // запис. отриц. знач. 

M004: L     #IN2                        // загр. 1200 или 1300 длину паллеты
      L     #IN3                        // допуск при измер. длины
      +I    
      T     #TEMP18                     // длина + допуск

M001: NOP   0
      L     #TEMP12
      T     #OUT10
Network 2

Code: Select all

      L     #IN4                        // 31
      T     LW   100
      OPN   DB [LW   100]               // открываем DB31
      L     #TEMP12                     //  0
      SLW   3                           // умнож. на 8
      T     LD   102
      L     #TEMP14                     // ширина - допуск
      L     DBW [LD   102]              // загр. DB31.DBW0=900
      <=I   
      A(    
      L     #TEMP15                     // ширина + допуск
      <=I   
      )     
      JC    M003                        // ширина - допуск <= 900 <= ширина + допуск

      O     #OUT9                       // паллета найдена
      O     #OUT8                       // паллета не найдена
      JC    M003

      L     #TEMP12
      L     2
      +I    
      T     #TEMP12                   // 2 
      L     #IN7                        // 20
      >=I   
      S     #OUT8                       // паллета не найдена
      R     #OUT9                       // паллета найдена
      R     #TEMP13
      BEU   

M003: NOP   0
      L     #IN5                        // 32
      T     LW   104
      OPN   DB [LW   104]               // открываем DB32
      L     #TEMP12                        // 0
      SLW   3                                 // умн. на 8
      T     LD   106                        // 0
      L     #TEMP17                     // длина - допуск
      L     DBW [LD   106]              // откр. DB32.DBW0 = 1300
      <=I   
      A(                                //  длина - допуск <= 1300
      L     #TEMP18                     // 1200 <= длина + допуск
      <=I   
      )     
      JC    M005                        //  длина - допуск <= 1300 <= длина + допуск 

      O     #OUT9                       // паллета найдена
      O     #OUT8                       // паллета не найдена
      JC    M005

      L     #TEMP12                    // 0
      L     2                                
      +I    
      T     #TEMP12                  // 2
      L     #IN7                        // 20
      >=I   
      S     #OUT8                       // паллета не найдена
      R     #OUT9                       // паллета найдена
      R     #TEMP13
      BEU   

M005: NOP   0
      AN    M    251.6
      S     #OUT9                       // паллета найдена
      R     #OUT8                       // паллета не найдена
      R     #TEMP13

      L     #TEMP12                  // 0
      T     #OUT10
      BEU   
Каждый раз когда вызывается FC47 #TEMP13=0 ?
Для чего нужен JCN M001 ?
Что в итоге будет в №TEMP12 (по идеи должен быть код программы, т.е. разные числа для разных паллет) ?