Перейти к публикации

Дешифровка языка программирования PLC на стойке iTNC530


boomeeeer

Рекомендованные сообщения

Приветствую, коллеги! Прошу помощи коллективного разума.

Занимаюсь поиском потерянного сигнала Enable для шпинделя на фрезерном станке с iTNC530. 

Как известно из документации, то разрешение на оси идёт из PLC через модуль 9161. При вызове модуля у меня подгружается слово меток 3200, т.е. для шпинделя это М3215.

  LW     M3200
  =      W3000                         ;REGLERFREIGABE X,Y,Z,4,5,SP
  PS     W3000
  CM     9161                          ;REGLERFREIGABE ANTRIEBSREGLER SETZEN

Нашёл я этот сигнал в логике и впал в небольшой ступор по поводу дешифровки цепочки сигналов, которые формируют данную метку. 

Вот сам код из программы:

;
  O      M4030                         ;GEWINDEBOHREN_AKTIV
  O      M4031                         ;GEWINDEBOHREN_GESTEUERT
  ON     M702
 A[
    O      M528                        ;R/L-LAUF
    O      M544                        ; M19
    O      M4030                       ;GEWINDEBOHREN_AKTIV
    O      M4031                       ;GEWINDEBOHREN_GESTEUERT
    O      M6043                       ;STROBE_PLC_POSIT_SPINDEL
    O      M6006                       ;SPINDELWARLAUF
  ]
  A      I110                          ;WZ EINGEKUPPELT
  O[
    A      M725                        ;Messtaster ist naechstes Werkzeug
    AN     M726                        ;Spindel in Position
    O      M544                        ;M19
    O      M670                        ;KUPPELDREHZAHL
    O      M346                        ;M50 WZW aufwдets
    AN     M1872                       ;UEBERW.WZ EINKUPPELN
  ]
  O[
    A      I125                        ;WZW UNTEN
    A      M792                        ;WZ-ARM NACH UNTEN
  ]
  A[
    O      I125                        ;WZW UNTEN
    O      M624                        ;ALLE WZ OBEN
    O      M625                        ;EIN WZ UNTEN
  ]
  A      I67                           ;+G
  A      O28                           ;IMPULSFREIGABE ANTRIEBE
  AN     M575
  AN     I0                            ;LASERMESSUNG
  A      M580
  AN     M320                          ;Messtaster in Spindel
  AN     M1886                         ;Drehzahl > 800U/min und kein Wz in Spindel
  AN     M2234                         ;Umschaltung Stern -> Dreieck aktiv
  AN     M2235                         ;Umschaltung  Dreieck -> Stern aktiv
  AN     M6012                         ;SP Fehler 2 Kьhlaggregat
  AN     I124                          ;WZW OBEN / VERR
  AN     M692                          ;NC-STOP$
  =      M836                          ;Reglerfreigabe Hauptspindel

  L      M836                          ;Reglerfreigabe Hauptspindel
  S      M3215                         ;Reglerfreigabe Hauptspindel

 

В документации по программированию логики есть примитивный пример для представления строкового кода в удобочитаемый вид

Вот он:

logic.jpg

 

Но в моём случае немного посложнее. Я накидал в сименсовском редакторе на языке FBD то, как я это вижу. Не моги бы вы оценить правильно ли я дешифровал логику. 

en.jpg

Станок пока стоит, там привод погорел, но скоро он вернётся из ремонта и работу по поиску отсутствия сигнала разрешения шпинделя придётся продолжить.

Ссылка на сообщение
Поделиться на других сайтах


UnPinned posts
45 минут назад, boomeeeer сказал:

Не моги бы вы оценить правильно ли я дешифровал логику. 

Я для этих целей обычно степ 7 использую описываю все меркеры и пишу в STL а потом смотрю или в LAD или в FBD это кому как удобнее!

Ссылка на сообщение
Поделиться на других сайтах
1 час назад, gudstartup сказал:

Я для этих целей обычно степ 7 использую описываю все меркеры и пишу в STL

Да, я так и сделал поначалу, но он не хочет ни в LAD ни в FBD его переводить. Там надо NOP'ы расставить по коду, чтобы он переключился, а я не знаю в каких местах это сделать.

Или структура STL на семёне не совсем совпадает со структурой кода логики хайдена. 

Не хочет в общем (((

А так чёрт ногу сломит в этой писанине.

 

Изменено пользователем boomeeeer
Ссылка на сообщение
Поделиться на других сайтах

@boomeeeer Вот так это в ступне выглядит

 A(    
      A(    
      O     M   4030.0
      O     M   4031.0
      O     M    702.0
      )     
      A(    
      O     M    528.0
      O     M    544.0
      O     M   4030.0
      O     M   4031.0
      O     M   6043.0
      O     M   6003.0
      )     
      A     I    110.0
      O     
      A(    
      A     M    725.0
      A     M    726.0
      O     M    544.0
      O     M    670.0
      O     M    346.0
      )     
      A     M   1872.0
      O     
      A     I    125.0
      A     M    792.0
      )     
      A(    
      O     I    125.0
      O     M    624.0
      O     M    625.0
      )     
      A     I     67.0
      A     Q     28.0
      AN    M    575.0
      AN    I      0.0
      A     M    580.0
      AN    M    320.0
      AN    M   1886.0
      AN    M   2234.0
      AN    M   2235.0
      AN    M   6012.0
      AN    I    124.0
      AN    M    692.0
      =     M    836.0
 

Лучше в лад набирать

Вот тут и пожалеешь что у HH до сих пор ладдера нет но зато питон имеется!

Ссылка на сообщение
Поделиться на других сайтах

Никогда такое не делал, а вот щас попробовал

 N00001:   RD      R403.0
  OR      R403.1 
  OR.NOT     R70.2 
	RD.STK  R52.7
    OR      R54.4
    OR      R403.0
    OR      R403.1
    OR      R604.3
    OR      R600.6
  AND.STK 
  AND      X11.0
  RD.STK   R72.5
    AN     R72.6  
    OR      R54.4  
    OR      R67.0 
    OR      R34.6
    AN     R187.2 
  OR.STK 
  RD.STK    X12.5         
    AND      R79.2         
  OR.STK  
  RD.STK    X12.5            
    OR      R62.4            
    OR      R62.5            
  AND.STK 
  AND      X6.7              
  AND      Y2.7             
  AN     R57.5
  AN     X0.0              
  AND      R58.0
  AN     R32.0            
  AN     R188.6            
  AN     R223.4            
  AN     R223.5            
  AN     R601.2            
  AN     X12.4               
  AN     R69.2              
  WRT      R83.6  

Снимок экрана от 2023-09-23 23-59-24.png

Ссылка на сообщение
Поделиться на других сайтах
23 минуты назад, gudstartup сказал:

@boomeeeer Вот так это в ступне выглядит

 A(    
      A(    
      O     M   4030.0
      O     M   4031.0
      O     M    702.0
      )     
      A(    
      O     M    528.0
      O     M    544.0
      O     M   4030.0
      O     M   4031.0
      O     M   6043.0
      O     M   6003.0
      )     
      A     I    110.0
      O     
      A(    
      A     M    725.0
      A     M    726.0
      O     M    544.0
      O     M    670.0
      O     M    346.0
      )     
      A     M   1872.0
      O     
      A     I    125.0
      A     M    792.0
      )     
      A(    
      O     I    125.0
      O     M    624.0
      O     M    625.0
      )     
      A     I     67.0
      A     Q     28.0
      AN    M    575.0
      AN    I      0.0
      A     M    580.0
      AN    M    320.0
      AN    M   1886.0
      AN    M   2234.0
      AN    M   2235.0
      AN    M   6012.0
      AN    I    124.0
      AN    M    692.0
      =     M    836.0
 

Лучше в лад набирать

Вот тут и пожалеешь что у HH до сих пор ладдера нет но зато питон имеется!

Ну если оно действительно так, то получается я в FBD правильно накидал. Ваш код дал мне тот же результат. Спасибо!

Ссылка на сообщение
Поделиться на других сайтах

 

 

 

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

Ну и там где после запятой было 8, поменял на 7

Ссылка на сообщение
Поделиться на других сайтах
5 минут назад, Viktor2004 сказал:

Никогда такое не делал, а вот щас попробовал

Тоже совпало с моей версией. Спасибо.

Ссылка на сообщение
Поделиться на других сайтах
26 минут назад, gudstartup сказал:

Вот так это в ступне выглядит

 A(    
      A(    
      O     M   4030.0
      O     M   4031.0
      O     M    702.0
      )     

а разве вместо последней "О" не надо оставить "ON" ?

Ссылка на сообщение
Поделиться на других сайтах
Только что, Viktor2004 сказал:

а разве вместо последней "О" не надо оставить "ON" ?

Надо, надо. Там у @gudstartup ещё в одном месте O и ON напутано, но это не важно в данном случае, самое главное взаиморасположение веток

Ужасный язык и оболочка у хайдена. Никакой наглядности.

Ссылка на сообщение
Поделиться на других сайтах
13 часов назад, boomeeeer сказал:

Вот сам код из программы:

;
  L      M4030  
  O      M4031  
  ON     M702
 A[
    O      M528      
....................
  ]
  L      I110       
  O[
    A      M725        
.................
  ]
  O[
    L      I125     
    A      M792     
  ]
  A[
    L      I125      
    O      M624      
    O      M625                      
  ]                
............
  =      M836                   
.

Странно как-то. Мне кажется в этих местах должно быть "L" вместо "A" или "O" как в коде

и не только в этих, это я навскидку

Ссылка на сообщение
Поделиться на других сайтах
45 минут назад, Viktor2004 сказал:

Странно как-то. Мне кажется в этих местах должно быть "L" вместо "A" или "O" как в коде

и не только в этих, это я навскидку

Сути логики это не меняет. И так и так будет работать. Думаю, это просто привычка программиста.

Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

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

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу.

×
×
  • Создать...