Vous êtes sur la page 1sur 854

Prefcio

Programao flexvel de NC
Gerenciamento de arquivos
e programas

SINUMERIK
SINUMERIK 840D sl / 828D
Preparao do trabalho

reas de proteo
Comandos especiais de
curso
Transformaes de
coordenadas (Frames)
Transformaes
Cadeias cinemticas
Preveno de coliso com
cadeias cinemticas

Manual de programao

Corretores de ferramentas

Software
Software CNC

03/2013
6FC5398-2BP40-3KA1

4
5
6
7
8
9

Acoplamentos de eixo

11

Aes sncronas

12

Outras funes
Programas de desbaste
prprios
Programao externa de
ciclos

Verso
4.5 SP2

10

Retificao

Comando
SINUMERIK 840D sl / 840DE sl
SINUMERIK 828D

Comportamento de percurso

Oscilao
Estampagem e
puncionamento

Vlido para

Tabelas
Apndice

13
14
15
16
17
18
19
A

Informaes jurdicas
Conceito de aviso
Este manual contm instrues que devem ser observadas para sua prpria segurana e tambm para evitar
danos materiais. As instrues que servem para sua prpria segurana so sinalizadas por um smbolo de alerta,
as instrues que se referem apenas danos materiais no so acompanhadas deste smbolo de alerta.
Dependendo do nvel de perigo, as advertncias so apresentadas como segue, em ordem decrescente de
gravidade.
PERIGO
significa que haver caso de morte ou leses graves, caso as medidas de segurana correspondentes no
forem tomadas.
AVISO
significa que poder haver caso de morte ou leses graves, caso as medidas de segurana correspondentes
no forem tomadas.
CUIDADO
indica um perigo iminente que pode resultar em leses leves, caso as medidas de segurana correspondentes
no forem tomadas.
ATENO
significa que podem ocorrer danos materiais, caso as medidas de segurana correspondentes no forem
tomadas.
Ao aparecerem vrios nveis de perigo, sempre ser utilizada a advertncia de nvel mais alto de gravidade.
Quando apresentada uma advertncia acompanhada de um smbolo de alerta relativamente a danos pessoais,
esta mesma tambm pode vir adicionada de uma advertncia relativa a danos materiais.

Pessoal qualificado
O produto/sistema, ao qual esta documentao se refere, s pode ser manuseado por pessoal qualificado para a
respectiva definio de tarefas e respeitando a documentao correspondente a esta definio de tarefas, em
especial as indicaes de segurana e avisos apresentados. Graas sua formao e experincia, o pessoal
qualificado capaz de reconhecer os riscos do manuseamento destes produtos/sistemas e de evitar possveis
perigos.

Utilizao dos produtos Siemens em conformidade com as especificaes


Tenha ateno ao seguinte:
AVISO
Os produtos da Siemens s podem ser utilizados para as aplicaes especificadas no catlogo e na respetiva
documentao tcnica. Se forem utilizados produtos e componentes de outros fornecedores, estes tm de ser
recomendados ou autorizados pela Siemens. Para garantir um funcionamento em segurana e correto dos
produtos essencial proceder corretamente ao transporte, armazenamento, posicionamento, instalao,
montagem, colocao em funcionamento, operao e manuteno. Devem-se respeitar as condies ambiente
autorizadas e observar as indicaes nas respetivas documentaes.

Marcas
Todas denominaes marcadas pelo smbolo de propriedade autoral so marcas registradas da Siemens AG.
As demais denominaes nesta publicao podem ser marcas em que os direitos de proprietrio podem ser
violados, quando usadas em prprio benefcio, por terceiros.

Excluso de responsabilidade
Ns revisamos o contedo desta documentao quanto a sua coerncia com o hardware e o software descritos.
Mesmo assim ainda podem existir diferenas e ns no podemos garantir a total conformidade. As informaes
contidas neste documento so revisadas regularmente e as correes necessrias estaro presentes na prxima
edio.

Siemens AG
Industry Sector
Postfach 48 48
90026 NRNBERG
ALEMANHA

N. de encomenda de documento: 6FC5398-2BP40-3KA1


05/2013 Sujeito a modificaes sem aviso prvio

Copyright Siemens AG 1995 - 2013.


Todos os direitos reservados

Prefcio
Documentao SINUMERIK
A documentao SINUMERIK dividida nas seguintes categorias:
Documentao geral
Documentao do usurio
Documentao do fabricante e de servio

Mais informaes
No Link http://www.siemens.com/motioncontrol/docu esto disponveis informaes sobre os
seguintes temas:
Encomenda de documentao / Viso geral das publicaes
Outros links para o download de documentos
Uso da documentao online (localizao e pesquisa de manuais e informaes)
Pedimos que encaminhe suas questes (reclamaes, correes) sobre a documentao
tcnica atravs de um Fax ou E-Mail para o seguinte endereo:
docu.motioncontrol@siemens.com

My Documentation Manager (MDM)


No seguinte link esto disponveis informaes que servem para compor individualmente
uma documentao de mquina especfica de OEM baseada no material publicado da
Siemens:
www.siemens.com/mdm

Training
As informaes sobre a oferta de treinamento esto disponveis sob:
www.siemens.com/sitrain
SITRAIN - o treinamento desenvolvido pela Siemens para produtos, sistemas e solues
de automao
www.siemens.com/sinutrain
SinuTrain - software de treinamento para SINUMERIK

Preparao do trabalho
Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

Prefcio

FAQs
As Perguntas Mais Frequentes esto disponveis para consulta nas pginas do
Service&Support som o item Suporte ao Produto. http://support.automation.siemens.com

SINUMERIK
As informaes sobre o SINUMERIK esto disponveis no seguinte link:
www.siemens.com/sinumerik

Grupo destino
Esta publicao dirigida a:
Programadores
Projetistas

Aplicao
O manual de programao possibilita a criao de progamas e interface de software para
editar, testar e para corrigir erros.

Escopo padro
Este manual de programao descreve as funcionalidades de escopo padro. As
complementaes e alteraes realizadas pelo fabricante da mquina so documentadas
pelo fabricante da mquina.
No comando podem existir outras funes que no foram explicadas nesta documentao.
Isso, no entanto, no implica nenhuma obrigao destas funes serem fornecidas com um
novo controle ou em caso de servio.
Da mesma forma, devido grande variedade de itens, esta documentao no compreende
todas as informaes detalhadas de todos os tipos de produto, e tambm no podem ser
considerados todos os casos possveis de instalao, operao e manuteno.

Suporte tcnico
Os nmeros de telefone para consultas tcnicas de cada pas esto disponveis na Internet
sob http://www.siemens.com/automation/service&support

Preparao do trabalho

Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

Prefcio

Informaes sobre estrutura e contedo


Manual de programao "Fundamentos" e "Preparao de trabalho"
A descrio da programao de NC dividida em 2 manuais:
1. Fundamentos
O manual de programao bsico voltado para o operador de mquinas com
conhecimentos especficos em fresamento, furao e torneamento. Exemplos simples de
programao so usados para explicar as instrues, que tambm so definidas pela
DIN 66025.
2. Preparao do trabalho
O manual de programao "Preparao de trabalho" oferece ao tcnico, conhecimentos
sobre todas as possibilidades de programao. O Comando SINUMERIK permite que
com uma linguagem de programao especial sejam feitos complexos programas de
pea (por exemplo, superfcies de formas livres, sincronismo de canais, ...) e facilita a
programao de operaes de alta complexidade.

Disponibilidade dos elementos da linguagem de NC descritos


Todos o elementos de linguagem de NC descritos no seguinte manual so disponveis para
SINUMERIK 840D sl. A disponibilidade com relao ao SINUMERIK 828D est indicada na
tabela "Instrues Disponibilidade no SINUMERIK 828D (Pgina 783)".

Preparao do trabalho
Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

Prefcio

Preparao do trabalho

Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

Contedo
Prefcio ..................................................................................................................................................... 3
1

Programao flexvel de NC .................................................................................................................... 17


1.1
1.1.1
1.1.2
1.1.3
1.1.4
1.1.5
1.1.6
1.1.7
1.1.8
1.1.9
1.1.10
1.1.11
1.1.12
1.1.13
1.1.14
1.1.15
1.1.16

Variveis ......................................................................................................................................17
Varivel de sistema......................................................................................................................17
Variveis de usurio pr-definidas: Parmetros de clculo (R) ..................................................20
Variveis de usurio pr-definidas: Variveis de ligao ............................................................21
Definio de variveis de usurio (DEF) .....................................................................................24
Redefinio de variveis de sistema, variveis de usurio e comandos de linguagem NC
(REDEF).......................................................................................................................................29
Atributo: Valor de inicializao.....................................................................................................32
Atributo: Valores de limite (LLI, ULI)............................................................................................35
Atributo: Unidade fsica (PHU).....................................................................................................37
Atributo: Direitos de acesso (APR, APW, APRP, APWP, APRB, APWB)...................................39
Viso geral dos atributos definveis e redefinveis.......................................................................44
Definio e inicializao de variveis de campo (DEF, SET, REP) ............................................45
Definio e inicializao de variveis de campo (DEF, SET, REP): Outras informaes...........49
Tipos de dados ............................................................................................................................52
Converses explcitas do tipo de dados (AXTOINT, INTTOAX) .................................................53
Examinar a existncia de uma varivel (ISVAR) .........................................................................54
Ler valores de atributos/tipo de dados (GETVARPHU, GETVARAP, GETVARLIM,
GETVARDFT, GETVARTYP) ......................................................................................................56

1.2
1.2.1
1.2.2
1.2.3
1.2.4

Programao indireta...................................................................................................................61
Programao indireta de endereos............................................................................................61
Programao indireta de cdigos G ............................................................................................64
Programao indireta de atributos de posio (GP)....................................................................65
Programao indireta de linhas de programa de pea (EXECSTRING).....................................68

1.3

Funes de clculo ......................................................................................................................69

1.4

Operadores de comparao e operadores lgicos......................................................................71

1.5

Correo da preciso em erros de comparao (TRUNC) .........................................................73

1.6

Mnimo, mximo e rea de variveis (MINVAL, MAXVAL, BOUND) ..........................................74

1.7

Prioridade das operaes ............................................................................................................76

1.8

Possveis converses de tipo ......................................................................................................77

1.9
1.9.1
1.9.2
1.9.3
1.9.4
1.9.5
1.9.6
1.9.7
1.9.8

Operaes de String ....................................................................................................................78


Converso de tipos para STRING (AXSTRING) .........................................................................78
Converso de tipos de STRING (NUMBER, ISNUMBER, AXNAME).........................................79
Encadeamento de Strings (<<) ....................................................................................................80
Mudana para letras minsculas / letras maisculas (TOLOWER, TOUPPER).........................82
Definir o tamanho de uma Strings (STRLEN)..............................................................................83
Localizar caractere/String na String (INDEX, RINDEX, MINDEX, MATCH) ...............................83
Seleo de uma String parcial (SUBSTR)...................................................................................85
Leitura e gravao dos caracteres individuais.............................................................................85

Preparao do trabalho
Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

Contedo

1.9.9

Formatao de String (SPRINT)................................................................................................. 87

1.10
1.10.1
1.10.2
1.10.3

Saltos e ramificaes de programa ............................................................................................ 96


Salto de retorno ao incio do programa (GOTOS) ...................................................................... 96
Saltos de programa at marcadores de salto (GOTOB, GOTOF, GOTO, GOTOC).................. 97
Bifurcao do programa (CASE ... OF ... DEFAULT ...)........................................................... 100

1.11

Repetio de partes do programa (REPEAT, REPEATB, ENDLABEL, P) .............................. 102

1.12
1.12.1
1.12.2
1.12.3
1.12.4
1.12.5
1.12.6

Estruturas de controle ............................................................................................................... 108


Instruo condicional e bifurcao (IF, ELSE, ENDIF)............................................................. 110
Loop de programa infinito (LOOP, ENDLOOP) ........................................................................ 111
Loop contador (FOR ... TO ..., ENDFOR)................................................................................. 112
Loop de programa com condio no incio do loop (WHILE, ENDWHILE) .............................. 114
Loop de programa com condio no fim do loop (REPEAT, UNTIL) ....................................... 115
Exemplo de programa com estruturas de controle aninhadas ................................................. 115

1.13

Coordenao de programa (INIT, START, WAITM, WAITMC, WAITE, SETM, CLEARM) ..... 116

1.14
1.14.1
1.14.2
1.14.3
1.14.4
1.14.5
1.14.6
1.14.7
1.14.8

Rotina de interrupo (ASUP) .................................................................................................. 121


Funcionamento de uma rotina de interrupo .......................................................................... 121
Criar rotina de interrupo ........................................................................................................ 123
Atribuio e partida de rotinas de interrupo (SETINT, PRIO, BLSYNC) .............................. 124
Desativar / ativar a atribuio de uma rotina de interrupo (DISABLE, ENABLE) ................. 125
Deletar a atribuio de uma rotina de interrupo (CLRINT) ................................................... 126
Retrao rpida do contorno (SETINT LIFTFAST, ALF).......................................................... 127
Sentido de deslocamento na retrao rpida do contorno ....................................................... 129
Execuo de movimentos com rotinas de interrupo ............................................................. 132

1.15

Troca de eixos, troca de fusos (RELEASE, GET, GETD) ........................................................ 132

1.16

Transferir eixo de outro canal (AXTOCHAN)............................................................................ 137

1.17

Ativar dados de mquina (NEWCONF) .................................................................................... 138

1.18

Gravar arquivo (WRITE) ........................................................................................................... 139

1.19

Deletar arquivo (DELETE) ........................................................................................................ 144

1.20

Ler linhas no arquivo (READ) ................................................................................................... 146

1.21

Controle de presena de um arquivo (ISFILE) ......................................................................... 148

1.22

Leitura das informaes de arquivo (FILEDATE, FILETIME, FILESIZE, FILESTAT,


FILEINFO) ................................................................................................................................. 150

1.23

Arredondamento (ROUNDUP).................................................................................................. 153

1.24
1.24.1
1.24.1.1
1.24.1.2
1.24.1.3
1.24.1.4
1.24.1.5
1.24.1.6
1.24.2
1.24.2.1
1.24.2.2
1.24.2.3

Tcnica de subrotinas ............................................................................................................... 154


Informaes gerais.................................................................................................................... 154
Subrotina ................................................................................................................................... 154
Nomes de subrotina .................................................................................................................. 155
Aninhamento de subrotinas ...................................................................................................... 156
Caminho de localizao ............................................................................................................ 157
Parmetros formais e parmetros atuais.................................................................................. 158
Transferncia de parmetros .................................................................................................... 159
Definio de uma subrotina ...................................................................................................... 161
Subrotina sem transferncia de parmetros............................................................................. 161
Subrotina com transferncia de parmetros Call-by-Value (PROC) ........................................ 162
Subrotina com transferncia de parmetros Call-by-Reference (PROC, VAR) ....................... 163
Preparao do trabalho

Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

Contedo

1.24.2.4 Salvar funes G modais (SAVE)..............................................................................................166


1.24.2.5 Supresso de processamento bloco a bloco (SBLOF, SBLON) ...............................................167
1.24.2.6 Supresso da atual exibio de bloco (DISPLOF, DISPLON, ACTBLOCNO)..........................172
1.24.2.7 Identificar subrotinas com preparao (PREPRO) ....................................................................175
1.24.2.8 Salto de retorno para a subrotina M17 ......................................................................................176
1.24.2.9 Salto de retorno para subrotina RET .........................................................................................177
1.24.2.10 Salto de retorno parametrizvel da subrotina (RET ...) ........................................................178
1.24.3 Chamada de uma subrotina.......................................................................................................184
1.24.3.1 Chamada de subrotina sem transferncia de parmetros ........................................................184
1.24.3.2 Chamada de subrotina com transferncia de parmetros (EXTERN) ......................................187
1.24.3.3 Nmero de repeties de programa (P) ....................................................................................189
1.24.3.4 Chamada modal de subrotina (MCALL) ....................................................................................191
1.24.3.5 Chamada de subrotinas indireta (CALL) ...................................................................................193
1.24.3.6 Chamada de subrotina indireta com indicao da parte de programa que deve ser
executada (CALL BLOCK ... TO ...)...........................................................................................194
1.24.3.7 Chamada indireta de um programa programado em linguagem ISO (ISOCALL).....................195
1.24.3.8 Chamada de subrotina com indicao de caminho e parmetros (PCALL) .............................196
1.24.3.9 Ampliar o caminho de localizao na chamada de subrotinas (CALLPATH) ...........................197
1.24.3.10 Executar subrotina externa (840D sl) (EXTCALL)................................................................198
1.24.3.11 Executar subrotina externa (828D) (EXTCALL) ...................................................................202
1.25
2

Tcnica de macros (DEFINE ... AS) ..........................................................................................205

Gerenciamento de arquivos e programas.............................................................................................. 209


2.1

Memria de programa................................................................................................................209

2.2

Memria de trabalho (CHANDATA, COMPLETE, INITIAL) ......................................................213

reas de proteo ................................................................................................................................. 217


3.1

Definio das reas de proteo (CPROTDEF, NPROTDEF)..................................................217

3.2

Ativar/desativar reas de proteo (CPROT, NPROT) .............................................................220

3.3

Verificao quanto violao da rea de proteo, limite da rea de trabalho e chave fim
de curso de software (CALCPOSI)............................................................................................224

Comandos especiais de curso............................................................................................................... 229


4.1

Aproximar posies codificadas (CAC, CIC, CDC, CACP, CACN)...........................................229

4.2

Interpolao de Spline (ASPLINE, BSPLINE, CSPLINE, BAUTO, BNAT, BTAN, EAUTO,


ENAT, ETAN, PW, SD, PL) .......................................................................................................230

4.3

Agrupamento de Spline (SPLINEPATH) ...................................................................................240

4.4

Compresso de blocos NC (COMPON, COMPCURV, COMPCAD, COMPOF).......................241

4.5

Interpolao de polinmios (POLY, POLYPATH, PO, PL)........................................................244

4.6

Referncia ajustvel do percurso (SPATH, UPATH).................................................................250

4.7

Medio com apalpador comutvel (MEAS, MEAW) ................................................................253

4.8

Medio axial (MEASA, MEAWA, MEAC) (Opo)...................................................................256

4.9

Funes especiais para o usurio OEM (OMA1 ... OMA5, OEMIPO1, OEMIPO2, G810 ...
G829) .........................................................................................................................................266

4.10

Reduo de avano com desacelerao nos cantos (FENDNORM, G62, G621) ....................267

Preparao do trabalho
Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

Contedo

4.11
5

Critrios programveis para fim de movimentos (FINEA, COARSEA, IPOENDA,


IPOBRKA, ADISPOSA)............................................................................................................. 268

Transformaes de coordenadas (Frames) ........................................................................................... 271


5.1
5.1.1

Transformao de coordenadas atravs de varivel Frame .................................................... 271


Varivel Frame pr-definida ($P_BFRAME, $P_IFRAME, $P_PFRAME, $P_ACTFRAME) ... 273

5.2
5.2.1
5.2.2
5.2.3
5.2.4

Atribuir valores para variveis Frame / Frame.......................................................................... 278


Atribuir valores diretos (valor de eixo, ngulo, escala) ............................................................. 278
Ler e alterar componentes de Frame (TR, FI, RT, SC, MI) ...................................................... 280
Referncias de Frames completos ........................................................................................... 282
Definio de novos Frames (DEF FRAME) .............................................................................. 283

5.3

Deslocamento aproximado e deslocamento fino (CFINE, CTRANS)....................................... 284

5.4

Deslocamento externo de ponto zero ....................................................................................... 286

5.5

Deslocamento Preset com PRESETON ................................................................................... 287

5.6

Clculo de Frame a partir de 3 pontos de medio no espao (MEAFRAME) ........................ 288

5.7
5.7.1
5.7.2

Frames globais da NCU............................................................................................................ 292


Frames especficos de canal ($P_CHBFR, $P_UBFR) ............................................................ 293
Frames ativos no canal ............................................................................................................. 294

Transformaes..................................................................................................................................... 299
6.1
6.1.1
6.1.2

Programao geral de tipos de transformao......................................................................... 299


Movimentos de orientao nas transformaes ....................................................................... 301
Vista geral da transformao de orientao TRAORI .............................................................. 305

6.2
6.2.1
6.2.2
6.2.3
6.2.4
6.2.5
6.2.6
6.2.7

Transformao de trs, quatro e cinco eixos (TRAORI)........................................................... 307


Relaes gerais do cabeote de ferramenta cardnico ........................................................... 307
Transformao de trs, quatro e cinco eixos (TRAORI)........................................................... 310
Variantes da programao da orientao e posio bsica (ORIRESET)............................... 311
Programao da orientao da ferramenta (A..., B..., C..., LEAD, TILT) ................................. 313
Fresamento de topo (A4, B4, C4, A5, B5, C5).......................................................................... 319
Relao dos eixos de orientao (ORIWKS, ORIMKS) ........................................................... 321
Programao dos eixos de orientao (ORIAXES, ORIVECT, ORIEULER, ORIRPY,
ORIRPY2, ORIVIRT1, ORIVIRT2)............................................................................................ 323
Programao da orientao ao longo de uma superfcie perifrica cnica (ORIPLANE,
ORICONCW, ORICONCCW, ORICONTO, ORICONIO).......................................................... 326
Especificao de orientao de dois pontos de contato (ORICURVE, PO[XH]=, PO[YH]=,
PO[ZH]=) ................................................................................................................................... 329

6.2.8
6.2.9
6.3

Polinmios de orientao (PO[ngulo], PO[coordenadas]) ...................................................... 331

6.4

Rotaes da orientao da ferramenta (ORIROTA, ORIROTR, ORIROTT, ORIROTC,


THETA) ..................................................................................................................................... 333

6.5
6.5.1
6.5.2
6.5.3
6.5.4

Orientaes relativas trajetria .............................................................................................. 336


Tipos de orientao relativos trajetria .................................................................................. 336
Rotao da orientao da ferramenta relativa trajetria (ORIPATH, ORIPATHS, ngulo
de rotao) ................................................................................................................................ 337
Interpolao relativa trajetria da rotao da ferramenta (ORIROTC, THETA) .................... 339
Suavizao do decurso de orientao (ORIPATHS A8=, B8=, C8=) ....................................... 341

6.6

Compresso da orientao (COMPON, COMPCURV, COMPCAD)........................................ 342

Preparao do trabalho

10

Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

Contedo

6.7

Suavizao do decurso de orientao (ORISON, ORISOF) .....................................................344

6.8
6.8.1
6.8.2
6.8.3
6.8.4

Transformao cinemtica.........................................................................................................347
Fresamento em peas torneadas (TRANSMIT) ........................................................................347
Transformao de superfcie cilndrica (TRACYL) ....................................................................349
Eixo inclinado (TRAANG) ..........................................................................................................357
Programar eixo inclinado (G5, G7) ............................................................................................360

6.9
6.9.1

Deslocamento PTP cartesiano ..................................................................................................362


PTP com TRANSMIT.................................................................................................................366

6.10

Condies gerais na seleo de uma transformao ...............................................................370

6.11

Desselecionar a transformao (TRAFOOF) ............................................................................371

6.12

Transformaes encadeadas (TRACON, TRAFOOF) ..............................................................371

Cadeias cinemticas.............................................................................................................................. 375


7.1

Supresso de componentes (DELOBJ).....................................................................................375

7.2

Averiguao do ndice por nome (NAMETOINT) ......................................................................377

Preveno de coliso com cadeias cinemticas.................................................................................... 379


8.1

Teste sobre o par de coliso(COLLPAIR) ................................................................................379

8.2

Solicitar novo clculo do modelo de coliso (PROTA) ..............................................................380

8.3

Estabelecer a condio da rea de proteo (PROTS) ............................................................382

8.4

Determinao da distncia de duas reas de proteo (PROTD) ............................................383

Corretores de ferramentas..................................................................................................................... 385


9.1

Memria de correes ...............................................................................................................385

9.2
9.2.1
9.2.2
9.2.3

Corretores aditivos.....................................................................................................................388
Ativar correes aditivas (DL)....................................................................................................388
Definir valores de desgaste e de ajuste ($TC_SCPxy[t,d], $TC_ECPxy[t,d])............................389
Deletar correes aditivas (DELDL) ..........................................................................................390

9.3
9.3.1
9.3.2
9.3.3
9.3.4

Tratamentos especiais de corretor de ferramenta.....................................................................391


Espelhar comprimentos de ferramentas....................................................................................393
Avaliao de sinais de desgaste ...............................................................................................394
Sistema de coordenadas da usinagem ativa (TOWSTD, TOWMCS, TOWWCS,
TOWBCS, TOWTCS, TOWKCS)...............................................................................................395
Comprimento de ferramenta e mudana de planos ..................................................................398

9.4

Correo de ferramenta Online (PUTFTOCF, FCTDEF, PUTFTOC, FTOCON, FTOCOF) .....399

9.5
9.5.1

Ativao da correo de ferramenta 3D (CUT3DC..., CUT3DF...)............................................404


Ativao das correes de ferramentas 3D (CUT3DC, CUT3DF, CUT3DFS, CUT3DFF,
ISD) ............................................................................................................................................404
Correes de ferramenta 3D: Fresamento perifrico, fresamento de topo ...............................406
Correes de ferramenta 3D: Formas e dados de ferramenta para fresamento de topo .........408
Correes de ferramenta 3D: Correo na trajetria, curvatura de trajetria, profundidade
de imerso (CUT3DC, ISD) .......................................................................................................409
Correes de ferramenta 3D: Cantos internos/externos e procedimento de ponto de
interseco (G450/G451)...........................................................................................................412
Correes de ferramenta 3D: Fresamento perifrico 3D com superfcies de limitao............413

9.5.2
9.5.3
9.5.4
9.5.5
9.5.6

Preparao do trabalho
Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

11

Contedo

10

9.5.7

Correes de ferramenta 3D: Considerao de uma superfcie de limitao (CUT3DCC,


CUT3DCCD) ............................................................................................................................. 414

9.6

Orientao da ferramenta (ORIC, ORID, OSOF, OSC, OSS, OSSE, ORIS, OSD, OST)........ 418

9.7
9.7.1
9.7.2
9.7.3
9.7.4
9.7.5

Seleo livre de nmero D, nmero de gume .......................................................................... 424


Atribuio livre de nmeros D, nmero de corte (endereo CE) .............................................. 424
Atribuio livre de nmeros D: Verificar nmeros D (CHKDNO).............................................. 424
Atribuio livre de nmeros D: Renomear nmeros D (GETDNO, SETDNO) ......................... 425
Atribuio livre de nmeros D: Determinar o nmero T para o nmero D especificado
(GETACTTD) ............................................................................................................................ 426
Atribuio livre de nmeros D: Invalidar nmeros D (DZERO) ................................................ 427

9.8

Cinemtica do porta-ferramenta ............................................................................................... 427

9.9

Correo de comprimento de ferramenta para porta-ferramentas orientveis (TCARR,


TCOABS, TCOFR, TCOFRX, TCOFRY, TCOFRZ) ................................................................. 433

9.10

Correo Online de comprimento de ferramenta (TOFFON, TOFFOF)................................... 436

9.11

Modificao dos dados de corte para ferramentas orientveis (CUTMOD)............................. 439

Comportamento de percurso ................................................................................................................. 445


10.1

Controle tangencial (TANG, TANGON, TANGOF, TLIFT, TANGDEL) .................................... 445

10.2

Caracterstica de avano (FNORM, FLIN, FCUB, FPO) .......................................................... 452

10.3
10.3.1
10.3.2
10.3.3

Comportamento da acelerao................................................................................................. 457


Modo de acelerao (BRISK, BRISKA, SOFT, SOFTA, DRIVE, DRIVEA).............................. 457
Influncia da acelerao em eixos escravos (VELOLIMA, ACCLIMA, JERKLIMA)................. 459
Ativao de valores de dinmica especficos de tecnologia (DYNNORM, DYNPOS,
DYNROUGH, DYNSEMIFIN, DYNFINISH) .............................................................................. 461

10.4

Deslocamento com controle antecipado (FFWON, FFWOF) ................................................... 463

10.5

Preciso de contorno programvel (CPRECON, CPRECOF).................................................. 464

10.6

Execuo do programa com memria de pr-processamento (STOPFIFO, STARTFIFO,


FIFOCTRL, STOPRE)............................................................................................................... 466

10.7

Segmentos de programa interrompidos condicionalmente (DELAYFSTON,


DELAYFSTOF) ......................................................................................................................... 469

10.8

Evitar posio de programa para SERUPRO (IPTRLOCK, IPTRUNLOCK) ............................ 474

10.9

Reaproximao no contorno (REPOSA, REPOSL, REPOSQ, REPOSQA, REPOSH,


REPOSHA, DISR, DISPR, RMIBL, RMBBL, RMEBL, RMNBL) ............................................... 476

10.10
10.10.1
10.10.2
10.10.3

Controle na conduo do movimento ....................................................................................... 484


Correo percentual de solavancos (JERKLIM)....................................................................... 484
Correo percentual da velocidade (VELOLIM) ....................................................................... 486
Exemplo de programa para JERKLIM e VELOLIM................................................................... 488

10.11

Tolerncia de contorno/orientao programvel (CTOL, OTOL, ATOL).................................. 488

10.12

Tolerncia em movimentos G0 (STOLF) .................................................................................. 492

10.13

Ao de mudana de bloco no acoplamento ativo (CPBC)...................................................... 494

Preparao do trabalho

12

Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

Contedo

11

Acoplamentos de eixo ........................................................................................................................... 495


11.1

Movimento acoplado (TRAILON, TRAILOF) .............................................................................495

11.2
11.2.1
11.2.2
11.2.3
11.2.4

Tabelas de curvas (CTAB).........................................................................................................500


Definio de tabelas de curvas (CTABDEF, CATBEND) ..........................................................501
Controle de presena de uma tabela de curvas (CTABEXISTS) ..............................................507
Eliminao de tabelas de curvas (CTABDEL) ...........................................................................507
Bloqueio de tabelas de curvas contra eliminao e sobregravao (CTABLOCK,
CTABUNLOCK) .........................................................................................................................509
Tabelas de curvas: Determinao de propriedades de tabela (CTABID, CTABISLOCK,
CTABMEMTYP, CTABPERIOD) ...............................................................................................510
Leitura dos valores da tabela de curvas (CTABTSV, CTABTEV, CTABTSP, CTABTEP,
CTABSSV, CTABSEV, CTAB, CTABINV, CTABTMIN, CTABTMAX).......................................512
Tabelas de curvas: Controle do aproveitamento de recursos (CTABNO, CTABNOMEM,
CTABFNO, CTABSEGID, CTABSEG, CTABFSEG, CTABMSEG, CTABPOLID,
CTABPOL, CTABFPOL, CTABMPOL) ......................................................................................517

11.2.5
11.2.6
11.2.7

12

11.3

Acoplamento axial de valor mestre (LEADON, LEADOF).........................................................518

11.4
11.4.1
11.4.2
11.4.3
11.4.4
11.4.5

Caixa de transmisso eletrnica (EG) .......................................................................................523


Definir caixa de transmisso eletrnica (EGDEF) .....................................................................524
Ativar caixa de transmisso eletrnica (EGON, EGONSYN, EGONSYNE) .............................525
Desativar transmisso eletrnica (EGOFS, EGOFC)................................................................529
Deletar a definio de uma caixa de transmisso eletrnica (EGDEL) ....................................530
Avano por rotao (G95) / caixa de transmisso eletrnica (FPR) .........................................530

11.5
11.5.1

Fuso sincronizado......................................................................................................................531
Fuso sincronizado: Programao (COUPDEF, COUPDEL, COUPON, COUPONC,
COUPOF, COUPOFS, COUPRES, WAITC) .............................................................................531

11.6

Acoplamento genrico (CP...)....................................................................................................541

11.7

Acoplamento-mestre/escravo (MASLDEF, MASLDEL, MASLON, MASLOF, MASLOFS) .......549

Aes sncronas .................................................................................................................................... 553


12.1

13

14

15

Definio de uma ao sncrona ...............................................................................................553

Oscilao............................................................................................................................................... 555
13.1

Oscilao assncrona (OS, OSP1, OSP2, OST1, OST2, OSCTRL, OSNSC, OSE, OSB).......555

13.2

Oscilao controlada atravs de aes sncronas (OSCILL)....................................................560

Estampagem e puncionamento ............................................................................................................. 569


14.1
14.1.1

Ativao, desativao ................................................................................................................569


Estampagem e puncionamento ativado ou desativado (SPOF, SON, PON, SONS,
PONS, PDELAYON, PDELAYOF, PUNCHACC) ......................................................................569

14.2
14.2.1
14.2.2

Segmentao automtica de curso ...........................................................................................574


Segmentao de curso para eixos de percurso ........................................................................576
Segmentao de curso para eixos individuais ..........................................................................579

Retificao............................................................................................................................................. 581
15.1

Monitorao de ferramenta especfica de retificao no programa de pea (TMON,


TMOF)........................................................................................................................................581

Preparao do trabalho
Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

13

Contedo

16

Outras funes ...................................................................................................................................... 583


16.1

Funes de eixo (AXNAME, AX, SPI, AXTOSPI, ISAXIS, AXSTRING, MODAXVAL) ............ 583

16.2

Eixos geomtricos comutveis (GEOAX) ................................................................................. 585

16.3

Contentor de eixos (AXCTSWE, AXCTSWED, AXCTSWEC).................................................. 590

16.4

Espera pela posio de eixo vlida (WAITENC) ...................................................................... 592

16.5

Bloco programvel de alterao de parmetros (SCPARA)..................................................... 593

16.6

Controlar o escopo disponvel de linguagem NC (STRINGIS) ................................................. 594

16.7

Chamada interativa a partir do programa de pea (MMC) ....................................................... 598

16.8
16.8.1
16.8.2
16.8.3

Tempo de processamento do programa / contador de peas .................................................. 600


Tempo de processamento do programa / contador de peas (resumo) .................................. 600
Tempo de processamento do programa................................................................................... 600
Contador de peas.................................................................................................................... 604

16.9

Process DataShare - Sada para um dispositivo ou arquivo externo (EXTOPEN, WRITE,


EXTCLOSE).............................................................................................................................. 605

16.10

Alarmes (SETAL) ...................................................................................................................... 614

16.11
Parada e retrocesso ampliados (ESR) ..................................................................................... 616
16.11.1 ESR controlado por NC............................................................................................................. 617
16.11.1.1 Retrocessos controladas por NC (POLF, POLFA, POLFMASK, POLFMLIN) .................... 617
16.11.1.2 Parada controlada por NC ................................................................................................... 621
16.11.2 Comando autrquico ESR ........................................................................................................ 622
16.11.2.1 Configurao da parada independente de acionamento (ESRS) ....................................... 622
16.11.2.2 Configurao do retrocesso independente de acionamento (ESRR).................................. 623
17

18

Programas de desbaste prprios ........................................................................................................... 625


17.1

Funes de apoio para o desbaste........................................................................................... 625

17.2

Criar tabela de contorno (CONTPRON) ................................................................................... 626

17.3

Criar tabela de contorno codificada (CONTDCON) .................................................................. 632

17.4

Determinar a interseco entre dois elementos de contorno (INTERSEC). ............................ 635

17.5

Executar por blocos os elementos de contorno de uma tabela (EXECTAB) ........................... 637

17.6

Calcular dados de crculos (CALCDAT) ................................................................................... 638

17.7

Desativar a preparao de contorno (EXECUTE) .................................................................... 640

Programao externa de ciclos ............................................................................................................. 641


18.1
18.1.1
18.1.2
18.1.3
18.1.4
18.1.5
18.1.6
18.1.7
18.1.8
18.1.9
18.1.10

Ciclos tecnolgicos ................................................................................................................... 641


Introduo ................................................................................................................................. 641
Furao, centragem - CYCLE81............................................................................................... 642
Furao, escareamento plano - CYCLE82 ............................................................................... 643
Alargamento - CYCLE85........................................................................................................... 644
Furao profunda - CYCLE83 .................................................................................................. 645
Mandrilamento - CYCLE86 ....................................................................................................... 648
Rosqueamento com macho sem mandril de compensao - CYCLE84 ................................. 649
Rosqueamento com macho com mandril de compensao - CYCLE840 ............................... 652
Fresamento de furo roscado - CYCLE78.................................................................................. 654
Qualquer posio - CYCLE802................................................................................................. 656
Preparao do trabalho

14

Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

Contedo

18.1.11
18.1.12
18.1.13
18.1.14
18.1.15
18.1.16
18.1.17
18.1.18
18.1.19
18.1.20
18.1.21
18.1.22
18.1.23
18.1.24
18.1.25
18.1.26
18.1.27
18.1.28
18.1.29
18.1.30
18.1.31
18.1.32
18.1.33
18.1.34
18.1.35
18.1.36
18.1.37
18.1.38
18.1.39
19

Fileira de furos - HOLES1..........................................................................................................657


Grade ou Quadro - CYCLE801..................................................................................................658
Crculo de furos - HOLES2 ........................................................................................................659
Fresamento de facear - CYCLE61 ............................................................................................661
Fresamento de bolso retangular - POCKET3..........................................................................662
Fresamento de bolso circular - POCKET4 ..............................................................................665
Fresamento de salincia retangular - CYCLE76 .......................................................................667
Fresamento de salincia circular - CYCLE77............................................................................669
Poliedro - CYCLE79...................................................................................................................671
Ranhura longitudinal - SLOT1 ...................................................................................................673
Ranhura circular - SLOT2 ..........................................................................................................675
Fresamento de ranhura aberta - CYCLE899.............................................................................677
Oblongo - LONGHOLE ..............................................................................................................679
Fresamento de roscas - CYCLE70............................................................................................681
Ciclo de gravao - CYCLE60 ...................................................................................................683
Chamada de contorno - CYCLE62 ............................................................................................685
Fresamento de percurso - CYCLE72 ........................................................................................685
Pr-furao de bolso de contorno - CYCLE64 ........................................................................688
Fresamento de bolso de contorno - CYCLE63........................................................................689
Desbaste - CYCLE951...............................................................................................................692
Canal - CYCLE930 ....................................................................................................................694
Formas de alvio - CYCLE940 ...................................................................................................696
Torneamento de roscas - CYCLE99..........................................................................................699
Sequncia de roscas - CYCLE98 ..............................................................................................702
Separao - CYCLE92 ..............................................................................................................705
Desbaste do contorno - CYCLE95 ............................................................................................706
Usinagem de canal de contorno - CYCLE952...........................................................................708
Rotao - CYCLE800 ................................................................................................................712
High Speed Settings - CYCLE832 .............................................................................................714

Tabelas.................................................................................................................................................. 717
19.1

Instrues...................................................................................................................................717

19.2

Instrues Disponibilidade no SINUMERIK 828D .....................................................................783

19.3

Atual idioma na HMI...................................................................................................................807

Apndice................................................................................................................................................ 809
A.1

Lista de abreviaes ..................................................................................................................809

A.2

Vista Geral da documentao....................................................................................................818

Glossrio ............................................................................................................................................... 819


ndice..................................................................................................................................................... 841

Preparao do trabalho
Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

15

Contedo

Preparao do trabalho

16

Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

Programao flexvel de NC
1.1

Variveis
Atravs do uso de variveis, principalmente junto com funes de clculo e estruturas de
controle, os programas de pea e os ciclos podem ser compostos de modo extremamente
flexvel. o sistema disponibiliza trs diferentes tipos de variveis:
Variveis de sistema
As variveis de sistema so variveis definidas no sistema e disponibilizadas ao usurio,
e possuem um significado fixo. Elas tambm so lidas e gravadas pelo software do
sistema. Exemplo: Dados de mquina
O significado de uma varivel de sistema definido de modo fixo pelo sistema Porm,
apenas uma pequena parte das propriedades permite ser adaptada pelo usurio atravs
de uma redefinio. Veja "Redefinio de variveis de sistema, variveis de usurio e
comandos de linguagem NC (REDEF) (Pgina 29)"
Variveis de usurio
As variveis de usurio so variveis, cujo significado no conhecido pelo sistema e
nem pode ser avaliado pelo sistema. O significado definido exclusivamente pelo
usurio.
As variveis de usurio esto divididas em:
Variveis de usurio pr-definidas
As variveis de usurio pr-definidas so variveis j definidas no sistema, cuja
grandeza ainda precisa ser parametrizada pelo usurio atravs de dados de mquina
especficos. As propriedades destas variveis podem ser amplamente adaptadas pelo
usurio. Veja "Redefinio de variveis de sistema, variveis de usurio e comandos
de linguagem NC (REDEF) (Pgina 29)".
Variveis definidas pelo usurio
As variveis definidas pelo usurio so variveis que so definidas exclusivamente
pelo usurio e somente so criadas pelo sistema durante o processamento. Sua
grandeza, tipo de dado, visibilidade e todas demais propriedades so definidas
exclusivamente pelo usurio.
Veja "Definio de variveis de usurio (DEF) (Pgina 24)"

1.1.1

Varivel de sistema
As variveis de sistema so variveis pr-definidas no sistema, que nos programas de pea
e nos ciclos oferecem o acesso atual parametrizao do comando, assim como aos
estados da mquina, do comando e do processo.

Preparao do trabalho
Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

17

Programao flexvel de NC
1.1 Variveis

Variveis de pr-processamento
As variveis de pr-processamento so denominadas como variveis de sistema, que no
contexto do pr-processamento, ou seja, no momento da interpretao do bloco do
programa de pea onde est programada a varivel de sistema, podem ser lidas e
gravadas. As variveis de pr-processamento no disparam nenhuma parada de prprocessamento.

Variveis de processamento principal


As variveis de processamento principal so denominadas como variveis de sistema, que
no contexto do processamento principal, ou seja, no momento da execuo do bloco do
programa de pea onde est programada a varivel de sistema, podem ser lidas e
gravadas. As variveis de processamento principal so:
Variveis de sistema, que podem ser programadas em aes sncronas
(leitura/gravao)
Variveis de sistema, que podem ser programadas no programa de pea e que disparam
a parada de pr-processamento (leitura/gravao)
Variveis de sistema, que podem ser programadas no programa de pea e que
determinam o valor no pr-processamento, mas a gravao somente ocorre no
processamento principal (Sincronizado com o processamento principal: apenas
gravao)

Sistemtica de prefixos
Para uma identificao especial das variveis de sistema normalmente se coloca um prefixo
no nome, que composto pelo caractere $, seguido de uma ou duas letras e um
sublinhado:
$ + 1 letra

Significado: Tipo de dados

Variveis de sistema, que so lidas / gravadas no pr-processamento


$M

Dados de mquina 1)

$S

Dados de ajuste, reas de proteo 1)

$T

Dados de gerenciamento de ferramentas

$P

Valores programados

$C

Variveis de ciclo dos ciclos envoltrios ISO

$O

Dados opcionais

Parmetro R (parmetro de clculo) 2)

Variveis de sistema, que so lidas / gravadas no processamento principal


$$M

Dados de mquina 1)

$$S

Dados de ajuste 1)

$A

Atuais dados de processamento principal

$V

Dados do servo

$R

Parmetro R (parmetro de clculo) 2)

Se os dados da mquina ou da configurao sero tratados como varivel de pr- processamento


ou principal, depende de eles estarem gravados com um ou dois sinais $. o modo de gravao de
livre escolha de acordo com a utilizao especfica.
1)

Para o uso de um parmetro R no programa de pea / ciclo como uma varivel de prprocessamento no escrito nenhum prefixo, p. ex. R10. Para o uso em uma ao sncrona como
uma varivel de processamento principal o prefixo escrito com um caractere $, p. ex. $R10.
2)

Preparao do trabalho

18

Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

Programao flexvel de NC
1.1 Variveis

2 letra

Significado: Visibilidade

Varivel global do NCK (NCK)

Varivel especfica de canal (Channel)

Varivel especfica de eixo (Axis)

Condies gerais
Excees na sistemtica de prefixos
As seguintes variveis de sistema diferem da sistema de prefixos mencionada acima:
$TC_...: A 2 letra C neste caso no uma varivel especfica de canal, mas varivel de
sistema especfica de porta-ferramenta (TC = Tool Carrier)
$P_ ...: Variveis de sistema especficas de canal
Emprego de dados de mquina e dados de ajuste em aes sncronas
No emprego de dados de mquina e dados de ajuste em aes sncronas possvel
determinar atravs do prefixo se os dados de mquina ou de ajuste so lidos e gravados de
maneira sncrona no pr-processamento ou no processamento principal.
Se o dado permanece inalterado durante o processamento, a leitura pode ser sincronizada
com o pr-processamento. Para isso o prefixo do dado de mquina ou do dado de ajuste
escrito com um caractere $:

ID=1 WHENEVER $AA_IM[z] < $SA_OSCILL_REVERSE_POS2[Z]6 DO $AA_OVR[X]=0

Se o dado variar durante o processamento, a leitura / gravao deve ser sincronizada com o
processamento principal. Para isso o prefixo do dado de mquina ou do dado de ajuste
escrito com dois caracteres $:

ID=1 WHENEVER $AA_IM[z] < $$SA_OSCILL_REVERSE_POS2[Z]6 DO $AA_OVR[X]=0

Indicao
Gravao de dados de mquina
Na gravao de um dado de mquina ou de ajuste deve-se prestar ateno para que o nvel
de acesso ativo durante a execuo do programa de pea / ciclo permita o acesso de
gravao e que o efeito do dado seja "IMMEDIATE".

Literatura

Uma listagem das propriedades de todas as variveis de sistema est disponvel no(a):
Manual de listas Variveis de sistema

Ver tambm
Variveis (Pgina 17)

Preparao do trabalho
Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

19

Programao flexvel de NC
1.1 Variveis

1.1.2
Funo

Variveis de usurio pr-definidas: Parmetros de clculo (R)

Os parmetros de clculo ou parmetros R so variveis de usurio pr-definidas com a


identificao R, definida como campo do tipo de dado REAL Por motivos histricos
permitido para o parmetro R na gravao com campo de ndice ex. R[10], tambm na
gravao sem campo de ndice ex. R10
Para o uso em aes sncronas deve ser colocada a letra $ na frente, ex $R10.

Sintaxe

Para uso como varivel de pr-processamento:


R<n>
R[<expresso>]
Para uso como varivel de processamento principal:
$R<n>
$R[<expresso>]

Significado
R:

Identificador para uso como varivel fluxo, ex. Programa de pea

$R:

Identificador para uso como varivel de processamento principal, ex. em


aes sncronas
Tipo:

REAL

Faixa de valores:

Para forma escrita no exponencial:


(0.000 0001 ... 9999 9999)
Nota:
So permitidas no mximo 8 casas decimais
Para forma escrita exponencial:
(1*10-300 ... 1*10+300)
Nota:
Forma escrita: <mantissa>EX<exponente> p. ex.
8.2EX-3
So permitidos at 10 caracteres, inclusive o sinal
precedente e o ponto decimal.

<n>:

Nmero do parmetro R
Tipo:

INT

Faixa de valores:

0 - MAX_INDEX
Nota
O MAX_INDEX resulta do nmero parametrizado de
parmetros R:
MAX_INDEX = (MD28050 $MN_MM_NUM_R_PARAM) - 1

<expresso>:

ndice de campo
Como ndice de campo pode ser especificada uma expresso qualquer,
enquanto o resultado da expresso permitir sua converso para o tipo de dado
INT (INT, REAL, BOOL, CHAR)

Preparao do trabalho

20

Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

Programao flexvel de NC
1.1 Variveis

Exemplo
Atribuies em parmetros R e uso de parmetros R em funes matemticas:
Cdigo de programa

Comentrio

R0=3.5678

Atribuio no pr-processamento

R[1]=-37.3

Atribuio no pr-processamento

R3=-7

Atribuio no pr-processamento

$R4=-0.1EX-5

Atribuio no processamento principal: R4 = -0.1 *


10^-5

$R[6]=1.874EX8

Atribuio no processamento principal: R6 = 1.874 *


10^8

R7=SIN(25.3)

Atribuio no pr-processamento

R[R2]=R10

Endereamento indireto atravs de parmetro R

R[(R1+R2)*R3]=5

Endereamento indireto atravs de expresso


matemtica

X=(R1+R2)

Desloca o eixo X at a posio resultante da soma


de R1 e R2

Z=SQRT(R1*R1+R2*R2)

Desloca o eixo Z at a posio da raiz quadrada de


(R1^2 + R2^2)

Ver tambm
Variveis (Pgina 17)

1.1.3

Variveis de usurio pr-definidas: Variveis de ligao

Funo
Atravs das variveis de ligao durante a funo "NCU-Link" podem ser trocados dados
cclicos entre NCUs, que esto ligadas uma a outra atravs de uma rede. Aqui elas
permitem o acesso especfico de formato de dado memria de variveis de ligao. A
memria de variveis de ligao definida de acordo com a instalao, tanto pelo tamanho
como pela estrutura de dados do usurio / fabricante da mquina.
Variveis de ligao so variveis de usurio globais de sistema, que podem ser lidas e
gravadas em programas de pea e em ciclos mediante uma comunicao de ligao (Link)
configurada de todas NCUs do grupo de ligao. Em contrapartida s variveis de usurio
globais (GUD) as variveis de ligao tambm podem ser utilizadas em aes sncronas.
Para instalaes sem NCU-Link ativo, as variveis de ligao locais do comando podem ser
utilizadas paralelamente s variveis de usurio globais (GUD) como variveis de usurio
globais extras.

Preparao do trabalho
Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

21

Programao flexvel de NC
1.1 Variveis

Sintaxe

$A_DLB[<ndice>]
$A_DLW[<ndice>]
$A_DLD[<ndice>]
$A_DLR[<ndice>]

Significado
$A_DLB:

$A_DLW:

$A_DLD:

$A_DLR:

<ndice>:

Varivel de ligao para formato de dado BYTE (1 Byte)


Tipo de dado:

UINT

Faixa de valores:

0 ... 255

Varivel de ligao para formato de dado WORD (2 Bytes)


Tipo de dado:

INT

Faixa de valores:

-32768 ... 32767

Varivel de ligao para formato de dado DWORD (4 Bytes)


Tipo de dado:

INT

Faixa de valores:

-2147483648 ... 2147483647

Varivel de ligao para formato de dado REAL (8 Bytes)


Tipo de dado:

REAL

Faixa de valores:

(2,2*10-308 1,8*10+308)

ndice de endereo em Byte, calculado do incio da memria de variveis de


ligao
Tipo de dado:

INT

Faixa de valores:

0 - MAX_INDEX
Nota
O MAX_INDEX resulta do tamanho parametrizado da
memria de variveis de ligao: MAX_INDEX =
(MD18700 $MN_MM_SIZEOF_LINKVAR_DATA) - 1
Somente podem ser programados ndices, de modo
que os Bytes endereados na memria de variveis de
ligao estejam dentro de um limite de formato de
dados
ndice = n * Bytes, com n = 0, 1, 2, ...
$A_DLB[i]: i = 0, 1, 2, ...
$A_DLW[i]: i = 0, 2, 4, ...
$A_DLD[i]: i = 0, 4, 8, ...
$A_DLR[i]: i = 0, 8, 16, ...

Exemplo
No sistema de automao esto disponveis 2 NCUs (NCU1 e NCU2). Na NCU1 est
conectado o eixo de mquina AX2, que deve ser deslocado como eixo de lincado da NCU2.
A NCU1 grava ciclicamente o valor real de corrente ($VA_CURR) do eixo AX2 na memria
de variveis de ligao. A NCU2 l ciclicamente o valor real de corrente transmitido pela
comunicao de ligao (Link) e mostra o alarme 61000 no caso de ser ultrapassado o valor
limite.

Preparao do trabalho

22

Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

Programao flexvel de NC
1.1 Variveis
A estrutura de dados na memria de variveis de ligao est representada na figura a
seguir. O valor real de corrente transferido atravs do valor REAL.

0HPULDGHYDULYHLVGHOLJDR
0'01B00B6,=(2)B/,1.9$5B'$7$ 
QGLFH

%<7(  %<7( 



:25'

':25' 

':25' 

':25' 

5($/

NCU1
A NCU1 em uma ao sncrona esttica, durante o ciclo IPO, grava ciclicamente o valor real
de corrente do eixo AX2 na memria de variveis de ligao atravs da varivel de ligao
$A_DLR[ 16 ].
Cdigo de programa
N111 IDS=1 WHENEVER TRUE DO $A_DLR[16]=$VA_CURR[AX2]

NCU2
A NCU2 em uma ao sincronizada esttica, durante o ciclo IPO, l ciclicamente o valor real
de corrente do eixo AX2 a partir da memria de variveis de ligao atravs da varivel de
ligao $A_DLR[ 16 ]. Se o valor real de corrente for maior que 23.0 A, ser exibido o
alarme 61000.
Cdigo de programa
N222 IDS=1 WHEN $A_DLR[16] > 23.0 DO SETAL(61000)

Ver tambm
Variveis (Pgina 17)

Preparao do trabalho
Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

23

Programao flexvel de NC
1.1 Variveis

1.1.4

Definio de variveis de usurio (DEF)

Funo
Com o comando DEF podemos definir nossas prprias variveis e preencher as mesmas
com valores. Para diferenciar das variveis de sistema estas so denominadas de variveis
definidas pelo usurio ou de variveis de usurio (User Data).
De acordo com a rea de validade, ou seja, a rea em que a varivel visvel, existem as
seguintes categorias de variveis de usurio:
Variveis de usurio locais (LUD)
As variveis de usurio locais (LUD) so variveis que esto definidas em um programa
de pea, que no o programa principal no momento da execuo. Elas so criadas
com a chamada do programa de pea e canceladas com o fim do programa de pea ou
com NC-Reset. A LUD somente pode ser acessada no contexto do programa de pea
em que foi definida.
Variveis de usurio globais de programa (PUD)
As variveis de usurio globais de programa (PUD) so variveis que so definidas em
um programa de pea utilizado como programa principal. Elas so criadas com o incio
do programa de pea e canceladas no fim do programa ou com NC-Reset. Os dados
PUD podem ser acessados no programa principal e em todas subrotinas.
Variveis de usurio globais (GUD)
As variveis de usurio globais (GUD) so variveis globais de NC ou de canal, que
esto definidas em um mdulo de dados (SGUD, MGUD, UGUD, GUD4 ... GUD9) e que
tambm so preservadas alm do Power On. A GUD pode ser acessada em todos os
programas de pea.
As variveis de usurio devem ser definidas antes de serem utilizadas (leitura/gravao).
Aqui devem ser observadas as seguintes regras:
As GUD devem ser definidas em um arquivo de definies, p. ex.
_N_DEF_DIR/_M_SGUD_DEF.
A PUD e a LUD devem ser definidas na parte de definies de um programa de pea.
A definio de dados deve ser realizada em um bloco prprio.
Por definio de dados somente pode ser utilizado um tipo de dado.
Por definio de dados podem ser definidas vrias variveis do mesmo tipo de dado.

Sintaxe
LUD e PUD
DEF <tipo> <unid.fs.> <val.lim.> <nome>[<valor_1>, <valor_2>,
<valor_3>]=<val. inic.>
GUD
DEF <rea> <parada fluxo> <dir.acesso> <tipo> <unid.fs.> <val.
lim.> <nome>[<valor_1>, <valor_2>, <valor_3>]=<valor inic.>

Preparao do trabalho

24

Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

Programao flexvel de NC
1.1 Variveis

Significado
DEF:
<rea>:

<VL_Stop>:

<direitos_acesso>:

Comando para definio de variveis de usurio GUD, PUD, LUD


rea de validade, apenas relevante para GUD:
NCK:

Variveis de usurio globais de NC

CHAN:

Variveis de usurio globais de canal

Parada de pr-processamento, apenas relevante para GUD


(opcional)
SYNR:

Parada de fluxo na leitura

SYNW:

Parada de fluxo na gravao

SYNRW:

Parada de fluxo na leitura e gravao

nveis de segurana para leitura / gravao do GUD atravs do


programa de usinagem ou BTSS (opcional)
APRP

<nvel_proteo>: Leitura: Programa de pea

APWP

<nvel_proteo>: Gravao: Programa de pea

APRB

<nvel_proteo>: Leitura: BTSS

APWB

<nvel_proteo>: Gravao: BTSS

<nvel de proteo>:

Faixa de valores: 0 ... 7

Veja "Atributo: Direitos de acesso (APR, APW, APRP, APWP,


APRB, APWB) (Pgina 39)"
<tipo>:

Tipo de dado:
INT:

Valor inteiro com sinal

REAL:

Nmero real (LONG REAL conforme


IEEE)

BOOL:

Valor lgico TRUE (1) / FALSE (0)

CHAR:

Caracteres ASCII

STRING[<comprimento_mx>]:

Sequncia de caracteres de tamanho


definido

AXIS:

Identificador de eixo/fuso

FRAME:

Especificaes geomtricas para uma


transformao de coordenadas
esttica

Veja "Tipos de dados (Pgina 52)"


<unidade_fsica>:

Unidade fsica (opcional)


PHU

<unidade>:

Unidade fsica

Veja "Atributo: Unidade fsica (PHU) (Pgina 37)"


<valores_limite>:

Valor limite inferior e superior (opcional)


LLI

<valor_limite>:

Valor limite inferior (lower limit)

ULI

<valor_limite>:

Valor limite superior (upper limit)

Veja "Atributo: Valores de limite (LLI, ULI) (Pgina 35)"

Preparao do trabalho
Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

25

Programao flexvel de NC
1.1 Variveis
<nome>:

Nome das variveis


Nota
Mximo 31 caracteres
Os primeiros dois caracteres devem ser uma letra e/ou um
sublinhado.
O caractere "$" est reservado para variveis de sistema e no
pode ser utilizado.

[<valor_1>,
<valor_2>,
<valor_3>]:

Indicao dos tamanhos de campo para variveis de campo de 1


at 3 dimenses (opcional)
Para inicializao das variveis de campo veja" Definio e
inicializao de variveis de campo (DEF, SET, REP) (Pgina 45)"

<valor_inicializao>:

Valor de inicializao (opcional)


veja "Atributo: Valor de inicializao (Pgina 32)"
Para inicializao das variveis de campo veja" Definio e
inicializao de variveis de campo (DEF, SET, REP) (Pgina 45)"

Exemplos
Exemplo 1: Definies de variveis de usurio no mdulo de dados para fabricante da
mquina
Cdigo de programa

Comentrio

%_N_MGUD_DEF

;Mdulo GUD: Fabricante da mquina

$PATH=/_N_DEF_DIR
DEF CHAN REAL PHU 24 LLI 0 ULI 10 CORRENTE_1, CORRENTE_2
;Descrio
;Definio de duas GUDs: CORRENTE_1, CORRENTE_2
;rea de validade: Amplo canal
;Tipo de dado: REAL
;Parada de fluxo: no programada => valor Default = sem parada de pr-processamento
;Unidade fsica: 24 = [A]
;Valores limite: Low = 0.0, High = 10.0
;Direitos de acesso: no programado => valor Default = 7 = posio do seletor com chave 0
;Valor de inicializao: no programado => valor Default = 0.0
DEF NCK REAL PHU 13 LLI 10 APWP 3 APRP 3 APWB 0 APRB 2 TEMPO_1=12, TEMPO_2=45
;Descrio
;Definio de duas GUDs: TEMPO_1, TEMPO_2
;rea de validade: Amplo NCK
;Tipo de dado: REAL
;Parada de fluxo: no programada => valor Default = sem parada de pr-processamento
;Unidade fsica: 13 = [s]
;Valores limite: Low = 10.0, High = no programado => limite superior da faixa de definio

Preparao do trabalho

26

Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

Programao flexvel de NC
1.1 Variveis

Cdigo de programa

Comentrio

;Direitos de acesso:
;Programa de pea: Gravao/leitura = 3 = usurio final
;BTSS: Gravao = 0 = Siemens, leitura = 3 = usurio final
;Valor de inicializao: TEMPO_1 = 12.0, TEMPO_2 = 45.0
DEF NCK APWP 3 APRP 3 APWB 0 APRB 3 STRING[5] GUD5_NOME = "COUNTER"
;Descrio
;Definio de uma GUD: GUD5_NOME
;rea de validade: Amplo NCK
;Tipo de dado: STRING, mx. 5 caracteres
;Parada de fluxo: no programada => valor Default = sem parada de pr-processamento
;Unidade fsica: no programada => valor Default = 0 = nenhuma unidade fsica
;Valores limite: no programado => limites de faixa de definio: Low = 0, High = 255
;Direitos de acesso:
;Programa de pea: Gravao/leitura = 3 = usurio final
;BTSS: Gravao = 0 = Siemens, leitura = 3 = usurio final
;Valor de inicializao: "COUNTER"
M30

Exemplo 2: Variveis de usurio globais de programa e locais (PUD / LUD)


Cdigo de programa

Comentrio

PROC MAIN

;Programa principal

DEF INT VAR1

;Definio PUD

...
SUB2

;chamada de subrotina

...
M30

Cdigo de programa

Comentrio

PROC SUB2

;Subrotina SUB2

DEF INT VAR2

;Definio LUD

...
IF (VAR1==1)

;Leitura da PUD

VAR1=VAR1+1

;Leitura e gravao da PUD

VAR2=1

;Gravao da LUD

ENDIF
SUB3

;chamada de subrotina

...
M17

Preparao do trabalho
Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

27

Programao flexvel de NC
1.1 Variveis

Cdigo de programa

Comentrio

PROC SUB3

;Subrotina SUB3

...
IF (VAR1==1)

;Leitura da PUD

VAR1=VAR1+1

;Leitura e gravao da PUD

VAR2=1

;Erro: LUD no reconhecida pela SUB2

ENDIF
...
M17

Exemplo 3: Definio e uso de variveis de usurio do tipo de dado AXIS


Cdigo de programa

Comentrio

DEF AXIS ABSCISSA

;1 eixo geomtrico

DEF AXIS SPINDLE

;Fuso

...
IF ISAXIS(1)==FALSE GOTOF CONTINUA
ABSCISSA = $P_AXN1
CONTINUA:
...
SPINDLE=(S1)

;1 fuso

OVRA[SPINDLE]=80

;Override de fuso = 80%

SPINDLE=(S3)

;3 fuso

Condies gerais
Variveis de usurio globais (GUD)
Durante a definio de variveis de usurio globais (GUD) devem ser observados os
seguintes dados de mquina:
N

Identificador: $MN_

Significado

11140
18118 1)

GUD_AREA_ SAVE_TAB
MM_NUM_GUD_MODULES

18120 1)
18130 1)
18140 1)
18150 1)
18660 1)

MM_NUM_GUD_NAMES_NCK
MM_NUM_GUD_NAMES_CHAN
MM_NUM_GUD_NAMES_AXIS
MM_GUD_VALUES_MEM
MM_NUM_SYNACT_GUD_REAL

18661 1)
18662 1)

MM_NUM_SYNACT_GUD_INT
MM_NUM_SYNACT_GUD_BOOL

18663 1)

MM_NUM_SYNACT_GUD_AXIS

18664 1)

MM_NUM_SYNACT_GUD_CHAR

18665 1)

MM_NUM_SYNACT_GUD_STRING

Segurana adicional para mdulos GUD


Nmero de arquivos GUD no sistema de arquivos
ativo
Nmero de nomes de GUDs globais
Quantidade de GUDs especficas de eixos
Quantidade de GUD especficas de eixos
Capacidade de memria para valores GUD globais
Nmero de GUDs configurveis de tipo de dado
REAL
Nmero de GUDs configurveis de tipo de dado INT
Nmero de GUDs configurveis de tipo de dado
BOOL
Nmero de GUDs configurveis de tipo de dado
AXIS
Nmero de GUDs configurveis de tipo de dado
CHAR
Nmero de GUDs configurveis de tipo de dado
STRING

1)

O MD no SINUMERIK 828D somente pode ser lido!


Preparao do trabalho

28

Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

Programao flexvel de NC
1.1 Variveis
Variveis de usurio globais de programa (PUD)
Indicao
Visibilidade de variveis de usurio locais de programa (PUD)
As variveis de usurio locais de programa (PUD) definidas no programa principal somente
estaro visveis nas subrotinas se o seguinte dado de mquina estiver definido:
MD11120 $MN_LUD_EXTENDED_SCOPE = 1
Com MD11120 = 0 as variveis de usurio locais de programa definidas no programa
principal estaro visveis somente no programa principal.
Utilizao por outros canais de uma varivel de usurio global de NCK do tipo de dado AXIS
Uma varivel de usurio global de NCK do tipo de dado AXIS, que foi inicializada com um
identificador de eixo pela definio no mdulo de dados, somente pode ser utilizada em
diferentes canais do NC se o eixo tiver o mesmo nmero de eixo de canal nestes canais.
Se este no for o caso, a varivel deve ser carregada no incio do programa de pea ou,
como mostra o prximo exemplo, deve ser utilizada a funo AXNAME(...).
Cdigo de programa

Comentrio

DEF NCK STRING[5] EIXO="X"

;Definio em mdulo de dados

...
N100 AX[AXNAME(EIXO)]=111 G00

1.1.5

;Utilizao em programa de pea

Redefinio de variveis de sistema, variveis de usurio e comandos de


linguagem NC (REDEF)

Funo
Com o comando REDEF podem ser alterados os atributos das variveis de sistema, variveis
de usurio e comandos de linguagem NC. A condio bsica para uma redefinio que
ela seja executada a tempo aps a definio correspondente.
Em uma redefinio no podem ser alterados vrios atributos simultaneamente. Para cada
atributo que deve ser alterado deve ser programada uma instruo REDEF prpria.
Se forem programadas vrias alteraes concorrentes de atributos, ento a ltima que
sempre estar ativa.

Preparao do trabalho
Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

29

Programao flexvel de NC
1.1 Variveis
Recuar valores de atributos
O atributo modificado com REDEF para a permisso de acesso e ponto de inicializao
podem ser ser recuado o valor default atravs de nova reprogramao do REDEF, seguido do
nome da varivel ou do comando de voz do NC.
Direitos de acesso: Nvel de proteo 7
Ponto de inicializao: ponto de inicializao: no atualizar nem manter os valores
atuais.
Atributos redefinveis
Veja "Viso geral dos atributos definveis e redefinveis (Pgina 44)"
Variveis de usurio locais (PUD / LUD)
Para variveis de usurio locais (PUD / LUD) no pode ser realizada nenhuma redefinio.

Sintaxe
REDEF <nome> <parada_pr_processamento>
REDEF <nome> <unidade_fsica>
REDEF <nome> <valores_limite>
REDEF <nome> <direitos_acesso>
REDEF <nome> <momento_inicializao>
REDEF <nome> <momento_inicializao> <valor_inicializao>
REDEF <nome>

Significado
REDEF:

Comando de redefinio de um certo atributo ou recuo de um


atributo "direito de acesso" e/ou "ponto de inicializao do
sistema de variveis, variveis do usurio e comandos de voz do
NC

<nome>:

Nome de uma varivel ou de um comando de linguagem NC que


j foi definido

Parada de fluxo:

Parada de pr-processamento

<unidade_fsica>:

SYNR:

Parada de fluxo na leitura

SYNW:

Parada de fluxo na gravao

SYNRW:

Parada de fluxo na leitura e gravao

Unidade fsica
PHU

<unidade>:

Unidade fsica

Veja "Atributo: Unidade fsica (PHU) (Pgina 37)"


Nota
No redefinvel para:
Variveis de sistema
Dados de utilizao globais (GUD) dos tipos de dados: BOOL,
AXIS, STRING, FRAME
Preparao do trabalho

30

Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

Programao flexvel de NC
1.1 Variveis
<valores_limite>:

Valor limite inferior / superior


LLI

<valor_limite>:

Valor limite inferior (lower limit)

ULI

<valor_limite>:

Valor limite superior (upper limit)

Veja "Atributo: Valores de limite (LLI, ULI) (Pgina 35)"


Nota
No redefinvel para:
Variveis de sistema
Dados de utilizao globais (GUD) dos tipos de dados: BOOL,
AXIS, STRING, FRAME
<direitos_acesso>:

Direitos de acesso para leitura / gravao atravs de programa


de pea ou BTSS
APX

<nvel_proteo>:

Execuo: Elemento de linguagem NC

APRP

<nvel_proteo>: Leitura: Programa de pea

APWP

<nvel_proteo>: Gravao: Programa de pea

APRB

<nvel_proteo>: Leitura: BTSS

APWB

<nvel_proteo>: Gravao: BTSS

<nvel de proteo>:

Faixa de valores: 0 ... 7

Veja "Atributo: Direitos de acesso (APR, APW, APRP, APWP,


APRB, APWB) (Pgina 39)"
<momento_inicializao>:

Momento em que a varivel deve ser reinicializada


INIPO:

Power On

INIRE:

Fim do programa principal, NC-Reset ou Power On

INICF:

NewConfig ou fim do programa principal, NC-Reset


ou Power On

PRLOC:

Fim do programa principal, NC-Reset aps alterao


local ou Power On

Veja "Atributo: Valor de inicializao (Pgina 32)"


<valor_inicializao>:

Valor de inicializao
Com a redefinio do valor de inicializao sempre deve ser
especificado junto um momento de inicializao (veja
<momento_inicializao>).
Veja "Atributo: Valor de inicializao (Pgina 32)"
Para inicializao das variveis de campo veja" Definio e
inicializao de variveis de campo (DEF, SET, REP)
(Pgina 45)"
Nota
no possvel redefinir para variveis de sistema, a no ser os
dados de ajuste

Preparao do trabalho
Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

31

Programao flexvel de NC
1.1 Variveis

Exemplo
Redefinies da varivel de sistema $TC_DPC1 no mdulo de dados para fabricante da
mquina
Cdigo de programa
%_N_MGUD_DEF

;Mdulo GUD: Fabricante da mquina

N100 REDEF $TC_DPC1 APWB 2 APWP 3


N200 REDEF $TC_DPC2 PHU 21
N300 REDEF $TC_DPC3 LLI 0 ULI 200
N400 REDEF $TC_DPC4 INIPO (100, 101, 102, 103)
; N100: Direito de acesso para gravao: BTSS = nvel de proteo 2, programa de pea = nvel de
proteo 3
; Nota
; Com a utilizao de arquivos ACCESS a redefinio dos direitos de acesso do
; _N_MGUD_DEF deve ser passdo para o _N_MACCESS_DEF
; N200: Unidade fsica = [ % ]
; N300: Valores limite: valor limite inferior = 0, valor limite superior = 200
; N400: A varivel de campo inicializada com o PowerOn com os quatro valores
; recuo dos valores de atributos "direitos de acesso" e/ou momento de inicializao
N800 REDEF $TC_DPC1
N900 REDEF $TC_DPC4
M30

Condies gerais
Granularidade
Uma redefinio sempre estar relacionada varivel inteira, identificada de forma nica
atravs de seu nome. No possvel, p.ex. em variveis de campo atribuir diferentes
valores de atributo para elementos de campo individuais.

1.1.6

Atributo: Valor de inicializao

Definio (DEF) de variveis de usurio


Com a definio pode ser definido um valor de inicializao para as seguintes variveis de
usurio:
Variveis de usurio globais (GUD)
Variveis de usurio globais de programa (PUD)
Variveis de usurio locais (LUD)

Preparao do trabalho

32

Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

Programao flexvel de NC
1.1 Variveis

Redefinio (REDEF) de variveis de sistema e de usurio


Com a redefinio pode ser definido um valor de inicializao para as seguintes variveis:
Dados de sistema
Dados de ajuste
Dados de usurio
Parmetros R
Varivel de ao sncrona ($AC_MARKER, $AC_PARAM, $AC_TIMER)
GUD de ao sncrona (SYG_xy[ ], com x=R, I, B, A, C, S e y=S, M, U, 4, ..., 9)
Parmetros EPS
Dados de ferramenta OEM
Dados de magazine OEM
Variveis de usurio globais (GUD)
Momento de reinicializao
Com a redefinio pode ser especificado o momento em que a varivel reinicializada, isto
, passa-se novamente para o valor de inicializao:

INIPO

(Power On)

A varivel reinicializada com PowerOn.

INIRE

(Reset)

A varivel reinicializada com NC-Reset, BAG-Reset, fim do programa de usinagem (M02


/ M30) ou com Power O.

INICF

(NewConfig)

A varivel reinicializada com a solicitao de NewConf atravs da HMI, comando de


programa de pea NEWCONFIG ou NC-Reset, BAG-Reset, fim de programa de pea (M02 /
M30) ou PowerOn.

PRLOC

(alterao local de programa)

A varivel somente reinicializada com NC-Reset, BAG-Reset ou fim de programa (M02


/ M30), se ela for alterada no contexto do atual programa de pea.
O atributo PRLOC somente pode ser utilizado no contexto com dados de ajuste
programveis (veja a tabela a seguir).
Tabelas 1- 1 Dados de ajuste programveis
Nmero

Identificador

Comando G 1)

42000

$SC_THREAD_START_ANGLE

SF

42010

$SC_THREAD_RAMP_DISP

42400

$SA_PUNCH_DWELLTIME

DITS / DITE
PDELAYON

42800

$SA_SPIND_ASSIGN_TAB

SETMS

43210

$SA_SPIND_MIN_VELO_G25

G25

43220

$SA_SPIND_MAX_VELO_G26

G26

43230

$SA_SPIND_MAX_VELO_LIMS

LIMS

43300

$SA_ASSIGN_FEED_PER_REV_SOURCE

FPRAON

Preparao do trabalho
Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

33

Programao flexvel de NC
1.1 Variveis

Nmero

Identificador

Comando G 1)

43420

$SA_WORKAREA_LIMIT_PLUS

G26

43430

$SA_WORKAREA_LIMIT_MINUS

G25

43510

$SA_FIXED_STOP_TORQUE

FXST

43520

$SA_FIXED_STOP_WINDOW

FXSW

43700

$SA_OSCILL_REVERSE_POS1

OSP1

43710

$SA_OSCILL_REVERSE_POS2

OSP2

43720

$SA_OSCILL_DWELL_TIME1

OST1

43730

$SA_OSCILL_DWELL_TIME2

OST2

43740

$SA_OSCILL_VELO

FA

43750

$SA_OSCILL_NUM_SPARK_CYCLES

OSNSC

43760

$SA_OSCILL_END_POS

OSE

43770

$SA_OSCILL_CTRL_MASK

OSCTRL

43780

$SA_OSCILL_IS_ACTIVE

OS

43790

$SA_OSCILL_START_POS

OSB

1) com este comando G acionado o dado de ajuste

Condies gerais
Valor de inicializao: Variveis de usurio globais (GUD)
Para variveis de usurio globais (GUD) com a rea de validade NCK somente pode ser
definido o INIPO (Power On) como momento de inicializao.
Para variveis de usurio globais (GUD) com a rea de validade CHAN, alm do INIPO
(Power On) tambm o INIRE (Reset) ou o INICF (NewConfig) pode ser definido como
momento de inicializao.
Para variveis de usurio globais (GUD) com a rea de validade CHAN e momento de
inicializao INIRE (Reset) ou INICF (NewConfig), com NC-Reset, BAG-Reset e
NewConfig somente sero reinicializadas nos canais as variveis, nas quais foram
disparados os eventos mencionados.
Valor de inicializao: Tipo de dado FRAME
Para variveis do tipo de dado FRAME no pode ser especificado nenhum valor de
inicializao. As variveis do tipo de dado FRAME sempre so inicializadas de modo implcito
com o Frame Default.
Valor de inicializao: Tipo de dado CHAR
Para variveis do tipo de dado CHAR ao invs do cdigo ASCII (0...255), tambm pode ser
programado o respectivo caractere ASCII entre aspas, p. ex. "A"
Valor de inicializao: Tipo de dado STRING
Para variveis do tipo de dado STRING devem ser colocadas aspas na sequncia de
caracteres, p. ex.: ...= "MAQUINA_1"
Valor de inicializao: Tipo de dado AXIS
Para variveis do tipo de dado AXIS com a forma escrita de endereos ampliada o
identificador de eixo deve ser colocado entre parnteses, p. ex.: ...=(X3)

Preparao do trabalho

34

Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

Programao flexvel de NC
1.1 Variveis
Valor de inicializao: Varivel de sistema
Para variveis de sistema no pode ser definido nenhum valor de inicializao especfico de
usurio atravs de redefinio. Os valores de inicializao das variveis de sistema so
estabelecidas pelo sistema. Entretanto, atravs da redefinio pode ser alterado o momento
(INIRE, INICF) em que a varivel reinicializada.
Valor de inicializao implcito: Tipo de dado AXIS
Para variveis do tipo de dado AXIS so utilizados os seguintes valores de inicializao
implcitos:
Dados de sistema: "primeiro eixo geomtrico"
GUD de ao sncrona (Denominao: SYG_A*), PUD, LUD:
Identificador de eixo do dado de mquina: MD20082
$MC_AXCONF_CHANAX_DEFAULT_NAME
Valor de inicializao implcito: Dados de ferramenta e de magazine
Para dados de ferramenta e de magazine podem ser definidos valores de inicializao
atravs do seguinte dado de mquina: MD17520 $MN_TOOL_DEFAULT_DATA_MASK
Indicao
Sincronizao
A sincronizao de eventos que disparam uma reinicializao de uma varivel global com a
leitura desta varivel em outro ponto, de responsabilidade exclusiva do usurio / fabricante
da mquina.

Ver tambm
Variveis (Pgina 17)

1.1.7

Atributo: Valores de limite (LLI, ULI)


Um valor limite superior e inferior da faixa de definio somente pode ser especificado para
os seguintes tipos de dados:
INT
REAL
CHAR

Definio (DEF) de variveis de usurio: Valores limite e valores de inicializao implcitos


Se na definio de uma varivel de usurio de um dos tipos de dados mencionados acima
no for definido nenhum valor de inicializao explcito, a varivel passada para o valor de
inicializao implcito do tipo de dado:
INT: 0
REAL: 0.0
CHAR: 0

Preparao do trabalho
Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

35

Programao flexvel de NC
1.1 Variveis
Se o valor de inicializao implcito estiver fora da faixa de definio definida pelos valores
limite programados, a varivel inicializada com o valor de limite que estiver mais prximo
do valor de inicializao implcito:
Valor de inicializao implcito < valor limite inferior (LLI)
Valor de inicializao = valor limite inferior
Valor de inicializao implcito < valor limite superior (ULI)
Valor de inicializao = valor limite superior
Exemplos:
Cdigo de programa

Comentrio

DEF REAL GUD1

Valor limite inferior = limite da faixa de definio

Valor limite superior = limite da faixa de definio

nenhum valor de inicializao programado

=> valor de inicializao implcito = 0.0

Valor limite inferior = 5.0

Valor limite superior = limite da faixa de definio

DEF REAL LLI 5.0 GUD2

DEF REAL ULI 5 GUD3

=> valor de inicializao = 5.0

Valor limite inferior = limite da faixa de definio

Valor limite superior = -5.0

=> valor de inicializao = -5.0

Redefinio (REDEF) de variveis de usurio: Valores limite e atuais valores reais


Se com a redefinio dos valores limite uma das variveis de usurio for alterada de modo
que o atual valor real esteja fora da nova faixa de definio, ento ser emitido um alarme e
os valores limite no sero assumidos.
Indicao
Redefinio (REDEF) de variveis de usurio
Na redefinio dos valores limite de uma varivel de usurio deve-se observar para uma
modificao consistente dos seguintes valores:
Valores limite
Valor real
Valor de inicializao na redefinio e na reinicializao automtica em funo do INIPO,
INIRE ou INICF

Ver tambm
Variveis (Pgina 17)

Preparao do trabalho

36

Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

Programao flexvel de NC
1.1 Variveis

1.1.8

Atributo: Unidade fsica (PHU)


Uma unidade fsica somente pode ser especificada para variveis dos seguintes tipos de
dados:
INT
REAL

Unidades fsicas programveis (PHU)


A especificao da unidade fsica dada como nmero vrgula fixa: PHU

<unidade>

Podem ser programadas as seguintes unidades fsicas:


<unidade>

Significado

Unidade fsica

Nenhuma unidade fsica

Posio linear ou angular

Posio linear 2)

Posio angular

Posio linear ou angular

Posio linear 2)

[ mm ], [ pol. ], [ graus ]

1)2)

[ mm ], [ pol. ]
[ graus ]
[ mm/min ], [ pol./min ], [ rpm ]

1)2)

[mm/min]

Velocidade angular

[ rpm ]

Posio linear ou angular 1)2)

[ m/s2 ], [ pol./s2 ], [ rot./s2 ]

Posio linear 2)

[ m/s2 ], [ pol./s2 ]

Acelerao angular

[ rot./s2 ]

10

Posio linear ou angular 1)2)

[ m/s3 ], [ pol./s3 ], [ rot./s3 ]

11

Posio linear

[ m/s3 ], [ pol./s3 ]

12

Solavanco angular

[ rot./s3 ]

13

Tempo

[s]

14

Amplificao do circuito do controlador de


posio

[ 16.667/s ]

15

Avano por rotao 2)

[ mm/rot. ], [ pol./rot. ]

16

Compensao de temperatura

18

Fora

19

Massa

20

Momento de inercia

21

Por cento

22

Frequncia

[ Hz ]

23

Tenso

[V]

24

Corrente

[A]

25

Temperatura

[ C ]

26

ngulo

[ graus ]

27

KV

28

Posio linear ou angular

29

Velocidade de corte 2)

2)

1)2)

[ mm ], [ pol. ]
[N]
[ kg ]
[ kgm2 ]

3)

[%]

[ 1000/min ]
3)

[ mm ], [ pol. ], [ graus ]
[ m/min ], [ feet/min ]

Preparao do trabalho
Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

37

Programao flexvel de NC
1.1 Variveis

<unidade>

Significado

Unidade fsica

30

Velocidade perifrica 2)

[ m/s], [ feet/s ]

31

Resistncia

[ Ohm ]

32

Indutncia

[ mH ]

33

Torque 3)

[ Nm ]

34

Constante de torque 3)

[ Nm/A ]

35

Amplificao do controlador de corrente

[ V/A ]

36

Amplificao do controlador de rotao

[ Nm/(rad*s) ]

37

Nmero de rotaes

[ rpm ]

42

Potncia

[ kW ]

43

Corrente, pequena

46

Torque, pequeno

48

Por milha

49

[ Hz/s ]

65

Fluxo (vazo)

[ l/min ]

66

Presso

[ bar ]

67

Volume

[ cm3 ]

68

Amplificao de percurso 3)

3)

[ A ]
[ Nm ]

3)

3)

[ mm/(V*min) ]

69

Amplificao de percurso do controlador de fora [ N/V ]

155

Passo de rosca 3)

156

Variao de passo de rosca

[ mm/rot. ], [ pol./rot. ]
[ mm/rot. / rot. ], [ pol./rot. / rot.]

3)

1) A unidade fsica depende do tipo de eixo: Eixo linear ou eixo rotativo


2) Comutao do sistema de medidas
G70/G71(polegadas/mtrico)
Aps uma comutao do sistema bsico $MN_SCALING_SYSTEM_IS_METRIC) com G70/G71, nos
acessos de gravao e leitura das variveis de sistema e de usurio referentes aos comprimentos
(distncias) no ocorre nenhuma converso dos valores (valor real, valor nominal e valores de limite)
G700/G710(polegadas/mtrico)
Aps uma comutao do sistema bsico (MD10240 $MN_SCALING_SYSTEM_IS_METRIC), nos
acessos de gravao e leitura das variveis de sistema e de usurio referentes aos comprimentos
(distncias) ocorre uma converso dos valores (valor real, valor nominal e valores de limite)
3) A varivel no convertida automaticamente para o atual sistema de medidas do NC
(polegadas/mtrico). A converso de responsabilidade exclusiva do usurio / fabricante da
mquina.

Indicao
Excesso de nveis atravs da converso de formato
O formato interno de armazenamento para todas variveis de usurio (GUD / PUD / LUD)
com unidades fsicas de distncia mtrico. Uma utilizao excessiva deste tipo de varivel
no processamento principal do NCK, p.ex. em aes sncronas, pode levar na mudana do
sistema de medidas a um estouro do tempo (timeout) de processamento do plano interpolar,
alarme 4240.

Preparao do trabalho

38

Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

Programao flexvel de NC
1.1 Variveis

Indicao
Compatibilidade de unidades
Ao serem utilizadas variveis (atribuio, comparao, clculos, etc.) no realizado
nenhum controle de compatibilidade das unidades envolvidas. Uma eventual necessidade
de converso de responsabilidade exclusiva do usurio / fabricante da mquina.

Ver tambm
Variveis (Pgina 17)

1.1.9

Atributo: Direitos de acesso (APR, APW, APRP, APWP, APRB, APWB)


Os direitos de acesso correspondem aos seguintes nveis de proteo que devem ser
informados na programao:
Direito de acesso

Nvel de proteo

Senha do sistema

Senha do fabricante da mquina

Senha da Assistncia Tcnica

Senha do usurio final

Seletor com chave na posio 3

Seletor com chave na posio 2

Seletor com chave na posio 1

Seletor com chave na posio 0

Definio (DEF) de variveis de usurio


Os direitos de acesso (APR... / APW...) podem ser definidos para as seguintes variveis:
Dados de usurio globais (GUD)

Preparao do trabalho
Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

39

Programao flexvel de NC
1.1 Variveis

Redefinio (REDEF) de variveis de sistema e de usurio


Os direitos de acesso (APR... / APW...) podem ser redefinidos para as seguintes variveis:
Dados de sistema
Dados de mquina
Dados de ajuste
FRAME
Dados de processo
Compensao de erro de passo de fuso (EEC)
Compensao cruzada (CEC)
Compensao de erro de quadrante (QEC)
Dados de magazine
Dados de ferramenta
reas de proteo
Porta-ferramenta orientvel
Cadeias cinemticas
reas de proteo 3D
Limite da rea de trabalho
Dados de ferramenta ISO
Dados de usurio
Parmetros R
Varivel de ao sncrona ($AC_MARKER, $AC_PARAM, $AC_TIMER)
GUD de ao sncrona (SYG_xy[ ], com x=R, I, B, A, C, S e y=S, M, U, 4, ..., 9)
Parmetros EPS
Dados de ferramenta OEM
Dados de magazine OEM
Variveis de usurio globais (GUD)
Indicao
Na redefinio o direito de acesso pode ser atribudo livremente a uma varivel entre
o nvel de proteo mais baixo 7 e o prprio nvel de proteo, por exemplo 1
(fabricante da mquina).

Preparao do trabalho

40

Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

Programao flexvel de NC
1.1 Variveis

Redefinio (REDEF) de comandos de linguagem NC


O direito de acesso e de execuo (APX) pode ser redefinido para os seguintes comandos de
linguagem NC:
Funes G / Condies de curso
Literatura:
Manual de programao Fundamentos; captulo: Funes G / Condies de curso
Funes pr-definidas
Literatura:
Manual de programao Fundamentos; captulo: Funes pr-definidas
Chamadas de subrotina pr-definidas
Literatura:
Manual de programao Fundamentos; captulo: Chamadas de subrotina pr-definidas
Instruo DO para aes sncronas
Identificador de programa de ciclos
O ciclo deve ser armazenado em um diretrio de ciclos e conter uma instruo PROC.

Direitos de acesso relacionados aos programas de pea e ciclos (APRP, APWP)


Os diferentes direitos de acesso possuem os seguintes efeitos para o acesso em um
programa de pea ou ciclo:

APRP 0

/ APWP

a senha de sistema deve ser informada para execuo do programa de pea


o ciclo deve estar armazenado no diretrio _N_CST_DIR (sistema)
para o diretrio _N_CST_DIR o direito de execuo deve ser ajustado para sistema
no MD11160 $MN_ACCESS_EXEC_CST

APRP 1

/ APWP

ou APRP

/ APWP

a senha de fabricante de mquina ou de assistncia tcnica deve ser informada para


execuo do programa de pea
o ciclo deve estar armazenado no diretrio _N_CMA_DIR (fabricante da mquina) ou
_N_CST_DIR
para os diretrios _N_CMA_DIR e _N_CST_DIR os direitos de execuo devem estar
ajustados pelo menos para fabricante de mquina nos dados de mquina MD11161
$MN_ACCESS_EXEC_CMA e MD11160 $MN_ACCESS_EXEC_CST,
respectivamente

Preparao do trabalho
Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

41

Programao flexvel de NC
1.1 Variveis

APRP 3

/ APWP

a senha de usurio final deve ser informada para execuo do programa de pea
o ciclo deve estar armazenado no diretrio _N_CUS_DIR (usurio), _N_CMA_DIR ou
_N_CST_DIR
para os diretrios _N_CUS_DIR, _N_CMA_DIR e _N_CST_DIR os direitos de
execuo devem estar ajustados pelo menos para usurio final nos dados de
mquina MD11162 $MN_ACCESS_EXEC_CUS, MD11161
$MN_ACCESS_EXEC_CMA e MD11160 $MN_ACCESS_EXEC_CST,
respectivamente

APRP 4...7

/ APWP

4...7

para execuo do programa de pea o seletor com chave deve estar ajustado na
posio 3 ... 0
o ciclo deve estar armazenado no diretrio _N_CUS_DIR, _N_CMA_DIR ou
_N_CST_DIR
para os diretrios _N_CUS_DIR, _N_CMA_DIR e _N_CST_DIR os direitos de
execuo devem estar ajustados pelo menos de acordo com a posio do seletor
com chave nos dados de mquina MD11162 $MN_ACCESS_EXEC_CUS, MD11161
$MN_ACCESS_EXEC_CMA e MD11160 $MN_ACCESS_EXEC_CST,
respectivamente

Direitos de acesso relacionados ao BTSS (APRB, APWB)


Os direitos de acesso (APRB, APWB) restringem de modo uniforme o acesso s variveis de
sistema e de usurio atravs do BTSS para todos componentes do sistema (HMI, PLC,
processadores externos, servios EPS, etc.).
Indicao
Direitos de acesso locais da HMI
Para alteraes dos direitos de acesso aos dados de sistema deve-se atentar para que
estas sejam realizadas de modo consistente em relao aos direitos de acesso definidos
atravs dos mecanismos da HMI.

Atributos de acesso APR / APW


Por motivos de incompatibilidade os atributos APR e APW so refletidos implicitamente nos
atributos APRP / APRB e APWP / APWB:

APR x

APRP

x APRB x

APW y

APWP

y APWB y

Preparao do trabalho

42

Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

Programao flexvel de NC
1.1 Variveis

Ajuste dos direitos de acesso atravs de arquivos ACCESS


No caso de utilizao de arquivos ACCESS para atribuio de direitos de acesso, as
redefinies de direitos de acesso para dados de sistema, dados de usurio e comandos de
linguagem NC somente podero ser programadas nestes arquivos ACCESS. Uma exceo
so os dados de usurio globais (GUD). Para estes, se necessria, a redefinio dos
direitos de acesso ainda pode ser programada nos respectivos arquivos de definio.
Para uma plena proteo de acesso os dados de mquina devem ser adaptados de modo
consistente nos respectivos diretrios para os direitos de execuo e para a proteo de
acesso.
Adota-se o seguinte procedimento bsico:
Criao dos arquivos de definio necessrios:
_N_DEF_DIR/_N_SACCESS_DEF
_N_DEF_DIR/_N_MACCESS_DEF
_N_DEF_DIR/_N_UACCESS_DEF
Parametrizao do direito de gravao para os arquivos de definio no valor necessrio
para a redefinio:
MD11170 $MN_ACCESS_WRITE_SACCESS
MD11171 $MN_ACCESS_WRITE_MACCESS
MD11172 $MN_ACCESS_WRITE_UACCESS
Para acessar os elementos de ciclos protegidos deve ser realizada a adaptao dos
direitos de execuo e de gravao dos diretrios de ciclos _N_CST_DIR, _N_CMA_DIR
e _N_CST_DIR:
Direitos de execuo
MD11160 $MN_ACCESS_EXEC_CST
MD11161 $MN_ACCESS_EXEC_CMA
MD11162 $MN_ACCESS_EXEC_CUS
Direitos de gravao
MD11165 $MN_ACCESS_WRITE_CST
MD11166 $MN_ACCESS_WRITE_CMA
MD11167 MN_ACCESS_WRITE_CUS
O direito de execuo deve ser passado pelo menos para o mesmo nvel de proteo
como o nvel de proteo mais alto do elemento utilizado.
O direito de gravao deve ser passado pelo menos para o mesmo nvel de proteo
como o direito de execuo.
Os direitos de gravao dos diretrios de ciclos locais da HMI devem ser passados para
o mesmo nvel de proteo como o dos diretrios de ciclos locais do NC.
Literatura:
Manual de operao

Preparao do trabalho
Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

43

Programao flexvel de NC
1.1 Variveis
Chamadas de subrotinas em arquivos ACCESS
Para uma expanso da estruturao da proteo de acesso nos arquivos ACCESS tambm
podem ser chamadas subrotinas (extenso SPF ou MPF). Neste caso as subrotinas herdam
os direitos de execuo do arquivo ACCESS chamado.
Indicao
Nos arquivos ACCESS somente podem ser redefinidos os direitos de acesso. Todos demais
atributos ainda devem programados e redefinidos nos respectivos arquivos de definio.

Ver tambm
Variveis (Pgina 17)

1.1.10

Viso geral dos atributos definveis e redefinveis


As seguintes tabelas mostram quais atributos podem ser definidos (DEF) e/ou redefinidos
(REDEF) em quais tipos de dados.

Dados do sistema
Tipo de dados

Valor inic.

Valores limite

Unidade fsica

Direitos de
acesso

---

---

---

REDEF

REDEF

---

---

REDEF

Dados de FRAME

---

---

---

REDEF

Dados de processo

---

---

---

REDEF

Comp. de erro de passo de fuso (EEC)

---

---

---

REDEF

Compensao cruzada (CEC)

---

---

---

REDEF

Compensao de erro de quadrante


(QEC)

---

---

---

REDEF

Dados de magazine

---

---

---

REDEF

Dados de ferramenta

---

---

---

REDEF

reas de proteo

---

---

---

REDEF

Porta-ferramenta orientvel

---

---

---

REDEF

Cadeias cinemticas

---

---

---

REDEF

reas de proteo 3D

---

---

---

REDEF

Limite de rea de trabalho

---

---

---

REDEF

Dados de ferramenta ISO

---

---

---

REDEF

Dados de mquina
Dados de ajuste

Preparao do trabalho

44

Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

Programao flexvel de NC
1.1 Variveis

Dados de usurio
Tipo de dados

Valor inic.

Valores limite

Unidade fsica

Direitos de
acesso

Parmetros R

REDEF

REDEF

REDEF

REDEF

Varivel de ao sncrona ($AC_...)

REDEF

REDEF

REDEF

REDEF

GUD de ao sncrona (SYG_...)

REDEF

REDEF

REDEF

REDEF

Parmetros EPS

REDEF

REDEF

REDEF

REDEF

Dados de ferramenta OEM

REDEF

REDEF

REDEF

REDEF

Dados de magazine OEM

REDEF

REDEF

REDEF

REDEF

DEF / REDEF

DEF

DEF

DEF / REDEF

DEF

DEF

DEF

---

Variveis de usurio globais (GUD)


Variveis de usurios locais (PUD / LUD)

Ver tambm
Variveis (Pgina 17)

1.1.11

Definio e inicializao de variveis de campo (DEF, SET, REP)

Funo
Uma varivel de usurio pode ser definida como campo (Array) de 1 at 3 dimenses:
1 dimenso: DEF

<tipo de dado> <nome da varivel>[<n>]

2 dimenses: DEF

<tipo de dado> <nome da varivel>[<n>,<m>]

3 dimenses: DEF

<tipo de dado> <nome da varivel>[<n>,<m>,<o>]

Indicao
As variveis de usurio do tipo de dados STRING podem ser definidas no mximo como
campo de 2 dimenses.
Tipos de dados
As variveis de usurio podem ser definidas como campos para os seguintes tipos de
dados: BOOL, CHAR, INT, REAL, STRING, AXIS, FRAME
Atribuio de valores nos elementos de campo
As atribuies de valores nos elementos de campo podem ser realizadas nas seguintes
ocasies:
Para a definio de campo (valores de inicializao)
Durante a execuo do programa

Preparao do trabalho
Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

45

Programao flexvel de NC
1.1 Variveis
Aqui a atribuio de valores pode ser realizada atravs de:
Especificao explcita de um elemento de campo
Especificao explcita de um elemento de campo como elemento de partida e
especificao de uma lista de valores (SET)
Especificao explcita de um elemento de campo como elemento de partida e
especificao de um valor e a freqncia de sua repetio (REP)
Indicao
As variveis de usurio do tipo de dados FRAME no podem ser atribudas com valores
de inicializao.

Sintaxe (DEF)

DEF <tipo de dado> <nome da varivel>[<n>,<m>,<o>]


DEF STRING[<tamanho de String>] <nome de varivel>[<n>,<m>]

Sintaxe (DEF...=SET...)
Utilizao de uma lista de valores:
Para a definio:
DEF <tipo de dado> <nome de varivel>[<n>,<m>,<o>] = SET(<valor1>,<valor2>,...)

Equivalente com:
DEF <tipo de dado> <nome de varivel>[<n>,<m>,<o>] = (<valor1>,<valor2>,...)

Indicao
A especificao do SET opcional para a inicializao atravs de uma lista de valores .
Para uma atribuio de valores:
<nome da varivel>[<n>,<m>,<o>]=SET(<VALOR1>,<valor2>,...)

Sintaxe (DEF...=REP...)
Utilizao de um valor com repetio
Para a definio:
DEF <tipo de dado> <nome da varivel>[<n>,<m>,<o>]=REP(<valor>)

DEF <tipo de dado> <nome de varivel>[<n>,<m>,<o>] =


REP(<valor>,<nmero_elementos_de_campo>)

Para uma atribuio de valores:


<nome da varivel>[<n>,<m>,<o>]=REP(<valor>)
<nome da varivel>[<n>,<m>,<o>]=REP(<valor>,<nmero_de_elmentos_de_campo>)

Preparao do trabalho

46

Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

Programao flexvel de NC
1.1 Variveis

Significado

DEF:

<tipo de dado>:

Comando para definio de variveis


Tipo de dados das variveis
Faixa de valores:
Para variveis de sistema:
BOOL, CHAR, INT, REAL, STRING, AXIS
Para variveis GUD ou LUD:

<tamanho de String>:
<nome de varivel>:
[<n>,<m>,<o>]:
<n>:

<m>:

<o>:

SET:
(<valor1>,<valor2>,...):
REP:

<valor>:
<nmero_de_elementos_de_campo>:

BOOL, CHAR, INT, REAL, STRING, AXIS, FRAME


Nmero mximo de caracteres para o tipo de dado
STRING
Nome de varivel
Tamanhos de campo e ndices de campo
Tamanho e ndice de campo para 1 dimenso
Tipo: INT (tambm AXIS em variveis de sistema)
Faixa de valores: Tamanho de campo mx.: 65535
ndice de campo: 0 n 65534
Tamanho e ndice de campo para 2 dimenso
Tipo: INT (tambm AXIS em variveis de sistema)
Faixa de valores: Tamanho de campo mx.: 65535
ndice de campo: 0 m 65534
Tamanho e ndice de campo para 3 dimenso
Tipo: INT (tambm AXIS em variveis de sistema)
Faixa de valores: Tamanho de campo mx.: 65535
ndice de campo: 0 o 65534
Atribuio de valores atravs da lista de valores
indicada
Lista de valores
Atribuio de valores atravs do <valor> indicado
Valor com que os elementos de campo devem ser
escritos na inicializao com REP.
Nmero de elementos de campo que devem ser
preenchidos com o <valor> indicado. Para os
elementos de campo restantes a aplicao depende
do momento:
Inicializao na definio de campo:
Os elementos de campo restantes so
preenchidos com zero
Atribuio durante a execuo do programa:
Os atuais valores dos elementos de campo
permanecem inalterados.
Se o parmetro no estiver programado, todos
elementos de campo so preenchidos com o <valor>.
Se o parmetro for igual a zero, a aplicao depende
do momento:
Inicializao na definio de campo:
Todos elementos so ocupados previamente
com zero
Atribuio durante a execuo do programa:
Os atuais valores dos elementos de campo
permanecem inalterados.

Preparao do trabalho
Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

47

Programao flexvel de NC
1.1 Variveis

ndice de campo
A ordem implcita dos elementos de campo, por exemplo no caso de uma atribuio de
valores atravs de SET ou REP, realizada atravs da iterao do ndice de campo da
direita para a esquerda.
Exemplo: Inicializao de um campo de 3 dimenses com 24 elementos de campo:
DEF INT CAMPO[2,3,4] = REP(1,24)
CAMPO[0,0,0] = 1

1 elemento de campo

CAMPO[0,0,1] = 1

2 elemento de campo

CAMPO[0,0,2] = 1

3 elemento de campo

CAMPO[0,0,3] = 1

4 elemento de campo

...
CAMPO[0,1,0] = 1

5 elemento de campo

CAMPO[0,1,1] = 1

6 elemento de campo

...
CAMPO[0,2,3] = 1

12 elemento de campo

CAMPO[1,0,0] = 1

13 elemento de campo

CAMPO[1,0,1] = 1

14 elemento de campo

...
CAMPO[1,2,3] = 1

24 elemento de campo

de acordo com:
FOR n=0 TO 1
FOR m=0 TO 2
FOR o=0 TO 3
CAMPO[n,m,o] = 1
ENDFOR
ENDFOR
ENDFOR

Exemplo: Inicializao de campos de variveis completos


Veja a atual ocupao na figura.
Cdigo de programa
N10 DEF REAL CAMPO1[10,3]=SET(0,0,0,10,11,12,20,20,20,30,30,30,40,40,40,)
N20 CAMPO1[0,0]=REP(100)
N30 CAMPO1[5,0]=REP(-100)
N40 CAMPO1[0,0]=SET(0,1,2,-10,-11,-12,-20,-20,-20,-30, , , ,-40,-40,-50,-60,-70)
N50 CAMPO1[8,1]=SET(8.1,8.2,9.0,9.1,9.2)

Preparao do trabalho

48

Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

Programao flexvel de NC
1.1 Variveis

QGLFHGHFDPSR



1 ,QLFLDOL]DRQD
GHILQLR


11,QLFLDOL]DRFRP
YDORULGQWLFR


11 ,QLFLDOL]DRFRP
GLIHUHQWHVYDORUHV






































































































































2VHOHPHQWRVGHFDPSR>@
DW>@IRUDPLQLFLDOL]DGRV
FRPRYDORUSDGUR  


2VHOHPHQWRVGHFDPSR>@
DW>@IRUDPLQLFLDOL]DGRV
FRPRYDORUSDGUR  2V
HOHPHQWRVGHFDPSR>@DW
>@QRIRUDPDOWHUDGRV

Ver tambm
Definio e inicializao de variveis de campo (DEF, SET, REP): Outras informaes
(Pgina 49)
Variveis (Pgina 17)

1.1.12

Definio e inicializao de variveis de campo (DEF, SET, REP): Outras


informaes

Outras informaes (SET)


Inicializao na definio
Iniciando-se pelo 1 elemento de campo, so inicializados tantos elementos de campo
com os valores da lista de valores como foram programados elementos na lista de
valores.
Os elementos de campo sem valores indicados de modo explcito na lista de peas
(brechas na lista de valores) so preenchidos com 0.
Para variveis do tipo de dado AXIS no so permitidas brechas na lista de valores.
Se a lista de valores contm mais valores como do que elementos de campo definidos,
aparecer um alarme.
Preparao do trabalho
Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

49

Programao flexvel de NC
1.1 Variveis
Atribuio de valores na execuo do programa
Para a atribuio de valores na execuo do programa so aplicadas as regras descritas
acima para a definio. Alm disso existem as seguintes possibilidades:
Como elementos na lista de valores tambm permitido o uso de expresses.
A atribuio de valores inicia com o ndice de campo programado. Dessa forma os
campos parciais so ocupados de modo controlado.
Exemplo:
Cdigo de programa

Comentrio

DEF INT CAMPO[5,5]

; Definio de campos

CAMPO[0,0]=SET(1,2,3,4,5)

; Atribuio de valores nos primeiros 5


elementos de campo [0,0] - [0,4]

CAMPO[0,0]=SET(1,2, , ,5)

; Atribuio de valores com brecha nos


primeiros 5 elementos de campo [0,0] [0,4], elementos de campo [0,2] e [0,3] = 0

CAMPO[2,3]=SET(VARIAVEL,4*5.6)

; Atribuio de valores com varivel e


expresso a partir do ndice de campo
[2,3]:
[2,3] = VARIAVEL
[2,4] = 4 * 5.6 = 22.4

Outras informaes (REP)


Inicializao na definio
Todos os elementos ou a quantidade opcional indicada de elementos de campo
iniciada com o valor (constante) indicado.
As variveis do tipo de dado FRAME no podem ser inicializadas.
Exemplo:
Cdigo de programa

Comentrio

DEF REAL varName[10]=REP(3.5,4)

; Definio de campo e inicializao de


elementos de campo [0] at [3] com o valor
3,5

Atribuio de valores na execuo do programa


Para a atribuio de valores na execuo do programa so aplicadas as regras descritas
acima para a definio. Alm disso existem as seguintes possibilidades:
Como elementos na lista de valores tambm permitido o uso de expresses.
A atribuio de valores inicia com o ndice de campo programado. Dessa forma os
campos parciais so ocupados de modo controlado.
Exemplos:
Cdigo de programa

Comentrio

DEF REAL varName[10]

; Definio de campos

varName[5]=REP(4.5,3)

; Elementos de campo [5] at [7] = 4,5

Preparao do trabalho

50

Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

Programao flexvel de NC
1.1 Variveis

Cdigo de programa

Comentrio

R10=REP(2.4,3)

; Parmetros R10 at R12 = 2,4

DEF FRAME FRM[10]

; Definio de campos

FRM[5]=REP(CTRANS(X,5))

; Elementos de campo [5] at [9] =


CTRANS(X,5)

Outras informaes (geral)


Atribuio de valores em dados de mquina axiais
Em princpio os dados de mquina axiais possuem um ndice de campo do tipo de dado
AXIS. Este ndice de campo ignorado e no processado para atribuio de valores em um
dado de mquina axial atravs do SET ou REP.
Exemplo: Atribuio de valores no dado de mquina MD36200 $MA_AX_VELO_LIMIT
$MA_AX_VELO_LIMIT[1,AX1]=SET(1.1, 2.2, 3.3)

Corresponde:
$MA_AX_VELO_LIMIT[1,AX1]=1.1
$MA_AX_VELO_LIMIT[2,AX1]=2.2
$MA_AX_VELO_LIMIT[3,AX1]=3.3

Indicao
Atribuio de valores em dados de mquina axiais
O ndice de campo do tipo de dado AXIS ignorado e no processado para atribuies de
valores em dados de mquina axiais atravs de SET ou REP.
Necessidade de memria
Tipo de dado

Necessidade de memria por elemento

BOOL

1 Byte

CHAR

1 Byte

INT

4 Bytes

REAL

8 Bytes

STRING

(tamanho de String + 1) Bytes

FRAME

400 Bytes, em funo do nmero de eixos

AXIS

4 Bytes

Ver tambm
Definio e inicializao de variveis de campo (DEF, SET, REP) (Pgina 45)

Preparao do trabalho
Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

51

Programao flexvel de NC
1.1 Variveis

1.1.13

Tipos de dados
No NC esto disponveis os seguintes tipos de dados:

Tipo de dado

Significado

Faixa de valores

INT

Valor inteiro com sinal

-2147483648 ... +2147483647

REAL

Nmero real (LONG REAL conforme IEEE)

(2,2*10-308 1,8*10+308)

BOOL

Valor lgico TRUE (1) e FALSE (0)

1, 0

CHAR

Caracteres ASCII

Cdigo ASCII 0 ... 255

STRING

Sequncia de caracteres de tamanho definido

mximo 200 caracteres (sem caractere especial)

AXIS

Identificador de eixo/fuso

Identificador de canal

FRAME

Indicaes geomtricas para uma transformao


esttica de coordenadas (deslocamento, rotao,
escalonamento, espelhamento)

---

Mudanas de tipo de dado implcitas


As seguintes mudanas de tipo de dado so possveis e so realizadas de forma implcita
nas atribuies e transferncias de parmetros:
de / para

REAL

INT

BOOL

REAL

&

INT

&

BOOL

x: Possvel sem restries


o: Possvel perda de dados ao exceder a faixa de valores Alarme;
Arredondamento: Valor aps a vrgula 0,5 arredonda para cima, valor aps a vrgula < 0,5
arredonda para baixo
&: Valor 0 TRUE, valor == 0 FALSE

Ver tambm
Variveis (Pgina 17)

Preparao do trabalho

52

Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

Programao flexvel de NC
1.1 Variveis

1.1.14

Converses explcitas do tipo de dados (AXTOINT, INTTOAX)

Funo
Com as funes pr-definidas AXTOINT e INTTOAX possvel converter explicitamente um
tipo de dado de uma varivel.

Tipo de converso AXIS INT


Sintaxe:
<Resultado>=AXTOINT(<valor>)
Significado:
<Resultado>:

Representao INT da varivel de eixo ( ndice de eixo) <n>)


Em caso de erro:
=7

NO_AXIS, d. h. <valor> o valor no possui "nenhum eixo"

= -1

<valor> no h nenhum nome de eixo do tipo AXIS

AXTOINT:

AXTOINT converte o tipo de dados de uma varivel de eixo de AXIS para INT

<valor>:

nome do eixo geomtrico (MD20060 $MC_AXCONF_GEOAX_NAME_TAB[<n>])


ou
nome do eixo canal (MD20080 $MC_AXCONF_CHANAX_NAME_TAB[<n>])
ou
nome do eixo de mquina (MD10000 $MN_AXCONF_MACHAX_NAME_TAB[<n>])
Tipo de
dado:

AXIS

Tipo de converso INT AXIS


Sintaxe:
<Resultado>=INTTOAX(<valor>)
<Resultado>:

Representao AXIS das variveis de eixo ( nome do eixo)


Em caso de erro:
= NO_AXIS

<valor> o valor no possui "nenhum eixo"?

= -1

<valor> existe um valor INT, para o qual no h nenhum nome


de eixo do tipo AXIS?

INTTOAX:

INTTOAX converte o tipo de dados de uma varivel de eixo de INT para AXIS

<valor>:

valor INT das variveis de eixo


Faixa de
valores:

0 - 32

Exemplo
Consulte exemplo para GETVARDFT em "ler valores de atributos/tipo de dados
(GETVARPHU, GETVARAP, GETVARLIM, GETVARDFT, GETVARTYP) (Pgina 56)".
Preparao do trabalho
Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

53

Programao flexvel de NC
1.1 Variveis

1.1.15

Examinar a existncia de uma varivel (ISVAR)

Funo
Com a funo pr-definida ISVAR possvel examinar se uma varivel de sistema / de
usurio ex. dados da mquina, dados de configurao, varivel de sistema, variveis gerais
como GUD) so conhecidas no NCK

Sintaxe

<Resultado>=ISVAR(<varivel>)
O parmetro de transferncia <Varivel> pode ser montado da seguinte forma:
varivel adimensional $:

$<identificador>

varivel monodimensional $ sem ndice de campo:

$<identificador>[ ]

varivel monodimensional $ com ndice de campo:

$<identificador>[<n>]

varivel bidimensional $ sem ndice de campo:

$<identificador>[,]

varivel de bidimensional $ com ndice de campo:

$<identificador>[<n>,<m>]

Significado
<Resultado>:

Valor de retorno
Tipo de dado:

BOOL

Faixa de valores:

varivel presente

varivel desconhecida

ISVAR:

Examina se a varivel de sistema / de usurio conhecida no NCK

<identificador>:

Nome da varivel de sistema / de usurio


Tipo de dado:

<n>:

ndice de campo para primeira dimenso


Tipo de dado:

<m>:

STRING
INT

ndice de campo para segunda dimenso


Tipo de dado:

INT

De acordo com o parmetro de transferncia so realizadas as seguintes verificaes:


O identificador est presente
Se se tratar de um campo mono- ou bidimensional
permitido o ndice de campo
O TRUE somente concedido aps todos os exames darem positivo Se apenas uma das
verificaes no for preenchida ou ocorrer um erro de sintaxe, ento esta ser confirmada
com FALSE.

Preparao do trabalho

54

Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

Programao flexvel de NC
1.1 Variveis

Exemplos
Cdigo de programa

Comentrio

DEF INT VAR1


DEF BOOL IS_VAR=FALSE
N10 IS_VAR=ISVAR("VAR1")

Cdigo de programa

; Neste caso o IS_VAR TRUE

Comentrio

DEF REAL VARARRAY[10,10]


DEF BOOL IS_VAR=FALSE
N10 IS_VAR=ISVAR("VARARRAY[,]")

; IS_VAR neste caso TRUE, um campo


bidimensional

N20 IS_VAR=ISVAR("VARARRAY")

; O IS_VAR TRUE, a varivel existe

N30 IS_VAR=ISVAR("VARARRAY[8,11]")

; IS_VAR FALSE, no permitido o


ndice de campo

N40 IS_VAR=ISVAR("VARARRAY[8,8")

; IS_VAR FALSE, falta "]" (erro de


sintaxe).

N50 IS_VAR=ISVAR("VARARRAY[,8]")

; IS_VAR TRUE, permitido o ndice de


campo.

N60 IS_VAR=ISVAR("VARARRAY[8,]")

; IS_VAR TRUE, permitido o ndice de


campo.

Cdigo de programa

Comentrio

DEF BOOL IS_VAR=FALSE


N100 IS_VAR=ISVAR("$MC_GCODE_RESET_VALUES[1]"

Cdigo de programa

; O parmetro de
transferncia um dado de
mquina, IS_VAR TRUE.

Comentrio

DEF BOOL IS_VAR=FALSE


N10 IS_VAR=ISVAR("$P_EP")

; Neste caso o IS_VAR TRUE

N20 IS_VAR=ISVAR("$P_EP[X]")

; Neste caso o IS_VAR TRUE

Preparao do trabalho
Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

55

Programao flexvel de NC
1.1 Variveis

1.1.16

Ler valores de atributos/tipo de dados (GETVARPHU, GETVARAP,


GETVARLIM, GETVARDFT, GETVARTYP)
Com as funes pr-definidas GETVARPHU, GETVARAP, GETVARLIM e GETVARDFT
possvel ler os atributos de valor das variveis de sistema / de usurio, com GETVARTYP o
tipo de dados de uma varivel de sistema / de usurio

Ler unidade fsica


Sintaxe:
<Resultado>=GETVARPHU(<Nome>)
Significado:
<Resultado>:

Valor numrico da unidade fsica


Tipo de dado:

INT

Faixa de
valores:

Consulte a tabela em "Atributo: Unidade fsica (PHU)


(Pgina 37)"
Em caso de erro:
-2

O <Name> especificado no se encontra em nenhum


parmetro de sistema nem em nenhuma varivel de
usurio

GETVARPHU:

L a unidade fsica de uma varivel de sitema/de usurio

<Nome>:

Nome da varivel de sistema / de usurio


Tipo de dado:

STRING

Exemplo:
O NCK possui a seguinte varivel GUD:
DEF CHAN REAL PHU 42 LLI 0 ULI 10000 electric
Cdigo de programa

Comentrio

DEF INT result=0


result=GETVARPHU("electric")

; Defina a unidade fsica das variveis GUDVariablen.

IF (result < 0) GOTOF error

O resultado ser 42 Este corresponde unidade fsica [kW].

Indicao
Com GETVARPHU possvel examinar p.ex., se em um acesso varivel a = b ambas
variveis possuem o valor fsico esperado.

Preparao do trabalho

56

Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

Programao flexvel de NC
1.1 Variveis

Ler direito de acesso


Sintaxe:
<resultado>=GETVARAP(<Nome>,<acesso>)
Significado:
<Resultado>:

Nvel de segurana para o <acesso> especificada


Tipo de dado:

INT

Faixa de
valores:

0 ... 7

Veja "Atributo: Direitos de acesso (APR, APW, APRP,


APWP, APRB, APWB) (Pgina 39)".

Em caso de erro:
-2

O <Name> especificado no se encontra em nenhum


parmetro de sistema nem em nenhuma varivel de
usurio

-3

valor incorreto para <acesso>

GETVARAP:

Leitura do direito do acesso em uma varivel de sistema/de usurio

<Nome>:

Nome da varivel de sistema / de usurio

<acesso>:

tipo de acesso

Tipo de dado:

STRING

Tipo de dado:

STRING

Faixa de
valores:

"RP":

Leitura atravs do programa de usinagem

"WP":

Gravao atravs do programa de usinagem

"RB":

Leitura atravs do BTSS

"WB":

Gravao atravs do BTSS

Exemplo:
Cdigo de programa

Comentrio

DEF INT result=0


result=GETVARAP("$TC_MAP8","WB")

; Defina a proteo de acesso para o


parmetro de sistema "posio do
magazine" referente gravao atravs
do BTSS

IF (result < 0) GOTOF error

O resultado ser 7 Este corresponde posio do interruptor de chave 0 (= sem proteo


de acesso).

Indicao
Com GETVARAP possvel, p.ex, realizar um programa de teste, que examinar o direito
de acesso da aplicao esperada.

Preparao do trabalho
Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

57

Programao flexvel de NC
1.1 Variveis

Ler valores limite


Sintaxe:
<Status>=GETVARLIM(<nome>,<valor limite>,<resultado>)
Significado:
<Status>:

Status da funo
Tipo de dado:

INT

Faixa de
valores:

O. K.

-1

nenhum valor limite definidot


(nas variveis do tipo AXIS, STRING, FRAME)

-2

O <Name> especificado no se encontra em nenhum


parmetro de sistema nem em nenhuma varivel de
usurio

-3

valor incorreto para <valor limite>

GETVARLIM:

Leitura do valor limite inferior e superior de uma varivel de sistema/de usurio

<Nome>:

Nome da varivel de sistema / de usurio

<valor
limite>:

Informa qual o valor limite a ser lido

Tipo de dado:

<Resultado>:

STRING

Tipo de dado:

CHAR

Faixa de
valores:

"L":

= Valor limite inferior

"U":

= Valor limite superior

Devoluo do valor limite


Tipo de dado:

VAR REAL

Exemplo:
Cdigo de programa

Comentrio

DEF INT state=0


DEF REAL result=0
state=GETVARLIM("$MA_MAX_AX_VELO","L",result)

; Defina o valor limite


inferior para MD32000
$MA_MAX_AX_VELO.

IF (result < 0) GOTOF error

Preparao do trabalho

58

Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

Programao flexvel de NC
1.1 Variveis

Ler valor padro


Sintaxe:
<Status>=GETVARDFT(<nome>,<resultado>[,<ndice_1>,<ndice_2>,<ndice
_3>])
Significado:
<Status>:

Status da funo
Tipo de dado:

INT

Faixa de
valores:

O. K.

-1

nenhum valor padro disponvel


p.ex. porque o <resultado> tem o tipo de <Nome>
incorreto)

-2

O <Name> especificado no se encontra em nenhum


parmetro de sistema nem em nenhuma varivel de
usurio

-3

valor incorreto para <Indice_1>, Dimenso menor que um


(= nenhum Array = Skalar)

-4

valor incorreto para <Indice_2>

-5

valor incorreto para <Indice_3>

GETVARDFT:

Leitura do valor padro de uma varivel de sistema/de usurio

<Nome>:

Nome da varivel de sistema / de usurio


Tipo de dado:

<Resultado>:

STRING

Devoluo do valor padro


Tipo de dado:

VAR REAL
(na leitura do valor padro das variveis do tipo INT, REAL,
BOOL, AXIS)
VAR STRING
(na leitura do valor padro das variveis do tipo STRING e
CHAR)
VAR FRAME
(na leitura do valor padro das variveis do tipo FRAME)

<Indice_1>:

ndice da primeira dimenso (opcional)


Tipo de dado:

INT

no programado significa = 0
<Indice_2>:

ndice da segunda dimenso (opcional)


Tipo de dado:

INT

no programado significa = 0
<Indice_3>:

ndice da terceira dimenso (opcional)


Tipo de dado:

INT

no programado significa = 0

Preparao do trabalho
Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

59

Programao flexvel de NC
1.1 Variveis
Exemplo:
Cdigo de programa

Comentrio

DEF INT state=0


DEF REAL resultR=0

; variveis para incluso dos


valores padro dos tipos INT,
REAL, BOOL, AXIS.

DEF FRAME resultF=0

; Variveis para incluso dos


valores padro do tipo FRAME

IF (GETVARTYP("$MA_MAX_AX_VELO") <> 4) GOTOF error


state=GETVARDFT("$MA_MAX_AX_VELO", resultR, AXTOINT(X))

; Define o valor padro do eixo "X".


; AXTOINT converte o nome do eixo
"X" para um ndice de acesso
apropriado

IF (resultR < 0) GOTOF error


IF (GETVARTYP("$TC_TP8") <> 3) GOTOF error
state=GETVARDFT("$TC_TP8", resultR)
IF (GETVARTYP("$P_UBFR") <> 7) GOTOF error
state=GETVARDFT("$P_UBFR", resultF )

Ler tipo de dados


Sintaxe:
<resultado>=GETVARTYP(<Nome>)
Significado:
<Resultado>:

Tipo de dados das variveis de sistema / de usurio especficadas


Tipo de dado:

INT

Faixa de
valores:

= BOOL

= CHAR

= INT

= REAL

= STRING

= AXIS

= FRAME

Em caso de erro:
<0

O <Name> especificado no se encontra em nenhum


parmetro de sistema nem em nenhuma varivel de
usurio

GETVARTYP:

Leitura do tipo de dados em uma varivel de sistema/de usurio

<Nome>:

Nome da varivel de sistema / de usurio


Tipo de dado:

STRING

Preparao do trabalho

60

Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

Programao flexvel de NC
1.2 Programao indireta
Exemplo:
Cdigo de programa

Comentrio

DEF INT result=0


DEF STRING name="R"
result=GETVARTYP(name)

; Define o tipo do parmetro R

IF (result < 0) GOTOF error

O resultado ser 4 Este corresponde ao tipo de dado REAL.

1.2

Programao indireta

1.2.1

Programao indireta de endereos

Funo
Na programao indireta de endereos o endereo ampliado (<ndice>) substitudo por
uma varivel de tipo adequado.
Indicao
A programao indireta de endereos no possvel com:
N (nmero de bloco)
L (subrotina)
Endereos ajustveis
(p. ex. no permitido X[1] no lugar de X1)

Sintaxe

<ENDEREO>[<ndice>]

Significado
Elemento

Descrio

<ENDEREO>[...]:

Endereo fixo com extenso (ndice)

<ndice>:

Varivel, p. ex. para nmero de fuso, eixo, ...

Preparao do trabalho
Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

61

Programao flexvel de NC
1.2 Programao indireta

Exemplos

Exemplo 1: Programao indireta de um nmero de fuso


Programao direta:
Cdigo de programa

Comentrio

S1=300

; Rotao de 300 rpm para o fuso de nmero 1.

Programao indireta:
Cdigo de programa

Comentrio

DEF INT SPINU=1

; Definio das variveis do tipo INT e atribuio de


valores.

S[SPINU]=300

; Rotao de 300 rpm para o fuso cujo nmero est armazenado


na varivel SPINU (no exemplo temos o fuso de nmero 1).

Exemplo 2: Programao indireta de um eixo


Programao direta:
Cdigo de programa

Comentrio

FA[U]=300

; Avano 300 para o eixo "U".

Programao indireta:
Cdigo de programa

Comentrio

DEF AXIS AXVAR2=U

; Definio de uma varivel do tipo AXIS e atribuio de


valores.

FA[AXVAR2]=300

; Avano 300 para o eixo cujo nome de endereo est


armazenado na varivel de nome AXVAR2.

Exemplo 3: Programao indireta de um eixo


Programao direta:
Cdigo de programa

Comentrio

$AA_MM[X]

; Ler o valor de medio do apalpador de medio (MCS) do


eixo "X".

Programao indireta:
Cdigo de programa

Comentrio

DEF AXIS AXVAR3=X

; Definio de uma varivel do tipo AXIS e atribuio de


valores.

$AA_MM[AXVAR3]

; Ler o valor de medio do apalpador de medio (MCS) do


eixo cujo nome est armazenado na varivel AXVAR3.

Preparao do trabalho

62

Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

Programao flexvel de NC
1.2 Programao indireta
Exemplo 4: Programao indireta de um eixo
Programao direta:
Cdigo de programa
X1=100 X2=200

Programao indireta:
Cdigo de programa

Comentrio

DEF AXIS AXVAR1 AXVAR2

; Definio de duas variveis do tipo AXIS.

AXVAR1=(X1) AXVAR2=(X2)

; Atribuio dos nomes de eixo.

AX[AXVAR1]=100 AX[AXVAR2]=200

; Deslocamento dos eixos cujos nomes de


endereo esto armazenados nas variveis de
nome AXVAR1 e AXVAR2.

Exemplo 5: Programao indireta de um eixo


Programao direta:
Cdigo de programa
G2 X100 I20

Programao indireta:
Cdigo de programa

Comentrio

DEF AXIS AXVAR1=X

; Definio de uma varivel do tipo AXIS e


atribuio de valores.

G2 X100 IP[AXVAR1]=20

; Programao indireta da indicao do centro para


o eixo cujo nome de endereo est armazenado na
varivel de nome AXVAR1.

Exemplo 6: Programao indireta de elementos de campo


Programao direta:
Cdigo de programa

Comentrio

DEF INT CAMPO1[4,5]

; Definio do campo 1.

Programao indireta:
Cdigo de programa

Comentrio

DEFINE DIM1 AS 4

; Em dimenses de campo os tamanhos de campo devem


ser especificados como valores fixos.

DEFINE DIM2 AS 5
DEF INT CAMPO[DIM1,DIM2]
CAMPO[DIM1-1,DIM2-1]=5

Preparao do trabalho
Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

63

Programao flexvel de NC
1.2 Programao indireta
Exemplo 7: Chamada indireta de subrotina

1.2.2

Cdigo de programa

Comentrio

CALL "L" << R10

; Chamada do programa cujo nmero est no R10


(encadeamento de string).

Programao indireta de cdigos G

Funo
A programao indireta de cdigos G possibilita uma programao efetiva de ciclos.

Sintaxe

G[<grupo>]=<nmero>

Significado
G[...]:

Comando G com extenso (ndice)

<grupo>:

Parmetro de ndice: Grupo de funes G


Tipo:

<nmero>:

INT

Varivel para o nmero de cdigo G


Tipo:

INT ou REAL

Indicao
Geralmente somente podem ser programados de forma indireta os cdigos G que no so
determinantes na sintaxe.
Dos cdigos G que so determinantes na sintaxe, apenas so possveis aqueles do grupo 1
de funes G.
Os cdigos G determinantes de sintaxe dos grupos 2. 3 e 4 de funes G no so
aplicveis.
Indicao
Na programao indireta de cdigos G no permitida nenhuma funo aritmtica. Um
clculo necessrio do nmero de cdigo G devem ser realizado em uma linha prpria do
programa de pea, ainda antes da programao indireta do cdigo G.

Preparao do trabalho

64

Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

Programao flexvel de NC
1.2 Programao indireta

Exemplos
Exemplo 1: Deslocamento de ponto zero ajustvel (grupo de funes G 8)
Cdigo de programa

Comentrio

N1010 DEF INT INT_VAR


N1020 INT_VAR=2
...
N1090 G[8]=INT_VAR G1 X0 Y0

; G54

N1100 INT_VAR=INT_VAR+1

; Clculo de cdigo G

N1110 G[8]=INT_VAR G1 X0 Y0

; G55

Exemplo 2: Seleo de plano (grupo de funes G 6)


Cdigo de programa

Comentrio

N2010 R10=$P_GG[6]

; Ler a funo G ativa do grupo de funes


G 6

...
N2090 G[6]=R10

Literatura
Para informaes sobre os grupos de funo G, veja:
Manual de programao Fundamentos; Captulo "Grupos de funes G"

1.2.3

Programao indireta de atributos de posio (GP)

Funo
Os atributos de posio, como a programao incremental ou absoluta da posio do eixo,
podem ser programados indiretamente como variveis em conjunto com a palavra-chave GP.

Aplicao
A programao indireta de atributos de posio tem aplicao nos ciclos de substituio,
tendo a seguinte vantagem sobre a programao de atributos de posio como palavrachave (p. ex. IC, AC, ...):
Atravs da programao indireta como variveis no ser necessria nenhuma instruo
que se bifurca atravs de todos possveis atributos de posio.

CASE

Sintaxe

<COMANDO_POSICIONAMENTO>[<eixo/fuso>]=
GP(<posio>,<atributo de posio)
<eixo/fuso>=GP(<posio>,<atributo de posio>)

Preparao do trabalho
Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

65

Programao flexvel de NC
1.2 Programao indireta

Significado
<COMANDO_POSICIONAMENTO>[]:

Os seguintes comandos de posicionamento podem ser


programados juntos com a palavra-chave GP:
POS, POSA,SPOS, SPOSA

Alm disso tambm possvel:


todos identificadores de eixo/fuso disponveis no
canal:
<eixo/fuso>

identificador varivel de eixo/fuso AX


<eixo/fuso>:

Eixo/fuso que deve ser posicionado

GP():

Palavra-chave para posicionamento

<posio>:

Parmetro 1
Posio de eixo/fuso como constante ou varivel

<atributo de posio>:

Parmetro 2
Atributo de posio (p. ex. modo de aproximao da
posio) como varivel (p. ex. $P_SUB_SPOSMODE) ou
como palavra-chave (IC, AC, ...)

Os valores retornados das variveis possuem o seguinte significado:


Valor

Significado

Nenhuma alterao do atributo de


posio

Permitido para:

AC

POS, POSA,SPOS, SPOSA,AX, endereo de eixo

IC

POS, POSA,SPOS, SPOSA,AX, endereo de eixo

DC

POS, POSA,SPOS, SPOSA,AX, endereo de eixo

ACP

POS, POSA,SPOS, SPOSA,AX, endereo de eixo

ACN

POS, POSA,SPOS, SPOSA,AX, endereo de eixo

OC

PC

DAC

POS, POSA,AX, endereo de eixo

DIC

POS, POSA,AX, endereo de eixo

10

RAC

POS, POSA,AX, endereo de eixo

11

RIC

POS, POSA,AX, endereo de eixo

12

CAC

POS, POSA

13

CIC

POS, POSA

14

CDC

POS, POSA

15

CACP

POS, POSA

16

CACN

POS, POSA

Preparao do trabalho

66

Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

Programao flexvel de NC
1.2 Programao indireta

Exemplo

Em um acoplamento ativo de fusos sincronizados entre o fuso mestre S1 e o fuso escravo


S2, atravs do comando SPOS no programa principal realizada a chamada do seguinte
ciclo de substituio para posicionamento dos fusos.
O posicionamento realizado atravs da instruo no N2230:
SPOS[1]=GP($P_SUB_SPOSIT,$P_SUB_SPOSMODE)
SPOS[2]=GP($P_SUB_SPOSIT,$P_SUB_SPOSMODE)
A posio a ser aproximada lida da varivel de sistema $P_SUB_SPOSIT, o modo de
aproximao da posio da varivel de sistema $P_SUB_SPOSMODE.

Cdigo de programa

Comentrio

N1000 PROC LANG_SUB DISPLOF SBLOF


...
N2100 IF($P_SUB_AXFCT==2)
N2110

; Substituio do comando
SPOS / SPOSA / M19 no acoplamento de
fusos sincronizados

N2185 DELAYFSTON

; Incio da rea stop-delay

N2190 COUPOF(S2,S1)

; Desativar o acoplamento de fusos


sincronizados

N2200

; Posicionar fuso mestre e fuso escravo

N2210 IF($P_SUB_SPOS==TRUE) OR ($P_SUB_SPOSA==TRUE)


N2220
N2230

; Posicionar fuso com SPOS:


SPOS[1]=GP($P_SUB_SPOSIT,$P_SUB_SPOSMODE)
SPOS[2]=GP($P_SUB_SPOSIT,$P_SUB_SPOSMODE)

N2250 ELSE
N2260

; Posicionar fuso com M19:

N2270 M1=19 M2=19

; Posicionar fuso mestre e fuso escravo

N2280 ENDIF
N2285 DELAYFSTOF

; Fim da rea stop-delay

N2290 COUPON(S2,S1)

; Ativar acoplamento de fusos


sincronizados

N2410 ELSE
N2420

; Consulta quanto a outras substituies

...
N3300 ENDIF
...
N9999 RET

Condies gerais
A programao indireta de atributos de posio no possvel em aes sincronizadas.

Literatura
Manual de funes bsicas; BAG, Canal, Operao do programa, Comportamento Reset
(K1), Captulo: Substituio de funes NC atravs de subrotinas

Preparao do trabalho
Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

67

Programao flexvel de NC
1.2 Programao indireta

1.2.4

Programao indireta de linhas de programa de pea (EXECSTRING)

Funo
Com o comando de programa de pea EXECSTRING possvel executar uma varivel de
String, que foi gerada anteriormente, como uma linha do programa de pea.

Sintaxe
programado em uma linha de programa de pea prpria:
EXECSTRING(<varivel String>)

EXECSTRING

Significado
EXECSTRING:

Comando para execuo de uma varivel de String como linha


de programa de pea

<varivel String>:

Varivel do tipo STRING que contm a prpria linha de programa


de pea que deve ser executada

Indicao
Com o EXECSTRING podem ser descartadas todas as construes de programa de pea que
foram programadas em uma parte de um programa de pea. Excludas disso esto as
instrues PROC e DEF, bem como o uso frequente em arquivos INI e DEF.

Exemplo
Cdigo de programa

Comentrio

N100 DEF STRING[100] BLOCO

; Definio das variveis de String para


gravar as linhas de programa de pea
que devem ser executadas.

N110 DEF STRING[10] MFCT1="M7"


...
N200 EXECSTRING(MFCT1 << "M4711")

; Execuo da linha de programa de pea


"M7 M4711".

...
N300 R10=1
N310 BLOCO="M3"
N320 IF(R10)
N330 BLOCO = BLOCO << MFCT1
N340 ENDIF
N350 EXECSTRING(BLOCO)

; Execuo da linha de programa de pea


"M3 M7"

Preparao do trabalho

68

Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

Programao flexvel de NC
1.3 Funes de clculo

1.3

Funes de clculo

Funo
As funes de clculo so aplicadas com prioridade sobre os parmetros R e as variveis
(ou constantes e funes) do tipo REAL. Tambm so permitidos os tipos INT e CHAR.
Operador / Funo de clculo Significado
+

Adio

Subtrao

Multiplicao

Diviso
Ateno:
(tipo INT)/(tipo INT)=(tipo REAL); exemplo: 3/4 = 0.75

DIV

Diviso, para tipo de varivel INT e REAL


Ateno:
(tipo INT)DIV(tipo INT)=(tipo INT); exemplo: 3 DIV 4 = 0

MOD

A diviso Modulo (apenas para tipo INT) retorna o resto de


uma diviso INT
Exemplo: 3 MOD 4 = 3

Operador de concatenao (para variveis FRAME)

Sin()

Seno

COS()

Coseno

TAN()

Tangente

ASIN()

Arco seno

ACOS()

Arco coseno

ATAN2(,)

Arco tangente2

SQRT()

Raiz quadrada

ABS()

Valor

POT()

2 potncia (quadrada)

TRUNC()

Parte inteira
Preciso em comandos de comparao ajustvel com
TRUNC (veja "Correo da preciso em erros de
comparao (TRUNC) (Pgina 73)")

ROUND()

Arredondamento para um nmero inteiro

LN()

Logaritmo natural

EXP()

Funo exponencial

MINVAL()

menor valor de duas variveis


(veja "Mnimo, mximo e rea de variveis (MINVAL,
MAXVAL, BOUND) (Pgina 74)" )

MAXVAL()

Maior valor de duas variveis


(veja "Mnimo, mximo e rea de variveis (MINVAL,
MAXVAL, BOUND) (Pgina 74)" )

Preparao do trabalho
Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

69

Programao flexvel de NC
1.3 Funes de clculo
BOUND()

Valor de varivel que est na faixa de valores definida


(veja "Mnimo, mximo e rea de variveis (MINVAL,
MAXVAL, BOUND) (Pgina 74)" )

CTRANS()

Deslocamento

CROT()

Rotao

CSCALE()

Alterao de escala

CMIRROR()

Espelhamento

Programao
Nas funes de clculo se aplica a forma escrita usual de matemtica. As prioridades na
execuo so definidas atravs de parnteses. Para as funes trigonomtricas e suas
funes inversas se aplica a indicao em graus (ngulo reto = 90).

Exemplos
Exemplo 1: ATAN2
A funo de clculo ATAN2
calcula o ngulo do vetor
formado por dois vetores
posicionados
perpendicularmente.

5 $7$1 

rYHWRU



rYHWRU

QJXOR 
r

O resultado est na rea de


quatro quadrantes (-180 < 0
< +180).



A base para a referncia


angular sempre o 2 valor
no sentido positivo.

5 $7$1 

rYHWRU

QJXOR r



rYHWRU

Exemplo 2: Inicializao de campos de variveis completos


Cdigo de programa

Comentrio

R1=R1+1

; Novo R1 = antigo R1 +1

R1=R2+R3 R4=R5-R6 R7=R8*R9


R10=R11/R12 R13=SIN(25.3)
R14=R1*R2+R3

; O clculo com pontos tem prioridade sobre o


clculo com traos.

R14=(R1+R2)*R3

; Parnteses/colchetes so calculados primeiro.

Preparao do trabalho

70

Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

Programao flexvel de NC
1.4 Operadores de comparao e operadores lgicos

Cdigo de programa

Comentrio

R15=SQRT(POT(R1)+POT(R2))

; Parnteses internos so ativados primeiro:


R15 = raiz quadrada de (R1+R2)

RESFRAME=FRAME1:FRAME2
FRAME3=CTRANS():CROT()

1.4

; Com o operador de concatenao os Frames so


ligados a um Frame resultante ou atribudos
aos valores de componente de Frame.

Operadores de comparao e operadores lgicos

Funo
Operaes de comparao podem ser usadas, por exemplo, para formulao de uma
condio de salto. Tambm podem ser comparadas expresses complexas.
As operaes de comparao so aplicveis para variveis do tipo CHAR, INT, REAL e BOOL.
No tipo CHAR comparado o valor do cdigo.
Nos tipos STRING, AXIS e FRAME so possveis: == e <>, que tambm podem ser aplicados em
operaes do tipo STRING em aes sincronizadas.
O resultado das operaes comparadas sempre ser do tipo BOOL.
Operadores lgicos servem para ligao de valores lgicos.
As operaes lgicas somente podem ser aplicadas em variveis do tipo BOOL. Atravs da
converso interna de tipos elas tambm podem ser aplicadas nos tipos de dados CHAR, INT
e REAL.
Nas operaes lgicas (boolschen) o seguinte valido para os tipos de dados BOOL,
CHAR,INT e REAL:
0 corresponde a: FALSE
diferente de 0 corresponde a: TRUE
Operadores lgicos por Bits
Com as variveis do tipo CHAR e INT tambm podem ser empregados operadores lgicos por
Bits. Eventualmente realizada uma converso automtica de tipos.

Programao
Operador de comparao

Significado

==

igual

<>

diferente

>

maior

<

menor

>=

maior ou igual

<=

menor ou igual

Preparao do trabalho
Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

71

Programao flexvel de NC
1.4 Operadores de comparao e operadores lgicos
Operador lgico

Significado

AND

OR

OU

NOT

Negao

XOR

OU exclusivo

Operador lgico por Bits

Significado

B_AND

E bit a bit

B_OR

OU bit a bit

B_NOT

Negao bit a bit

B_XOR

OU exclusivo bit a bit

Indicao
Em expresses aritmticas se pode definir a ordem de execuo atravs de parnteses, e
com isso, fugir das regras convencionais de prioridade.
Indicao
Entre operandos e operadores BOOLEANOS devem ser escritos espaos.
Indicao
O operador B_NOT refere-se apenas a um operando. Este se encontra aps o operador.

Exemplos
Exemplo 1: Operadores de comparao
IF R10>=100 GOTOF DESTINO
ou
R11=R10>=100
IF R11 GOTOF DESTINO
O resultado da comparao R10>=100 primeiro armazenado temporariamente no R11.
Exemplo 2: Operadores lgicos
IF (R10<50) AND ($AA_IM[X]>=17.5) GOTOF DESTINO
ou
IF NOT R10 GOTOB PARTIDA
NOT

refere-se apenas a um operando.

Exemplo 3: Operadores lgicos por Bits


IF $MC_RESET_MODE_MASK B_AND 'B10000' GOTOF ACT_PLANE

Preparao do trabalho

72

Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

Programao flexvel de NC
1.5 Correo da preciso em erros de comparao (TRUNC)

1.5

Correo da preciso em erros de comparao (TRUNC)

Funo
O comando TRUNC corta o operando multiplicado por um fator de preciso.
Preciso ajustvel em comandos de comparao
Os dados de programa de pea do tipo REAL so representados internamente em formato
IEEE com 64 Bits. Devido a esta forma de representao as casas decimais podem ser
imprecisas, o que pode gerar resultados inesperados se compararmos aos valores
calculados.
Igualdade relativa
Para que a preciso ressaltada atravs da forma de representao no falsifique o fluxo do
programa, ento com os comandos de comparao no realizado o controle sobre a
igualdade absoluta, e sim sobre a igualdade relativa.

Sintaxe
Correo da preciso em erros de comparao
TRUNC (R1*1000)

Significado
TRUNC:

Corte das casas decimais

Igualdade relativa considerada de 10-12 com


Igualdade: (==)
Desigualdade: (<>)
Maior-Igual: (>=)
Menor-Igual: (<=)
Maior/Menor: (><) com igualdade absoluta
Maior: (>)
Menor: (<)
Compatibilidade
Por motivos de compatibilidade o controle sobre a igualdade relativa pode ser desativada no
caso do (>) e (<) atravs da definio do dado de mquina MD10280 $MN_
PROG_FUNCTION_MASK Bit0 = 1.
Indicao
As comparaes com dados do tipo REAL so condenados com uma certa impreciso
devido aos motivos j conhecidos. No caso de desvios no aceitveis deve-se desviar para
o clculo INTEGER, onde os operandos so multiplicados por um fator de preciso e depois
cortados com TRUNC.

Preparao do trabalho
Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

73

Programao flexvel de NC
1.6 Mnimo, mximo e rea de variveis (MINVAL, MAXVAL, BOUND)
Aes sincronizadas
O comportamento descrito dos comandos de comparao tambm se aplica nas aes
sincronizadas.

Exemplos
Exemplo 1: Consideraes de preciso
Cdigo de programa

Comentrio

N40 R1=61.01 R2=61.02 R3=0.01

Atribuio dos valores iniciais

N41 IF ABS(R2-R1) > R3 GOTOF ERRO

O salto seria executado at ento

N42 M30

Fim do programa

N43 ERRO: SETAL(66000)

R1=61.01 R2=61.02 R3=0.01

Atribuio dos valores iniciais

R11=TRUNC(R1*1000) R12=TRUNC(R2*1000)
R13=TRUNC(R3*1000)

Correo da preciso

IF ABS(R12-R11) > R13 GOTOF ERRO

O salto no ser mais executado

M30

Fim do programa

ERRO: SETAL(66000)

Exemplo 2: Formao e avaliao do quociente dos dois operandos


Cdigo de programa

1.6

Comentrio

R1=61.01 R2=61.02 R3=0.01

Atribuio dos valores iniciais

IF ABS((R2-R1)/R3)-1) > 10EX-5 GOTOF ERRO

O salto no ser executado

M30

Fim do programa

ERRO: SETAL(66000)

Mnimo, mximo e rea de variveis (MINVAL, MAXVAL, BOUND)

Funo
Com os comandos MINVAL e MAXVAL os valores de duas variveis podem ser comparados
entre si. Como resultado retornado o menor valor (com MINVAL) ou o maior valor (com
MAXVAL).
Com o comando BOUND pode ser realizado o controle se o valor de uma varivel de controle
est dentro da faixa de valores definida.

Sintaxe

<menor valor>=MINVAL(<varivel1>,<varivel2>)
<maior valor>=MAXVAL(<varivel1>,<varivel2>)
<valor retornado>=<BOUND>(<mnimo>,<mximo>,<varivel de controle>)

Preparao do trabalho

74

Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

Programao flexvel de NC
1.6 Mnimo, mximo e rea de variveis (MINVAL, MAXVAL, BOUND)

Significado
MINVAL:

Determina o menor valor de duas variveis (<varivel1>,

<varivel2>)

<menor valor>:

Varivel de resultado para o comando MINVAL


passado para o menor valor de varivel.

MAXVAL:

Determina o maior valor de duas variveis (<varivel1>,

<varivel2>)

<maior valor>:

Varivel de resultado para o comando MAXVAL


passado para o maior valor de varivel.

BOUND:

Controla se a varivel (<varivel


uma faixa de valores definida.

de controle>)

est dentro de

<mnimo>:

Varivel que definida com o valor mnimo da faixa de valores

<mximo>:

Varivel que definida com o valor mximo da faixa de valores

<valor de retorno>:

Varivel de resultado para o comando BOUND


Quando o valor da varivel de controle estiver dentro da faixa de
valores definida, ento a varivel de resultado passada para o
valor da varivel de controle.
Quando o valor da varivel de controle for maior que o valor
mximo, ento a varivel de resultado passada para o valor
mximo da faixa de definio.
Quando o valor da varivel de controle for menor que o valor
mnimo, ento a varivel de resultado passada para o valor
mnimo da faixa de definio.

Indicao
MINVAL, MAXVAL

e BOUND tambm podem ser programadas em aes sncronas.

Indicao
Comportamento na igualdade
Em caso de igualdade, com MINVAL/MAXVAL fornecido este mesmo valor. Com BOUND
retornado o valor da varivel a ser controlada.

Exemplo
Cdigo de programa

Comentrio

DEF REAL rVar1=10.5, rVar2=33.7, rVar3, rVar4, rVar5, rValMin, rValMax, rRetVar
rValMin=MINVAL(rVar1,rVar2)

; rValMin passado para o valor 10.5.

rValMax=MAXVAL(rVar1,rVar2)

; rValMax passado para o valor 33.7.

rVar3=19.7
rRetVar=BOUND(rVar1,rVar2,rVar3)

; rVar3 est dentro dos limites, rRetVar passado para


19.7.

Preparao do trabalho
Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

75

Programao flexvel de NC
1.7 Prioridade das operaes

Cdigo de programa

Comentrio

rVar3=1.8
rRetVar=BOUND(rVar1,rVar2,rVar3)

; rVar3 est abaixo do limite mnimo, rRetVar passado


para 10.5.

rVar3=45.2
rRetVar=BOUND(rVar1,rVar2,rVar3)

1.7
Funo

; rVar3 est acima do limite mximo, rRetVar passado


para 33.7.

Prioridade das operaes


Cada operador ordenado por um nvel de prioridade. Na avaliao de uma expresso
sempre so aplicados primeiro os operadores de nvel de prioridade mais alto. No caso de
operadores de mesma propriedade, a avaliao realizada da esquerda para direita.
Em expresses aritmticas se pode definir a ordem de execuo atravs de parnteses, e
com isso, fugir das regras convencionais de prioridade.

Seqncia dos operadores


Do nvel de prioridade mais alto at o mais baixo
1.

NOT, B_NOT

Negao, negao por Bits

2.

*, /, DIV, MOD

Multiplicao, diviso

3.

+,

Adio, subtrao

4.

B_AND

E bit a bit

5.

B_XOR

OU exclusivo bit a bit

6.

B_OR

OU bit a bit

7.

AND

8.

XOR

OU exclusivo

9.

OR

OU

10.

<<

Encadeamento de Strings, tipo de resultado STRING

11.

==, <>, >, <, >=, <=

Operadores de comparao

Indicao
O operador de encadeamento ":" para Frames no podem surgir com outros operadores em
uma expresso. Por isso que uma categorizao de prioridades para este operador no se
faz necessria.

Exemplo de instruo If
If (otto==10) and (anna==20) gotof end

Preparao do trabalho

76

Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

Programao flexvel de NC
1.8 Possveis converses de tipo

1.8

Possveis converses de tipo

Funo

Converso de tipos na atribuio


O valor numrico constante, a varivel ou a expresso, que se atribui a uma varivel, deve
ser compatvel com o tipo desta varivel. Se esta condio for preenchida, ento o tipo ser
convertido automaticamente durante a atribuio.

Possveis converses de tipos


para REAL

INT

BOOL

CHAR

STRING

AXIS

FRAME

sim*

sim1)

sim*

sim2)

de
REAL

sim

INT

sim

sim

sim1)

BOOL

sim

sim

sim

sim

sim

CHAR

sim

sim

sim1)

sim

sim

STRING

sim4)

sim3)

sim

AXIS

sim

FRAME

sim

Explanaes
*

Na converso de tipos de REAL para INT um valor fracionado >= 0.5 arredondado
para cima, e em caso contrrio, arredondado para baixo (veja a funo ROUND).

1)

O valor <> 0 corresponde TRUE, o valor == 0 corresponde FALSE

2)

Se o valor estiver na faixa de nmeros admissveis

3)

Se apenas 1 caractere

4)

Tamanho de String 0 = >FALSE, caso contrrio TRUE

Indicao
Se durante a converso um valor for maior que a faixa de destino, ser emitida uma
mensagem de erro.
Se aparecerem tipos mistos em uma expresso, ento ser realiza automaticamente uma
adaptao de tipos. As converses de tipos tambm so possveis em aes sincronizadas;
veja o captulo "Aes sincronizadas de movimentos, converso implcita de tipos".

Preparao do trabalho
Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

77

Programao flexvel de NC
1.9 Operaes de String

1.9

Operaes de String

Operaes de String
Alm das operaes clssicas "Atribuio" e "Comparao" tambm so possveis as
seguintes operaes de String:
Converso de tipos para STRING (AXSTRING) (Pgina 78)
Converso de tipos de STRING (NUMBER, ISNUMBER, AXNAME) (Pgina 79)
Encadeamento de Strings (<<) (Pgina 80)
Mudana para letras minsculas / letras maisculas (TOLOWER, TOUPPER)
(Pgina 82)
Definir o tamanho de uma Strings (STRLEN) (Pgina 83)
Localizar caractere/String na String (INDEX, RINDEX, MINDEX, MATCH) (Pgina 83)
Seleo de uma String parcial (SUBSTR) (Pgina 85)
Leitura e gravao dos caracteres individuais (Pgina 85)
Formatao de String (SPRINT) (Pgina 87)

Significado especial do caractere 0


O caractere 0 interpretado internamente como identificao final de uma String. Se um
caractere substitudo pelo caractere 0, ento a String ser encurtada com isso.
Exemplo:
Cdigo de programa

Comentrio

DEF STRING[20] STRG="Eixo . est parado"


STRG[6]="X"
MSG(STRG)

; Retorna a mensagem "Eixo X est


parado".

STRG[6]=0
MSG(STRG)

1.9.1
Funo

; Retorna a mensagem "Eixo".

Converso de tipos para STRING (AXSTRING)

Atravs da funo "Converso de tipos para STRING" se pode utilizar variveis de


diferentes tipos como parte integrante de uma mensagem (MSG).
Ocorre na utilizao do operador << implicitamente para os tipos de dados INT, REAL,
CHAR e BOOL (veja "Encadeamento de Strings (<<) (Pgina 80)").
Um valor INT convertido na forma normal e legvel. Para valores REAL so indicadas at
10 casas decimais.
Com o comando AXSTRING se pode converter variveis do tipo AXIS para o tipo STRING.
Preparao do trabalho

78

Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

Programao flexvel de NC
1.9 Operaes de String

Sintaxe

<STRING_ERG> = << <ocup._tipo>


<STRING_ERG> = AXSTRING(<identificador de eixo>)

Significado
<STRING_ERG>:

Varivel para o resultado da converso de tipos


Tipo:

STRING

<ocup._tipo>:

Tipos de variveis INT, REAL, CHAR, STRING e BOOL

AXSTRING:

O comando AXSTRING retorna o identificador de eixo indicado


como String.

<identificador de eixo>:

Varivel para identificador de eixo


Tipo:

AXIS

Indicao
As variveis FRAME no podem ser convertidas.

Exemplos
Exemplo 1:
MSG("Posio:"<<$AA_IM[X])
Exemplo 2: AXSTRING
Cdigo de programa

Comentrio

DEF STRING[32] STRING_ERG


STRING_ERG=AXSTRING(X)

1.9.2

; STRING_ERG == "X"

Converso de tipos de STRING (NUMBER, ISNUMBER, AXNAME)

Funo
Com o comando NUMBER se converte de STRING para REAL. A capacidade de converso
pode ser verificada atravs do comando ISNUMBER.
Com o comando AXNAME se converte uma String no tipo de dado AXIS.

Sintaxe

<REAL_ERG>=NUMBER("<String>")
<BOOL_ERG>=ISNUMBER("<String>")
<AXIS_ERG>=AXNAME("<String>")

Preparao do trabalho
Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

79

Programao flexvel de NC
1.9 Operaes de String

Significado
NUMBER:

O comando NUMBER retorna o nmero representado atravs da <String>


como valor REAL.

<String>:

Varivel a ser convertida do tipo STRING

<REAL_ERG>:

Varivel para o resultado da converso de tipos com NUMBER


Tipo:

REAL

ISNUMBER:

Com o comando ISNUMBER pode ser verificado se a <String> pode ser


convertida em um nmero vlido.

<BOOL_ERG>:

Varivel para o resultado da consulta com ISNUMBER


Tipo:

BOOL

Valor:

TRUE

FALSE

AXNAME:

retorna o valor TRUE se a <String>


apresenta um nmero REAL vlido conforme as
regras da linguagem.

ISNUMBER

Se ISNUMBER retornar o valor FALSE, ento na


chamada do NUMBER emitido o alarme com a
mesma <String>.

O comando AXNAME converte a <String> especificada em um identificador


de eixo.
Nota:
Se a <String> no pode ser associada a nenhum identificador de eixo
configurado, ento ser emitido um alarme.

<AXIS_ERG>:

Varivel para o resultado da converso de tipos com AXNAME


Tipo:

AXIS

Exemplo
Cdigo de programa

Comentrio

DEF BOOL BOOL_ERG


DEF REAL REAL_ERG
DEF AXIS AXIS_ERG
BOOL_ERG=ISNUMBER("1234.9876Ex-7")

1.9.3

; BOOL_ERG == TRUE

BOOL_ERG=ISNUMBER("1234XYZ")

; BOOL_ERG == FALSE

REAL_ERG=NUMBER("1234.9876Ex-7")

; REAL_ERG == 1234.9876Ex-7

AXIS_ERG=AXNAME("X")

; AXIS_ERG == X

Encadeamento de Strings (<<)

Funo
A funo "Encadeamento de Strings" oferece a capacidade de compor uma String a partir
de partes individuais.

Preparao do trabalho

80

Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

Programao flexvel de NC
1.9 Operaes de String
O encadeamento realizado atravs do operador "<<". Este operador tem como tipo de
destino STRING para todas combinaes dos tipos bsicos CHAR, BOOL, INT, REAL e
STRING. Uma eventual converso que for necessria ser realizada conforme as regras
existentes.

Sintaxe

<ocup._tipo> << <ocup._tipo>

Significado
<ocup._tipo>:
<<

Varivel do tipo CHAR, BOOL, INT, REAL ou STRING


Operador para o encadeamento de variveis (<ocup._tipo) para uma
seqncia de caracteres composta (tipo STRING).
Este operador tambm est disponvel como uma variante "unria". Dessa
forma possvel executar uma converso explcita de tipos para STRING
(no para FRAME e AXIS):
<< <ocup._tipo>

Por exemplo, se pode compor uma mensagem destas ou um comando a partir de listas de
texto e inserir parmetros (algo como um nome de mdulo):
MSG(STRG_TAB[LOAD_IDX]<<NOME_MODULO)
Indicao
Os resultados intermedirios no encadeamento de Strings no podem exceder o tamanho
mximo de String.
Indicao
Os tipos FRAME e AXIS no podem ser utilizados juntos com o operador "<<".

Exemplos
Exemplo 1: Encadeamento de Strings
Cdigo de programa

Comentrio

DEF INT IDX=2


DEF REAL VALUE=9.654
DEF STRING[20] STRG="NDICE:2"
IF STRG=="ndice:"<<IDX GOTOF NO_MSG
MSG("ndice:"<<IDX<<"/valor:"<<VALUE)

; indicao:
"Index:2/valor:9.654"

NO_MSG:

Preparao do trabalho
Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

81

Programao flexvel de NC
1.9 Operaes de String
Exemplo 2: Converso explcita de tipos com <<
Cdigo de programa

Comentrio

DEF REAL VALUE=3.5


<<VALUE

1.9.4

;a varivel indicada do tipo REAL ser convertida no tipo


STRING.

Mudana para letras minsculas / letras maisculas (TOLOWER, TOUPPER)

Funo
A funo "Mudana para letras minsculas / maisculas" permite a mudana de todas as
letras de uma seqncia de caracteres para uma representao uniforme.

Sintaxe

<STRING_ERG>=TOUPPER("<String>")
<STRING_ERG>=TOLOWER("<String>")

Significado
TOUPPER:

Com o comando TOUPPER todas as letras de uma seqncia de


caracteres muda para letras maisculas.

TOLOWER:

Com o comando TOLOWER todas as letras de uma seqncia de


caracteres muda para letras minsculas.

<String>:

Seqncia de caracteres que deve ser convertida


Tipo:

<STRING_ERG>:

STRING

Varivel para o resultado da converso


Tipo:

STRING

Exemplo
Visto que tambm possvel mostrar as especificaes de usurio na interface de
operao, a representao uniforme se obtm atravs de letras minsculas ou maisculas:
Cdigo de programa
DEF STRING [29] STRG
...
IF "LEARN.CNC"==TOUPPER(STRG) GOTOF LOAD_LEARN

Preparao do trabalho

82

Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

Programao flexvel de NC
1.9 Operaes de String

1.9.5

Definir o tamanho de uma Strings (STRLEN)

Funo
Com o comando STRLEN possvel definir o tamanho de uma seqncia de caracteres.

Sintaxe

<INT_ERG>=STRLEN("<STRING>")

Significado
STRLEN:

Com o comando STRLEN se define o tamanho da seqncia de caracteres


especificada.
retornado o nmero de caracteres que so contados desde o incio da
seqncia de caracteres e que no so caracteres 0.

<String>:

Seqncia de caracteres cujo tamanho deve ser determinado


Tipo:

<INT_ERG>:

STRING

Varivel para o resultado da definio


Tipo:

INT

Exemplo
A funo junto com o acesso dos caracteres individuais permite determinar o fim de uma
seqncia de caracteres:
Cdigo de programa
IF (STRLEN(NOME_MODULO)>10) GOTOF ERRO

1.9.6

Localizar caractere/String na String (INDEX, RINDEX, MINDEX, MATCH)

Funo
Esta funcionalidade permite localizar um nico caractere ou uma String dentro de outra
String. Os resultados de funo indicam em qual posio da String foi encontrado o
caractere / a String dentro da String analisada.

Sintaxe
INT_ERG=INDEX(STRING,CHAR)

; Tipo de resultado: INT

INT_ERG=RINDEX(STRING,CHAR)

; Tipo de resultado: INT

INT_ERG=MINDEX(STRING,STRING)
INT_ERG=MATCH(STRING,STRING)

; Tipo de resultado: INT

; Tipo de resultado: INT

Preparao do trabalho
Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

83

Programao flexvel de NC
1.9 Operaes de String
Semntica
Funes de busca: Elas retornam a posio na String (primeiro parmetro) onde a
localizao teve xito. Se o caractere ou a String no puder ser localizado, ento se retorna
o valor -1. Neste caso o primeiro caractere possui a posio 0.

Significado
INDEX:

Busca (do comeo) o caractere especificado como segundo parmetro no


primeiro parmetro.

RINDEX:

Busca (do fim) o caractere especificado como segundo parmetro no primeiro


parmetro.

MINDEX:

Corresponde funo INDEX, com exceo de que se transmite uma lista de


caracteres (como String) de onde o ndice do primeiro caractere encontrado
retornado.

MATCH:

Busca uma String dentro de uma String.

Dessa forma as Strings podem ser desmembradas conforme determinados critrios, algo
como posies com espao vazio ou sinais separadores de caminhos / atalhos ("/").

Exemplo
Desmembramento de uma entrada em nomes de caminho e de mdulo
Cdigo de programa

Comentrio

DEF INT PFADIDX, PROGIDX


DEF STRING[26] ESPECIFICACAO
DEF INT LISTIDX
ESPECIFICACAO = "/_N_MPF_DIR/_N_EXECUTE_MPF"
LISTIDX = MINDEX (ESPECIFICACAO, "M,N,O,P") + 1

; Como valor no LISTIDX se retorna o 3;


pois o "N" o primeiro caractere no
parmetro ESPECIFICACAO da lista de
seleo partindo-se do incio.

PFADIDX = INDEX (ESPECIFICACAO, "/") +1

; Com isso se aplica: PFADIDX = 1

PROGIDX = RINDEX (ESPECIFICACAO, "/") +1

; Com isso se aplica: PROGIDX = 12


Com a ajuda da funo SUBSTR inserida
na prxima seco se pode desmembrar
a varivel ESPECIFICACAO nos
componentes ;"caminho";e "mdulo":

VARIABLE = SUBSTR (ESPECIFICACAO, PFADIDX, PROGIDX-PFADIDX-1) ; Retorna "_N_MPF_DIR"


VARIABLE = SUBSTR (ESPECIFICACAO, PROGIDX)

; Retorna "_N_EXECUTE_MPF"

Preparao do trabalho

84

Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

Programao flexvel de NC
1.9 Operaes de String

1.9.7

Seleo de uma String parcial (SUBSTR)

Funo
Com a funo SUBSTRING possvel a leitura de quaiquer partes dentro de um String.

Sintaxe
<STRING_ERG>=SUBSTR(<String>,<Indice>,<comp.>)
<STRING_ERG>=SUBSTR(<String>,<Indice>)

Significado
SUBSTR:

A funo fornece do <String> uma parte do string,que sai do <Indice> com o


<comprimento> especificado.
Se o parmetro <comprimento> no estiver especificado, ento a funo
fornece uma parte do string que sai do <Indice> at o final do string

<ndice>:

Posio inicial da parte do string dentro do string. Se a posio inicial


estiver aps o fim da String, ser retornada a String vazia (" "). Primeiro
caractere do String: ndice = 0
Faixa de valores: 0 ... (comprimento String - 1)

<comprimento>:

comprimento da parte do string. Se for dada um comprimento muito maior,


ento ser utilizado apenas a parte do string at o seu final.
Faixa de valores: 1 ... (comprimento String - 1)

Exemplo
Cdigo de programa

Comentrio

DEF STRING[29] ERG


; 1
; 0123456789012345678

1.9.8

ERG = SUBSTR("confirmao: 10 at 99", 10, 2)

; ERG == "10"

ERG = SUBSTR("confirmao: 10 at 99", 10)

; ERG == "10 at 99"

Leitura e gravao dos caracteres individuais

Funo
Dentro de um String possivel ler e gravar caracteres individualmente.
Porm deve-se observar as seguintes condies:
Possvel apenas para variveis definidas por usurio e no em variveis de sistema
Caracteres individuais de um String somente so fornecidos em chamadas de
subprogramas "call by value"
Preparao do trabalho
Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

85

Programao flexvel de NC
1.9 Operaes de String

Sintaxe

<caractere>=<String>[<ndice>]
<caractere>=<String_Array>[<Array_Indice>,<Indice>]
<String>[<Indice>]=<caractere>
<String_Array>[<Array_Indice>,<Indice>]=<caractere>

Significado
<String>:

String qualquer

<caractere>:

varivel do tipo CHAR

<ndice>:

Posio do caractere dentro do Strings.


Primeiro caractere do String: ndice = 0
Faixa de valores: 0 ... (comprimento String - 1)

Exemplos
Exemplo 1: Notificao de varivel
Cdigo de programa

Comentrio

; 0123456789
DEF STRING [50] MENSAGEM = "O eixo n alcanou a posio"
MENSAGEM [6] = "X"
MSG (MENSAGEM)

; "O eixo X alcanou a posio"

Exemplo 2: Interpretao de uma varivel de sistema


Cdigo de programa

Comentrio

DEF STRING [50] STRG

; memria temporrio para variveis de sistema

...
STRG = $P_MMCA

; carregar variveis de sistema

IF STRG[0] == "E" GOTO ...

; Interpretao da varivel de sistema

Exemplo 3: Acionamento do parmetro "call by value" e "call by reference"


Cdigo de programa

Comentrio

; 0123456
DEF STRING[50] STRG = "eixo X"
DEF CHAR CHR
...

Preparao do trabalho

86

Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

Programao flexvel de NC
1.9 Operaes de String

Cdigo de programa

Comentrio

EXTERN UP_VAL(EIXO)

Definio do subprograma com


parmetro "call by value"

EXTERN UP_REF(VAR EIXO)

Definio do subprograma com


"call by ref."

Acionamento do parmetro "by


value"

CHR = STRG[6]

Memria temporria

UP_REF(CHR)

Acionamento do parmetro "by


reference"

...
UP_VAL(STRG[6])
...

1.9.9

Formatao de String (SPRINT)

Funo
Com a funo pr-definida SPRINT as sequncias de caracteres podem ser formatadas e,
por exemplo, preparadas para emisso e envio at os dispositivos externos (veja tambm
em "Process DataShare - Sada para um dispositivo ou arquivo externo (EXTOPEN, WRITE,
EXTCLOSE) (Pgina 605)").

Sintaxe

"<resultado_string>"=SPRINT("<formato_string>",<valor_1>,<valor_2>,.
.., <valor_n>)

Significado
SPRINT:

Identificador para uma funo pr-definida que


retorna um valor do tipo STRING.

"<formato_string>":

Sequncia de caracteres que contm partes


fixas e variveis. As partes variveis so
definidas atravs do caractere de controle de
formatos % e uma descrio de formato
subsequente.

< valor_1>,< valor_2>,,< valor_n>:

Valor na forma de uma constante ou varivel do


NC, que inserido na posio onde est o n
caractere de controle de formato %, de acordo
com a descrio de formato dada no
<formato_string>.

"<resultado_string>":

Sequncia de caracteres formatada (mximo de


400 Bytes)

Preparao do trabalho
Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

87

Programao flexvel de NC
1.9 Operaes de String

Descries de formato disponveis


%B:

Transformao para a String "TRUE", se o valor a ser transformado:

for diferente de 0.

no for uma String vazia (no caso de valores string).


Transformao para a String "FALSE", se o valor a ser transformado:

for igual a 0.

for uma String vazia.


Exemplo:
N10 DEF BOOL BOOL_VAR=1
N20 DEF STRING[80] RESULT
N30 RESULT=SPRINT("CONTENT OF BOOL_VAR:%B", BOOL_VAR)
Resultado: A varivel de String RESULT gravada com a sequncia de caracteres
"CONTENT OF BOOL_VAR:TRUE".
%C:

Transformao em um caractere ASCII.


Exemplo:
N10 DEF CHAR CHAR_VAR="X"
N20 DEF STRING[80] RESULT
N30 RESULT=SPRINT("CONTENT OF CHAR_VAR:%C",CHAR_VAR)
Resultado: A varivel de String RESULT gravada com a sequncia de caracteres
"CONTENT OF CHAR_VAR:X".

%D:

Transformao em uma String com um valor inteiro (INTEGER).


Exemplo:
N10 DEF INT INT_VAR=123
N20 DEF STRING[80] RESULT
N30 RESULT=SPRINT("CONTENT OF INT_VAR:%D",INT_VAR)
Resultado: A varivel de String RESULT gravada com a sequncia de caracteres
"CONTENT OF INT_VAR:123".

%<m>D:

Transformao em uma String com um valor inteiro (INTEGER). A String possui


uma extenso mnima de <m> caracteres. As casas ausentes so preenchidas
esquerda por caracteres vazios.
Exemplo:
N10 DEF INT INT_VAR=-123
N20 DEF STRING[80] RESULT
N30 RESULT=SPRINT("CONTENT OF INT_VAR:%6D",INT_VAR)
Resultado: A varivel de String RESULT gravada com a sequncia de caracteres
"CONTENT OF INT_VAR:xx-123" (onde o "x" equivale a um caractere vazio no
exemplo dado).

%F:

Transformao em uma String com um nmero decimal com 6 casas decimais. Se


necessrio as casas decimais sero arredondadas ou preenchidas com 0 (zero).
Exemplo:
N10 DEF REAL REAL_VAR=-1.2341234EX+03
N20 DEF STRING[80] RESULT
N30 RESULT=SPRINT("CONTENT OF REAL_VAR:%F",REAL_VAR)
Resultado: A varivel de String RESULT gravada com a sequncia de caracteres
"CONTENT OF REAL_VAR: -1234.123400"

Preparao do trabalho

88

Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

Programao flexvel de NC
1.9 Operaes de String
%<m>F:

Transformao em uma String com um nmero decimal com 6 casas decimais e


com uma extenso total de pelo menos <m> caracteres. Se necessrio as casas
decimais sero arredondadas ou preenchidas com 0 (zero). Os caracteres
ausentes na extenso total <m> so preenchidos esquerda por caracteres
vazios.
Exemplo:
N10 DEF REAL REAL_VAR=-1.23412345678EX+03
N20 DEF STRING[80] RESULT
N30 RESULT=SPRINT("CONTENT OF REAL_VAR:%15F",REAL_VAR)
Resultado: A varivel de String RESULT gravada com a sequncia de caracteres
"CONTENT OF REAL_VAR: xxx-1234.123457" gravada ("x"est no exemplo
substituindo um lugar em branco).

%.<n>F:

Transformao em uma String com um nmero decimal com <n> casas decimais.
Se necessrio as casas decimais sero arredondadas ou preenchidas com 0
(zero).
Exemplo:
N10 DEF REAL REAL_VAR=-1.2345678EX+03
N20 DEF STRING[80] RESULT
N30 RESULT=SPRINT("CONTENT OF REAL_VAR:%.3F",REAL_VAR)
Resultado: A varivel de String RESULT gravada com a sequncia de caracteres
"CONTENT OF REAL_VAR: -1234.568".

%<m>.<n>F:

Transformao em uma String com um nmero decimal com <n> casas decimais e
com uma extenso total de pelo menos <m> caracteres. Se necessrio as casas
decimais sero arredondadas ou preenchidas com 0 (zero). Os caracteres
ausentes na extenso total <m> so preenchidos esquerda por caracteres
vazios.
Exemplo:
N10 DEF REAL REAL_VAR=-1.2341234567890EX+03
N20 DEF STRING[80] RESULT
N30 RESULT=SPRINT("CONTENT OF REAL_VAR:%10.2F",REAL_VAR)
Resultado: A varivel de String RESULT gravada com a sequncia de caracteres
"CONTENT OF REAL_VAR:xx-1234.12" (onde o "x" equivale a um caractere vazio
no exemplo dado).

%E:

Transformao em uma String com um nmero decimal em representao


exponencial. A mantissa armazenada de maneira normalizada com um dgito
antes da vrgula e 6 casas decimais. Se necessrio as casas decimais sero
arredondadas ou preenchidas com 0 (zero). A exponente iniciada com a palavrachave "EX". Depois seguido por um sinal ("+" ou "-") e um nmero de dois ou
trs dgitos.
Exemplo:
N10 DEF REAL REAL_VAR=-1234.567890
N20 DEF STRING[80] RESULT
N30 RESULT=SPRINT("CONTENT OF REAL_VAR:%E",REAL_VAR)
Resultado: A varivel de String RESULT gravada com a sequncia de caracteres
"CONTENT OF REAL_VAR:-1.234568EX+03".

Preparao do trabalho
Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

89

Programao flexvel de NC
1.9 Operaes de String
%<m>E:

Transformao em uma String com um nmero decimal em representao


exponencial e com uma extenso total de pelo menos <m> caracteres. Os
caracteres ausentes so preenchidos esquerda por caracteres vazios. A
mantissa armazenada de maneira normalizada com um dgito antes da vrgula e
6 casas decimais. Se necessrio as casas decimais sero arredondadas ou
preenchidas com 0 (zero). A exponente iniciada com a palavra-chave "EX".
Depois seguido por um sinal ("+" ou "-") e um nmero de dois ou trs dgitos.
Exemplo:
N10 DEF REAL REAL_VAR=-1234.5
N20 DEF STRING[80] RESULT
N30 RESULT=SPRINT("CONTENT OF REAL_VAR:%20E",REAL_VAR)
Resultado: A varivel de String RESULT gravada com a sequncia de caracteres
"CONTENT OF REAL_VAR:xxxxxx-1.234500EX+03" (onde o "x" equivale a um
caractere vazio no exemplo dado)

%.<n>E:

Transformao em uma String com um nmero decimal em representao


exponencial. A mantissa armazenada de maneira normalizada com um dgito
antes da vrgula e <n> casas decimais. Se necessrio as casas decimais sero
arredondadas ou preenchidas com 0 (zero). A exponente iniciada com a palavrachave "EX". Depois seguido por um sinal ("+" ou "-") e um nmero de dois ou
trs dgitos.
Exemplo:
N10 DEF REAL REAL_VAR=-1234.5678
N20 DEF STRING[80] RESULT
N30 RESULT=SPRINT("CONTENT OF REAL_VAR:%.2E",REAL_VAR)
Resultado: A varivel de String RESULT gravada com a sequncia de caracteres
"CONTENT OF REAL_VAR:-1.23EX+03".

%<m>.<n>E:

Transformao em uma String com um nmero decimal em representao


exponencial e com uma extenso total de pelo menos <m> caracteres. Os
caracteres ausentes so preenchidos esquerda por caracteres vazios. A
mantissa armazenada de maneira normalizada com um dgito antes da vrgula e
<n> casas decimais. Se necessrio as casas decimais sero arredondadas ou
preenchidas com 0 (zero). A exponente iniciada com a palavra-chave "EX".
Depois seguido por um sinal ("+" ou "-") e um nmero de dois ou trs dgitos.
Exemplo:
N10 DEF REAL REAL_VAR=-1234.5678
N20 DEF STRING[80] RESULT
N30 RESULT=SPRINT("CONTENT OF REAL_VAR:%12.2E", REAL_VAR)
Resultado: A varivel de String RESULT gravada com a sequncia de caracteres
"CONTENT OF REAL_VAR:xx-1.23EX+03" (onde o "x" equivale a um caractere
vazio no exemplo dado).

Preparao do trabalho

90

Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

Programao flexvel de NC
1.9 Operaes de String
%G:

Transformao em uma String com um nmero decimal de acordo com a faixa de


valores em representao decimal ou exponencial. Em termos de quantia, se o
valor apresentado for menor que 1.0EX-04 ou maior ou igual a 1.0EX(+06), ser
adotada a representao exponencial, caso contrrio a representao decimal. No
mximo so exbidos seis dgitos significantes, e com eventual arredondamento.
Exemplo com representao decimal:
N10 DEF REAL REAL_VAR=1.234567890123456EX-04
N20 DEF STRING[80] RESULT
N30 RESULT=SPRINT("CONTENT OF REAL_VAR:%G",REAL_VAR)
Resultado: A varivel de String RESULT gravada com a sequncia de caracteres
"CONTENT OF REAL_VAR: 0.000123457".
Exemplo com representao exponencial:
N10 DEF REAL REAL_VAR=1.234567890123456EX+06
N20 DEF STRING[80] RESULT
N30 RESULT=SPRINT("CONTENT OF REAL_VAR:%G",REAL_VAR)
Resultado: A varivel de String RESULT gravada com a sequncia de caracteres
"CONTENT OF REAL_VAR:1.23457EX+06".

%<m>G:

Transformao em uma String com um nmero decimal de acordo com a faixa de


valores em representao decimal ou exponencial (como %G). A String possui uma
extenso total de pelo menos <m> caracteres. Os caracteres ausentes so
preenchidos esquerda por caracteres vazios.
Exemplo com representao decimal:
N10 DEF REAL REAL_VAR=1.234567890123456EX-04
N20 DEF STRING[80] RESULT
N30 RESULT=SPRINT("CONTENT OF REAL_VAR:%15G",REAL_VAR)
Resultado: A varivel de String RESULT gravada com a sequncia de caracteres
"CONTENT OF REAL_VAR:xxxx0.000123457" (onde o "x" equivale a um caractere
vazio no exemplo dado).
Exemplo com representao exponencial:
N10 DEF REAL REAL_VAR=1.234567890123456EX+06
N20 DEF STRING[80] RESULT
N30 RESULT=SPRINT("CONTENT OF REAL_VAR:%15G",REAL_VAR)
Resultado: A varivel de String RESULT gravada com a sequncia de caracteres
"CONTENT OF REAL_VAR:xxx1.23457EX+06" (onde o "x" equivale a um
caractere vazio no exemplo dado).

Preparao do trabalho
Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

91

Programao flexvel de NC
1.9 Operaes de String
%.<n>G:

Transformao em uma String com um nmero decimal de acordo com a faixa de


valores em representao decimal ou exponencial. No mximo so exibidos <n>
dgitos significantes, e com eventual arredondamento. Em termos de quantia, se o
valor apresentado for menor que 1.0EX-04 ou maior ou igual a 1.0EX(+<n>), ser
adotada a representao exponencial, caso contrrio a representao decimal.
Exemplo com representao decimal:
N10 DEF REAL REAL_VAR=1.234567890123456EX-04
N20 DEF STRING[80] RESULT
N30 RESULT=SPRINT("CONTENT OF REAL_VAR:%.3G",REAL_VAR)
Resultado: A varivel de String RESULT gravada com a sequncia de caracteres
"CONTENT OF REAL_VAR: 0.000123".
Exemplo com representao exponencial:
N10 DEF REAL REAL_VAR=1.234567890123456EX+03
N20 DEF STRING[80] RESULT
N30 RESULT = SPRINT("CONTENT OF REAL_VAR:%.3G",REAL_VAR)
Resultado: A varivel de String RESULT gravada com a sequncia de caracteres
"CONTENT OF REAL_VAR:1.23EX+03".

%<m>.<n>G:

Transformao em uma String com um nmero decimal de acordo com a faixa de


valores em representao decimal ou exponencial (como %.<n>G). A String possui
uma extenso total de pelo menos <m> caracteres. Os caracteres ausentes so
preenchidos esquerda por caracteres vazios.
Exemplo com representao decimal:
N10 DEF REAL REAL_VAR=1.234567890123456EX-04
N20 DEF STRING[80] RESULT
N30 RESULT=SPRINT("CONTENT OF REAL_VAR:%12.4G",REAL_VAR)
Resultado: A varivel de String RESULT gravada com a sequncia de caracteres
"CONTENT OF REAL_VAR:xxx0.0001235" (onde o "x" equivale a um caractere
vazio no exemplo dado).
Exemplo com representao exponencial:
N10 DEF REAL REAL_VAR=1.234567890123456EX+04
N20 DEF STRING[80] RESULT
N30 RESULT=SPRINT("CONTENT OF REAL_VAR:%12.4G",REAL_VAR)
Resultado: A varivel de String RESULT gravada com a sequncia de caracteres
"CONTENT OF REAL_VAR:xx1.235EX+06" (onde o "x" equivale a um caractere
vazio no exemplo dado).

Preparao do trabalho

92

Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

Programao flexvel de NC
1.9 Operaes de String
%.<n>P:

Transformao de um valor REAL em um valor INTEGER que considera <n>


casas decimais. O valor INTEGER retornado como valor binrio de 32 Bit. Se o
valor a ser transformado no permite ser representado com 32 Bit, o
processamento ser cancelado com um alarme.
Visto que uma sequncia de Bytes gerada com a instruo de formato %.<n>P
tambm pode conter zeros binrios, ento a String total gerada no corresponder
mais s convenes do tipo de dados STRING do NC. Por isso que ele no
poder ser gravado em uma varivel do tipo STRING, nem ser processado com os
comandos de String da linguagem NC. A nica utilizao possvel a transferncia
de parmetros para o comando WRITE com o envio para um dispositivo externo
compatvel (veja o exemplo a seguir).
Assim que o <formato_string> portar uma descrio de formato do tipo %P, a String
inteira, com exceo do nmero binrio gerado com %.<n>P, ser emitida de
acordo com o dado MD10750 $MN_SPRINT_FORMAT_P_CODE em cdigo de
caracteres ASCII, ISO (DIN6024) ou EIA (RS244). Se for programado um
caractere que no permite ser convertido, o processamento ser cancelado com
alarme.
Exemplo:
N10 DEF REAL REAL_VAR=123.45
N20 DEF INT ERROR
N30 DEF STRING[20] EXT_DEVICE="/ext/dev/1"
...
N100 EXTOPEN(ERROR,EXT_DEVICE)
N110 IF ERROR <> 0
...
; Tratamento de erros
N200 WRITE(ERROR,EXT_DEVICE,SPRINT("INTEGER BINARY
CODED:%.3P",REAL_VAR)
N210 IF ERROR <> 0
; Tratamento de erros
Resultado: O String "INTEGER BINARY CODED: 'H0001E23A'" transferida para
o dispositivo de destino /ext/dev/1. O valor hexadecimal 0x0001E23A corresponde
ao valor decimal 123450.

Preparao do trabalho
Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

93

Programao flexvel de NC
1.9 Operaes de String
%<m>.<n>P:

Transformao de um valor REAL de acordo com o ajuste realizado no dado de


mquina MD10751 $MN_SPRINT_FORMAT_P_DECIMAL em uma String com:

um nmero inteiro de <m> + <n> dgitos ou

um nmero decimal com no mximo <m> dgitos antes da vrgula e exatamente


<n> casas decimais.
Como na descrio de formato %.<n>P, a String inteira armazenada no cdigo de
caracteres definido pelo dado MD10750 $MN_SPRINT_FORMAT_P_CODE.

Transformao com o MD10751 = 0:


O valor REAL transformado em uma String com um nmero inteiro de <m> + <n>
dgitos. As casas decimais sero arredondadas em <n> dgitos ou preenchidas
com 0 (zero) conforme necessidade. As casas decimais ausentes so preenchidas
por caracteres vazios. O sinal de menos posicionado na extrema esquerda, no
lugar do sinal de mais colocado um caractere vazio.
Exemplo:
N10 DEF REAL REAL_VAR=-123.45
N20 DEF STRING[80] RESULT
N30 RESULT=SPRINT("PUNCHED TAPE FORMAT:%5.3P",REAL_VAR)
Resultado: A varivel de String RESULT gravada com a sequncia de caracteres
"PUNCHED TAPE FORMAT:-xx123450" (onde o "x" equivale a um caractere vazio
no exemplo dado).
Transformao com o MD10751 = 1:
O valor REAL transformado em uma String com um nmero decimal com no
mximo <m> dgitos antes da vrgula e exatamente <n> casas decimais. Se
necessrio, os dgitos antes da vrgula sero truncados e as casas decimais
arredondadas ou preenchidas com 0 (zero). Se <n> for igual a 0, tambm ser
descartado o ponto decimal.
Exemplo:
N10 DEF REAL REAL_VAR1=-123.45
N20 DEF REAL REAL_VAR2=123.45
N30 DEF STRING[80] RESULT
N40 RESULT=SPRINT("PUNCHED TAPE FORMAT:%5.3P VAR2:%2.0P",
REAL_VAR1,REAL_VAR2)
Resultado: A varivel de String RESULT gravada com a sequncia de caracteres
"PUNCHED TAPE FORMAT:-123.450 VAR2:23".
%S:

Insero de uma String.


Exemplo:
N10 DEF STRING[16] STRING_VAR="ABCDEFG"
N20 DEF STRING[80] RESULT
N30 RESULT=SPRINT("CONTENT OF STRING_VAR:%S",STRING_VAR)
Resultado: A varivel de String RESULT gravada com a sequncia de caracteres
"CONTENT OF STRING_VAR:ABCDEFG".

%<m>S:

Insero de uma String com pelo menos <m> caracteres. Os dgitos ausentes so
preenchidos por caracteres vazios.
Exemplo:
N10 DEF STRING[16] STRING_VAR="ABCDEFG"
N20 DEF STRING[80] RESULT
N30 RESULT=SPRINT("CONTENT OF STRING_VAR:%10S",STRING_VAR)
Resultado: A varivel de String RESULT gravada com a sequncia de caracteres
"CONTENT OF STRING_VAR:xxxABCDEFG" (onde o "x" equivale a um caractere
vazio no exemplo dado).

Preparao do trabalho

94

Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

Programao flexvel de NC
1.9 Operaes de String
%.<n>S:

Insero de <n> caracteres de uma String (iniciando-se pelo primeiro caractere).


Exemplo:
N10 DEF STRING[16] STRING_VAR="ABCDEFG"
N20 DEF STRING[80] RESULT
N30 RESULT=SPRINT("CONTENT OF STRING_VAR:%.3S",STRING_VAR)
Resultado: A varivel de String RESULT gravada com a sequncia de caracteres
"CONTENT OF STRING_VAR:ABC".

%<m>.<n>S:

Insero de <n> caracteres de uma String (iniciando-se pelo primeiro caractere). A


extenso total da String gerada possui pelo menos <m> caracteres. Os dgitos
ausentes so preenchidos por caracteres vazios.
Exemplo:
N10 DEF STRING[16] STRING_VAR="ABCDEFG"
N20 DEF STRING[80] RESULT
N30 RESULT=SPRINT("CONTENT OF STRING_VAR:%10.5S", STRING_VAR)
Resultado: A varivel de String RESULT gravada com a sequncia de caracteres
"CONTENT OF STRING_VAR:xxxxxABCDE" (onde o "x" equivale a um caractere
vazio no exemplo dado).

%X:

Transformao de um valor INTEGER em uma String com representao


hexadecimal.
Exemplo:
N10 DEF INT INT_VAR='HA5B8
N20 DEF STRING[80] RESULT
N30 RESULT=SPRINT("INTEGER HEXADECIMAL:%X",INT_VAR)
Resultado: A varivel de String RESULT gravada com a sequncia de caracteres
"INTEGER HEXADECIMAL:A5B8".

Indicao
A propriedade da linguagem NC, relacionada ao fato de no haver diferenciao entre letras
maisculas e letras minsculas nos identificadores e palavras-chave, tambm aplicada
nas descries de formato. Por isso que eles podem ser programados sem diferena
funcional tanto com letras minsculas como letras maisculas.

Possibilidades de combinao
A seguinte tabela oferece informaes sobre quais tipos de dados NC podem ser
combinados com qual descrio de formato. So aplicadas as regras para transformao
implcita de tipos de dados (veja em "Tipos de dados (Pgina 52)").
Tipos de dados NC
BOOL

CHAR

INT

REAL

STRING

AXIS

FRAME

%B

%C

%D

%F

Preparao do trabalho
Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

95

Programao flexvel de NC
1.10 Saltos e ramificaes de programa

Tipos de dados NC
%E

%G

%S

%X

%P

Indicao
A tabela mostra que os tipos de dados AXIS e FRAME do NC no podem ser utilizados
diretamente na funo SPRINT. Porm, tambm possvel:
transformar o tipo de dado AXIS com a funo AXSTRING em uma String, que ento
pode ser processada com o SPRINT.
ler os valores individuais do tipo de dado FRAME atravs do acesso de componente do
Frame. Dessa forma recebemos um dado do tipo REAL, que pode ser processado com o
SPRINT.

1.10

Saltos e ramificaes de programa

1.10.1

Salto de retorno ao incio do programa (GOTOS)

Funo
Com o comando GOTOS possvel saltar retornando ao incio de um programa principal ou de
uma subrotina para repetio do programa.
Atravs de dados de mquina se pode ajustar para que em cada salto de retorno ao incio
do programa:
o tempo de execuo do programa passe novamente para "0" (seja zerado).
a contagem de peas seja incrementada com o valor "1".

Sintaxe

GOTOS

Preparao do trabalho

96

Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

Programao flexvel de NC
1.10 Saltos e ramificaes de programa

Significado
GOTOS:

Instruo de salto com destino de salto no incio do programa.


A execuo controlada atravs do sinal de interface NC/PLC:
DB21, ... DBX384.0 (controle da bifurcao do programa)
Valor:

Significado:

Nenhum salto de retorno ao incio do programa. A execuo do


programa continuada com o prximo bloco de programa de pea
aps o GOTOS.

Salto de retorno ao incio do programa. Se repete o programa de


pea.

Condies gerais

GOTOS

inicia internamente um STOPRE (parada de pr-processamento).

Em um programa de pea com definies de dados (variveis LUD) com o GOTOS se


realiza o salto para o primeiro bloco de programa aps a parte das definies, isto , as
definies no so executadas novamente. Por isso que as variveis definidas
preservam o valor obtido no bloco do GOTOS e no so resetadas nos valores padro
programados na parte das definies.
O comando GOTOS no est disponvel em aes sincronizadas e em ciclos tecnolgicos.

Exemplo
Cdigo de programa

Comentrio

N10 ...

; Incio do programa.

...
N90 GOTOS

; Salto at o incio do programa.

...

1.10.2

Saltos de programa at marcadores de salto (GOTOB, GOTOF, GOTO,


GOTOC)

Funo
Em um programa podem ser colocados marcadores de salto (Labels) de onde se pode
saltar para outros pontos dentro do mesmo programa atravs dos comandos GOTOF, GOTOB,
GOTO e GOTOC. A execuo do programa continuada com a instruo que seguir
imediatamente aps o marcador de salto. Com isso as bifurcaes so realizveis dentro do
programa.
Alm dos marcadores de salto tambm possvel o uso de nmeros de bloco principal e
secundrio como destinos de salto.
Se estiver formulada a condio de salto (IF ...) antes da instruo de salto, ento o salto
de programa somente ser realizado quando a condio de salto for preenchida.
Preparao do trabalho
Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

97

Programao flexvel de NC
1.10 Saltos e ramificaes de programa

Sintaxe

GOTOB <destino de salto>


IF <condio de salto> =
GOTOF <destino de salto>
IF <condio de salto> =
GOTO <destino de salto>
IF <condio de salto> =
GOTOC <destino de salto>
IF <condio de salto> =

TRUE GOTOB <destino de salto>


TRUE GOTOF <destino de salto>
TRUE GOTO <destino de salto>
TRUE GOTOC <destino de salto>

Significado
GOTOB:

Instruo de salto com destino de salto em direo ao incio do


programa.

GOTOF:

Instruo de salto com destino de salto em direo ao fim do programa.

GOTO:

Instruo de salto com localizao do destino de salto. A localizao


realizada primeiro em direo ao fim do programa, depois em direo
ao incio do programa.

GOTOC:

Efeito como o GOTO, mas com a diferena que o alarme 14080


"Destino de salto no encontrado" omitido.
Isto significa que a execuo do programa no interrompida em um
caso de localizao de destino de salto sem resultado, mas atravs do
comando GOTOC se prossegue com a execuo da prxima linha do
programa.

<destino de salto>: Parmetro

do destino de salto

As possveis indicaes so:


<marcador de salto>: O destino de salto o marcador de salto
colocado no programa com nome definido pelo
usurio: <marcador de salto>:

IF:

<nmero de bloco>:

O destino de salto um nmero de bloco


principal ou secundrio (p. ex.: 200, N300)

Varivel do tipo
STRING:

Destino de salto varivel. A varivel serve para


um marcador de salto ou um nmero de bloco.

Palavra-chave para formulao da condio de salto.


A condio de salto permite todas operaes de comparao e
operaes lgicas (resultado: TRUE ou FALSE). O salto de programa
executado quando o resultado desta operao for TRUE.

Preparao do trabalho

98

Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

Programao flexvel de NC
1.10 Saltos e ramificaes de programa

Indicao
Marcadores de salto (Labels)
Os marcadores de salto sempre esto no incio de um bloco. Se um nmero de programa
estiver presente, o marcador de salto est imediatamente aps o nmero do bloco.
Para a atribuio de nomes de marcadores de salto so aplicadas as seguintes regras:
Nmero de caracteres:
pelo menos 2
no mximo 32
Os caracteres permitidos so:
Letras
Nmeros
Sublinhados
Os primeiros dois caracteres devem ser letras ou sublinhados.
Aps o nome do marcador de salto segue um duplo ponto (":").

Condies gerais
O destino de salto somente pode ser um bloco com marcador de salto ou nmero de
bloco que est dentro do programa.
Uma instruo de salto sem condio de salto deve ser programada em um bloco
separado. Esta restrio no se aplica em instrues de salto com condio de salto.
Aqui podem ser formuladas vrias instrues de salto em um mesmo bloco.
Nos programas com instrues de salto sem condies de salto no obrigatrio que o
fim de programa M2/M30 esteja no fim do programa.

Exemplos
Exemplo 1: Saltos para marcadores de salto
Cdigo de programa

Comentrio

N10
N20 GOTOF Label_1

; Salto em direo ao fim do programa at o


marcador de salto "Label_1".

N30
N40 Label_0: R1=R2+R3

; Marcador de salto "Label_0" definido.

N50
N60 Label_1:

; Marcador de salto "Label_1" definido.

N70
N80 GOTOB Label_0

; Salto em direo ao incio do programa at o


marcador de salto "Label_0".

N90

Preparao do trabalho
Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

99

Programao flexvel de NC
1.10 Saltos e ramificaes de programa
Exemplo 2: Salto indireto at o nmero do bloco
Cdigo de programa

Comentrio

N5 R10=100
N10 GOTOF "N"<<R10

; Salto at o bloco cujo nmero de bloco est no


R10.

...
N90 ...
N100 ...

; Destino de salto

N110 ...
...

Exemplo 3: Salto at o destino de salto varivel


Cdigo de programa

Comentrio

DEF STRING[20] DESTINO


DESTINO = "Marcador2"
GOTOF DESTINO

; Salto em direo ao fim do programa at o destino


de salto varivel DESTINO.

Marcador1: T="Broca1"
...
Marcador2: T="Broca2"

; Destino de salto

...

Exemplo 4: Salto com condio de salto


Cdigo de programa

Comentrio

N40 R1=30 R2=60 R3=10 R4=11 R5=50 R6=20

; Atribuio dos valores iniciais.

N41 LA1: G0 X=R2*COS(R1)+R5 Y=R2*SIN(R1)+R6

; Marcador de salto LA1 definido.

N42 R1=R1+R3 R4=R4-1

1.10.3

N43 IF R4>0 GOTOB LA1

; Quando a condio de salto


estiver preenchida, ento ocorre
o salto em direo ao incio do
programa at o marcador de salto
LA1.

N44 M30

; Fim do programa

Bifurcao do programa (CASE ... OF ... DEFAULT ...)

Funo
A funo CASE oferece a opo de testar o valor atual (tipo: INT) INT) de uma varivel ou
de uma funo de clculo e, em funo do resultado, saltar para diferentes pontos no
programa.
Preparao do trabalho

100

Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

Programao flexvel de NC
1.10 Saltos e ramificaes de programa

Sintaxe

CASE(<expresso>) OF <constante_1> GOTOF <destino_salto_1>


<constante_2> GOTOF <destino_salto_2> ... DEFAULT GOTOF
<destino_salto_n>

Significado
CASE:

Instruo de salto

<expresso>:

Varivel ou funo de clculo

OF:

Palavra-chave para formulao das bifurcaes condicionais de


programa

<constante_1>:

Primeiro valor constante especificado para a varivel ou funo de


clculo
Tipo:

<constante_2>:

Tipo:
DEFAULT:

INT

Segundo valor constante especificado para a varivel ou funo de


clculo
INT

Para os casos em que a varivel ou a funo de clculo no aceitar


nenhum dos valores constantes especificados, se pode definir um
destino de salto com a instruo DEFAULT.
Nota:
Se a instruo DEFAULT no for programada, ento nestes casos
o bloco seguinte da instruo CASE passar a ser o destino de
salto.

GOTOF:

Instruo de salto com destino de salto em direo ao fim do


programa.
Ao invs do GOTOF tambm podem ser programados todos os
demais comandos GOTO (veja o assunto "Saltos de programa at
os marcadores de salto").

<destino_salto_1>:

A bifurcao vai para este destino de salto se o valor da varivel ou


da funo de clculo corresponder primeira constante
especificada.
O destino de salto pode ser especificado da seguinte forma:
<marcador de
salto>:

O destino de salto o marcador de salto


colocado no programa com nome definido pelo
usurio: <marcador de salto>:

<nmero de bloco>: O destino de salto um nmero de bloco


principal ou secundrio (p. ex.: 200, N300)
Varivel do tipo
STRING:

Destino de salto varivel. A varivel serve para


um marcador de salto ou um nmero de bloco.

<destino_salto_2>:

A bifurcao vai para este destino de salto se o valor da varivel ou


da funo de clculo corresponder segunda constante
especificada.

<destino_salto_n>:

A bifurcao vai para este destino de salto se o valor da varivel


no corresponder a nenhum dos valores constantes especificados.

Preparao do trabalho
Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

101

Programao flexvel de NC
1.11 Repetio de partes do programa (REPEAT, REPEATB, ENDLABEL, P)

Exemplo
Cdigo de programa
...
N20 DEF INT VAR1 VAR2 VAR3
N30 CASE(VAR1+VAR2-VAR3) OF 7 GOTOF Label_1 9 GOTOF Label_2 DEFAULT GOTOF Label_3
N40 Label_1: G0 X1 Y1
N50 Label_2: G0 X2 Y2
N60 Label_3: G0 X3 Y3
...

A instruo CASE do N30 define as seguintes possibilidades de bifurcao de programa:


1. Se o valor da funo de clculo VAR1+VAR2-VAR3 = 7, ento se salta at o bloco com a
definio de marcador de salto "Label_1" ( N40).
2. Se o valor da funo de clculo VAR1+VAR2-VAR3 = 9, ento se salta at o bloco com a
definio de marcador de salto "Label_2" ( N50).
3. Se o valor da funo de clculo VAR1+VAR2-VAR3 no for 7 nem 9, ento se salta at o
bloco com a definio de marcador de salto "Label_3" ( N60).

1.11
Funo

Repetio de partes do programa (REPEAT, REPEATB,


ENDLABEL, P)
A funo de repetio de partes do programa possibilita a repetio de partes do programa
j escritas dentro do programa em qualquer tipo de ordem ou formao.
As linhas e reas de programa que devem ser repetidas precisam ser marcadas com
marcadores de salto (Labels).
Indicao
Marcadores de salto (Labels)
Os marcadores de salto sempre esto no incio de um bloco. Se um nmero de programa
estiver presente, o marcador de salto est imediatamente aps o nmero do bloco.
Para a atribuio de nomes de marcadores de salto so aplicadas as seguintes regras:
Nmero de caracteres:
pelo menos 2
no mximo 32
Os caracteres permitidos so:
Letras
Nmeros
Sublinhados
Os primeiros dois caracteres devem ser letras ou sublinhados.
Aps o nome do marcador de salto segue um duplo ponto (":").

Preparao do trabalho

102

Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

Programao flexvel de NC
1.11 Repetio de partes do programa (REPEAT, REPEATB, ENDLABEL, P)

Sintaxe
1. Repetio de linhas de programa individuais:
<marcador de salto>: ...
...
REPEATB <marcador de salto> P=<n>
...

2. Repetio de rea de programa entre marcador de salto e a instruo REPEAT:


<marcador de salto>: ...
...
REPEAT <marcador de salto> P=<n>
...

3. Repetio de rea entre dois marcadores de salto:


<marcador de salto inicial>: ...
...
<marcador de salto final>: ...
...
REPEAT <marcador de salto inicial> <marcador de salto final> P=<n>
...

Indicao
No possvel colocar a instruo REPEAT com os dois marcadores de salto entre
colchetes/parnteses. Se o <marcador de salto inicial> for encontrado antes da instruo
REPEAT e o <marcador de salto final> no for alcanado antes da instruo REPEAT, ento
executada a repetio entre o <marcador de salto inicial> e a instruo REPEAT.
4. Repetio entre o marcador de salto e o ENDLABEL:
<marcador de salto>: ...
...
ENDLABEL: ...
...
REPEAT <marcador de salto> P=<n>
...

Indicao
No possvel colocar a instruo REPEAT com o <marcador de salto> e o ENDLABEL entre
colchetes/parnteses. Se o <marcador de salto> for encontrado antes da instruo REPEAT e
o ENDLABEL no for alcanado antes da instruo REPEAT, ento executada a repetio entre
o <marcador de salto> e a instruo REPEAT.

Preparao do trabalho
Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

103

Programao flexvel de NC
1.11 Repetio de partes do programa (REPEAT, REPEATB, ENDLABEL, P)

Significado
REPEATB:

Comando para repetio de uma linha de programa

REPEAT:

Comando para repetio de uma rea de programa

<marcador de salto>:

O <marcador

de salto>

identifica:

a linha de programa que deve ser repetida (com REPEATB)


ou
o incio da rea de programa que deve ser repetida (com REPEAT)
A linha de programa marcada com o <marcador de salto> pode estar
antes ou depois da instruo REPEAT/REPEATB. A localizao
realizada primeiramente em direo ao incio do programa. Se o
marcador de salto no for encontrado nesta direo, ento a
localizao ser realizada em direo ao fim do programa.
Exceo:
Se a rea de programa entre o marcador de salto e a instruo
REPEAT deve ser repetida (veja item 2. em Sintaxe), ento a linha de
programa marcada com o <marcador de salto> deve estar antes da
instruo REPEAT, pois neste caso a localizao somente realizada
em direo ao incio do programa.
Se a linha com o <marcador de salto> contm outras instrues,
ento estas sero executadas em toda repetio.
ENDLABEL:

Palavra-chave que marca o fim de uma rea de programa que deve


ser repetida
Se a linha com o ENDLABEL contm outras instrues, ento estas
sero executadas em toda repetio.
O ENDLABEL pode ser utilizado vrias vezes no programa.

P:

Endereo para especificao da quantidade de repeties

<n>:

Quantidade de repeties da parte do programa


Tipo:

INT

A parte do programa a ser repetida repetida <n> vezes. Aps a


ltima repetio, o programa continuado com a linha seguinte
linha da instruo REPEAT/REPEATB.
Nota:
Se nenhum P=<n> for especificado, ento a parte do programa a ser
repetida ser repetida apenas uma vez.

Preparao do trabalho

104

Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

Programao flexvel de NC
1.11 Repetio de partes do programa (REPEAT, REPEATB, ENDLABEL, P)

Exemplos
Exemplo 1: Repetio de linha de programa individual
Cdigo de programa

Comentrio

N10 POSITION1: X10 Y20


N20 POSITION2: CYCLE(0,,9,8)

; Ciclo de posio

N30 ...
N40 REPEATB POSITION1 P=5

; Execute cinco vezes o BLOCO N10.

N50 REPEATB POSITION2

; Execute uma vez o bloco N20.

N60 ...
N70 M30

Exemplo 2: Repetio de rea de programa entre marcador de salto e a instruo REPEAT


Cdigo de programa

Comentrio

N5 R10=15
N10 Begin: R10=R10+1

; Largura

N20 Z=10-R10
N30 G1 X=R10 F200
N40 Y=R10
N50 X=-R10
N60 Y=-R10
N70 Z=10+R10
N80 REPEAT BEGIN P=4

; Execute quatro vezes a rea do N10 ao N70.

N90 Z10
N100 M30

Exemplo 3: Repetio da rea entre dois marcadores de salto


Cdigo de programa

Comentrio

N5 R10=15
N10 Begin: R10=R10+1

; Largura

N20 Z=10-R10
N30 G1 X=R10 F200
N40 Y=R10
N50 X=-R10
N60 Y=-R10
N70 END: Z=10
N80 Z10
N90 CYCLE(10,20,30)
N100 REPEAT BEGIN END P=3

; Execute trs vezes a rea do N10 ao N70.

N110 Z10
N120 M30

Preparao do trabalho
Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

105

Programao flexvel de NC
1.11 Repetio de partes do programa (REPEAT, REPEATB, ENDLABEL, P)
Exemplo 4: Repetio entre o marcador de salto e o ENDLABEL
Cdigo de programa

Comentrio

N10 G1 F300 Z-10


N20 BEGIN1:
N30 X10
N40 Y10
N50 BEGIN2:
N60 X20
N70 Y30
N80 ENDLABEL: Z10
N90 X0 Y0 Z0
N100 Z-10
N110 BEGIN3: X20
N120 Y30
N130 REPEAT BEGIN3 P=3

; Execute trs vezes a rea do N110 ao N120.

N140 REPEAT BEGIN2 P=2

; Execute duas vezes a rea do N50 ao N80.

N150 M100
N160 REPEAT BEGIN1 P=2

; Execute duas vezes a rea do N20 ao N80.

N170 Z10
N180 X0 Y0
N190 M30

Exemplo 5: Execuo de operao de fresamento, posio de furao com diferentes


tecnologias
Cdigo de programa

Comentrio

N10 BROCACENTRAGEM()

; Carregar a broca de centragem.

N20 POS_1:

; Posies de furao 1

N30 X1 Y1
N40 X2
N50 Y2
N60 X3 Y3
N70 ENDLABEL:
N80 POS_2:

; Posies de furao 2

N90 X10 Y5
N100 X9 Y-5
N110 X3 Y3
N120 ENDLABEL:
N130 BROCA()

; Carregar a broca e ciclo de furao.

N140 ROSCA(6)

; Carregar o macho M6 e ciclo de rosqueamento.

N150 REPEAT POS_1

; Repita uma vez o segmento de programa a partir do POS_1


at o ENDLABEL.

N160 BROCA()

; Carregar a broca e ciclo de furao.

Preparao do trabalho

106

Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

Programao flexvel de NC
1.11 Repetio de partes do programa (REPEAT, REPEATB, ENDLABEL, P)

Cdigo de programa

Comentrio

N170 ROSCA(8)

; Carregar o macho M8 e ciclo de rosqueamento.

N180 REPEAT POS_2

; Repita uma vez o segmento de programa a partir do POS_2


at o ENDLABEL.

N190 M30

Outras informaes
A repetio de partes do programa pode ser chamada de forma aninhada. Cada
chamada ocupa um nvel de subrotina.
Se durante a usinagem for programada uma repetio de uma parte do programa M17 ou
um RET, ento a repetio da parte do programa ser cancelada. O programa
continuado no bloco aps a linha do REPEAT.
Na atual exibio do programa se indica a repetio da parte do programa como um
nvel prprio de subrotina.
Se durante a execuo da parte do programa for ativada uma interrupo de nvel, ento
a execuo do programa continua aps a chamada da execuo da parte do programa.
Exemplo:
Cdigo de programa

Comentrio

N5 R10=15
N10 BEGIN: R10=R10+1

; Largura

N20 Z=10-R10
N30 G1 X=R10 F200
N40 Y=R10

; Interrupo de nvel

N50 X=-R10
N60 Y=-R10
N70 END: Z10
N80 Z10
N90 CYCLE(10,20,30)
N100 REPEAT BEGIN END P=3
N120 Z10

; Continuar com a execuo do programa.

N130 M30

possvel combinar estruturas de controle e repeties de partes de programa.


Entretanto, no deve haver nenhuma sobreposio. Uma repetio de partes de
programa deve estar situada em uma bifurcao de estrutura de controle ou uma
estrutura de controle deve estar situada em uma repetio de partes de programa.
Se for realizada a mistura de saltos e repeties de partes de programa, os blocos so
executados de forma seqencial pura. Por exemplo, se um salto for realizado a partir de
uma repetio de uma parte do programa, ento a execuo ser realizada at ser
encontrado o fim programado desta parte do programa.

Preparao do trabalho
Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

107

Programao flexvel de NC
1.12 Estruturas de controle
Exemplo:
Cdigo de programa
N10 G1 F300 Z-10
N20 BEGIN1:
N30 X=10
N40 Y=10
N50 GOTOF BEGIN2
N60 ENDLABEL:
N70 BEGIN2:
N80 X20
N90 Y30
N100 ENDLABEL: Z10
N110 X0 Y0 Z0
N120 Z-10
N130 REPEAT BEGIN1 P=2
N140 Z10
N150 X0 Y0
N160 M30

Indicao
A instruo REPEAT deve estar situada aps os blocos de deslocamento.

1.12

Estruturas de controle

Funo
Como padro, o comando numrico executa os blocos NC na seqncia programada.
Esta seqncia pode ser variada mediante programao de blocos de programa alternativos
e loop's de programa. A programao dessas estruturas de controle ocorre atravs de
senhas IF, ELSE, ENDIF, LOOP, FOR, WHILE e REPEAT.
ATENO
Erro de programao
As estruturas de controle somente so possveis dentro da parte de instruo de um
programa. As definies no cabealho no podem ser executadas de forma condicional ou
de forma repetida.
Da mesma forma, as palavras-chave para estruturas de controle no podem ser
sobrepostas com macros. No realizado nenhum controle na definio de macros.

Preparao do trabalho

108

Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

Programao flexvel de NC
1.12 Estruturas de controle

Efeito
Uma estrutura de controle no pode ser utilizada de modo a reter um programa.

Nvel de aninhamento
Dentro de cada nvel de subrotina possvel alcanar um nvel de aninhamento de at 16
estruturas de controle.

3URJUDPDSULQFLSDO

6XEURWLQD
352&68%352*

/223
:+,/(
,)

5(3($7
)25
)25
:+,/(

(1',)

(1':+,/(

:+,/(

:+,/(
(1':+,/(
(1')25

68%352*
(1':+,/(
(1':+,/(

(1')25
817,/

(1'/223

Relao do tempo de execuo


Com o modo de interpretao padro ativado, mediante uso de saltos de programa, se pode
alcanar uma execuo mais rpida do que com estruturas de controle.
Nos ciclos pr-compilados no existe nenhuma diferena entre saltos de programa e
estruturas de controle.

Amostra atual do bloco no refinamento do programa


Se dentro de um refinamento do programa forem realizados apenas blocos de avano,
ento ser mostrada no atual bloco o ltimo bloco principal antes do trmino do refinamento.
Com isso p.ex. a fim de diagnosticar o procedimento dos blocos atuais que esto sendo
usinados, necessrio ativar o decder de bloco individual SBL2
Literatura
Manual de funcionamento, manuais de suporte: Manual de funcionamento, captulol: BAG,
Canal, funcionamento do programa, Resetamento (K1) > bloco individual> decoder de bloco
individual SBL2 com interrupo de avano implcita

Preparao do trabalho
Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

109

Programao flexvel de NC
1.12 Estruturas de controle

Condies gerais
Os blocos com elementos de estrutura de controle no podem ser omitidos.
Os marcadores de salto (Labels) no so permitidos em blocos com elementos de
estrutura de controle.
As estruturas de controle so executadas de modo interpretativo. Ao identificar o fim de
um loop, sob considerao das estruturas de controle encontradas, ser realizada uma
busca pelo incio do loop. Por isso que no modo de interpretao no se controla
completamente a estrutura de bloco de um programa.
Sempre se recomenda evitar o uso misto de estruturas de controle e saltos de programa.
No pr-processamento de ciclos pode ser realizado o controle quanto ao aninhamento
correto de estruturas de controle.

1.12.1
Funo

Instruo condicional e bifurcao (IF, ELSE, ENDIF)

Instruo condicional: IF - bloco agrupado de programa - ENDIF


Em uma instruo condicional, o bloco agrupado de programa entre IF e ENDIF s ser
executados se a condio for atendida.
Bifurcao IF - bloco agrupado de programa_1 - ELSE - bloco agrupado de programa_2 ENDIF
Em uma bifurcao ser executado sempre um dos dois blocos agrupados de programas.
Caso a condio seja atendida, o bloco agrupado de programa_1 entre IF e ELSEser
executado.
Caso a condio no seja atendida, o bloco agrupado de programa_2 entre ELSE e ENDIF
ser executado.

Sintaxe

Declarao de condio
IF <condio>
Bloco agrupado de programa

; Execuo em: <Condio> == TRUE

ENDIF

Bifurcao
IF <condio>
Blocos agrupados de programa_1

; Execuo em: <Condio> == TRUE

ELSE
Blocos agrupados de programa_2

; Execuo em: <Condio> == FALSE

ENDIF

Preparao do trabalho

110

Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

Programao flexvel de NC
1.12 Estruturas de controle

Significado
IF:

Inicia a instruo condicional e a bifurcao.

ELSE:

Inicia o bloco de programa alternativo.

ENDIF:

Marca o fim da instruo condicional e bifurcao.

<condio>:

Expresso lgica que resulta em TRUE ou FALSE.

Exemplo: Subrotina de troca de ferramentas


Cdigo de programa

Comentrio

PROC L6

Rotina de troca de ferramentas

N500 DEF INT TNR_ATUAL

Varivel para nmero T ativo

N510 DEF INT TNR_PRESELECAO

Varivel para nmero T prselecionado


Determinar a ferramenta atual

N520 STOPRE
N530 IF $P_ISTEST

No modo de teste de programa se


...

N540 TNR_ATUAL = $P_TOOLNO

... realiza a leitura da "atual"


ferramenta a partir do contexto
do programa.

N550 ELSE

Caso contrrio se ...

N560 TNR_ATUAL = $TC_MPP6[9998,1]

... l a ferramenta do fuso.

N570 ENDIF
N580 GETSELT(TNR_PRESELECAO)

Leitura do nmero T da
ferramenta pr-selecionada no
fuso.

N590 IF TNR_ATUAL <> TNR_PRESELECAO

Se a ferramenta pr-selecionada
ainda no for a ferramenta
atual, ento se deve ...

N600 G0 G40 G60 G90 SUPA X450 Y300 Z300 D0

... Aproximar ponto de troca de


ferramentas ...

N610 M206

... e executar a troca de


ferramenta.

N620 ENDIF
N630 M17

1.12.2

Loop de programa infinito (LOOP, ENDLOOP)

Funo
O loop infinito se aplica em programas de processamento infinito. No fim do loop sempre se
executa novamente o salto de retorno ao incio do loop.

Preparao do trabalho
Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

111

Programao flexvel de NC
1.12 Estruturas de controle

Sintaxe
LOOP
...
ENDLOOP

Significado
LOOP:

Inicia o loop infinito.

ENDLOOP:

Marca o fim do loop e realiza o salto de retorno ao incio do loop.

Exemplo
Cdigo de programa
...
LOOP
MSG("nenhum corte de ferramenta ativo")
M0
STOPRE
ENDLOOP
...

1.12.3

Loop contador (FOR ... TO ..., ENDFOR)

Funo
O loop contador se utiliza quando uma execuo de trabalho deve ser repetida com um
nmero fixo de execues.

Sintaxe
FOR <varivel> = <valor inicial> TO <valor final>
...
ENDFOR

Preparao do trabalho

112

Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

Programao flexvel de NC
1.12 Estruturas de controle

Significado
FOR:

Inicia o loop contador.

ENDFOR:

Marca o fim do loop e realiza o salto de retorno ao incio do loop,


enquanto o valor final da contagem no for alcanado.

<varivel>:

Varivel de contagem que incrementada do valor inicial ao valor final


pelo valor "1" em cada execuo realizada.
Tipo

INT ou REAL
Nota:
Por exemplo, o tipo REAL adotado quando so programados
parmetros R para um loop contador. Se a varivel de
contagem for do tipo REAL, seu valor ser arredondado para
um valor de nmero inteiro.

<valor inicial>:

Valor inicial da contagem


Condio: O valor inicial deve ser menor que o valor final.

<valor final>:

Valor final da contagem

Exemplos
Exemplo 1: Varivel INTEGER ou parmetro R como varivel de contagem
Varivel INTEGER como varivel de contagem:
Cdigo de programa

Comentrio

DEF INT iVARIABLE1


R10=R12-R20*R1 R11=6
FOR iVARIABLE1= R10 TO R11

; Varivel de contagem = varivel INTEGER

R20=R21*R22+R33
ENDFOR
M30

Parmetro R como varivel de contagem:


Cdigo de programa

Comentrio

R11=6
FOR R10=R12-R20*R1 TO R11

; Varivel de contagem = parmetro R (varivel


Real)

R20=R21*R22+R33
ENDFOR
M30

Preparao do trabalho
Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

113

Programao flexvel de NC
1.12 Estruturas de controle
Exemplo 2: Produo de uma quantidade fixa de peas
Cdigo de programa

Comentrio

DEF INT QTDEPECAS

; Define a varivel do tipo INT com o nome


"QTDEPECAS".

FOR QTDEPECAS = 0 TO 100

; Inicia o loop contador. A varivel "QTDEPECAS"


incrementada do valor inicial "0" at o valor
final "100".

G01
ENDFOR

; Fim do loop contador.

M30

1.12.4

Loop de programa com condio no incio do loop (WHILE, ENDWHILE)

Funo
Em um loop WHILE a condio est situada no incio do loop. O loop WHILE ser
executado enquanto a condio estiver preenchida.

Sintaxe
WHILE <condio>
...
ENDWHILE

Significado
WHILE:

Inicia o loop de programa.

ENDWHILE:

Marca o fim do loop e realiza o salto de retorno ao incio do loop.

<condio>:

Condio que deve ser preenchida para que o loop WHILE seja
executado.

Exemplo
Cdigo de programa

Comentrio

...
WHILE $AA_IW[EIXOFURACAO] > -10

; Chamada do loop WHILE sob a seguinte


condio: o atual valor nominal WCS do
eixo de furao deve ser maior que -10.

G1 G91 F250 AX[EIXOFURACAO] = -1


ENDWHILE
...

Preparao do trabalho

114

Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

Programao flexvel de NC
1.12 Estruturas de controle

1.12.5

Loop de programa com condio no fim do loop (REPEAT, UNTIL)

Funo
Em um loop REPEAT a condio est situada no fim do loop. O loop REPEAT executado
uma vez e ser repetido enquanto a condio for preenchida.

Sintaxe
REPEAT
...
UNTIL <condio>

Significado
REPEAT:

Inicia o loop de programa.

UNTIL:

Marca o fim do loop e realiza o salto de retorno ao incio do loop.

<condio>:

Condio que deve ser preenchida para que o loop REPEAT no seja
mais executado.

Exemplo
Cdigo de programa

Comentrio

...
REPEAT

; Chamada do loop REPEAT.

...
UNTIL ...

; Controle para saber se a condio est preenchida.

...

1.12.6

Exemplo de programa com estruturas de controle aninhadas


Cdigo de programa

Comentrio

LOOP
IF NOT $P_SEARCH

; IF nenhuma pesquisa bloco

G1 G90 X0 Z10 F1000


WHILE $AA_IM[X] <= 100
G1 G91 X10 F500

; WHILE (Valor nominal eixo X <= 100)


; Gabarito de furao

Z5 F100
Z5

Preparao do trabalho
Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

115

Programao flexvel de NC
1.13 Coordenao de programa (INIT, START, WAITM, WAITMC, WAITE, SETM, CLEARM)

Cdigo de programa

Comentrio

ENDWHILE
ELSE

; ELSE pesquisa em blocos

MSG("Na localizao no se executa


a furao")
ENDIF

; ENDIF

$A_OUT[1] = 1

; prxima placa de furao

G4 F2
ENDLOOP
M30

1.13

Coordenao de programa (INIT, START, WAITM, WAITMC,


WAITE, SETM, CLEARM)

Funo
Um canal pode executar seu prprio programa, independentemente dos outros canais. Com
isso o programa pode controlar os eixos e fusos temporariamente atribudos.
Se forem utilizados vrios canais para a usinagem de uma pea, ento pode ser necessria
uma sincronizao dos processos de execuo do programa. Para essa coordenao do
programa existem instrues (comandos) especiais.
Indicao
A coordenao de programa tambm possvel em um canal prprio.

Pr-requisito
Os canais envolvidos precisam pertencer ao mesmo grupo de operao (BAG).

Sintaxe

INIT(<Nr.canal>,<caminho>,<modo de confirmao>)
START(<Nr.canal>,<Nr.canal.>,...)
WAITM(<Nr.marcaoo>,<Nr.canal>,<Nr.canal.>,...)
WAITMC(<Nr.marcao>,<Nr.canal>,<Nr.canal>,...)
WAITE(<Nr.canal>,<Nr.canal>,...)
SETM(<Nr.marcao>,<Nr.marcao>,...)
CLEARM(<Nr.marcao.>,<Nr.marcao>,...)
Indicao
As sentenas para a coordenao do programa precisam se frases independente

Preparao do trabalho

116

Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

Programao flexvel de NC
1.13 Coordenao de programa (INIT, START, WAITM, WAITMC, WAITE, SETM, CLEARM)

Significado
INIT:

Procedimentos pr-definidos para a seleo do programa NC, o qual deve ser


processado no canal especificado
<Nr.canal>:

Nmero do canal
Tipo:

<caminho>:

INT

Caminho absoluto ou relativo para o programa NC


Tipo:

STRING

Caminho absoluto:
Um caminho absoluto deve ser formado seguindo o
seguinte motivo:
Registro atual/_N_<Nome>_MPF
O "diretrio atual" est presente no diretrio da
pea ou no padro /_N_MPF_DIR.
Deve-se especificar o nome completo do
programa
Indicao relativa do caminho:
No caminho relativo se aplicam as mesmas regras
das chamadas de subrotinas.
<Modo de confirmao:>:

Parmetro do tipo CHAR


Valores: "N"

Sem confirmao:
A execuo do programa
continuada aps o envio do
comando. O remetente no
informado se o comando no
pode ser executado com sucesso.

"S"

confirmao sncrona
A execuo do programa
mantida parada at que o
componente receptor confirmar o
comando. Em caso positivo de
confirmao se executa o prximo
comando. Uma mensagem de
erro aparecer em caso de
confirmao negativa

Nota:
Quando se omite a indicao do modo de
confirmao, ento temos a confirmao sncrona.
START:

Procedimento pr-definido para iniciar os programas escolhidos nos outros


canais.
<Nr.canal>,...:

Enumerao dos nmeros de canal


Tipo:

INT

Preparao do trabalho
Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

117

Programao flexvel de NC
1.13 Coordenao de programa (INIT, START, WAITM, WAITMC, WAITE, SETM, CLEARM)
WAITM:

Procedimento pr-definido para espera pelo alcance de um marcador nos


canais especificados.
O marcador especificado posto atravs do WAITM no prprio canal. O bloco
anterior ser finalizado com parada exata. O marcador deletado aps a
sincronizao.
Simultaneamente podem ser colocados no mx. 10 marcadores por canal.
<Nr.marcador>:

Nmero do marcador
Tipo:

<Nr.canal>,...:

Tipo:
WAITE:

INT

Procedimento pr-defino para a espera pelo fim do programa em um ou mais


canais
<Nr.canal>,...:

Enumerao dos nmeros de canal


Tipo:

WAITMC:

INT

Contagem dos nmeros de canais (O prprio canal


no precisa ser especificado)

INT

Procedimento pr-definido para espera pelo alcance de um marcador nos


canais especificados.
Ao contrrio do WAITM A parada exata somente iniciada se os outros canais
ainda no tiverem alcanado o marcador.
Parametro com no WAITM.

SETM:

Procedimento pr-definido para colocar um ou mais marcadores para


coordenao do canal
A usinagem no prprio canal no influenciada por isso
vlido aps o RESET e NC-START.

SETMpermanece

<Nr.marcador>,...:
CLEARM:

Contagem dos nmeros dos marcadores

Procedimento pr-definido para deletarum ou mais marcadores para


coordenao do canal
A usinagem no prprio canal no influenciada
Todos marcadores no canal podem ser apagados com CLEARM()
CLEARM(0) apaga o marcador "0".
CLEARM permanece vlido aps o RESET e NC-START.
<Nr.marcador>,...:

Contagem dos nmeros dos marcadores

Indicao
Nmero de canal
nomes do canal precisam ser convertidas em nmeros atravs das variveis.
CUIDADO
Nmero de canal
A atribuio dos nmeros deve ser protegida contra alteraes inadvertidas.

Preparao do trabalho

118

Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

Programao flexvel de NC
1.13 Coordenao de programa (INIT, START, WAITM, WAITMC, WAITE, SETM, CLEARM)
Indicao
Nome do canal
Invs de nmeros de canais pode-se tambm programar os nomes dos canais definidos
atravs do $MC_CHAN_NAME (Indentificador ou palavra-chave) (Tipo: STRING).
CUIDADO
Nome do canal
Os nomes no podem estar presentes no NC com outra denotao, como p.ex. como
palavra-chave, comando de linguagem, nome de eixo etc.
Indicao
Para a troca de dados entre os programas se pode utilizar as variveis disponveis em todos
canais (variveis globais especficas NCK). Caso contrrio a criao do programa feita
separadamente para cada canal.

Exemplos

Exemplo 1: Atribuio dos nmeros dos canais


Canal com o nome "MAQUINA" deve ser canal nmero 1, Canal com nome
"CARREGADOR" deve ser canal nmero 2. As variveis contm o mesmo nome que os
canais:
DEF INT MAQUINA=1, CARREGADOR=2
Com isso a instruo START :
START(MAQUINA)
Exemplo 2: Possveis indicaes de canais
$MC_CHAN_NAME[0] = "CHAN_X" ; Nome do canal 1.
$MC_CHAN_NAME[1] = "CHAN_Y" ; Nome do canal 2.
Programao com:
Nmeros de canal:
Cdigo de programa

Comentrio

START(1,2)

; Executar a partida no 1 e 2 canal

Identificadores de canal
Cdigo de programa

Comentrio

START(CHAN_X, CHAN_Y)

; Executar a partida no 1 e 2 canal


; Os identificadores Canal_X e Canal_Y representam
internamente o nmero de canal 1 e 2 em funo do dado
de mquina $MC_CHAN_NAME. De acordo com isso eles
tambm executam uma partida no 1 e 2 canal

Preparao do trabalho
Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

119

Programao flexvel de NC
1.13 Coordenao de programa (INIT, START, WAITM, WAITMC, WAITE, SETM, CLEARM)
Variveis - Integer:
Cdigo de programa

Comentrio

DEF INT chanNo1, chanNo2

; definir variveis.

chanNo1=CHAN_X chanNo2=CHAN_Y
START(chanNo1, chanNo2)

; Executar a partida no 1 e 2 canal

Exemplo 3: Comando INIT com indicao absoluta do caminho


Cdigo de programa
N10 INIT(2,"/_N_WCS_DIR/_N_EIXO1_WPD/_N_DESBASTE1_MPF")

Exemplo 4: Comando INIT com indicao relativa do caminho


Cdigo de programa

Comentrio

N10 INIT(2,"MYPROG")

; Selecionar programa /_N_MPF_DIR/_N_MYPROG_MPF no


canal 2

Exemplo 5: Coordenao de programa com WAITM


Canal 1: escolhido o programa /_N_MPF_DIR/_N_MPF100_MPF
Cdigo de programa

Comentrio

N10 INIT(2,"MPF200","N")
N11 START(2)
...

; Processamento no canal 1

N80 WAITM(1,1,2)

; Espera pelo alcance do marcador de valor 1 nos


canais 1 e 2.

...

; Outras usinagens no canal 1.

N180 WAITM(2,1,2)

; Espera pelo alcance do marcador de valor 1 nos


canais 1 e 2.

...

; Outras usinagens no canal 1.

N200 WAITE(2)

; Espera pelo fim do programa do canal 2

N201 M30

; Fim do programa do canal 1, fim total

Canal 2: Com o comando INIT (veja N10 in _N_MPF100_MPF) o programa


_N_MPF200_MPF escolhido no canal 2 para elaborao
Cdigo de programa

Comentrio

;$PATH=/_N_MPF_DIR
...

; Processamento no canal 2

Preparao do trabalho

120

Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

Programao flexvel de NC
1.14 Rotina de interrupo (ASUP)

Cdigo de programa

Comentrio

N70 WAITM(1,1,2)

; Espera pelo alcance do marcador de valor 1 nos canais 1 e


2.

...

; Outras usinagens no canal 2.

N270 WAITM(2,1,2)

; Espera pelo alcance do marcador de valor 1 nos canais 1 e


2.

...

; Outras usinagens no canal 2.

N400 M30

; Fim do programa do canal 2

1
:$,70 

&DQDO
03)

&DQDO
03)



1

1 1

67$57 

,QFLR











HVSHUDU

1
:$,70 

67$57 



1
:$,70 







HVSHUDU





1
:$,70 
0

1.14

Rotina de interrupo (ASUP)

1.14.1

Funcionamento de uma rotina de interrupo







1
0

1

HVSHUDU 0

1
:$,7( 
0

)LPGR
WHPSR

Indicao
Os termos "Subrotina assncrona (ASUP)" e "Rotina de interrupo" que aparecem
alternadamente na seguinte descrio significam a mesma funcionalidade.

Preparao do trabalho
Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

121

Programao flexvel de NC
1.14 Rotina de interrupo (ASUP)

Funo
O funcionamento de uma rotina de interrupo deve ser explanada com base em um
exemplo tpico:

5RWLQDGHLQWHUUXSR
$IDVWDPHQWRGR
FRQWRUQR
7URFDGH
IHUUDPHQWDV
1RYRVYDORUHV
GHFRUUHR
5HDSUR[LPDR

3URJUDPD
SULQFLSDO

A ferramenta quebra durante a usinagem. Com isso se dispara um sinal que pra o
processo de usinagem em andamento e ao mesmo tempo iniciada uma subrotina
chamada de rotina de interrupo. Nesta subrotina esto contidas as instrues que
devero ser executadas para este caso.
Uma vez terminada a execuo da subrotina (e com isso restabelecida a operabilidade), em
funo do comando REPOS, o comando retorna para o programa principal e continua com a
usinagem a partir do ponto de interrupo (veja "Reaproximao do contorno
(Pgina 476)").
CUIDADO
Perigo de coliso
Se na subrotina for programado nenhum comando REPOS, ento se executa o
posicionamento no ponto final do bloco que segue o bloco interrompido.

Literatura
Manual de funes bsicas; BAG, Canal, Operao do programa, Comportamento Reset
(K1), Captulo: "Subrotinas assncronas (ASUPs), Rotinas de interrupo"

Preparao do trabalho

122

Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

Programao flexvel de NC
1.14 Rotina de interrupo (ASUP)

1.14.2

Criar rotina de interrupo

Criar rotina de interrupo como subrotina


Durante a definio, a rotina de interrupo identificada como se fosse uma subrotina.
Exemplo:
Cdigo de
programa

Comentrio

PROC RETRAC_Z

; Nome de programa "RETRAC_Z"

N10 ...

; Em seguida seguem os blocos NC.

...
N50 M17

; No final se coloca o fim do programa e o retorno ao programa


principal.

Salvar funes G modais (SAVE)


Na definio, a rotina de interrupo pode ser identificada com SAVE.
O atributo SAVE faz com que as funes G modais sejam salvas antes da chamada da rotina
de interrupo e novamente ativadas no fim da subrotina de interrupo (veja "Subrotinas
com mecanismo SAVE (SAVE) (Pgina 166)").
Com isso possvel continuar a usinagem do ponto de interrupo depois da rotina de
interrupo ser concluda.
Exemplo:
Cdigo de programa
PROC RETRAC_Z SAVE
N10 ...
...
N50 M17

Atribuir outras rotinas de interrupo (SETINT)


Dentro da rotina de interrupo se pode programar instrues SETINT (veja "Atribuir e iniciar
rotinas de interrupo (SETINT)" (Pgina 124)) e com isso podem ser ativadas outras
rotinas de interrupo. A inicializao s ocorre com a entrada.

Literatura
Para mais informaes sobre a criao de subrotinas, veja o captulo "Tcnica de
subrotinas, tcnica de macros".

Preparao do trabalho
Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

123

Programao flexvel de NC
1.14 Rotina de interrupo (ASUP)

1.14.3

Atribuio e partida de rotinas de interrupo (SETINT, PRIO, BLSYNC)

Funo
O comando possui sinais (entrada 18) que desencadeiam uma interrupo do programa
em andamento e que podem iniciar uma rotina de interrupo correspondente.
A atribuio de qual entrada pertence a qual programa realizada no programa de pea
atravs do comando SETINT.
Se no programa de pea existirem vrias instrues SETINT e com isso mais sinais sendo
disparados, ento se deve atribuir valores de prioridade s rotinas de interrupo, que
definem a seqncia durante a execuo: PRIO=<valor>
Se ocorrerem novos sinais durante a execuo da interrupo, as rotinas de maior
prioridade cancelaro a atual rotina de interrupo.

Sintaxe

SETINT(<n>) PRIO=<valor> <NOME>


SETINT(<n>) PRIO=<valor> <NAME> BLSYNC
SETINT(<n>) PRIO=<valor> <NAME> LIFTFAST

Significado
SETINT(<n>):

Comando: Atribuir a entrada <n> de uma rotina de interrupo. A rotina de


interrupo atribuda iniciada assim que a entrada <n> for ativada.
Nota:
Se uma nova rotina for atribuda em uma entrada j ocupada, a atribuio
anterior ser desativada automaticamente.

<n>:

PRIO=

Parmetro: Nmero da entrada

<valor>:

Tipo:

INT

Faixa de valores:

1 ... 8

Comando: Definio da prioridade


Valor de prioridade
Tipo:

INT

Faixa de valores:

1 ... 128
A prioridade 1 corresponde ao mais alto nvel de
prioridade.

<NOME>:

Nome da subrotina (rotina de interrupo) que deve ser executada.

BLSYNC:

Quando a instruo SETINT programada junto com o BLSYNC, ento com o


disparo do sinal de interrupo ainda se executa o bloco de programa em
andamento e, apenas depois disso que a rotina de interrupo iniciada.

LIFTFAST:

Quando a instruo SETINT programada junto com o LIFTFAST, ento com o


disparo do sinal de interrupo realizada uma "Retrao rpida da
ferramenta do contorno" ainda antes da partida da rotina de interrupo (veja
"Retrao rpida do contorno (SETINT LIFTFAST, ALF) (Pgina 127)").

Preparao do trabalho

124

Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

Programao flexvel de NC
1.14 Rotina de interrupo (ASUP)

Exemplos
Exemplo 1: Atribuir rotinas de interrupo e definir prioridade
Cdigo de programa

Comentrio

...
N20 SETINT(3) PRIO=1 RETRAC_Z

; Se a entrada 3 for ativada, ento deve ser


iniciada a rotina de interrupo "RETRAC_Z".

N30 SETINT(2) PRIO=2 RETRAC_X

; Se a entrada 2 for ativada, ento deve ser


iniciada a rotina de interrupo "RETRAC_X".

...

As rotinas de interrupo so executadas uma a uma na seqncia dos valores de


prioridade, se as entradas forem disponibilizadas simultaneamente. primeiro "RETRAC_Z",
depois "RETRAC_X".
Exemplo 2: Nova atribuio de rotinas de interrupo
Cdigo de programa

Comentrio

...
N20 SETINT(3) PRIO=2 RETRAC_Z

; Se a entrada 3 for ativada, ento deve ser


iniciada a rotina de interrupo "RETRAC_Z".

N120 SETINT(3) PRIO=1 RETRAC_X

1.14.4

; Se atribui uma nova rotina de interrupo


entrada 3: ao invs de "RETRAC_Z" se deve
iniciar "RETRAC_X", se for ativada a entrada 3.

Desativar / ativar a atribuio de uma rotina de interrupo (DISABLE, ENABLE)

Funo

Sintaxe

Uma instruo SETINT desativada com DISABLE e novamente ativada com ENABLE sem
perder a associao Entrada Rotina de interrupo.

DISABLE(<n>)
ENABLE(<n>)

Significado
DISABLE(<n>):

Comando: Desativao da associao da rotina de interrupo com a


entrada <n>

ENABLE(<n>):

Comando: Reativao da associao da rotina de interrupo com a


entrada <n>

<n>:

Parmetro: Nmero da entrada


Tipo:

INT

Faixa de valores: 1 ... 8


Preparao do trabalho
Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

125

Programao flexvel de NC
1.14 Rotina de interrupo (ASUP)

Exemplo
Cdigo de programa

Comentrio

...
N20 SETINT(3) PRIO=1 RETRAC_Z

; Se a entrada 3 for ativada, ento deve ser


iniciada a rotina de interrupo "RETRAC_Z".

...
N90 DISABLE(3)

; A instruo SETINT do N20 desativada.

...
N130 ENABLE(3)

; A instruo SETINT do N20 novamente


ativada.

...

1.14.5

Deletar a atribuio de uma rotina de interrupo (CLRINT)

Funo
Uma associao Entrada Rotina de interrupo definida com SETINT pode ser desfeita
com CLRINT.

Sintaxe

CLRINT(<n>)

Significado
CLRINT(<n>):

Comando: Deletao da associao da rotina de interrupo com a


entrada <n>

<n>:

Parmetro: Nmero da entrada


Tipo:

INT

Faixa de valores: 1 ... 8

Exemplo
Cdigo de programa

Comentrio

...
N20 SETINT(3) PRIO=2 RETRAC_Z

...
N50 CLRINT(3)

; A associao entre a entrada "3" e a rotina


de interrupo "RETRAC_Z" foi deletada.

...

Preparao do trabalho

126

Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

Programao flexvel de NC
1.14 Rotina de interrupo (ASUP)

1.14.6

Retrao rpida do contorno (SETINT LIFTFAST, ALF)

Funo
Atravs de uma instruo SETINT com LIFTFAST se realiza o afastamento da ferramenta
mediante retrao rpida assim que a entrada for ativada.

A execuo restante depende se a instruo SETINT, alm da LIFTFAST, tambm contiver


uma rotina de interrupo:
Com rotina de interrupo: A rotina de interrupo executada aps a retrao rpida.
Sem rotina de interrupo: A usinagem parada com alarme aps a retrao rpida.

Sintaxe

SETINT(<n>) PRIO=1 LIFTFAST


SETINT(<n>) PRIO=1 <NAME> LIFTFAST

Significado
SETINT(<n>):

Comando: Atribuir a entrada <n> de uma rotina de interrupo. A rotina de


interrupo atribuda iniciada assim que a entrada <n> for ativada.

<n>:

Parmetro: Nmero da entrada

PRIO=

Tipo:

INT

Faixa de valores:

1 ... 8

Definio da prioridade

Preparao do trabalho
Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

127

Programao flexvel de NC
1.14 Rotina de interrupo (ASUP)
<valor>:

Valor de prioridade
Faixa de valores:

1 ... 128

A prioridade 1 corresponde ao mais alto nvel de prioridade.


<NOME>:

Nome da subrotina (rotina de interrupo) que deve ser executada.

LIFTFAST:

Comando: Retrao rpida do contorno

ALF=

Comando: Sentido de deslocamento programvel (no bloco de deslocamento)


Para conhecer as opes de programao com ALF, veja o assunto "Sentido
de deslocamento na retrao rpida do contorno (Pgina 129)".

Condies gerais
Comportamento com Frame ativo com espelhamento
Na determinao do sentido de retrao verificado se um Frame est ativo com
espelhamento. Neste caso a direita e a esquerda so invertidas para o sentido de retrao
em funo do sentido de tangente. Os componentes de sentido no sentido da ferramenta
no so espelhados. Este comportamento ativado atravs do ajuste de dado de mquina:
MD21202 $MC_LIFTFAST_WITH_MIRROR = TRUE

Exemplo
Uma ferramenta cancelada deve ser substituda automaticamente por uma ferramenta
gmea. A usinagem continuada com a nova ferramenta.
Programa principal:
Programa principal

Comentrio

N10 SETINT(1) PRIO=1 TROCA_F LIFTFAST

; Quando a entrada 1 ativada, a


ferramenta imediatamente
afastada do contorno com retrao
rpida (cdigo n 7 para correo
do raio da ferramenta G41). Em
seguida executada a rotina de
interrupo "TROCA_F".

N20 G0 Z100 G17 T1 ALF=7 D1


N30 G0 X-5 Y-22 Z2 M3 S300
N40 Z-7
N50 G41 G1 X16 Y16 F200
N60 Y35
N70 X53 Y65
N90 X71.5 Y16
N100 X16
N110 G40 G0 Z100 M30

Preparao do trabalho

128

Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

Programao flexvel de NC
1.14 Rotina de interrupo (ASUP)
Subrotina:

1.14.7

Subrotina

Comentrio

PROC TROCA_F SAVE

; Subrotina com armazenamento do atual


estado operacional

N10 G0 Z100 M5

; Posio de troca de ferramentas,


parada do fuso

N20 T11 M6 D1 G41

; Trocar ferramentas

N30 REPOSL RMBBL M3

; Reaproximao do contorno e salto de


retorno para o programa principal (se
programa em um bloco prprio)

Sentido de deslocamento na retrao rpida do contorno

Movimento de retrocesso
O plano do movimento de retrocesso definida atravs do seguinte cdigo G:

LFTXT

O plano do movimento de retrocesso determinado a partir da tangente da trajetria e


do sentido da ferramenta (ajuste padro).

LFWP

O plano do movimento de retrocesso o plano de trabalho ativo que se seleciona com o


cdigo G17, G18 ou G19. O sentido do movimento de retrocesso no depende da tangente
da trajetria. Com isso pode-se programar uma retrao rpida paralela ao eixo.

LFPOS

Retrocesso do eixo identificado com POLFMASK / POLFMLIN na posio de eixo absoluta


programada com POLF.
O ALF no tem nenhuma influncia sobre o sentido de retrao para vrios eixos assim
como para vrios eixos de contexto linear.
Literatura:
Manual bsico de programao; captulo: "retrocesso rpido durante o rosqueamento"

Sentido de deslocamento programvel (ALF=...)


No plano do movimento de retrocesso o sentido programado com ALF, em discretos
passos de 45 graus.
Os possveis sentidos de deslocamento esto armazenados no comando numrico atravs
de cdigos especiais e eles podem ser chamados atravs deste nmero.
Exemplo:
Cdigo de programa
N10 SETINT(2) PRIO=1 RETRAC_Z LIFTFAST
ALF=7

Preparao do trabalho
Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

129

Programao flexvel de NC
1.14 Rotina de interrupo (ASUP)
Com o G41 (sentido de usinagem esquerda do contorno) ativado, a ferramenta se afasta
perpendicularmente do contorno.

$/) 

*

Plano de referncia para a descrio dos sentidos de deslocamento com LFTXT


No ponto de aplicao da ferramenta no contorno programado fixado um plano que serve
de referncia para a especificao do movimento de retrao com o respectivo cdigo.
O plano de referncia fixado a partir de um eixo longitudinal da ferramenta (sentido de
penetrao) e um vetor que est posicionado perpendicularmente a esse eixo e para o
ponto de aplicao da ferramenta no contorno.

7DQJHQWH
7DQJHQWH

3RQWRGH
DWXDR

7DQJHQWH

7DQJHQWH
3RQWRGH
DWXDR

Preparao do trabalho

130

Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

Programao flexvel de NC
1.14 Rotina de interrupo (ASUP)
Cdigos com sentidos de deslocamento com LFTXT

(L[RGH
SHQHWUDR

Os nmeros de cdigo com os sentidos de deslocamento a partir do plano de referncia


esto indicados na figura a seguir.

9LVWDQR
 VHQWLGRGH
GHVORFDPHQWR

r



r






9LVWDGHSODQWD

*



*

 

6HQWLGRGHGHVORFDPHQWR


Para ALF=1 se define o retrocesso no sentido da ferramenta.


Com ALF=0 se desativa a funo de "Retrao rpida".
CUIDADO
Perigo de coliso
Com a correo do raio da ferramenta ativada:
os cdigos 2, 3, 4 com G41
os cdigos 6, 7, 8 com G42
no devem ser utilizados, pois nestes casos a ferramenta poderia colidir com a pea
enquanto se dirige at o contorno.
Cdigos com sentidos de deslocamento com LFWP
Com LFWP o sentido do plano de trabalho atribudo como segue:

G17:

Plano X/Y

ALF=1:

Retrocesso no sentido X

ALF=3:

Retrocesso no sentido Y

G18:

Plano Z/X

ALF=1:

Retrocesso no sentido Z

ALF=3:

Retrocesso no sentido X

G19:

Plano Y/Z

ALF=1:

Retrocesso no sentido Y

ALF=3:

Retrocesso no sentido Z

Preparao do trabalho
Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

131

Programao flexvel de NC
1.15 Troca de eixos, troca de fusos (RELEASE, GET, GETD)

1.14.8

Execuo de movimentos com rotinas de interrupo

Rotina de interrupo sem LIFTFAST


Os movimentos dos eixos so desacelerados na trajetria at pararem. Em seguida
iniciada a rotina de interrupo.
A posio inicial gravada como posio de interrupo e ser ativada com REPOS RMIBL no
final da rotina ininterrupta.

Rotina de interrupo com LIFTFAST


Os movimentos dos eixos so freados na trajetria. Ao mesmo tempo se executa o
movimento LIFTFAST como movimento sobreposto. A rotina de interrupo iniciada quando
for parado o movimento de percurso e o movimento LIFTFAST.
Como posio de interrupo memorizada a posio no contorno onde foi iniciado o
movimento LIFTFAST, onde o percurso tambm foi abandonado.
Com LIFTFAST e ALF=0 a rotina de interrupo se comporta de modo idntico como a rotina
de interrupo sem LIFTFAST.
Indicao
O valor com que os eixos geomtricos se afastam do contorno na retrao rpida, pode ser
ajustado atravs de um dado de mquina.

1.15

Troca de eixos, troca de fusos (RELEASE, GET, GETD)

Funo
Um ou vrios eixos ou fusos sempre podem interpolados em apenas um canal. Se um eixo
precisa alternar entre dois canais diferentes (p. ex. trocador de paletes), ento se deve
liberar primeiro o atual canal e depois passado para o outro canal. O eixo trocado entre os
canais.
Ampliao da troca de eixos
Um eixo/fuso pode ser trocado com parada de pr-processamento e aa sincronizada entre
o pr-processamento e o processamento principal, ou tambm, alternativamente sem a
parada de pr-processamento. Alm disso, uma troca de eixos tambm possvel atravs
de
Rotao de contentor de eixo AXCTSWE ou AXCTWED mediante GET/GETD implcito.
Frame com rotao, se atravs disso este eixo estiver ligado com outro eixo.
Aes sincronizadas; veja em aes sincronizadas de movimentos, "Troca de eixos
RELEASE, GET".

Preparao do trabalho

132

Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

Programao flexvel de NC
1.15 Troca de eixos, troca de fusos (RELEASE, GET, GETD)
Fabricante da mquina
Observe as instrues do fabricante da mquina. Atravs de dados de mquina
configurveis, um eixo deve ser definido de forma clara em todos os canais para a troca de
eixos, e o comportamento de troca de eixos tambm podem ser ajustado de forma
modificvel atravs de dados de mquina.

Sintaxe
RELEASE(nome de eixo, nome de eixo, ...)
GET(nome de eixo, nome de eixo, ...)
GETD(nome de eixo, nome de eixo, ...)

ou
ou

ou

RELEASE(S1)

GET(S2)
GETD(S3)

Com GETD (GET Directly) um eixo buscado diretamente de outro canal. Isto significa que
para este GETD no necessrio programar um RELEASE adequado em outro canal. Isto
tambm significa que agora se deve estabelecer outra comunicao de canais (p. ex.
marcadores Wait).

Significado
RELEASE (nome de eixo, nome de eixo, ):

Habilitao do eixo (n)

GET (nome de eixo, nome de eixo, ):

Aceitao do eixo(n)

GETD (nome de eixo, nome de eixo, ):

Aceitao direta do eixo(n)

Nome de eixo:

Atribuio de eixos no sistema: AX1, AX2,


ou especificao dos nomes de eixo da
mquina

RELEASE(S1)
GET(S2)

GETD(S3)

Liberao dos fusos S1, S2,


Aceitao dos fusos S1, S2,

Aceitao direta dos fusos S1, S2,

Solicitao GET sem parada de pr-processamento


Se, aps uma solicitao GET sem parada de pr-processamento, o eixo for novamente
habilitado com RELEASE(eixo) ou WAITP(eixo), ento um GET seguinte conduzir para um GET
com parada de pr-processamento.
CUIDADO
Classificao dos eixos modificado
Um eixo aceito com GET permanece atribudo neste canal, mesmo aps uma tecla ou
programa RESET.
Com uma inicializao do programa a atribuio dos eixos ou fusos trocados dever
ocorrer via programa, caso o eixo no seja necessrio em seu canal bsico.
Com POWER ON ele ser atribudo ao canal definido nos dados da mquina.

Preparao do trabalho
Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

133

Programao flexvel de NC
1.15 Troca de eixos, troca de fusos (RELEASE, GET, GETD)

Exemplos

Exemplo 1: Troca entre dois canais


Para o processamento no canal 1 so utilizados de 6 eixos os seguintes eixos: 1, 2, 3 e
4 eixo.
Os 5 e 6 eixos so utilizados no canal 2 para a troca de peas de trabalho.
O eixo 2 deve ser trocado entre dois canais e depois do POWER ON ser associado ao canal 1.
Programa "MAIN" no canal 1:
Cdigo de programa

Comentrio

INIT (2,"TROCA2")

; Selecionar o programa TROCA2 no canal 2.

N START (2)

; Iniciar o programa no canal 2.

N GET (AX2)

; Aceitar eixo AX2.

...
N RELEASE (AX2)

; Liberar eixo AX2

N WAITM (1,1,2)

; Espera pelo marcador WAIT no canal 1 e 2 para


sincronizao em ambos canais.

...

; Continuao do processo aps a troca de eixos

N M30

Programa "TROCA2" no canal 2:


Programao

Comentrio

N RELEASE(AX2)
N160 WAITM(1,1,2)

; Espera pelo marcador WAIT no canal 1 e 2 para


sincronizao em ambos canais.

N150 GET(AX2)

; Aceitar eixo AX2.

...

; Continuao do processo aps a troca de eixos

N M30

Exemplo 2: Troca de eixos sem sincronizao


Se o eixo no precisa ser sincronizado, no criada nenhuma parada de prprocessamento pelo GET.
Programao

Comentrio

N01 G0 X0
N02 RELEASE(AX5)
N03 G64 X10
N04 X20
N05 GET(AX5)

; Se nenhuma sincronizao for necessria, este no


um bloco executvel.

N06 G01 F5000

; Nenhum bloco executvel.

N07 X20

; Nenhum bloco executvel, pois a posio X igual


no N04.

N08 X30

; Primeiro bloco executvel aps N05.

...

Preparao do trabalho

134

Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

Programao flexvel de NC
1.15 Troca de eixos, troca de fusos (RELEASE, GET, GETD)
Exemplo 3: Ativao de uma troca de eixos sem parada de pr-processamento
Requisito: A troca de eixos sem parada de pr-processamento deve ser configurada atravs
de um dado de mquina.
Programao

Comentrio

N010 M4 S100
N011 G4 F2
N020 M5
N021 SPOS=0
N022 POS[B]=1
N023 WAITP(B)

; O eixo B passa a ser eixo neutro.

N030 X1 F10
N031 X100 F500
N032 X200
N040 M3 S500

; O eixo no dispara nenhuma parada de prprocessamento/REORG.

N041 G4 F2
N050 M5
N099 M30

Se o fuso ou eixo B for deslocado imediatamente aps o bloco N023 como eixo PLC p. ex.
desloca 180 graus e depois retorna at 1 grau, ento este eixo novamente passa a ser um
eixo neutro e no dispara nenhuma parada de pr-processamento no bloco N40.

Requisitos
Condies para a troca de eixos
O eixo dever estar definido em dados da mquina para todos canais por ele utilizados.
Atravs do dado de mquina especfico de eixo dever estar definido qual canal o eixo
deve ser atribudo aps POWER ON.

Descrio
Liberar eixo: RELEASE
Na liberao do eixo deve-se observar:
1. O eixo no pode participar de nenhuma transformao.
2. Nos acoplamentos de eixo (comando tangencial) todos eixos envolvidos precisam ser
liberados.
3. Um eixo de posicionamento concorrente no pode ser trocado neste estado.
4. Em um eixo mestre Gantry tambm ocorre a troca para todos eixos escravos.
5. Em acoplamentos de eixo (movimento acoplado, acoplamento de valor mestre,
transmisso eletrnica) somente pode ser liberado o eixo mestre do grupo.

Preparao do trabalho
Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

135

Programao flexvel de NC
1.15 Troca de eixos, troca de fusos (RELEASE, GET, GETD)
Aceitar eixo: GET
Com este comando executada a troca de eixos propriamente dita. A responsabilidade
para o eixo est totalmente no canal onde foi programado o comando.
Efeitos do GET:
Troca de eixos com sincronizao:
Um eixo sempre precisa ser sincronizado quando ele estava atribudo em um outro canal ou
no PLC, e se antes do GET ocorreu uma sincronizao pelo "WAITP", G74 ou se foi
anulado o curso restante.
Ocorre uma parada de pr-processamento (como no SOPRE)
O processamento permanece interrompido at que a troca seja completamente
executada.

"GET" automtico
Se a princpio um eixo est disponvel no canal, mas nesse momento no como "Eixo de
canal", o GET executado automaticamente. Se o eixo ou os eixos j esto sincronizados,
no criada nenhuma parada de pr-processamento.

Ajustar o comportamento de eixos de forma modificvel


O momento de entrega dos eixos pode ser ajustado atravs de um dado de mquina da
seguinte forma:
A troca automtica de eixos entre dois canais tambm executada se o eixo tiver sido
colocado em estado neutro (transferncia convencional) com WAITP
Na solicitao de uma rotao de contentor de eixos todos os eixos do contentor que
estiverem atribudos ao canal executado sero chamados no canal atravs do GET ou
GETD implcito. Uma troca de eixos seguinte somente ser permitida aps a concluso
da rotao do contentor de eixos.
Aps um bloco intermedirio colocado no processamento principal se controla se uma
reorganizao ou no necessria. Uma reorganizao somente se faz necessria
quando os estados dos eixos deste bloco no coincidirem com os atuais estados dos
eixos.
Ao invs de um bloco GET com parada de pr-processamento e ao sincronizada entre
o pr-processamento e o processamento principal, tambm pode ser realizada uma troca
de eixos sem o pr-processamento. Ento apenas se gera um bloco intermedirio com a
solicitao GET. No processamento principal, durante a execuo deste bloco, se
controla se os estados do eixo no bloco esto de acordo com os estados atuais de eixo.
Para mais informaes sobre a funcionalidade de uma troca de eixos ou de fusos, veja o
Manual de funes ampliadas; BAGs, Canais, Troca de eixos (K5).

Preparao do trabalho

136

Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

Programao flexvel de NC
1.16 Transferir eixo de outro canal (AXTOCHAN)

1.16

Transferir eixo de outro canal (AXTOCHAN)

Funo
Com o comando de linguagem AXTOCHAN se pode solicitar um eixo que ser transferido para
outro canal. O eixo pode ser transferido ao canal correspondente tanto do programa de
pea NC como de uma ao sincronizada.

Sintaxe

AXTOCHAN(nome de eixo,nmero de canal[,nome de eixo,nmero de


canal[,...]])

Significado
Elemento

Descrio

AXTOCHAN:

Solicitar eixo para um determinado canal

Nome de eixo:

Atribuio de eixos no sistema: X, Y, ou especificao do nome de eixo


de mquina envolvido. O canal a ser executado no precisa ser o prprio
canal e ele tambm no precisa ser o canal que atualmente detm o direito
de interpolao do eixo

Nmero de canal:

Nmero do canal que deve ser atribudo ao eixo

Indicao
Eixo de posicionamento concorrente e eixo controlado exclusivamente por PLC
Um eixo PLC no pode mudar de canal como eixo de posicionamento concorrente. Um eixo
controlado exclusivamente pelo PLC no pode ser atribudo ao programa NC.
Literatura
Manual de funes ampliadas; Eixos de posicionamento (P2)

Exemplo

AXTOCHAN no programa NC
Os eixos X e Y so conhecidos no 1 canal e no 2 canal. Atualmente o canal 1 detm o
direito de interpolao e no canal 1 se inicia o seguinte programa:
Cdigo de programa

Comentrio

N110 AXTOCHAN(Y,2)

; Transferir o eixo Y para o 2 canal.

N111 M0
N120 AXTOCHAN(Y,1)

; Busca novamente o eixo B (neutro).

N121 M0
N130 AXTOCHAN(Y,2,X,2)

; Transferir o eixo Y e o eixo X para o 2 canal


(eixos neutros).

Preparao do trabalho
Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

137

Programao flexvel de NC
1.17 Ativar dados de mquina (NEWCONF)

Cdigo de programa

Comentrio

N131 M0
N140 AXTOCHAN(Y,2)

; Transferir o eixo Y para o 2 canal (programa NC).

N141 M0

Outras informaes
AXTOCHAN no programa NC
Neste caso, apenas com uma solicitao do eixo para o programa NC em canal prprio
que se executa um GET e com isso tambm se espera pela real alterao de estados. Se o
eixo for solicitado para outro canal ou se ele deve ser um eixo neutro no prprio canal, ento
apenas ser cancelada a solicitao.
AXTOCHAN a partir de uma ao sincronizada
Se um eixo for solicitado para o prprio canal, ento o AXTOCHAN de uma ao sincronizada
forma o GET a partir de uma ao sincronizada. Neste caso o eixo passa a ser o eixo neutro
na primeira solicitao do prprio canal. Na segunda solicitao o eixo do programa NC
atribudo de forma anloga solicitao GET no programa NC. Para solicitao GET a partir
de uma ao sincronizada, veja o captulo "Aes sincronizadas de movimentos".

1.17

Ativar dados de mquina (NEWCONF)

Funo
Com o comando NEWCONF so ativados todos os dados de mquina de nvel de atividade
"NEW_CONFIG". A funo tambm pode ser ativada na interface de operao HMI atravs
da softkey "Ativar MD".
Com a execuo da funo "NEWCONF" executada uma parada de pr-processamento
implcita, isto , se interrompe o movimento de percurso.

Sintaxe
NEWCONF

Significado
NEWCONF:

Comando para tornar ativos todos os dados de mquina do nvel de ativao


"NEW_CONFIG"

Preparao do trabalho

138

Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

Programao flexvel de NC
1.18 Gravar arquivo (WRITE)

Executar o NEWCONF a partir de um programa de pea entre vrios canais


Se dados de mquina de eixos forem alterados a partir do programa de pea e, sem
seguida, ativados com NEWCONF, ento o NEWCONF ativa apenas os dados de mquina que
realizam alteraes para o canal do programa de pea.
Indicao
Para permitir que todas alteraes sejam ativadas, se deve executar o comando NEWCONF em
todo canal onde atualmente so calculados os eixos ou funes alterados que foram
afetados pelos dados de mquina.
Com NEWCONF no se ativa nenhum dado de mquina de eixos.
Para eixos controlados por PLC deve ser executado um RESET de eixo.

Exemplo

Fresamento: Execuo da posio de furao com diferentes tecnologias


Cdigo de programa

Comentrio

N10 $MA_CONTOUR_TOL[AX]=1.0

; Modificar dados de mquina.

N20 NEWCONF

; Ativar dados de mquina.

...

1.18

Gravar arquivo (WRITE)

Funo

Com o comando WRITE possvel que blocos e dados de um programa NC sejam gravados
no final de um arquivo indicado no sistema passivo de arquivos (arquivo de protocolo). Isto
tambm pode ser feito com o programa que estiver em execuo naquele momento.
Indicao
Um arquivo que deve ser gravado com o comando WRITE ser criado, caso ele ainda no
exista no NC.
O local de armazenamento a memria NC esttica. Para o SINUMERIK 840D sl o carto
CompactFlash Card. Em comparao ao SINUMERIK 840D o tempo de processamento do
comando WRITE aumenta em aprox. 75 ms.
Se j existir um arquivo de mesmo nome no disco rgido, ele ser substitudo pelo novo
assim que o arquivo for fechado (no NC). Soluo: Modificar os nomes dos dados no NC
atravs da interface de operao
Alm disso, com o comando WRITE tambm possvel gravar dados de um programa NC em
um dispositivo externo ou em um arquivo externo (veja tambm em "Process DataShare Sada para um dispositivo ou arquivo externo (EXTOPEN, WRITE, EXTCLOSE)
(Pgina 605)").

Preparao do trabalho
Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

139

Programao flexvel de NC
1.18 Gravar arquivo (WRITE)

Pr-requisito
O atual nvel de proteo ajustado deve ser igual ou mais alto do que o direito READ do
arquivo. Se este no for o caso, o acesso ser negado com mensagem de erro (valor
retornado das variveis com erro = 13).

Sintaxe
DEF INT <erro>
...
WRITE(<erro>,"<nome de arquivo>"/"<dispositivo externo>","<bloco/dados>")

Significado
WRITE:

Comando para adicionar um bloco ou dados no fim do arquivo indicado

<erro>:

Parmetro 1: Varivel para o retorno do valor do erro


Tipo:

INT

Valor:

nenhum erro

Caminho no permitido

Caminho no encontrado

Arquivo no encontrado

Tipo de arquivo incorreto

10

Arquivo est cheio

11

Arquivo est sendo usado

12

Nenhum recurso livre

13

Sem direito de acesso

14

EXTOPEN ausente ou com falha para o dispositivo de


destino

15

Erro durante a gravao no dispositivo externo

16

programado caminho externo invlido

Preparao do trabalho

140

Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

Programao flexvel de NC
1.18 Gravar arquivo (WRITE)
<nome do
arquivo>:

Parmetro 2: Nome do arquivo no sistema passivo de arquivos onde o


bloco especificado ou os dados especificados devem ser adicionados
Tipo:

STRING

Ao indicar o nome do arquivo devem ser observados os seguintes itens:


O nome de arquivo indicado no pode conter espaos vazios ou
caracteres de controle (caracteres de cdigo ASCII 32), caso
contrrio o comando WRITE ser cancelado com o identificador de erro
1 "Caminho no permitido".
O nome do arquivo pode ser especificado com indicao do caminho e
extenso de arquivo:
Indicaes de caminho
As indicaes de caminho devem ser absolutas, isto , elas
comeam com "/".
Sem a indicao do caminho o arquivo ser armazenado no atual
diretrio (=diretrio do programa selecionado).
Extenso de arquivo
Se o nome de arquivo no possui nenhum identificador de domnio
("_N_"), ele ser complementado de acordo.
Se no nome de arquivo o quarto ltimo caractere for um sublinhado
"_", ento os trs caracteres seguintes sero interpretados como
extenso de arquivo. Para utilizar o mesmo nome de arquivo em
todos comandos de arquivo, por exemplo, atravs de uma varivel
do tipo STRING, somente podem ser utilizadas as extenses de
arquivo _SPF e _MPF.
Se nenhuma extenso "_MPF" ou "_SPF" for especificada,
complementado automaticamente com _MPF.
O nome do arquivo no pode ter mais de 32 bytes, a extenso da
indicao do caminho no pode ter mais de 128 bytes.
Exemplo:
"PROTFILE"
"_N_PROTFILE"
"_N_PROTFILE_MPF"
"/_N_MPF_DIR_/_N_PROTFILE_MPF/"
<dispositivo
externo>:

Se dados devem ser transferidos para um dispositivo ou arquivo externo,


ento, ao invs do nome de arquivo deve ser informado o identificador
simblico para o dispositivo ou arquivo a ser aberto.
Tipo:

STRING

Para mais informaes, veja em "Process DataShare - Sada para um


dispositivo ou arquivo externo (EXTOPEN, WRITE, EXTCLOSE)
(Pgina 605)".
Nota:
O identificador deve ser idntico ao identificador especificado no
comando EXTOPEN.
<bloco/dados>:

Bloco ou dados que devem ser adicionados no arquivo indicado.


Tipo:

STRING

Preparao do trabalho
Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

141

Programao flexvel de NC
1.18 Gravar arquivo (WRITE)

Indicao
Durante a gravao no sistema passivo de arquivos do NCK o comando WRITE insere de
maneira implcita um caractere "LF" (LINE FEED = quebra de linha) no final da String de
sada.
Este procedimento no aplicado para a transferncia para um dispositivo ou arquivo
externo. Se for necessrio emitir um "LF", isto dever ser informado de maneira implcita na
String de sada.
Para isso veja o exemplo 3: LF implcito/explcito!

Condies gerais
Tamanho de arquivo mximo ( Fabricante da mquina!)
O tamanho de arquivo mximo possvel para arquivos de protocolo no sistema passivo
de arquivos configurado com o dado de mquina:
MD11420 $MN_LEN_PROTOCOL_FILE
O tamanho de arquivo mximo vale para todos os arquivos que foram criados no sistema
passivo de arquivos com o comando WRITE. No caso de ser excedido, aparece uma
mensagem de erro e o bloco ou os dados no sero armazenados. Enquanto houver
espao de memria, ainda se pode criar um novo arquivo.

Exemplos

Exemplo 1: Comando WRITE no sistema passivo de arquivos sem indicao absoluta do


caminho
Cdigo de programa

Comentrio

N10 DEF INT ERROR

; Definio das variveis


de erro.

N20 WRITE(ERROR,"PROT","PROTOCOLO DE 7.2.97")

; Grava o texto do
"PROTOCOLO DE 7.2.97" no
arquivo _N_PROT_MPF.

N30 IF ERROR

; Avaliao de erro.

N40 MSG ("Erro no comando WRITE:" <<ERROR)


N50 M0
N60 ENDIF
...

Exemplo 2: Comando WRITE no sistema passivo de arquivos com indicao absoluta do


caminho
Cdigo de programa
...
WRITE(ERROR,"/_N_WCS_DIR/_N_PROT_WPD/_N_PROT_MPF","PROTOCOLO DE 7.2.97")
...

Preparao do trabalho

142

Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

Programao flexvel de NC
1.18 Gravar arquivo (WRITE)
Exemplo 3: "LF" implcito/explcito
a, gravao no sistema passivo de arquivos com "LF" gerada de maneira implcita
Cdigo de programa
...
N110 DEF INT ERROR
N120 WRITE(ERROR,"/_N_MPF_DIR/_N_MYPROTFILE_MPF","MY_STRING")
N130 WRITE(ERROR,"/_N_MPF_DIR/_N_MYPROTFILE_MPF","MY_STRING")
N140 M30

Resultado da emisso:
MY_STRING
MY_STRING
b, gravao em arquivo externo sem "LF" gerada de maneira implcita
Cdigo de programa
...
N200 DEF STRING[30] DEV_1
N210 DEF INT ERROR
N220 DEV_1="LOCAL_DRIVE/myprotfile.mpf"
N230 EXTOPEN(ERROR,DEV_1)
N240 WRITE(ERROR,DEV_1,"MY_STRING")
N250 WRITE(ERROR,DEV_1,"MY_STRING")
N260 EXTCLOSE(ERROR,DEV_1)
N270 M30

Resultado da emisso:
MY_STRINGMY_STRING
c, gravao em arquivo externo com "LF" programada de maneira explcita
Para conseguir o mesmo resultado como em a, deve-se programar o seguinte:
Cdigo de programa
...
N200 DEF STRING[30] DEV_1
N210 DEF INT ERROR
N220 DEV_1="LOCAL_DRIVE/myprotfile.mpf"
N230 EXTOPEN(ERROR,DEV_1)
N240 WRITE(ERROR,DEV_1,"MY_STRING'H0A'")
N250 WRITE(ERROR,DEV_1,"MY_STRING'H0A'")
N260 EXTCLOSE(ERROR,DEV_1)
N270 M30

Resultado da emisso:
MY_STRING
MY_STRING
Preparao do trabalho
Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

143

Programao flexvel de NC
1.19 Deletar arquivo (DELETE)

Ver tambm
Process DataShare - Sada para um dispositivo ou arquivo externo (EXTOPEN, WRITE,
EXTCLOSE) (Pgina 605)

1.19

Deletar arquivo (DELETE)

Funo
Com o comando DELETE se pode deletar todos os arquivos, independente deles serem
criados ou no com o comando WRITE. Mesmo os arquivos atribudos com um nvel de
acesso mais alto podem ser deletados com DELETE.

Sintaxe

DEF INT <erro>


DELETE(<erro>,"<nome de arquivo>")

Significado
DELETE:

Comando para deletar o arquivo indicado

<erro>:

Varivel para o retorno do valor do erro


Tipo.

INT

Valor:

nenhum erro

Caminho no permitido

Caminho no encontrado

Arquivo no encontrado

Tipo de arquivo incorreto

11

Arquivo est sendo usado

12

Nenhum resource livre

20

Outros erros

Preparao do trabalho

144

Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

Programao flexvel de NC
1.19 Deletar arquivo (DELETE)
<nome do arquivo>:

Nome do arquivo que deve ser deletado


Tipo:

STRING

Ao indicar o nome do arquivo devem ser observados os seguintes itens:


O nome de arquivo indicado no pode conter espaos vazios ou
caracteres de controle (caracteres de cdigo ASCII 32), caso
contrrio o comando DELETE ser cancelado com o identificador de
erro 1 "Caminho no permitido".
O nome do arquivo pode ser especificado com indicao do
caminho e extenso de arquivo:
Indicaes de caminho
As indicaes de caminho devem ser absolutas, isto , elas
comeam com "/".
Sem a indicao do caminho o arquivo ser procurado no atual
diretrio (=diretrio do programa selecionado).
Extenso de arquivo
Se o nome de arquivo no possui nenhum identificador de
domnio ("_N_"), ele ser complementado de acordo.
Se no nome de arquivo o quarto ltimo caractere for um
sublinhado "_", ento os trs caracteres seguintes sero
interpretados como extenso de arquivo. Para utilizar o mesmo
nome de arquivo em todos comandos de arquivo, por exemplo,
atravs de uma varivel do tipo STRING, somente podem ser
utilizadas as extenses de arquivo _SPF e _MPF.
Se nenhuma extenso "_MPF" ou "_SPF" for especificada,
complementado automaticamente com _MPF.
O nome do arquivo no pode ter mais de 32 bytes, o tamanho da
indicao do caminho no pode ter mais de 128 bytes.
Exemplo:
"PROTFILE"
"_N_PROTFILE"
"_N_PROTFILE_MPF"
"/_N_MPF_DIR_/_N_PROTFILE_MPF/"

Exemplo
Cdigo de programa

Comentrio

N10 DEF INT ERROR

; Definio das variveis de


erro.

N15 STOPRE

; Parada de pr-processamento.

N20 DELETE(ERROR,"/_N_SPF_DIR/_N_TEST1_SPF")

; Deleta o arquivo TEST1 no


diretrio de subrotinas.

N30 IF ERROR

; Avaliao de erro.

N40 MSG ("Erro no comando DELETE:" <<ERROR)


N50 M0
N60 ENDIF

Preparao do trabalho
Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

145

Programao flexvel de NC
1.20 Ler linhas no arquivo (READ)

1.20
Funo

Ler linhas no arquivo (READ)


O comando READ l uma ou mais linhas no arquivo especificado e armazena as informaes
lidas em um campo de tipo STRING. Cada linha lida ocupa um elemento deste campo.
Indicao
O arquivo precisa estar na memria de usurio esttica do NCK (sistema de arquivos
passivo).

Pr-requisito
O atual nvel de proteo ajustado deve ser igual ou mais alto do que o direito READ do
arquivo. Se este no for o caso, o acesso ser negado com mensagem de erro (valor
retornado das variveis com erro = 13).

Sintaxe

DEF INT <erro>


DEF STRING[<tamanho de String>] <resultado>[<n>,<m>]
READ(<erro>,"<nome de arquivo>",<linha inicial>,<nmero de
linhas>,<resultado>)

Significado
READ:

Comando para leitura de linhas do arquivo especificado e para


armazenamento destas linhas em um campo de varivel.

<erro>:

Varivel para o retorno do valor de erro (parmetro Call-ByReference)


Tipo.

INT

Valor:

nenhum erro

Caminho no permitido

Caminho no encontrado

Arquivo no encontrado

Tipo de arquivo incorreto

11

Arquivo est sendo usado

13

Direito de acesso insuficiente

21

Linha no existente (parmetro <linha inicial>


ou <nmero de linhas> maior que o nmero de
linhas no arquivo indicado).

22

O tamanho de campo das variveis de resultado


(<resultado>) muito pequeno.

23

rea de linhas muito grande (o parmetro <nmero


de linhas> deve ser configurado de modo que seja
permitida a leitura em toda extenso at o fim do
arquivo).
Preparao do trabalho

146

Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

Programao flexvel de NC
1.20 Ler linhas no arquivo (READ)
<nome do arquivo>:

Nome do arquivo que deve ser lido (parmetro Call-By-Value)


Tipo:

STRING

Ao indicar o nome do arquivo devem ser observados os seguintes


itens:
O nome de arquivo indicado no pode conter espaos vazios ou
caracteres de controle (caracteres de cdigo ASCII 32), caso
contrrio o comando READ ser cancelado com o identificador de
erro 1 "Caminho no permitido".
O nome do arquivo pode ser especificado com indicao do
caminho e extenso de arquivo:
Indicaes de caminho
As indicaes de caminho devem ser absolutas, isto , elas
comeam com "/".
Sem a indicao do caminho o arquivo ser procurado no atual
diretrio (=diretrio do programa selecionado).
Extenso de arquivo
Se o nome de arquivo no possui nenhum identificador de
domnio ("_N_"), ele ser complementado de acordo.
Se no nome de arquivo o quarto ltimo caractere for um
sublinhado "_", ento os trs caracteres seguintes sero
interpretados como extenso de arquivo. Para utilizar o mesmo
nome de arquivo em todos comandos de arquivo, por exemplo,
atravs de uma varivel do tipo STRING, somente podem ser
utilizadas as extenses de arquivo _SPF e _MPF.
Se nenhuma extenso "_MPF" ou "_SPF" for especificada,
complementado automaticamente com _MPF.
O nome do arquivo no pode ter mais de 32 bytes, o tamanho da
indicao do caminho no pode ter mais de 128 bytes.
Exemplo:
"PROTFILE"
"_N_PROTFILE"
"_N_PROTFILE_MPF"
"/_N_MPF_DIR_/_N_PROTFILE_MPF/"
<linha inicial>:

<nmero de linhas>:

Linha inicial da rea do arquivo que deve ser lida (parmetro Call-ByValue)
Tipo:

INT

Valor:

Antes do fim do arquivo realizada a leitura


do nmero de linhas especificado com o
parmetro <nmero de linhas>.

1n

Nmero da primeira linha a ser lida.

Nmero de linhas que devem ser lidas (parmetro Call-By-Value)


Tipo:

INT

Preparao do trabalho
Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

147

Programao flexvel de NC
1.21 Controle de presena de um arquivo (ISFILE)
<resultado>:

Varivel de resultado (parmetro Call-By-Reference)


Campo de varivel onde o texto lido armazenado.
Tipo:

STRING (comprimento mximo: 255)

Se no parmetro <nmero de linhas> forem especificadas menos


linhas que o tamanho do campo [<n>,<m>] das variveis de resultado,
ento os elementos de campo restantes no sero alterados.
A terminao de uma linha com o caractere de controle "LF" (Line
Feed) ou "CR LF" (Carriage Return Libe Feed) no armazenada na
varivel de resultado.
As linhas lidas sero truncadas se a linha for maior que o tamanho de
String definido. No se emite nenhuma mensagem de erro.

Indicao
Arquivos binrios no podem ser lidos. retornado o erro "tipo de arquivo incorreto" (valor
de retorno da varivel de erro = 4). No se pode ler os seguintes tipos de arquivo: _BIN,
_EXE, _OBJ, _LIB, _BOT, _TRC, _ACC, _CYC, _NCK.

Exemplo
Cdigo de programa

Comentrio

N10 DEF INT ERROR

;Definio das variveis de erro.

N20 DEF STRING[255] RESULT[5]

;Definio das variveis de resultado.

N30
READ(ERROR,"/_N_CST_DIR/_N_TESTFILE_MPF",1,5,RESULT)

;Nome de arquivo com identificadores de domnio

N40 IF ERROR <>0

;Avaliao de erro.

;e indicao de caminh.

N50 MSG("ERRO"<<ERROR<<"COM COMANDO READ")


N60 M0
N70 ENDIF
...

1.21

Controle de presena de um arquivo (ISFILE)

Funo
Com o comando ISFILE verificada a existncia de um arquivo na memria de usurio
esttica do NCK (sistema passivo de arquivos).

Sintaxe

<resultado>=ISFILE("<nome de arquivo>")

Preparao do trabalho

148

Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

Programao flexvel de NC
1.21 Controle de presena de um arquivo (ISFILE)

Significado
ISFILE:

Comando para controle se o arquivo indicado est presente no sistema


passivo de arquivos.

<nome do arquivo>:

Nome do arquivo cuja presena deve ser controlada no sistema passivo


de arquivos.
Tipo:

STRING

Ao indicar o nome do arquivo devem ser observados os seguintes itens:


O nome de arquivo indicado no pode conter espaos vazios ou
caracteres de controle (caractere com cdigo ASCII 32).
O nome do arquivo pode ser especificado com indicao do
caminho e extenso de arquivo:
Indicaes de caminho
As indicaes de caminho devem ser absolutas, isto , elas
comeam com "/".
Sem a indicao do caminho o arquivo ser procurado no atual
diretrio (=diretrio do programa selecionado).
Extenso de arquivo
Se o nome de arquivo no possui nenhum identificador de
domnio ("_N_"), ele ser complementado de acordo.
Se no nome de arquivo o quarto ltimo caractere for um
sublinhado "_", ento os trs caracteres seguintes sero
interpretados como extenso de arquivo. Para utilizar o mesmo
nome de arquivo em todos comandos de arquivo, por exemplo,
atravs de uma varivel do tipo STRING, somente podem ser
utilizadas as extenses de arquivo _SPF e _MPF.
Se nenhuma extenso "_MPF" ou "_SPF" for especificada,
complementado automaticamente com _MPF.
O nome do arquivo no pode ter mais de 32 bytes, o tamanho da
indicao do caminho no pode ter mais de 128 bytes.
Exemplo:
"PROTFILE"
"_N_PROTFILE"
"_N_PROTFILE_MPF"
"/_N_MPF_DIR_/_N_PROTFILE_MPF/"
<resultado>:

Varivel de resultado para receber o resultado do controle


Tipo.

BOOL

Valor:

TRUE

Arquivo presente

FALSE

Arquivo no presente

Preparao do trabalho
Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

149

Programao flexvel de NC
1.22 Leitura das informaes de arquivo (FILEDATE, FILETIME, FILESIZE, FILESTAT, FILEINFO)

Exemplo
Cdigo de programa

Comentrio

N10 DEF BOOL RESULT

; Definio das variveis de resultado.

N20 RESULT=ISFILE("TESTFILE")
N30 IF(RESULT==FALSE)
N40 MSG("ARQUIVO INEXISTENTE")
N50 M0
N60 ENDIF
...

ou:
Cdigo de programa

Comentrio

N10 DEF BOOL RESULT

; Definio das variveis de resultado.

N20 RESULT=ISFILE("TESTFILE")
N30 IF(NOT ISFILE("TESTFILE"))
N40 MSG("ARQUIVO INEXISTENTE")
N50 M0
N60 ENDIF
...

1.22

Leitura das informaes de arquivo (FILEDATE, FILETIME,


FILESIZE, FILESTAT, FILEINFO)

Funo
Atravs dos comandos FILEDATE, FILETIME, FILESIZE, FILESTAT e FILEINFO possvel ler
(extrair) determinadas informaes de arquivo como data / horrio do ltimo acesso de
gravao, atual tamanho de arquivo, estado de arquivo ou a soma destas informaes.
Indicao
O arquivo precisa estar na memria de usurio esttica do NCK (sistema de arquivos
passivo).

Pr-requisito
O atual nvel de proteo ajustado deve ser igual ou mais alto do que o direito Show do
diretrio de um nvel acima. Se este no for o caso, o acesso ser negado com mensagem
de erro (valor retornado das variveis com erro = 13).

Preparao do trabalho

150

Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

Programao flexvel de NC
1.22 Leitura das informaes de arquivo (FILEDATE, FILETIME, FILESIZE, FILESTAT, FILEINFO)

Sintaxe

FILE....(<erro>,"<nome de arquivo>",<resultado>)

Significado
FILEDATE:

Fornece a Data do ltimo acesso ao arquivo

FILETIME:

Fornece o Horrio do ltimo acesso ao arquivo

FILESIZE:

Fornece o tamanho atualde um arquivo

FILESTAT:

Fornece o Status de um arquivo referente os seguintes direitos:

Leitura (r: read)


Gravao (w: write)
Execuo (x: execute)
Exibio (s: show)
Deleo (d: delete)

FILEINFO:

Fornece para um arquivo a doma das informaes,que foram lidas


atravs de FILEDATE, FILETIME, FILESIZE e FILESTAT

<erro>:

Varivel para o retorno do valor de erro (parmetro Call-By-Reference)


Tip.

VAR INT

Valor:

nenhum erro

Caminho no permitido

Caminho no encontrado

Arquivo no encontrado

Tipo de arquivo incorreto

13

Direito de acesso insuficiente

22

O tamanho de String das variveis de resultado


(<resultado>) muito pequeno.

Preparao do trabalho
Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

151

Programao flexvel de NC
1.22 Leitura das informaes de arquivo (FILEDATE, FILETIME, FILESIZE, FILESTAT, FILEINFO)
<nome do arquivo>:

Nome do arquivo de onde devem ser lidas (extradas) as informaes


de arquivo.
Tipo:
CHAR[160]
Ao indicar o nome do arquivo devem ser observados os seguintes itens:
O nome de arquivo indicado no pode conter espaos vazios ou
caracteres de controle (caracteres de cdigo ASCII 32), caso
contrrio o comando FILE... ser cancelado com o identificador de
erro 1 "Caminho no permitido".
O nome do arquivo pode ser especificado com indicao do caminho
e extenso de arquivo:
Indicaes de caminho
As indicaes de caminho devem ser absolutas, isto , elas
comeam com "/".
Sem a indicao do caminho o arquivo ser procurado no atual
diretrio (=diretrio do programa selecionado).
Extenso de arquivo
Se o nome de arquivo no possui nenhum identificador de
domnio ("_N_"), ele ser complementado de acordo.
Se no nome de arquivo o quarto ltimo caractere for um
sublinhado "_", ento os trs caracteres seguintes sero
interpretados como extenso de arquivo. Para utilizar o mesmo
nome de arquivo em todos comandos de arquivo, por exemplo,
atravs de uma varivel do tipo STRING, somente podem ser
utilizadas as extenses de arquivo _SPF e _MPF.
Se nenhuma extenso "_MPF" ou "_SPF" for especificada,
complementado automaticamente com _MPF.
O nome do arquivo no pode ter mais de 32 bytes, o tamanho da
indicao do caminho no pode ter mais de 128 bytes.
Exemplo:
"PROTFILE"
"_N_PROTFILE"
"_N_PROTFILE_MPF"
"/_N_MPF_DIR_/_N_PROTFILE_MPF/"

<resultado>:

Varivel de resultado (parmetro Call-By-Reference)


Varivel onde a informao de arquivo solicitada armazenada.
Tipo:
VAR CHAR[8]
no
FILEDATE
Formato: "dd.mm.yy"
VAR CHAR[8]
no
FILETIME
Formato: " hh:mm.ss "
VAR INT
no
FILESIZE
O tamanho de arquivo
retornado em Bytes.
VAR CHAR[5]
no
FILESTAT
Formato: "rwxsd"
(r: read, w: write, x: execute,
s: show, d: delete)
VAR CHAR[32]
no
FILEINFO
Formato: "rwxsd nnnnnnnn
dd.mm.yy hh:mm:ss"

Preparao do trabalho

152

Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

Programao flexvel de NC
1.23 Arredondamento (ROUNDUP)

Exemplo
Cdigo de programa

Comentrio

N10 DEF INT ERROR

; Definio das variveis de


erro.

N20 STRING[32] RESULT

; Definio das variveis de


resultado.

N30 FILEINFO(ERROR,"/_N_MPF_DIR/_N_TESTFILE_MPF",RESULT)

; Nome de arquivo com


identificadores de domnio e de
arquivo e indicao do caminho.

N40 IF ERROR <>0

; Avaliao de erro

N50 MSG("ERRO"<<ERROR<<"COM COMANDO FILEINFO")


N60 M0
N70 ENDIF
...

Por exemplo, o exemplo poderia retornar o seguinte resultado na varivel RESULT:


"77777 12345678 26.05.00 13:51:30"

1.23

Arredondamento (ROUNDUP)

Funo
Com a funo "ROUNDUP" se pode arredondar os valores de entrada de tipo REAL
(nmeros fracionados com ponto decimal) para o prximo nmero inteiro maior.

Sintaxe

ROUNDUP(<valor>)

Significado
ROUNDUP:

Comando para arredondar um valor de entrada

<valor>:

Valor de entrada de tipo REAL

Indicao
Valores de entrada de tipo INTEGER (um nmero inteiro) so retornados sem alterao.

Preparao do trabalho
Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

153

Programao flexvel de NC
1.24 Tcnica de subrotinas

Exemplos
Exemplo 1: Diversos valores de entrada e seus resultados de arredondamento
Exemplo

Resultado de arredondamento

ROUNDUP(3.1)

4.0

ROUNDUP(3.6)

4.0

ROUNDUP(-3.1)

-3.0

ROUNDUP(-3.6)

-3.0

ROUNDUP(3.0)

3.0

ROUNDUP(3)

3.0

Exemplo 2: ROUNDUP no programa NC


Cdigo de programa
N10 X=ROUNDUP(3.5) Y=ROUNDUP(R2+2)
N15 R2=ROUNDUP($AA_IM[Y])
N20 WHEN X=100 DO Y=ROUNDUP($AA_IM[X])
...

1.24

Tcnica de subrotinas

1.24.1

Informaes gerais

1.24.1.1

Subrotina

Funo
A denominao "subrotina" uma herana do tempo em que se dividia os programas de
peas em programas principais e subrotinas. No caso, os programas principais eram os
programas de pea que eram selecionados no comando para execuo e depois era dada a
partida dos mesmos. As subrotinas eram os programas de pea que eram chamados a
partir do programa principal.
Esta diviso no existe mais na atual linguagem NC do SINUMERIK. Cada programa de
pea pode, em princpio, ser selecionado e iniciado como programa principal, ou ento ser
chamado como subrotina a partir de outro programa de pea.
Com isso, nos demais procedimentos, uma subrotina denominada como um programa de
pea que pode ser chamado a partir de outro programa de pea.

Preparao do trabalho

154

Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

Programao flexvel de NC
1.24 Tcnica de subrotinas

3URJUDPDSULQFLSDO

6XEURWLQD

Aplicao
Como em todas as linguagens de programao de nvel mais alto, na linguagem NC as
subrotinas tambm so aplicadas para armazenar (comportar) programas fechados e
independentes, que utilizam partes de programa mltiplas vezes.
As subrotinas oferecem as seguintes vantagens:
Melhoram a clareza e leitura dos programas
Melhoram a qualidade atravs do reaproveitamento de partes de programa j testados
Oferecem a opo para aquisio de bibliotecas especficas de usinagem
Economizam espao na memria

1.24.1.2

Nomes de subrotina

Regras para denominao


Para a atribuio de nomes de subrotinas devem ser observadas as seguintes regras:
Os dois primeiros caracteres devem ser letras (A - Z, a - z).
Os caracteres seguintes podem ser utilizados em qualquer combinao de letras,
nmeros (0 - 9) e sublinhados ("_").
permitido o uso de at 31 caracteres.
Indicao
Na linguagem NC do SINUMERIK no feita nenhuma distino entre letras maisculas
e letras minsculas.

Preparao do trabalho
Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

155

Programao flexvel de NC
1.24 Tcnica de subrotinas

Ampliaes do nome do programa


O nome de programa atribudo na criao do programa ampliado internamente no
comando com um prefixo e um sufixo:
Prefixo: _N_
Sufixo:
Programas principais: _MPF
Subrotinas: _SPF

Utilizao do nome de programa


Para a utilizao do nome de programa, por exemplo em uma chamada de subrotina, so
possveis todas as combinaes de prefixo, nome de programa e sufixo.
Exemplo:
A subrotina com o nome de programa "SUB_PROG" pode ser iniciada atravs das
seguintes chamadas:
1.

SUB_PROG

2.

_N_SUB_PROG

3.

SUB_PROG_SPF

4.

_N_SUB_PROG_SPF

Indicao
Igualdade de nome de programas principais e subrotinas
Programas principais (.MPF) e subrotinas (.SPF) que existirem com o mesmo nome de
programa, devem receber o sufixo correspondente quando os nomes de programas forem
utilizados no programa de pea, para identificar de forma clara cada programa.

1.24.1.3

Aninhamento de subrotinas
Um programa principal pode chamar subrotinas, que por sua vez podem chamar outras
subrotinas. Dessa forma as execues dos programas esto agrupadas uma dentro da
outra. Por isso que cada programa processado em um nvel de programa prprio.

Nvel de agrupamento
Atualmente a linguagem NC coloca 16 nveis de programa disposio. O programa
principal sempre processado no nvel de programa mais alto, o nvel 0. Uma subrotina
sempre processada no prximo nvel de programa mais baixo a partir da chamada. Assim
o nvel de programa 1 o primeiro nvel de subrotina.

Preparao do trabalho

156

Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

Programao flexvel de NC
1.24 Tcnica de subrotinas
Diviso dos nveis de programa:
Nvel de programa 0: Nvel de programa principal
Nvel de programa 1 - 15: Nvel de subrotina 1 - 15
1YHLVGHSURJUDPDP[

3URJU
SULQF

6XE
URWLQD

6XE
URWLQD

...

...

6XE
URWLQD

Rotinas de interrupo (ASUP)


Se uma subrotina chamada durante uma rotina de interrupo, esta no ser processada
no atual nvel de programa (n) ativo no canal, mas no prximo nvel de programa mais baixo
(n+1). Para que isto tambm seja possvel no nvel de programa mais baixo, esto
disponveis 2 nveis de programa extras (16 e 17) quando relacionados com rotinas de
interrupo.
Se forem necessrios mais que 2 nveis de programa, isto deve ser considerado de modo
explcito na estruturao do programa de pea executado no canal. Isto significa que
somente pode ser utilizado um nmero de nveis de programa que ainda proporcione a
quantidade de nveis de programa suficiente para a execuo da interrupo.
Por exemplo, se a execuo da interrupo precisar de 4 nveis de programa, o programa
de pea deve ser estruturado de modo que ele ocupe no mximo at o nvel de programa
13. Quando ocorre uma interrupo, estes 4 nveis de programa (14 at 17) necessrios
estaro disponveis.

Ciclos da Siemens
Os ciclos da Siemens requerem 3 nveis de programa. Por isso que a chamada de um ciclo
da Siemens deve ocorrer no mximo at:
Na execuo do programa de pea: Nvel de programa 12
Na rotina de interrupo: Nvel de programa 14

1.24.1.4

Caminho de localizao
Na chamada de uma subrotina sem indicao do caminho o comando procura na seguinte
ordem de diretrios indicada:
Seqncia

Diretrio

Descrio

1.

Atual diretrio

Diretrio do programa de chamada

2.

/_N_SPF_DIR /

Diretrio de subrotinas global

Preparao do trabalho
Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

157

Programao flexvel de NC
1.24 Tcnica de subrotinas

1.24.1.5

Seqncia

Diretrio

Descrio

3.

/_N_CUS_DIR /

Ciclos do usurio

4.

/_N_CMA_DIR /

Ciclos do fabricante

5.

/_N_CST_DIR /

Ciclos padronizados

Parmetros formais e parmetros atuais


Os parmetros formais e parmetros atuais esto relacionados com a definio e a
chamada de subrotinas com transferncia de parmetros.

Parmetro formal
Durante a definio de uma subrotina os parmetros que devem ser transferidos
subrotina, os chamados parmetros formais, devem ser definidos com tipo e nome de
parmetro.
Com isso os parmetros formais definem a interface da subrotina.
Exemplo:
Cdigo de programa

Comentrio

PROC CONTORNO (REAL X, REAL Y)

; Parmetro formal: X e Y ambos do tipo REAL

N20 X1=X Y1=Y

; Deslocamento do eixo X1 at a posio X e do


eixo Y1 at a posio Y

...
N100 RET

Parmetro atual
Durante a chamada de uma subrotina devem ser transferidos subrotina valores absolutos
ou variveis, chamados de parmetros atuais.
Com isso os parmetros atuais alimentam os valores atuais durante a chamada da interface
da subrotina.
Exemplo:
Cdigo de programa

Comentrio

N10 DEF REAL LARGURA

; Definio de variveis

N20 LARGURA=20.0

; Atribuio de variveis

N30 CONTORNO(5.5, LARGURA)

; Chamada de subrotina com parmetros atuais:


5.5 e LARGURA

...
N100 M30

Preparao do trabalho

158

Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

Programao flexvel de NC
1.24 Tcnica de subrotinas

1.24.1.6

Transferncia de parmetros

Definio de uma subrotina com transferncia de parmetros


A definio de uma subrotina com transferncia de parmetros realizada com a palavrachave PROC e uma listagem completa de todos os parmetros esperados pela subrotina.

Transferncia incompleta de parmetros


Na chamada da subrotina nem sempre precisam ser transferidos de modo explcito todos os
parmetros definidos na interface da subrotina. Quando um parmetro desconsiderado,
para este parmetro transferido o valor padro "0".
Entretanto, para uma identificao nica da ordem dos parmetros sempre devem ser
indicadas as vrgulas como caracteres de separao dos parmetros. Uma exceo o
ltimo parmetro. Se este no for considerado na chamada, tambm pode ser descartada a
ltima vrgula.
Exemplo:
Subrotina:
Cdigo de programa

Comentrio

PROC SUB_PROG (REAL X, REAL Y, REAL Z)

Parmetro formal: X, Y e Z

...
N100 RET

Programa principal:
Cdigo de programa

Comentrio

PROC MAIN_PROG
...
N30 SUB_PROG(1.0,2.0,3.0)

; Chamada de subrotina com transferncia de


parmetros completa:
X=1.0, Y=2.0, Z=3.0

N100 M30

Exemplos para a chamada de subrotina no N30 com transferncia de parmetros


incompleta:
N30
N30
N30
N30
N30

SUB_PROG( ,2.0,3.0)
SUB_PROG(1.0, ,3.0)
SUB_PROG(1.0,2.0)
SUB_PROG( , ,3.0)
SUB_PROG( , , )

;
;
;
;
;

X=0.0,
X=1.0,
X=1.0,
X=0.0,
X=0.0,

Y=2.0,
Y=0.0,
Y=2.0,
Y=0.0,
Y=0.0,

Z=3.0
Z=3.0
Z=0.0
Z=3.0
Z=0.0

Preparao do trabalho
Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

159

Programao flexvel de NC
1.24 Tcnica de subrotinas

ATENO
Transferncia de parmetros Call-by-Reference
Os parmetros que so transferidos atravs de Call-by-Reference, no podem ser
desconsiderados na chamada de subrotina.
ATENO
Tipo de dados AXIS
Os parmetros do tipo de dados AXIS no podem ser desconsiderados na chamada de
subrotina.

Verificao dos parmetros de transferncia


Atravs da varivel de sistema $P_SUBPAR [ n ] com n = 1, 2, ... pode ser verificado na
subrotina se um parmetro foi transferido de modo explcito ou se ele foi desconsiderado. O
ndice n refere-se ordem dos parmetros formais. O ndice n = 1 refere-se ao 1 parmetro
formal, o ndice n = 2 ao 2 parmetro formal, e assim por diante.
O seguinte segmento de programa mostra no exemplo do 1 parmetro formal, como que
uma verificao pode ser realizada:
Programao

Comentrio

PROC SUB_PROG (REAL X, REAL Y, REAL Z)

; Parmetro formal: X, Y e Z

N20 IF $P_SUBPAR[1]==TRUE

; Verificao do 1 parmetro formal X.

...

; Estas aes so executadas quando o


parmetro formal X foi transferido
explicitamente.

N40 ELSE
...

; Estas aes so executadas quando o


parmetro formal X no foi
transferido.

N60 ENDIF
...

; Aes gerais

N100 RET

Preparao do trabalho

160

Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

Programao flexvel de NC
1.24 Tcnica de subrotinas

1.24.2

Definio de uma subrotina

1.24.2.1

Subrotina sem transferncia de parmetros

Funo
Para a definio de subrotinas sem transferncia de parmetros pode ser descartada a linha
de definio no incio do programa.

Sintaxe
[PROC <nome de programa>]
...

Significado
PROC:

Instruo de definio no incio de um programa

<nome de programa>:

Nome do programa

Exemplo
Exemplo 1: Subrotina com instruo PROC
Cdigo de programa

Comentrio

PROC SUB_PROG

; Linha de definio

N10 G01 G90 G64 F1000


N20 X10 Y20
...
N100 RET

; Salto de retorno da subrotina

Exemplo 2: Subrotina sem instruo PROC


Cdigo de programa

Comentrio

N10 G01 G90 G64 F1000


N20 X10 Y20
...
N100 RET

; Salto de retorno da subrotina

Preparao do trabalho
Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

161

Programao flexvel de NC
1.24 Tcnica de subrotinas

1.24.2.2

Subrotina com transferncia de parmetros Call-by-Value (PROC)

Funo
A definio de uma subrotina com transferncia de parmetros Call-By-Value realizada
com a palavra-chave PROC seguida de nomes de programa e uma listagem completa de
todos os parmetros esperados pela subrotina, com indicao de tipo e nome. A instruo
de definio deve estar na primeira linha do programa.
A transferncia de parmetros Call-by-Value no tem nenhuma reao sobre o programa de
chamada. O programa de chamada transfere subrotina apenas os valores dos parmetros
atuais.

3URJUDPDSULQFLSDO
$WULEXLRGH
YDORUHV
&2035,0(172 
/$5*85$ 

6XEURWLQD
&2035,0(172/$5*85$
1RYDDWULEXLR
GHYDORUHV
&2035,0(172 
/$5*85$ 
9DORUHVQRYRV
YOLGRV

9DORUHVDQWLJRV
YOLGRV

Indicao
Podem ser transferidos no mximo 127 parmetros.

Sintaxe

PROC <Prog_Nome> (<Par_Tipo> <Par_1>[=<Inic_valor_1>]{,


Par_2[=<Inic_val_1>]})

Significado
PROC:

Instruo de definio no incio de um programa

<Prog_Nome>:

Nome do programa

<Par_Tipo>:

Tipo de dados do parmetro (p. ex. REAL, INT, BOOL)

Preparao do trabalho

162

Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

Programao flexvel de NC
1.24 Tcnica de subrotinas
<Par_n>:

Nome do parmetro

<valor_inicializao>:

Valor opcional para inicializao do parmetro


Se no for especificado nenhum parmetro na chamada do
subprograma, ento o valor de inicializao do parmetro ser
o determinado

Exemplo
Definio de uma subrotina SUB_PROG com 3 parmetros do tipo REAL com valores
Default:
Cdigo de programa
PROC SUB_PROG(REAL LENGTH=10.0, REAL WIDTH=20.0, REAL HIGHT=30.0)
...
N100 RET

Diferentes variaes de chamadas:


Cdigo de programa
PROC MAIN_PROG
REAL PAR_1 = 100
REAL PAR_2 = 200
REAL PAR_3 = 300
;variantes de chamada
SUB_PROG
SUB_PROG(PAR_1, PAR_2, PAR_3)
SUB_PROG(PAR_1)
SUB_PROG(PAR_1, , PAR_3)
SUB_PROG( , , PAR_3)
N100 RET

1.24.2.3

Subrotina com transferncia de parmetros Call-by-Reference (PROC, VAR)

Funo
A definio de uma subrotina com transferncia de parmetros Call-By-Reference
realizada com a palavra-chave PROC seguida de nomes de programa e uma listagem
completa de todos os parmetros esperados pela subrotina, com indicao VARde tipo e
nome. A instruo de definio deve estar na primeira linha do programa.
Na transferncia de parmetros Call-By-Reference tambm podem ser transferidas
referncias para os campos.
A transferncia de parmetros Call-by-Reference tem reaes sobre o programa de
chamada. O programa de chamada transfere subrotina uma referncia sobre o parmetro
atual, permitindo assim subrotina um acesso direto varivel correspondente.

Preparao do trabalho
Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

163

Programao flexvel de NC
1.24 Tcnica de subrotinas

3URJUDPDSULQFLSDO
$WULEXLRGH
YDORUHV
&2035,0(172 
/$5*85$ 

6XEURWLQD
&2035,0(172/$5*85$

1RYDDWULEXLR
GHYDORUHV
&2035,0(172 
/$5*85$ 
9DORUHVQRYRV
YOLGRV

9DORUHVQRYRV
YOLGRV

&2035,0(172/$5*85$

Indicao
Podem ser transferidos no mximo 127 parmetros.
Indicao
Uma transferncia de parmetros Call-by-Reference somente necessria se a varivel de
transferncia for definida no programa de chamada (LUD). As variveis globais de canal ou
as variveis globais do NC no precisam ser transferidas, pois estas podem ser acessadas
diretamente pela subrotina.

Sintaxe

PROC <nome de programa> (VAR <tipo de parmetro> <npme de


parmetro>, ...)
PROC <nome de programa> (VAR <tipo de campo> <nome de campo>
[<m>,<n>,<o>], ...)

Significado
PROC:

Instruo de definio no incio de um programa

VAR:

Palavra-chave para a transferncia de parmetros por


referncia

<nome de programa>:

Nome do programa

<tipo de parmetro>:

Tipo de dados do parmetro (p. ex. REAL, INT, BOOL)

<nome de parmetro>:

Nome do parmetro

<tipo de campo>:

Tipo de dados dos elementos de campo (p. ex. REAL, INT, BOOL)

Preparao do trabalho

164

Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

Programao flexvel de NC
1.24 Tcnica de subrotinas
<nome de campo>:

Nome do campo

[<m>,<n>,<o>]:

Tamanho de campo
Atualmente, no mximo so possveis campos de 3
dimenses:
<m>:

Tamanho de campo para 1 dimenso

<n>:

Tamanho de campo para 2 dimenso

<o>:

Tamanho de campo para 3 dimenso

Indicao
O nome de programa informado aps a palavra-chave PROC deve coincidir com o nome de
programa dado na interface de operao.
Indicao
Com campos de tamanho indefinido como parmetros formais se pode processar subrotinas
de campos de tamanho varivel. Para isso no se especifica, por exemplo, o tamanho da 1
dimenso no momento da definio de um campo de duas dimenses como parmetro
formal. Porm, a vrgula precisa ser escrita.
Exemplo: PROC

<nome de programa> (VAR REAL CAMPO[ ,5])

Exemplo
Definio de uma subrotina com 2 parmetros como referncia ao tipo REAL:
Cdigo de programa

Comentrio

PROC SUB_PROG(VAR REAL COMPRIMENTO, VAR REAL LARGURA)

; Parmetro 1: Referncia ao tipo: REAL,


nome: COMPRIMENTO
Parmetro 2: Referncia ao tipo: REAL,
nome: LARGURA

...
N100 RET

Preparao do trabalho
Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

165

Programao flexvel de NC
1.24 Tcnica de subrotinas

1.24.2.4

Salvar funes G modais (SAVE)

Funo
O atributo SAVE faz com que todas funes G modais ativas antes da chamada da subrotina
sejam salvas e novamente ativadas aps o fim da subrotina.
ATENO
Interrupo do modo de controle da trajetria
Se com o modo de controle da trajetria ativo uma subrotina for chamada com o atributo
o modo de controle da trajetria interrompido no fim da subrotina (salto de retorno).

SAVE,

Sintaxe

PROC <nome da subrotina> SAVE

Significado
SAVE:

Salvamento das funes G antes da chamada da subrotina e seu


restabelecimento aps o fim da subrotina

Exemplo
Na subrotina CONTORNO atua a funo G modal G91 (dimenso incremental). No programa
principal atua a funo G modal G90 (dimenso absoluta). Atravs da definio de subrotina
com o SAVE o G90 torna-se novamente ativo no programa principal aps o fim da subrotina.
Definio de subrotina:
Cdigo de programa

Comentrio

PROC CONTORNO (REAL VALOR1) SAVE

; Definio de subrotina com parmetro SAVE

N10 G91 ...

; Funo G modal G91: Dimenso incremental

N100 M17

; Fim de subrotina

Programa principal:
Cdigo de programa

Comentrio

N10 G0 X... Y... G90

; Funo G modal G90: Dimenso absoluta

N20 ...
...
N50 CONTORNO (12.4)

; Chamada de subrotina

N60 X... Y...

; Funo G modal G90 reativada atravs do SAVE

Preparao do trabalho

166

Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

Programao flexvel de NC
1.24 Tcnica de subrotinas

Condies gerais
Frames
A relao dos Frames em relao s subrotinas com o atributo SAVE depende do tipo do
Frame e pode ser ajustada atravs de dados de mquina.

Literatura
Manual de funes bsicas, eixos, sistemas de coordenadas, Frames (K2),
captulo: "Salto de retorno de subrotinas com SAVE"

1.24.2.5

Supresso de processamento bloco a bloco (SBLOF, SBLON)

Funo
Supresso de bloco a bloco para o programa inteiro
Os programas identificados com SBLOF so executados inteiros, mesmo com o
processamento bloco a bloco ativo, ou seja, o processamento bloco a bloco suprimido em
todo o programa.
SBLOF est na linha PROC e vale at o fim ou cancelamento da subrotina. Com o comando de
salto de retorno se decide se a parada deve ser feita no fim da subrotina ou no:

Salto de retorno com M17:

Parada no fim da subrotina

Salto de retorno com RET:

Nenhuma parada no fim da subrotina

Supresso de bloco a bloco dentro do programa


O SBLOF deve constar isolado em um bloco. A partir deste bloco se desativa o bloco a bloco
at:
o prximo SBLON ou
ou
o fim do nvel ativo da subrotina

Sintaxe
Supresso de bloco a bloco para o programa inteiro:
PROC ... SBLOF
Supresso de bloco a bloco dentro do programa:
SBLOF
...
SBLON

Preparao do trabalho
Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

167

Programao flexvel de NC
1.24 Tcnica de subrotinas

Significado
PROC:

Primeira instruo de um programa

SBLOF:

Comando para desativao do processamento bloco a bloco


O SBLOF pode estar em um bloco PROC ou isolado em um bloco.

SBLON:

Comando para ativar o processamento bloco a bloco


O SBLON deve estar em um bloco prprio.

Condies gerais
Supresso de bloco a bloco e exibio de bloco
A atual exibio de bloco pode ser ocultada em ciclos/subrotinas com DISPLOF. Se o
DISPLOF for programado junto com o SBLOF, ento ser exibida a chamada do
ciclo/subrotina na parada do bloco a bloco durante o ciclo/subrotina.
Supresso de bloco a bloco na ASUP de sistema na ASUP de usurio
Se a parada de bloco a bloco na ASUP de sistema ou de usurio for suprimida atravs
das configuraes no dado de mquina
MD10702 $MN_IGNORE_SINGLEBLOCK_MASK (Bit0 = 1 e Bit1 = 1), ento a parada de
bloco a bloco pode ser ativada novamente atravs da programao do SBLON na ASUP.
Se a parada de bloco a bloco for suprimida na ASUP de usurio atravs da configurao
no dado de mquina MD20117 $MC_IGNORE_SINGLEBLOCK_ASUP, ento a parada
de bloco a bloco no pode ser ativada novamente atravs da programao de SBLON na
ASUP.
Particularidades da supresso de bloco a bloco nos diversos tipos de processamento
bloco a bloco
Com o processamento bloco a bloco SBL2 (parada aps cada bloco de programa de
pea) ativo no se executa a parada no bloco do SBLON se no
MD10702 $MN_IGNORE_SINGLEBLOCK_MASK (evitar parada de bloco a bloco) o
Bit 12 estiver ajustado em "1".
Com o processamento bloco a bloco SBL3 (parada aps cada bloco de programa de
pea e tambm no ciclo) se suprimir o comando SBLOF.

Exemplos

Exemplo 1: Supresso de bloco a bloco dentro de um programa


Cdigo de programa

Comentrio

N10 G1 X100 F1000


N20 SBLOF

; Desativar bloco a bloco

N30 Y20
N40 M100
N50 R10=90
N60 SBLON

; Ativar novamente bloco a bloco

N70 M110
N80 ...

A rea entre N20 e N60 processada como um passo em modo bloco a bloco.

Preparao do trabalho

168

Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

Programao flexvel de NC
1.24 Tcnica de subrotinas
Exemplo 2: O ciclo deve atuar como um comando para o usurio
Programa principal:
Cdigo de programa
N10 G1 X10 G90 F200
N20 X-4 Y6
N30 CYCLE1
N40 G1 X0
N50 M30

Ciclo CYCLE1:
Cdigo de programa

Comentrio

N100 PROC CYCLE1 DISPLOF SBLOF

; Suprimir bloco a bloco

N110 R10=3*SIN(R20)+5
N120 IF (R11 <= 0)
N130 SETAL(61000)
N140 ENDIF
N150 G1 G91 Z=R10 F=R11
N160 M17

O ciclo CYCLE1 executado com processamento bloco a bloco ativo, isto , deve-se
pressionar uma vez a tecla Start para execuo do CYCLE1.
Exemplo 3:
Uma ASUP iniciada pelo PLC para a ativao do deslocamento modificado do ponto zero e
para correes da ferramenta no dever estar visvel.
Cdigo de programa
N100 PROC NV SBLOF DISPLOF
N110 CASE $P_UIFRNUM OF
0 GOTOF _G500
1 GOTOF _G54
2 GOTOF _G55
3 GOTOF _G56
4 GOTOF _G57
DEFAULT GOTOF END
N120 _G54: G54 D=$P_TOOL T=$P_TOOLNO
N130 RET
N140 _G54: G55 D=$P_TOOL T=$P_TOOLNO
N150 RET
N160 _G56: G56 D=$P_TOOL T=$P_TOOLNO
N170 RET
N180 _G57: G57 D=$P_TOOL T=$P_TOOLNO
N190 RET
N200 END: D=$P_TOOL T=$P_TOOLNO
N210 RET
Preparao do trabalho
Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

169

Programao flexvel de NC
1.24 Tcnica de subrotinas
Exemplo 4: Com MD10702 Bit 12 = 1 so se executa a parada
Situao inicial:
O processamento bloco a bloco est ativo.
MD10702 $MN_IGNORE_SINGLEBLOCK_MASK Bit12 = 1
Programa principal:
Cdigo de programa

Comentrio

N10 G0 X0

; Parar nesta linha do programa de pea.

N20 X10

; Parar nesta linha do programa de pea.

N30 CYCLE

; Bloco de deslocamento gerado pelo ciclo.

N50 G90 X20

; Parar nesta linha do programa de pea.

M30

Ciclo CYCLE:
Cdigo de programa

Comentrio

PROC CYCLE SBLOF

; Suprimir parada do bloco a bloco

N100 R0 = 1
N110 SBLON

; Por causa do MD10702 Bit12=1 no se executa a parada


nesta linha do programa de pea.

N120 X1

; Se executa a parada nesta linha do programa de pea.

N140 SBLOF
N150 R0 = 2
RET

Exemplo 5: Supresso de bloco a bloco com aninhamento de programas


Situao inicial:
O processamento bloco a bloco est ativo.
Aninhamento de programas:
Cdigo de programa

Comentrio

N10 X0 F1000

; Neste bloco se executa a parada.

N20 UP1(0)
PROC UP1(INT _NR) SBLOF

; Suprimir parada do bloco a bloco.

N100 X10
N110 UP2(0)
PROC UP2(INT _NR)
N200 X20
N210 SBLON

; Ativar parada do bloco a bloco.

N220 X22

; Neste bloco se executa a parada.

N230 UP3(0)

Preparao do trabalho

170

Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

Programao flexvel de NC
1.24 Tcnica de subrotinas

Cdigo de programa

Comentrio

PROC UP3(INT _NR)


N300 SBLOF

; Suprimir parada do bloco a bloco.

N305 X30
N310 SBLON

; Ativar parada do bloco a bloco.

N320 X32

; Neste bloco se executa a parada.

N330 SBLOF

; Suprimir parada do bloco a bloco.

N340 X34
N350 M17

; SBLOF est ativo.

N240 X24

; Neste bloco se executa a parada. SBLON


est ativo.

N250 M17

; Neste bloco se executa a parada. SBLON


est ativo.

N120 X12
N130 M17

; Neste bloco de salto de retorno se


executa a parada. O SBLOF da instruo
PROC est ativo.

N30 X0

; Neste bloco se executa a parada.

N40 M30

; Neste bloco se executa a parada.

Outras informaes
Bloqueio de bloco a bloco para subrotinas assncronas
Para executar uma ASUP em um passo no modo bloco a bloco, na ASUP deve ser
programada uma instruo PROC com SBLOF. Isto tambm se aplica para a funo "ASUP
editvel de sistema" (MD11610 $MN_ASUP_EDITABLE).
Exemplo para uma ASUP editvel de sistema:
Cdigo de programa

Comentrio

N10 PROC ASUP1 SBLOF DISPLOF


N20 IF $AC_ASUP=='H200'
N30 RET

; Sem REPOS na mudana de modo de operao.

N40 ELSE
N50 REPOSA

; REPOS nos demais casos.

N60 ENDIF

Controles de programa em bloco a bloco


No processamento bloco a bloco o usurio pode executar o programa de pea bloco a
bloco. Existem os seguintes tipos de ajuste:
SBL1: Bloco a bloco IPO com parada aps cada bloco de funo da mquina.
SBL2: Bloco a bloco com parada aps cada bloco.
SBL3: Parada no ciclo (com a seleo do SBL3 se suprime o comando SBLOF).

Preparao do trabalho
Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

171

Programao flexvel de NC
1.24 Tcnica de subrotinas
Supresso de bloco a bloco com aninhamento de programas
Se em uma subrotina foi programado SBLOF na instruo PROC, ento a parada feita com
M17 no salto de retorno da subrotina. Com isso evita-se que seja executado o prximo bloco
do programa de chamada. Se em uma subrotina com SBLOF for ativada uma supresso de
bloco a bloco sem SBLOF na instruo PROC, ento a parada somente ser realizada aps o
prximo bloco de funo da mquina do programa chamado. Se isto no for desejado,
ento na subrotina se deve programar novamente o SBLON, ainda antes do retorno (M17). A
parada no ser realizada no caso de um salto de retorno com RET para um programa de
nvel superior.

1.24.2.6

Supresso da atual exibio de bloco (DISPLOF, DISPLON, ACTBLOCNO)

Funo
Como padro, na exibio de bloco se exibe o atual bloco de programa. A exibio do atual
bloco pode ser ocultada nos ciclos e nas subrotinas com o comando DISPLOF. Ao invs do
atual bloco se exibe a chamada do ciclo ou da subrotina. Com o comando DISPLON cancelase novamente a supresso da exibio de bloco.
O DISPLOF e o DISPLON programado na linha de programa com a instruo PROC e tem efeito
sobre toda a subrotina e de forma implcita para todas as subrotinas chamadas por esta
subrotina, que no tiverem o comando DISPLON ou DISPLOF. Este comportamente tambm
vlido para ASUPs.

Sintaxe

PROC DISPLOF
PROC DISPLOF ACTBLOCNO
PROC DISPLON

Significado
DISPLOF:

Comando para ocultar a atual exibio de bloco.


Posicionamento:

No fim da linha de programa com a instruo PROC

Efeito:

At o salto de retorno da subrotina ou fim de programa.

Nota:
Se mais subrotinas forem chamadas a partir da subrotina com o comando
DISPLOF, ento nesta tambm se oculta a atual exibio de bloco, isto se nesta
no for programado explicitamente o DISPLON.

Preparao do trabalho

172

Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

Programao flexvel de NC
1.24 Tcnica de subrotinas
DISPLON:

Comando para cancelar a supresso da atual exibio de bloco


Posicionamento:

No fim da linha de programa com a instruo PROC

Efeito:

At o salto de retorno da subrotina ou fim de programa.

Nota:
Se mais subrotinas forem chamadas a partir da subrotina com o comando
DISPLON, ento nesta tambm se exibe o atual bloco de programa, isto se
neste no for programado explicitamente o DISPLOF.
ACTBLOCNO:

O DISPLOF junto com o atributo ACTBLOCNO faz com que, em caso de um alarme,
seja retornado o nmero do atual bloco em que ocorreu o alarme. Isto tambm
se aplica se em um nvel de programa mais baixo apenas estiver programado
o DISPLOF.
Em contrapartida, com DISPLOF sem ACTBLOCNO, o nmero do bloco da chamada
do ciclo ou da subrotina no exibido no ltimo nvel de programa marcado
com DISPLOF.

Exemplos
Exemplo 1: Ocultar a atual exibio de bloco no ciclo
Cdigo de programa

Comentrio

PROC CYCLE(AXIS TOMOV, REAL POSITION) SAVE DISPLOF

; Ocultar atual exibio de bloco. O


invs disso, deve ser exibida a
chamada do ciclo, p. ex.:
CYCLE(X,100.0)

DEF REAL DIFF

; Contedo do ciclo

G01 ...
...
RET

; Salto de retorno da subrotina. Na


exibio de bloco se exibe o bloco
seguinte chamada do ciclo.

Exemplo 2: Exibio de bloco na emisso de alarme


Subrotina SUBPROG1 (com ACTBLOCNO):
Cdigo de programa

Comentrio

PROC SUBPROG1 DISPLOF ACTBLOCNO


N8000 R10 = R33 + R44
...
N9040 R10 = 66 X100

; Disparar alarme 12080

...
N10000 M17

Preparao do trabalho
Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

173

Programao flexvel de NC
1.24 Tcnica de subrotinas
Subrotina SUBPROG2 (sem ACTBLOCNO):
Cdigo de programa

Comentrio

PROC SUBPROG2 DISPLOF


N5000 R10 = R33 + R44
...
N6040 R10 = 66 X100

; Disparar alarme 12080

...
N7000 M17

Programa principal:
Cdigo de programa

Comentrio

N1000 G0 X0 Y0 Z0
N1010 ...
...
N2050 SUBPROG1

; Emisso de alarme = "12080 Canal K1 Bloco N9040


Erro de sintaxe no texto R10="

N2060 ...
N2350 SUBPROG2

; Emisso de alarme = "12080 Canal K1 Bloco N2350


Erro de sintaxe no texto R10="

...
N3000 M30

Exemplo 3: Cancelamento da supresso da atual exibio de bloco


Subrotina SUB1 com supresso:
Cdigo de programa

Comentrio

PROC SUB1 DISPLOF

; Suprime a atual exibio de bloco na subrotina


SUB1. Ao invs disso, o bloco deve ser exibido com
a chamada da SUB1.

...
N300 SUB2

; Chama a subrotina SUB2.

...
N500 M17

Subrotina SUB1 sem supresso:


Cdigo de programa

Comentrio

PROC SUB2 DISPLON

; Cancela a supresso da atual exibio de bloco na


subrotina SUB2.

...
N200 M17

; Salto de retorno para a subrotina SUB1. Na SUB1


novamente sumprimida a atual exibio de bloco.

Preparao do trabalho

174

Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

Programao flexvel de NC
1.24 Tcnica de subrotinas
Exemplo 4: Comportamento de exibio em diferentes combinaes do DISPLON/DISPLOF
1YHOGRSURJUDPD

+3
VHP
352&

83
352&
',63/2)

83
VHP
352&

83
352&
',63/21

83
352&
',63/2)

$683
352&
',63/2)

83
352&
',63/2)

83
352&
',63/21

83
VHP
352&

83
352&
',63/2)





+33URJUDPDSULQFLSDO
836XEURWLQD
$6836XEURWLQDDVVQFURQD URWLQDGHLQWHUUXSR

Na atual exibio de bloco so mostradas as linhas de programa de pea do nvel de programa 0.


Na atual exibio de bloco so mostradas as linhas de programa de pea do nvel de programa 3.
Na atual exibio de bloco so mostradas as linhas de programa de pea do nvel de programa 3.
Na atual exibio de bloco so mostradas as linhas de programa de pea do nvel de programa 7/8.

1.24.2.7

Identificar subrotinas com preparao (PREPRO)

Funo

Com a palavra-chave PREPRO todos os arquivos podem ser identificados no fim da linha da
instruo PROC durante a inicializao.
Indicao
Este tipo de preparao de programa depende do ajuste do dado de mquina
correspondente. Observar as informaes do fabricante da mquina.
Literatura:
Manual de funes especiais; Pr-processamento (V2)

Sintaxe

PROC PREPRO

Significado
PREPRO:

Palavra-chave para identificao de todos arquivos preparados na


inicializao, os programas NC armazenados nos diretrios dos ciclos

Preparao do trabalho
Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

175

Programao flexvel de NC
1.24 Tcnica de subrotinas

Carregar subrotinas com preparao e chamada de subrotina


Tanto as subrotinas preparadas com parmetros na inicializao como na chamada de
subrotina os diretrios dos ciclos so tratados na mesma ordem:
1. _N_CUS_DIR ciclos de usurio
2. _N_CMA_DIR ciclos do fabricante
3. _N_CST_DIR ciclos padro
No caso de programas NC de mesmo nome e diferente formao, ativa-se a primeira
instruo PROC encontrada e a outra instruo PROC ser saltada sem mensagem de alarme.

1.24.2.8

Salto de retorno para a subrotina M17

Funo
No fim de uma subrotina existe um comando de salto de retorno M17 (ou o comando de fim
de programa de pea M30). Ele executa o salto de retorno para o programa de chamada no
bloco de programa de pea aps a chamada da subrotina.
Indicao
O M17 e o M30 so tratados com o mesmo valor na linguagem NC.

Sintaxe
PROC <nome de programa>
...
M17/M30

Condies gerais
Efeito do salto de retorno para subrotina no modo de controle da trajetria
Se o M17 (ou o M30) estiver sozinho no bloco de programa de pea, ento um modo de
controle da trajetria que estiver ativo no canal ser interrompido.
Para evitar que o modo de controle da trajetria seja interrompido, o M17 (ou o M30) deve ser
escrito no ltimo bloco de deslocamento. Adicionalmente, o seguinte dado de mquina deve
ser ajustado para "0":
MD20800 $MC_SPF_END_TO_VDI = 0 (sem sada de M30/M17 para a interface NC/PLC)

Preparao do trabalho

176

Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

Programao flexvel de NC
1.24 Tcnica de subrotinas

Exemplo
1. Subrotina com M17 em um bloco prprio
Cdigo de programa

Comentrio

N10 G64 F2000 G91 X10 Y10


N20 X10 Z10
N30 M17

; Salto de retorno com interrupo do modo de


controle da trajetria.

2. Subrotina com M17 no ltimo bloco de deslocamento


Cdigo de programa

Comentrio

N10 G64 F2000 G91 X10 Y10


N20 X10 Z10 M17

1.24.2.9

; Salto de retorno sem interrupo do modo de


controle da trajetria.

Salto de retorno para subrotina RET

Funo
Como substituto para o comando de salto de retorno M17 tambm pode ser utilizado o
comando RET. O RET deve ser programado em um bloco de programa de pea prprio. Como
o M17 o RET executa o salto de retorno para o programa de chamada no bloco de programa
de pea aps a chamada da subrotina.
Indicao
Atravs da programao de parmetros possvel alterar o comportamento do salto de
retorno do RET (veja "Salto de retorno parametrizvel da subrotina (RET ...) (Pgina 178)").

Aplicao
A instruo RET deve ser utilizada quando um modo de controle da trajetria G64
(G641 ... G645) no deve ser interrompido atravs do salto de retorno.

Pr-requisito
O comando RET somente pode ser utilizado em subrotinas que no foram definidas com o
atributo SAVE.

Preparao do trabalho
Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

177

Programao flexvel de NC
1.24 Tcnica de subrotinas

Sintaxe
PROC <nome de programa>
...
RET

Exemplo
Programa principal:
Cdigo de programa

Comentrio

PROC MAIN_PROGRAM

; Incio do programa

...
N50 SUB_PROG

; Chamada de subrotina: SUB_PROG

N60 ...
...
N100 M30

; Fim do programa

Subrotina:
Cdigo de programa

Comentrio

PROC SUB_PROG
...
N100 RET

1.24.2.10

; O salto de retorno realizado no bloco N60 no


programa principal.

Salto de retorno parametrizvel da subrotina (RET ...)

Funo
Geralmente, a partir de uma subrotina com prprio fim de subrotina RET ou M17 se salta
retornando ao programa de onde foi realizada a chamada da subrotina, e a usinagem
continuada com a linha aps a chamada da subrotina.
Tambm existem casos de aplicaes onde a execuo do programa deve continuar em
outro ponto, p. ex.:
Continuao da execuo do programa aps a chamada do ciclo de desbaste em modo
de dialeto ISO (aps a descrio do contorno).
Salto de retorno ao programa principal a partir de qualquer nvel da subrotina (tambm
aps a ASUP) para tratamento de erros.
Salto de retorno atravs de vrios nveis de programa para aplicaes especiais em
ciclos de compilao e em modo de dialeto ISO.
Em tais casos o comando RET programado junto com os "Parmetros de salto de retorno".

Preparao do trabalho

178

Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

Programao flexvel de NC
1.24 Tcnica de subrotinas

Sintaxe

Significado

RET("<bloco de destino>")
RET("<bloco de destino>",<bloco aps bloco de destino>)
RET("<bloco de destino>",<bloco aps bloco de
destino>,<nmero de nveis de salto de retorno>)
RET("<bloco de destino>", ,<nmero de nveis de salto de retorno>)
RET("<bloco de destino>",<bloco aps bloco de
destino>,<nmero de nveis de salto de retorno>),
<salto de retorno ao incio do programa>)
RET( , ,<nmero de nveis de salto de retorno>,<salto de
retorno ao incio do programa>)
RET:
<bloco de destino>:

<bloco aps bloco de destino>:

Fim de subrotina (utilizao ao invs do M17)


Parmetro de salto de retorno 1
Nomeia como destino de salto o bloco em que se deve
continuar a execuo do programa.
Se o parmetro de salto de retorno 3 no for programado,
ento o destino do salto se encontra no programa de onde a
atual subrotina foi chamada.
As possveis indicaes so:
"<nmero de bloco>"
Nmero do bloco de destino
"<marcador de salto>"
Marcador de salto que deve ser
colocado no bloco de destino.
"<seqncia de caracteres>" Seqncia de caracteres que
deve ser conhecida no
programa (p. ex. nome do
programa ou nome da varivel).
Para a programao da
seqncia de caracteres no
bloco de destino so aplicadas
as seguintes regras:
Espao em branco no final
(em contrapartida ao
marcador de salto, que
identificado com um ":" no
final).
Antes da seqncia de
caracteres somente pode
ser colocado um nmero de
bloco e/ou um marcador de
salto, nenhum comando de
programa.
Parmetro de salto de retorno 2
Refere-se ao parmetro de salto de retorno 1.
Tipo:
INT
Valor:
0
O salto de retorno realizado no
bloco que foi especificado com o
parmetro de salto de retorno 1.
> 0 O salto de retorno realizado no
bloco seguinte do bloco que foi
especificado com o parmetro de
salto de retorno 1.

Preparao do trabalho
Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

179

Programao flexvel de NC
1.24 Tcnica de subrotinas
<nmero de
nveis de saltos de retorno>:

Parmetro de salto de retorno 3


Nomeia o nmero de nveis que devero ser saltados de volta
para alcanar o nvel de programa em que a execuo do
programa dever ser continuada.
Tipo:

INT

Valor:

O programa continuado "no atual


nvel do programa - 1" (como RET
sem parmetros).

O programa continuado no "atual


nvel do programa - 2", isto ,
realizado o salto de um nvel.

O programa continuado no "atual


nvel do programa - 3", isto ,
realizado o salto de dois nveis.

...
Faixa de valores:
<salto de retorno ao
incio do programa>:

1 ... 15

Parmetro de salto de retorno 4


Tipo:

BOOL

Valor:

Se o salto de retorno for realizado


ao programa principal e ali estiver
ativo um modo de dialeto ISO,
realizada a bifurcao para o incio
do programa.

Indicao
Em um salto de retorno da subrotina com uma seqncia de caracteres, como indicao
para a localizao de destino sempre se busca por um marcador de salto no programa de
chamada.
Se um destino de salto deve ser definido claramente atravs de uma seqncia de
caracteres, a seqncia de caracteres no pode coincidir com o nome de um marcador de
salto, pois o salto de retorno da subrotina sempre ser executado para o marcador de salto
e no para a seqncia de caracteres (veja o exemplo 2).

Preparao do trabalho

180

Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

Programao flexvel de NC
1.24 Tcnica de subrotinas

Condies gerais
Para o salto de retorno atravs de vrios nveis de programa so avaliadas as instrues
SAVE dos diversos nveis de programa.
Se em um retorno atravs de vrios nveis de programa uma subrotina modal estiver ativa,
e, se em uma das subrotinas saltadas foi programado o comando de desseleo MCALL para
a subrotina modal, ento a subrotina modal ainda permanece ativa.
ATENO
Erro de programao
O programador deve prestar ateno para que no salto de retorno atravs de vrios nveis
de programa a continuao seja realizada com os ajustes modais corretos. Isto obtido,
por exemplo, com a programao de um bloco principal correspondente.

Exemplos
Exemplo 1: Continuao no programa principal aps a execuo da ASUP
Programao

Comentrio

N10010 CALL "UP1"

; Nvel de programa 0 (programa principal)

N11000 PROC UP1

; Nvel de programa 1

N11010 CALL "UP2"


N12000 PROC UP2

; Programmebene 2

...
N19000 PROC ASUP

; Nvel de programa 3 (execuo da ASUP)

...
N19100 RET("N10900", ,$P_STACK)

; Salto de retorno da subrotina

N10900

; Continuao no programa principal.

N10910 MCALL

; Desativa a subrotina modal.

N10920 G0 G60 G40 M5

; Corrige outros ajustes modais.

Exemplo 2: Seqncia de caracteres (<String>) como indicao para a localizao do bloco


de destino
Programa principal:
Cdigo de programa

Comentrio

PROC MAIN_PROGRAM
N1000 DEF INT iVar1=1, iVar2=4
N1010 ...
N1200 subProg1

; Chamada da subrotina "subProg1"

N1210 M2 S1000 X10 F1000


N1220 ......
N1400 subProg2

; Chamada da subrotina "subProg2"

N1410 M3 S500 Y20

Preparao do trabalho
Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

181

Programao flexvel de NC
1.24 Tcnica de subrotinas

Cdigo de programa

Comentrio

N1420 ..
N1500 lab1: iVar1=R10*44
N1510 F500 X5
N1520 ...
N1550 subprog1: G1 X30

; Aqui p "subProg1" est definido como


marcador de salto.

N1560 ...
N1600 subProg3

; Chamada da subrotina "subProg3"

N1610 ...
N1900 M30

Subrotina subProg1:
Cdigo de programa

Comentrio

PROC subProg1
N2000 R10=R20+100
N2010 ...
N2200 RET("subProg2")

; Salto de retorno ao programa principal no bloco


N1400

Subrotina subProg2:
Cdigo de programa

Comentrio

PROC subProg2
N2000 R10=R20+100
N2010 ...
N2200 RET("iVar1")

; Salto de retorno ao programa principal no bloco


N1500

Subrotina subProg3:
Cdigo de programa

Comentrio

PROC subProg3
N2000 R10=R20+100
N2010 ...
N2200 RET("subProg1")

; Salto de retorno ao programa principal no bloco


N1550

Outras informaes
As figuras a seguir devem simplificar a visualizao dos diferentes efeitos dos parmetros
de salto de retorno 1 a 3.

Preparao do trabalho

182

Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

Programao flexvel de NC
1.24 Tcnica de subrotinas
1. Parmetro de salto de retorno 1 = "N200", parmetro de salto de retorno 2 = 0

3URJUDPDSULQFLSDO 



168%
1*

6XEURWLQD



352&68%

 1
 



15(7 1



1


Aps o comando RET realizada a continuao da execuo do programa com o bloco N200
no programa principal.
2. Parmetro de salto de retorno 1 = "N200", parmetro de salto de retorno 2 = 1

3URJUDPDSULQFLSDO



168%
1* 



1
1 
1


6XEURWLQD


352&68%

 1




15(7 

Aps o comando RET realizada a continuao da execuo do programa com o bloco


(N210) que segue o bloco N200 no programa principal.

Preparao do trabalho
Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

183

Programao flexvel de NC
1.24 Tcnica de subrotinas
3. Parmetro de salto de retorno 1 = "N220", parmetro de salto de retorno 3 = 2

P[QYHLVGHSURJUDPD

3URJU
SULQF

6XE
URWLQD

6XE
URWLQD

6XE
URWLQD
5(7 1

1


6DOWRGHUHWRUQR

6DOWRGHUHWRUQR

Aps o comando RET se realiza o salto retornando dois nveis e a execuo do programa
realizada com o bloco N220.

1.24.3

Chamada de uma subrotina

1.24.3.1

Chamada de subrotina sem transferncia de parmetros

Funo
A chamada de uma subrotina realizada com o endereo L e o nmero de subrotina ou
atravs da indicao do nome do programa.
Um programa principal tambm pode ser chamado como se fosse uma subrotina. Neste
caso o fim de programa M2 ou M30 definido no programa principal avaliado como M17 (fim
de programa com retorno para o programa de chamada).

Preparao do trabalho

184

Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

Programao flexvel de NC
1.24 Tcnica de subrotinas
Indicao
Da mesma forma uma subrotina pode ser iniciada como se fosse um programa principal.
Estratgia de localizao do comando numrico:
Existe *_MPF?
Existe *_SPF?
Disto resulta: Se o nome da subrotina a ser chamada for idntico ao nome do programa
principal, ento o programa principal de chamada chamado novamente, Este feito, que
normalmente no desejado, deve ser evitado atravs de escolha clara de nomes atravs
de subrotinas e programas principais.
Indicao
As subrotinas que no requerem nenhuma transferncia de parmetros, tambm podem ser
chamadas a partir de um arquivo de inicializao.

Sintaxe

L<nmero>/<nome de programa>
Indicao
A chamada de uma subrotina sempre deve ser programada em um bloco NC prprio.

Significado
L:

Endereo para a chamada da subrotina

<nmero>:

Nmero da subrotina
Tipo:
Valor:

INT
Mximo de 7 casas decimais
Ateno:
Os zeros esquerda tm significado na definio de
nomes ( L123, L0123 e L00123 so trs
subrotinas diferentes).

<nome de programa>:

Nome da subrotina (ou programa principal)

Preparao do trabalho
Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

185

Programao flexvel de NC
1.24 Tcnica de subrotinas

Exemplos
Exemplo 1: Chamada de uma subrotina sem transferncia de parmetros

3URJUDPDSULQFLSDO

1/
RX
1 6DOLHQFLDB

6XEURWLQD

Exemplo 2: Chamada de um programa principal como subrotina

3URJUDPDSULQFLSDO

103)
RX
1:(//(

2XWUR
SURJUDPDSULQFLSDO

1



10

Preparao do trabalho

186

Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

Programao flexvel de NC
1.24 Tcnica de subrotinas

1.24.3.2

Chamada de subrotina com transferncia de parmetros (EXTERN)

Funo
Na chamada da subrotina com transferncia de parmetros podem ser transferidas
variveis ou valores de forma direta (no para parmetros VAR).
Subrotinas com transferncia de parmetros devem ser identificadas no programa principal
com EXTERN antes da chamada (p. ex. no incio do programa). Aqui se especificam o nome
da subrotina e os tipos das variveis na seqncia da transferncia.
ATENO
Risco de troca
Tanto os tipos de variveis como a ordem da transferncia devem coincidir com as
definies declaradas sob PROC na subrotina. Os nomes de parmetros podem ser
diferentes no programa principal e na subrotina.

Sintaxe
EXTERN <no do programa>(<Tipo_Par1>,<Tipo_Par2>,<Tipo_Par3>)
...
<nome do programa>(<Valor_Par1>,<Valor_Par2>,<Valor_Par3>)

Indicao
A chamada da subrotina sempre deve ser programada em um bloco NC prprio.

Significado
<nome de programa>:

Nome da subrotina

EXTERN:

Palavra-chave para a identificao de


uma subrotina com transferncia de
parmetros
Nota:

somente deve ser especificado


se a subrotina estiver no diretrio de
peas ou no diretrio de subrotinas
global. Os ciclos no precisam ser
declarados como EXTERN.

EXTERN

<Tipo_Par1>,<Tipo_Par2>,<Tipo_Par3>:

Tipos de variveis dos parmetros de


transferncia na seqncia da
transferncia

<Valor_Par1>,<Valor_Par2>,<Valor_Par3>:

Valores de variveis dos parmetros de


transferncia

Preparao do trabalho
Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

187

Programao flexvel de NC
1.24 Tcnica de subrotinas

Exemplos
Exemplo 1: Chamada de subrotina com identificao prvia
Cdigo de programa

Comentrio

N10 EXTERN QUADRO(REAL,REAL,REAL)

; Indicao da subrotina.

...
N40 QUADRO(15.3,20.2,5)

; Chamada da subrotina com


transferncia de parmetros.

3URJUDPDSULQFLSDO

1(;7(51
48$'52 5($/5($/5($/


148$'52 

Preparao do trabalho

188

Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

Programao flexvel de NC
1.24 Tcnica de subrotinas
Exemplo 2: Chamada de subrotina sem identificao
Cdigo de programa

Comentrio

N10 DEF REAL COMPRIMENTO, LARGURA,


PROFUNDIDADE
N20
N30 COMPRIMENTO=15.3 LARGURA=20.2
PROFUNDIDADE=5
N40 QUADRO(COMPRIMENTO,LARGURA,PROFUNDIDADE)

; ou: N40 QUADRO(15.3,20.2,5)

3URJUDPDSULQFLSDO

1&2035, /$5*85$ 352)81' 


148$'52 &2035,/$5*85$7,()(
RX
148$'52 

1.24.3.3

Nmero de repeties de programa (P)

Funo
Se uma subrotina for executada vrias vezes em sucesso, ento se pode programar o
nmero desejado de repeties do programa no endereo P do bloco com a chamada da
subrotina.
CUIDADO
Chamada de subrotina com repetio de programa e transferncia de parmetros
Os parmetros somente so transferidos na chamada do programa ou primeiro
processamento. Para as demais repeties os parmetros permanecem inalterados. Se
houver a necessidade de alterar os parmetros durante as repeties de programa, ento
se deve definir os ajustes correspondentes na subrotina.

Preparao do trabalho
Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

189

Programao flexvel de NC
1.24 Tcnica de subrotinas

Sintaxe

<nome de programa> P<valor>

Significado
<nome de programa>:

Chamada de subrotina

P:

Endereo para programao de repeties de programa

<valor>:

Nmero de repeties de programa


Tipo:

INT

Faixa de valores: 1 9999


(sem sinal)

Exemplo
Cdigo de programa

Comentrio

...
N40 QUADRO P3

; A subrotina QUADRO deve ser executada trs vezes


consecutivas.

...

3URJUDPDSULQFLSDO

148$'523

6XEURWLQD

Preparao do trabalho

190

Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

Programao flexvel de NC
1.24 Tcnica de subrotinas

1.24.3.4

Chamada modal de subrotina (MCALL)

Funo
Na chamada modal de subrotina com MCALL a subrotina automaticamente chamada e
executada aps cada bloco com movimento de percurso. Com isso a chamada de
subrotinas permite ser automatizada, sendo que ela deve ser executada em diferentes
posies da pea (por exemplo para produo de modelos de furao).
A desativao da funo realizada com MCALL sem chamada de subrotina ou atravs da
programao de uma nova chamada modal de subrotina para uma nova subrotina.
Indicao
Em uma execuo de programa somente uma chamada MCALL pode estar ativa ao mesmo
tempo. Os parmetros so transferidos apenas uma vez com a chamada MCALL.
Mesmo sem a programao de um movimento, a subrotina modal chamada nas seguintes
situaes:
Na programao dos endereos S e F quando G0 ou G1 estiver ativo.
Se G0/G1 foi programado sozinho no bloco ou com outros cdigos G.
Indicao
No ASUPs, atravs do qual a operao de um programa de usinagem interrompido (veja
"Rotina de interrupo (ASUP) (Pgina 121)"), no sero executadas chamadas modais de
subprogramas.
ASUPs, que so inicializados a partir do estado de Reset, agem contrrio s chamadas
modais de subprogramas do que nos programas de usinagem normais

Sintaxe

MCALL <nome de programa>

Significado
MCALL:

Comando para a chamada de subrotina modal

<nome de programa>:

Nome da subrotina

Preparao do trabalho
Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

191

Programao flexvel de NC
1.24 Tcnica de subrotinas

Exemplos
Exemplo 1:
Cdigo de programa

Comentrio

N10 G0 X0 Y0
N20 MCALL L70

; Chamada de subrotina modal.

N30 X10 Y10

; A posio programada aproximada e depois executada a


subrotina L70.

N40 X50 Y50

; A posio programada aproximada e depois executada a


subrotina L70.

3URJUDPDSULQFLSDO

1*;<
10&$///
1;<

6XEURWLQD

/

1;<

Exemplo 2:
Cdigo de programa
N10 G0 X0 Y0
N20 MCALL L70
N30 L80

Neste exemplo os blocos NC subseqentes com eixos de percurso programados esto na


subrotina L80. L70 chamada pela L80.

Preparao do trabalho

192

Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

Programao flexvel de NC
1.24 Tcnica de subrotinas

1.24.3.5

Chamada de subrotinas indireta (CALL)

Funo
Em funo das condies dadas se pode chamar diferentes subrotinas em uma posio.
Para isso se armazena o nome da subrotina em uma varivel de tipo STRING. A chamada
da subrotina realizada com CALL e o nome da varivel.
Indicao
A chamada indireta de subrotinas somente possvel para subrotinas sem transferncia de
parmetros. Para a chamada direta de uma subrotina armazene o nome em uma constante
de STRING.

Sintaxe

CALL <nome do programa>

Significado
CALL:
<nome de programa>:

Comando para a chamada de subrotina indireta


Nome da subrotina (varivel ou constante)
Tipo:

STRING

Exemplo
Chamada direta com constante de STRING:
Cdigo de programa

Comentrio

CALL "/_N_WCS_DIR/_N_SUBPROG_WPD/_N_PECA1_SPF"

; Chamada direta da
subrotina PECA1 com o CALL.

Chamada indireta atravs de varivel:


Cdigo de programa

Comentrio

DEF STRING[100] PROGNAME

; Definio de varivel.

PROGNAME="/_N_WCS_DIR/_N_SUBPROG_WPD/_N_PECA1_SPF"

; Associao da subrotina
PECA1 varivel PROGNAME.

CALL PROGNAME

; Chamada indireta da
subrotina PECA1 atravs do
CALL e da varivel PROGNAME.

Preparao do trabalho
Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

193

Programao flexvel de NC
1.24 Tcnica de subrotinas

1.24.3.6

Chamada de subrotina indireta com indicao da parte de programa que deve ser
executada (CALL BLOCK ... TO ...)

Funo
Com CALL e a combinao de palavras-chave BLOCK ... TO se chama uma subrotina de
forma indireta e se executa a parte do programa demarcada entre o marcador inicial e o
marcador final.

Sintaxe

CALL <nome do programa> BLOCK <marcador inicial> TO <marcador final>


CALL BLOCK <marcador inicial> TO <marcador final>

Significado
CALL:

Comando para a chamada de subrotina indireta

<nome de programa>:

Nome da subrotina (varivel ou constante) que contm a parte


do programa a ser executada (Indicao opcional).
Tipo:

STRING

Nota:
Se no for programado nenhum <nome de programa>, ser
executada a parte do programa demarcada entre o <marcador
inicial> e o <marcador final> no atual programa.
BLOCK ... TO ...

<marcador inicial>:

Combinao de palavras-chave para execuo indireta de


partes de programa
Varivel que faz referncia ao incio da parte do programa a
ser executada.
Tipo:

<marcador final>:

Tipo:

Exemplo

STRING

Varivel que faz referncia ao fim da parte do programa a ser


executada.
STRING

Programa principal:
Cdigo de programa

Comentrio

...
DEF STRING[20] STARTLABEL, ENDLABEL

; Definio de variveis para


o marcador inicial e
marcador final.

STARTLABEL="LABEL_1"
ENDLABEL="LABEL_2"
...
CALL "CONTORNO_1" BLOCK STARTLABEL TO ENDLABEL

; Chamada de subrotina
indireta e marcao da parte
de programa que deve ser
executada.

...

Preparao do trabalho

194

Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

Programao flexvel de NC
1.24 Tcnica de subrotinas
Subrotina:
Cdigo de programa

Comentrio

PROC CONTORNO_1 ...


LABEL_1

; Marcador inicial: Incio da execuo da parte do


programa

N1000 G1 ...
...
LABEL_2

; Marcador final: Fim da execuo da parte do programa

...

1.24.3.7

Chamada indireta de um programa programado em linguagem ISO (ISOCALL)

Funo
Com a chamada indireta de programas ISOCALL se pode chamar um programa criado em
linguagem ISO. Neste caso se ativa o modo ISO ajustado nos dados da mquina. No fim do
programa se ativa novamente o modo de execuo original. Se nos dados da mquina no
foi ajustado nenhum modo ISO, a chamada da subrotina ser realizada em modo Siemens.
Para mais informaes sobre o modo ISO, veja no(a):
Literatura:
Descrio do funcionamento de dialetos ISO

Sintaxe

ISOCALL <nome do programa>

Significado
ISOCALL:

Palavra-chave para chamada indireta de subrotina que ativada


com o modo ISO ajustado nos dados da mquina

<nome de programa>:

Nome de um programa programado em linguagem ISO (varivel


ou constante de tipo STRING)

Exemplo: Contorno com programao de ciclos chamado a partir do modo ISO


Cdigo de programa

Comentrio

0122_SPF

; Descrio de contorno em modo ISO

N1010 G1 X10 Z20


N1020 X30 R5
N1030 Z50 C10
N1040 X50
N1050 M99

Preparao do trabalho
Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

195

Programao flexvel de NC
1.24 Tcnica de subrotinas

Cdigo de programa

Comentrio

N0010 DEF STRING[5] PROGNAME = "0122"

; Programa de peas Siemens (ciclo)

...
N2000 R11 = $AA_IW[X]
N2010 ISOCALL PROGNAME
N2020 R10 = R10+1

; Executar programa 0122.spf em modo ISO

...
N2400 M30

1.24.3.8

Chamada de subrotina com indicao de caminho e parmetros (PCALL)

Funo
Com PCALL se pode chamar subrotinas com indicao absoluta do caminho e transferncia
de parmetros.

Sintaxe

PCALL <caminho/nome do programa>(<parmetro 1>,,<parmetro n>)

Significado
PCALL:

Palavra-chave para chamada de subrotinas com indicao


absoluta do caminho.

<caminho/nome de programa>:

Caminho absoluto iniciado com "/" e nome da subrotina


incluso.
Se no foi especificado nenhum caminho absoluto, o PCALL
age como uma chamada padro de subrotina com
identificadores de programa.
O identificador de programa especificado sem prefixo
_N_ e sem extenso.
Se for necessrio programar o nome do programa com
prefixo e extenso, ento ele deve ser explicitamente
declarado com o comando EXTERN com prefixo e extenso.

<parmetro 1>, ...:

Parmetro atual de acordo com a instruo PROC da subrotina.

Exemplo
Cdigo de programa
PCALL/_N_WCS_DIR/_N_EIXO_WPD/EIXO(parmetro1,parmetro2,)

Preparao do trabalho

196

Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

Programao flexvel de NC
1.24 Tcnica de subrotinas

1.24.3.9

Ampliar o caminho de localizao na chamada de subrotinas (CALLPATH)

Funo
Com o comando CALLPATH se pode ampliar o caminho de localizao da chamada de
subrotinas.
Dessa forma tambm podem ser chamadas subrotinas de um diretrio de peas de trabalho
no selecionado, sem precisar especificar o caminho completo da subrotina.
A ampliao do caminho de localizao realizada antes da entrada para ciclos de usurio
(_N_CUS_DIR).
Atravs dos seguintes eventos se desfaz a seleo do caminho de localizao:

CALLPATH

com espaos vazios

CALLPATH

sem parmetros

Fim do programa de pea


Reset

Sintaxe

CALLPATH("<nome do caminho>")

Significado
CALLPATH:

Palavra-chave para a ampliao programvel do caminho de localizao.


Se programa em uma linha prpria do programa de pea.

<nome de
caminho>:

Constante ou varivel de tipo STRING. Contm a indicao absoluta do


caminho de um diretrio que deve ampliar o caminho de localizao. A
indicao do caminho iniciada com "/". O caminho deve ser especificado
completo com prefixo e sufixo. O tamanho mximo do caminho de 128
Bytes.
Se o <nome do caminho> contm um espao vazio ou se o CALLPATH for
chamado sem parmetros, a instruo do caminho de localizao ser
resetada novamente.

Exemplo
Cdigo de programa
CALLPATH("/_N_WCS_DIR/_N_MYWPD_WPD")

Com isso se configura o seguinte caminho de localizao (a posio 5. nova):


1. Atual diretrio/identificador de subrotina
2. Atual diretrio/identificador de subrotina_SPF
3. Atual diretrio/identificador de subrotina_MPF

Preparao do trabalho
Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

197

Programao flexvel de NC
1.24 Tcnica de subrotinas
4. /_N_SPF_DIR/identificador de subrotina_SPF
5. /_N_WKS_DIR/_N_MYWPD_WPD/identificador de subrotina_SPF
6. /N_CUS_DIR/identificador de subrotina_SPF
7. /_N_CMA_DIR/identificador de subrotina_SPF
8. /_N_CST_DIR/identificador de subrotina_SPF

Condies gerais
O CALLPATH verifica se os caminhos programados realmente existem. Em caso de erro, a
execuo do programa de peas ser cancelada com o alarme de bloco de correo
14009.
O CALLPATH tambm pode ser programado em arquivos INI. Ele atua durante o perodo
de execuo do arquivo INI (arquivo INI WPD ou programa de inicializao para dados
de NC ativos, p. ex. Frames no 1 canal _N_CH1_UFR_INI). Em seguida o caminho de
localizao resetado novamente.

1.24.3.10

Executar subrotina externa (840D sl) (EXTCALL)

Funo
Com o comando EXTCALL possvel recarregar e processar um programa de usinagem de
um diretrio externo.
Diretrios externos disponveis:
Unidade de leitura local
Unidade de rede
Unidade USB
Indicao
Unidade USB
S possvel uma interface processar um programa externo encontrado num unidade
USB, se a interface da USB usar o painel de controle frontalou TCU
Indicao
No utilizar USB-FlashDrive
aconselhado no usar um USB-FlashDrive no processamento de um subprograma
externo. Uma interrupo de comunicao com o USB-FlshDrive durante a execuo do
programa de usinagem por causa de falhas de contato, ejeo acidental, interrupo por
choques ou retirada proposital, resulta na parada imediata do processo. A ferramenta
e/ou a pea de trabalho podem ser danificadas com isso.

Preparao do trabalho

198

Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

Programao flexvel de NC
1.24 Tcnica de subrotinas
Pr-configurao do caminho externo do programa
O caminho para o diretrio externo do programa pode ser pr-configurado com o dado de
configurao:
SD42700 $SC_EXT_PROG_PATH
Junto com o caminho ou com o identificador de programa indicado na chamadaEXTCALL-
formado o caminho geral do programa de usinagem chamado.
Indicao
Parmetros
Na chamada de um programa externo estes no podero transferir nenhum parmetro.

Sintaxe

EXTCALL("<caminho/><nome do programa>")

Significado
EXTCALL:

Comando para chamada de uma subrotina externa

"<caminho><Nome programa>":

Constante/varivel de tipo STRING


<caminho>:

Indicao de caminho absoluta ou


relativa (opcional)

<nome de programa>:

O nome do programa
especificado sem o prefixo "_N_".
A extenso de arquivo ("MPF",
"SPF") pode ser adicionada em
nomes de programa com o
caractere "_" ou "." (opcional).
Exemplo:
"WELLE"
"WELLE_SPF"
"WELLE.SPF"

Indicao de caminho: Abreviaes


Na indicao do caminho podem ser utilizadas as seguintes abreviaes:
Unidade de disco local: "LOCAL_DRIVE:"
Carto CF: "CF_CARD:"
Unidade USB (painel de controle frontal): "USB:"
As abreviaes "CF_CARD:" e "LOCAL_DRIVE:" podem ser utilizados como alternativa.

Exemplo
Execuo a partir de unidade local
O programa principal "MAIN.MPF" encontra-se na memria NC e selecionado para
execuo.

Preparao do trabalho
Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

199

Programao flexvel de NC
1.24 Tcnica de subrotinas
Subprograma "SP_1"
O subprograma externo "SP_1.SPF" ou "SP_1.MPF" encontra-se na unidade de disco local
no diretrio "/user/sinumerik/data/prog/WKS.DIR/WST1.WPD".
O caminho para o diretrio externo do programa deve ser configurado com:
SD42700 $SC_EXT_PROG_PATH = LOCAL_DRIVE:WKS.DIR/WST1.WPD
Indicao
Indicao do caminho para a chamada do subprograma externo:
Sem utilizao da pr-configurao: "LOCAL_DRIVE:WKS.DIR/WST1.WPD/SP_1"
Com utilizao da pr-configurao: "SP_1"
Subprograma "SP_2"
O subprograma externo "SP_2.SPF" ou "SP_2.MPF" encontra-se no diretrio
WKS.DIR/WST1.WPD da unidade USB. A pr-configurao do caminho para o diretrio
externo do programa utilizada para o caminho do subprograma "SP_1" e no ser
transcrito no programa principal Por isso preciso informar o completo caminho para a
chamada do subprograma "SP_2"
Programa principal "MAIN"
Cdigo de programa
N010 PROC MAIN
N020 ...
N030 EXTCALL("SP_1")
N030 EXTCALL("USB:WKS.DIR/WST1.WPD/SP_2")
N050 ...
N060 M30

Outras informaes
Chamada EXTCALL com indicao absoluta do caminho
Se o subprograma encontra-se no caminho especificado, ento este ser executado com a
chamada EXTCALL. Se o subprograma no estiver no caminho especificado, ento a
execuo do programa ser encerrada com o chamado EXTCALL.
Chamada EXTCALL com indicao relativa do caminho / sem indicao de caminho
Em caso de uma chamada EXTCALL com indicao relativa do caminho ou sem a indicao
do caminho, realizada uma localizao nas memrias disponveis de programas de acordo
com o seguinte modelo:
1. Se no SD42700 $SC_EXT_PROG_PATH existir um caminho pr-configurado, ento
primeiramente ser procurado uma indicao no chamado EXTCALLpartida deste caminho
(nome do programa evtl. indicao de caminho relativo) O caminho absoluto resulta da
sequncia de caracteres dada pelo(a):
Indicao de caminho pr-configurada no SD42700 $SC_EXT_PROG_PATH
Separador"/"
Caminho e nome do subprograma no comando EXTCALL
Preparao do trabalho

200

Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

Programao flexvel de NC
1.24 Tcnica de subrotinas
2. Se o subprograma no foi encontrado no 1., ento a procura ser feita no diretrio do
usurio.
A localizao encerrada assim que a subrotina for encontrada pela primeira vez. Se o
subprograma no for encontrado, ento a execuo do programa ser encerrada com o
chamado EXTCALL
Memria temporria configurvel (memria FIFO)
Para o processamento de um subprograma externo ser necessrio uma memria de
recarregamento. O tamanho da memria de recarregamento pr-configurada com
30 kByte e apenas pode ser alterada pelo fabricante da mquina. (sobre MD18360
MM_EXT_PROG_BUFFER_SIZE).
Indicao
Subprogramas com instrues de salto
Em subprogramas externos, que contenham instrues de salto (GOTOF, GOTOB, CASE, FOR,
LOOP, WHILE, REPEAT, IF, ELSE, ENDIF etc.), os saltos tm de estar dentro da memria de
carregamento.
Indicao
Programas ShopMill/ShopTurn
Programas ShopMill e ShopTurn devem estar completamente dentro da memria
recarregvel devido s descries de contornos adicionadas no fim do arquivo.
Para cada subpromaga externo processado paralelamente ser necessrio uma memria
de recarregamento.
Reset / final do programa / POWER ON
Com RESET e POWER ON as chamadas externas de subrotinas so canceladas e a
memria temporria apagada.
Uma subrotina selecionada para modo "Executar externamente" permanece selecionada
alm do RESET / fim do programa para o modo "Executar externamente". A seleo se
perde com um POWER ON.

Literatura
Para mais informaes sobre "Execuo externa", veja:
Manual de funes bsicas; BAG, Canal, Operao do programa, Comportamento Reset (K1)

Preparao do trabalho
Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

201

Programao flexvel de NC
1.24 Tcnica de subrotinas

1.24.3.11

Executar subrotina externa (828D) (EXTCALL)

Funo
Com o comando EXTCALL possvel recarregar e processar um programa de usinagem de
um diretrio externo.
Diretrios externos disponveis:
Carto CF de usurio
Unidade de rede
Unidade USB
Indicao
Unidade USB
S possvel uma interface processar um programa externo encontrado numa unidade
USB, se a interface da USB usar o painel de controle frontal ou TCU
Indicao
No utilizar USB-FlashDrive
aconselhado no usar um USB-FlashDrive no processamento de um subprograma
externo. Uma interrupo de comunicao com o USB-FlshDrive durante a execuo do
programa de usinagem por causa de falhas de contato, ejeo acidental, interrupo por
choques ou retirada proposital, resulta na parada imediata do processo. A ferramenta
e/ou a pea de trabalho podem ser danificadas com isso.
Pr-configurao do caminho externo do programa
O caminho para o diretrio externo do programa pode ser pr-configurado com o dado de
configurao:
SD42700 $SC_EXT_PROG_PATH
Junto com o caminho ou com o identificador de programa indicado na chamadaEXTCALL-
formado o caminho geral do programa de usinagem chamado.

Indicao
Parmetros
Na chamada de um programa externo estes no podero transferir nenhum parmetro.

Sintaxe

EXTCALL("<caminho/><nome do programa>")

Preparao do trabalho

202

Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

Programao flexvel de NC
1.24 Tcnica de subrotinas

Significado
EXTCALL:
"<caminho><Nome programa>":

Comando para chamada de uma subrotina externa


Constante/varivel de tipo STRING
<caminho>:

Indicao de caminho absoluta ou


relativa (opcional)

<nome de programa>:

O nome do programa
especificado sem o prefixo "_N_".
A extenso de arquivo ("MPF",
"SPF") pode ser adicionada em
nomes de programa com o
caractere "_" ou "." (opcional).
Exemplo:
"WELLE"
"WELLE_SPF"
"WELLE.SPF"

Indicao de caminho: Designaes abreviadas


Na indicao do caminho podem ser utilizadas as seguintes abreviaes:
Carto CF de usurio: "CF_CARD:"
Unidade USB (painel de controle frontal): "USB:"

Exemplo
O programa principal "MAIN.MPF" encontra-se na memria NC e selecionado para
execuo:
Subprograma "SP_1"
O subprograma externo "SP_1.SPF" ou "SP_1.MPF" encontra-se no caro CF de usurio no
diretrio "/WKS.DIR/WST1.WPD".
O caminho para o diretrio externo do programa deve ser configurado com:
SD42700 $SC_EXT_PROG_PATH = CF_CARD:WKS.DIR/WST1.WPD
Indicao
Indicao do caminho para a chamada do subprograma externo:
Sem utilizao da pr-configurao: "CF_CARD:WKS.DIR/WST1.WPD/SP_1"
Com utilizao da pr-configurao: "SP_1"

Subprograma "SP_2"
O subprograma externo "SP_2.SPF" ou "SP_2.MPF" encontra-se no diretrio
WKS.DIR/WST1.WPD da unidade USB. A pr-configurao do caminho para o diretrio
externo do programa utilizada para o caminho do subprograma "SP_1" e no ser
transcrito no programa principal Por isso preciso informar o completo caminho para a
chamada do subprograma "SP_2"

Preparao do trabalho
Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

203

Programao flexvel de NC
1.24 Tcnica de subrotinas
Programa principal "MAIN"
Cdigo de programa
N010 PROC MAIN
N020 ...
N030 EXTCALL("SP_1")
N030 EXTCALL("USB:WKS.DIR/WST1.WPD/SP_2")
N050 ...
N060 M30

Outras informaes
Chamada EXTCALL com indicao absoluta do caminho
Se o subprograma encontra-se no caminho especificado, ento este ser executado com a
chamada EXTCALL. Se o subprograma no estiver no caminho especificado, ento a
execuo do programa ser encerrada com o chamado EXTCALL.
Chamada EXTCALL com indicao relativa do caminho / sem indicao de caminho
Em caso de uma chamada EXTCALL com indicao relativa do caminho ou sem a indicao
do caminho realizada uma localizao nas memrias disponveis de programas de acordo
com o seguinte modelo:
1. Se no SD42700 $SC_EXT_PROG_PATH existir um caminho pr-configurado, ento
primeiramente ser procurado uma indicao no chamado EXTCALLpartida deste caminho
(nome do programa evtl. indicao de caminho relativo) O caminho absoluto resulta da
sequncia de caracteres dada pelo(a):
indicao de caminho pr-configurada no SD42700 $SC_EXT_PROG_PATH
Separador"/"
Caminho e nome do subprograma no comando EXTCALL
2. Se o subprograma no foi encontrado no 1., ento a procura ser feita no diretrio do
usurio.
A localizao encerrada assim que a subrotina for encontrada pela primeira vez. Se o
subprograma no for encontrado, ento a execuo do programa ser encerrada com o
chamado EXTCALL
Memria temporria configurvel (memria FIFO)
Para o processamento de um subprograma externo ser necessrio uma memria de
recarregamento. O tamanho da memria recarregvel est pr-definida (ver MD18360
MM_EXT_PROG_BUFFER_SIZE).
Indicao
Subprogramas com instrues de salto
Em subprogramas externos, que contenham instrues de salto (GOTOF, GOTOB, CASE, FOR,
LOOP, WHILE, REPEAT, IF, ELSE, ENDIF etc.), os saltos tm de estar dentro da memria de
carregamento.

Preparao do trabalho

204

Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

Programao flexvel de NC
1.25 Tcnica de macros (DEFINE ... AS)
Indicao
Programas ShopMill/ShopTurn
Programas ShopMill e ShopTurn devem estar completamente dentro da memria
recarregvel devido s descries de contornos adicionadas no fim do arquivo.
Para cada subpromaga externo processado paralelamente ser necessrio uma memria
de recarregamento.
Reset / final do programa / POWER ON
Com RESET e POWER ON as chamadas externas de subrotinas so canceladas e a
memria temporria apagada.
Uma subrotina selecionada para modo "Executar externamente" permanece selecionada
alm do RESET / fim do programa para o modo "Executar externamente". A seleo se
perde com um POWER ON.

Literatura
Para mais informaes sobre "Execuo externa", veja:
Manual de funes bsicas; BAG, Canal, Operao do programa, Comportamento Reset
(K1)

1.25

Tcnica de macros (DEFINE ... AS)


ATENO
Programao dificultada
Com a tcnica de macros se pode alterar consideravelmente a linguagem de programao
do comando. A tcnica de macros d pode ser implementada com grande exatido.

Funo
Como macro definimos o agrupamento de instrues individuais como uma instruo geral
de nome prprio. As funes G, M e H ou as subrotinas L tambm podem ser aplicadas
como macros. Na chamada da macro na execuo do programa os comandos programados
no nome da macro so executados seqencialmente.

Aplicao
Seqncias de instrues que se repetem, so programadas apenas uma vez em forma de
macro em um mdulo de macro (arquivo de macro) separado ou uma vez no incio do
programa. A macro pode ser chamada e executada em qualquer programa principal ou
subrotina.

Preparao do trabalho
Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

205

Programao flexvel de NC
1.25 Tcnica de macros (DEFINE ... AS)

Ativao
Para utilizar as macros de um arquivo de macro no programa NC se deve carregar o arquivo
de macro no NC.

Sintaxe
Definio de macro:
DEFINE <nome de macro> AS <instruo 1> <instruo 2> ...
Chamada no programa NC:
<nome de macro>

Significado
DEFINE ... AS

<nome de macro>:

Combinao de palavras-chave para definio de uma macro


Nome da macro
Como nomes de macros somente so permitidos identificadores.
Com o nome da macro se chama a macro a partir do programa NC.

<instruo>:

Instruo de programao que deve estar contida na macro.

Regras para definio de macros


Na macro se pode definir qualquer identificador, funes G, M e H e nomes de
programas L.
As macros tambm podem ser definidas no programa NC.
As macros de funo G somente podem ser definidas globalmente no comando em
mdulos de macro.
As funes H e L so programveis com 2 dgitos.
As funes M e G podem ser programadas com 3 dgitos.
Indicao
Palavras-chave e nomes reservados no podem ser redefinidos com macros.

Condies gerais
No possvel fazer um aninhamento de macros.

Preparao do trabalho

206

Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

Programao flexvel de NC
1.25 Tcnica de macros (DEFINE ... AS)

Exemplos
Exemplo 1: Definio de macro no incio do programa
Cdigo de programa

Comentrio

DEFINE LINHA AS G1 G94 F300

; Definio de macro

...
...
N70 LINHA X10 Y20

; Chamada de macro

...

Exemplo 2: Definies de macro em um arquivo de macro


Cdigo de programa

Comentrio

DEFINE M6 AS L6

; Para a troca de ferramentas se chama uma


subrotina que assume a transferncia de dados
necessria. Na subrotina executada a funo M de
troca de ferramentas propriamente dita (p. ex.
M106).

DEFINE G81 AS DRILL(81)

; Simulao da funo G DIN.

DEFINE G33 AS M333 G333

; Para a usinagem de roscas se solicita a


sincronizao com o PLC. A funo G33 original foi
renomeada para G333 pelo MD, a programao
permanece a mesma para o usurio.

Exemplo 3: Arquivo de macro externo


Aps o carregamento do arquivo de macro externo no comando, o arquivo de macro deve
ser carregado no NC. Somente ento se pode utilizar as macros no programa NC.
Cdigo de programa

Comentrio

%_N_UMAC_DEF
;$PATH=/_N_DEF_DIR

; Macros especficas de usurio

DEFINE PI AS 3.14
DEFINE TC1 AS M3 S1000
DEFINE M13 AS M3 M7

; Fuso gira direita, lquido refrigerante ligado

DEFINE M14 AS M4 M7

; Fuso gira esquerda, lquido refrigerante ligado

DEFINE M15 AS M5 M9

; Fuso parado, lquido refrigerante desligado

DEFINE M6 AS L6

; Chamada do programa de troca de ferramentas

DEFINE G80 AS MCALL

; Desseleo do ciclo de furao

M30

Preparao do trabalho
Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

207

Programao flexvel de NC
1.25 Tcnica de macros (DEFINE ... AS)

Preparao do trabalho

208

Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

Gerenciamento de arquivos e programas


2.1

Memria de programa

Funo
Na memria de programas so armazenados arquivos e programas (p. ex. programas
principais e subrotinas, definies de macro) de forma permanente ( Sistema passivo de
arquivos).
Literatura:
Manual de funes ampliadas; Configurao de memria (S7)
Tambm existe uma quantidade de tipos de arquivos que pode ser armazenada
temporariamente e, em caso de necessidade (p. ex. para a usinagem de uma determinada
pea), estes arquivos so transferidos para a memria de trabalho (p. ex. para
inicializaes).

0HPULDGHSURJUDPD

B1B'()B',5

B1B&67B',5

B1B&0$B',5

B1B60$&B'()
B1B00$&B'()
B1B80$&B'()
B1B6*8'B'()
B1B0*8'B'()
B1B8*8'B'()
B1B*8'B'()

B1B*8'B'()
B1B32&.(7B63)
B1BB63)

1RPHVSUHWRVGLVSRQYHLVFRPRIL[RV
1RPHVFLQ]DVHVSHFLILFDGRVSHORXVXULR

B1B&86B',5

B1B/B63)
B1BB63)

B1B63)B',5

B1B*/2%B63)
B1BB63)

B1B03)B',5

B1B:.6B',5

B1B&20B',5

B1B03)B03)
B1B029B03)
B1BB03)
B1B

B1B:(//(B:3'

B1B03)B:3'

B1B:(//(B03)
B1B3$57B03)
B1B3$57B63)
B1B3$57B63)
B1B:(//(B,1,
B1B:(//(B6($
B1B3$57B,1,
B1B3$57B8)5
B1B3$57B&20
B1B:(//(

B1B03)B03)
B1B/B63)
B1BB



Preparao do trabalho
Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

209

Gerenciamento de arquivos e programas


2.1 Memria de programa

Diretrios padro
Como padro esto disponveis os seguintes diretrios:
Diretrio

Contedo

_N_DEF_DIR

Mdulos de dados e mdulos de macros

_N_CST_DIR

Ciclos padronizados

_N_CMA_DIR

Ciclos de fabricante

_N_CUS_DIR

Ciclos de usurio

_N_WCS_DIR

Peas de trabalho

_N_SPF_DIR

Subrotinas globais

_N_MPF_DIR

Programas principais

_N_COM_DIR

Comentrios

Tipos de arquivo
Na memria de programa podem ser inseridos os seguintes tipos de arquivos:
Tipo de arquivo

Descrio

<Nome>_MPF

Programa principal

<Nome>_SPF

Subrotina

<Nome>_TEA

Dados de mquina

<Nome>_SEA

Dados de ajuste

<Nome>_TOA

Correes de ferramentas

<Nome>_UFR

Deslocamentos de ponto zero/Frame

<Nome>_INI

Arquivo de inicializao

<Nome>_GUD

Dados de usurio globais

<Nome>_RPA

Parmetros R

<Nome>_COM

Comentrio

<Nome>_DEF

Definies de dados de usurio globais e macros

Diretrio principal das peas de trabalho (_N_WCS_DIR)


O diretrio principal das peas de trabalho est configurado com a denominao
_N_WKS_DIR na memria de programa. O diretrio principal das peas de trabalho contm
todos os diretrios correspondentes de todas peas de trabalho que foram programadas.

Diretrios de pea de trabalho ( ..._WPD)


Para uma manipulao flexvel dos dados e programas, determinados dados e programas
podem ser agrupados ou armazenados em diferentes diretrios de pea de trabalho.
Um diretrio de pea de trabalho contm todos arquivos necessrios para a usinagem de
uma pea de trabalho. Estes podem ser programas principais, subrotinas, quaisquer
programas de inicializao e arquivos de comentrios.

Preparao do trabalho

210

Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

Gerenciamento de arquivos e programas


2.1 Memria de programa
Aps a seleo do programa, os programas de inicializao so executados uma vez no
primeiro Start do programa de pea (de acordo com o dado de mquina
MD11280 $MN_WPD_INI_MODE).
Exemplo:
O diretrio de pea de trabalho _N_EIXO_WPD, que foi criado para a pea EIXO, contm os
seguintes arquivos:
Arquivo

Descrio

_N_EIXO_MPF

Programa principal

_N_PART2_MPF

Programa principal

_N_PART1_SPF

Subrotina

_N_PART2_SPF

Subrotina

_N_EIXO_INI

Programa geral de inicializao dos dados para a pea de trabalho

_N_EIXO_SEA

Programa de inicializao dos dados de ajuste

_N_PART2_INI

Programa geral de inicializao dos dados para o programa Part 2

_N_PART2_UFR

Programa de inicializao dos dados de Frame para o programa Part


2

_N_WELLE_COM

Arquivo de comentrios

Criar diretrios de pea de trabalho em um PC externo


O procedimento descrito a seguir executado em uma estao externa de dados. Para o
gerenciamento de arquivos e programas (do PC para o comando) realizado diretamente no
comando existem informaes contidas em seu manual de operao.
Criar diretrios de pea de trabalho com indicao de caminho ($PATH=)
Na segunda linha de um arquivo o caminho de destino indicado com $PATH= O arquivo
ento armazenado no caminho especificado.
Exemplo:
Cdigo de programa
%_N_EIXO_MPF
;$PATH=/_N_WCS_DIR/_N_EIXO_WPD
N10 G0 X Z
...
M2

O arquivo _N_EIXO_MPF armazenado no diretrio /_N_WCS_DIR/_N_EIXO_WPD.


Criar diretrio de pea de trabalho sem indicao de caminho
Se faltar a indicao do caminho, ento os arquivos de extenso _SPF so armazenados no
diretrio /_NSPF_DIR, arquivos de extenso _INI na memria de trabalho e todos demais
arquivos no diretrio /_NMPF_DIR.

Preparao do trabalho
Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

211

Gerenciamento de arquivos e programas


2.1 Memria de programa
Exemplo:
Cdigo de programa
%_N_EIXO_SPF
...
M17

O arquivo _N_EIXO_SPF armazenado no diretrio /_N_SPF_DIR.

Selecionar pea de trabalho para usinagem


Um diretrio de pea de trabalho pode ser selecionado para a execuo em um canal. Se
neste diretrio encontra-se um programa principal de mesmo nome ou apenas um nico
programa principal (MPF), ento este ser automaticamente selecionado para execuo.
Literatura:
Manual de instrues

Caminhos de localizao na chamada de subrotinas


Se o caminho de chamada no for especificado explicitamente no programa de pea para
chamada de uma subrotina (ou tambm arquivo de inicializao), ento o programa
chamado ser procurado em um caminho fixo.
Chamada de subrotina com indicao absoluta de caminho
Exemplo:
Cdigo de programa
...
CALL"/_N_CST_DIR/_N_CYCLE1_SPF"
...

Chamada de subrotina sem indicao absoluta de caminho


Normalmente os programas so chamados sem indicao do caminho.
Exemplo:
Cdigo de programa
...
CYCLE1
...

Preparao do trabalho

212

Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

Gerenciamento de arquivos e programas


2.2 Memria de trabalho (CHANDATA, COMPLETE, INITIAL)
Os diretrios so pesquisados para localizao do programa chamado na seguinte
seqncia:
N

Diretrio

Descrio

atual diretrio / nome

Diretrio principal de peas de trabalho ou diretrio


padro _N_MPF_DIR

atual diretrio / nome_SPF

atual diretrio / nome_MPF

/_N_SPF_DIR / nome_SPF

Subrotinas globais

/_N_CUS_DIR / nome_SPF

Ciclos do usurio

/_N_CMA_DIR / nome_SPF

Ciclos do fabricante

/_N_CST_DIR / nome_SPF

Ciclos padronizados

Programar caminhos de localizao na chamada da subrotina (CALLPATH)


O caminho de localizao para chamada de subrotinas pode ser ampliado com o comando
de programa de peas CALLPATH.
Exemplo:
Cdigo de programa
CALLPATH("/_N_WCS_DIR/_N_MYWPD_WPD")
...

O caminho de localizao armazenado antes da posio 5 (ciclo do usurio) conforme


programao.
Para mais informaes sobre caminhos de localizao programveis em chamadas de
subprogramas com CALLPATH ver "Ampliar o caminho de localizao na chamada de
subrotinas (CALLPATH) (Pgina 197)".

2.2

Memria de trabalho (CHANDATA, COMPLETE, INITIAL)

Funo
A memria de trabalho contm os atuais dados de sistema do usurio, com os quais se
opera o comando (sistema de arquivos ativo), p. ex.:
Dados de mquina ativos
Dados de corretores de ferramentas
Deslocamentos de ponto zero
...

Preparao do trabalho
Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

213

Gerenciamento de arquivos e programas


2.2 Memria de trabalho (CHANDATA, COMPLETE, INITIAL)

Programas de inicializao
Aqui trata-se de programas com os quais os dados da memria de trabalho so
inicializados. Para isso podem ser utilizados os seguintes tipos de arquivos:
Tipo de arquivo

Descrio

nome_TEA

Dados de mquina

nome_SEA

Dados de ajuste

nome_TOA

Correes de ferramentas

nome_UFR

Deslocamentos de ponto zero/Frame

nome_INI

Arquivo de inicializao

nome_GUD

Dados de usurio globais

nome_RPA

Parmetros R

reas de dados
Os dados podem ser organizados em diferentes reas onde sero aplicados. Por exemplo,
um comando pode dispor de vrios canais ou, como de costume, dispor de vrios eixos.
Existe:
Identificao

reas de dados

NCK

Dados especficos do NCK

CH<n>

Dados especficos de canal (<n> indica o nmero do canal)

AX<n>

Dados especficos de eixo (<n> especifica o nmero do eixo da mquina)

TO

Dados de ferramenta

COMPLETE

Todos dados

Criar programa de inicializao em um PC externo


Com o auxlio do identificador da rea de dados e do tipo de arquivo podem ser
determinadas reas que sero consideradas como uma unidade durante a gravao de
segurana dos dados:
_N_AX5_TEA_INI

Dados da mquina para 5 eixos

_N_CH2_UFR_INI

Frames do canal 2

_N_COMPLETE_TEA_INI

Todos dados de mquina

Aps a colocao em funcionamento do comando existe um bloco de dados na memria de


trabalho que assegura o funcionamento correto do comando.

Preparao do trabalho

214

Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

Gerenciamento de arquivos e programas


2.2 Memria de trabalho (CHANDATA, COMPLETE, INITIAL)

Procedimento com comandos de vrios canais (CHANDATA)


O CHANDATA(<nmero do canal>) para vrios canais somente permitido no arquivo
_N_INITIAL_INI. Este o arquivo de colocao em funcionamento com o qual so
inicializados todos dados do comando.
Cdigo de programa

Comentrio

%_N_INITIAL_INI
CHANDATA(1)
; Atribuio de eixo de mquina do canal 1:
$MC_AXCONF_MACHAX_USED[0]=1
$MC_AXCONF_MACHAX_USED[1]=2
$MC_AXCONF_MACHAX_USED[2]=3
CHANDATA(2)
; Atribuio de eixo de mquina do canal 2:
$MC_AXCONF_MACHAX_USED[0]=4
$MC_AXCONF_MACHAX_USED[1]=5
CHANDATA(1)
; Dados de mquina de eixo:
; Janela de parada exata aproximada:
$MA_STOP_LIMIT_COARSE[AX1]=0.2

; Eixo 1

$MA_STOP_LIMIT_COARSE[AX2]=0.2

; Eixo 2
; Janela de parada exata fina

$MA_STOP_LIMIT_FINE[AX1]=0.01

; Eixo 1

$MA_STOP_LIMIT_FINE[AX1]=0.01

; Eixo 2

ATENO
Instruo CHANDATA
No programa de pea a instruo CHANDATAsomente pode ser definida para o canal onde o
programa NC ser executado; isto , o comando pode ser utilizado para proteger
programas NC para que no sejam executados acidentalmente em outro canal.
A execuo do programa ser cancelada em caso de erro.
Indicao
Os arquivos INI em listas de tarefas no contm nenhuma instruo CHANDATA.

Preparao do trabalho
Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

215

Gerenciamento de arquivos e programas


2.2 Memria de trabalho (CHANDATA, COMPLETE, INITIAL)

Salvar programas de inicializao (COMPLETE, INITIAL)


Os arquivos da memria de trabalho podem ser salvos em um PC externo e deste
recarregados.
Os arquivos so salvos com COMPLETE.
Com INITIAL se gera um arquivo INI (_N_INITIAL_INI) que se estende em todas as
reas.

Carregar programas de inicializao


ATENO
Perda de dados
Quando se carrega o arquivo de nome "INITIAL_INI", todos dados que no so
alimentados com o arquivo sero inicializados com dados padro. Disso esto excludos
apenas os dados de mquina. Os dados de ajuste, dados de ferramenta, NPV, valores
GUD, ... tambm so alimentados com dados padro (normalmente o "ZERO").
Por exemplo, o arquivo COMPLETE_TEA_INI apropriado para o carregamento de dados
individuais de mquina. Deste arquivo o comando apenas espera os dados de mquina.
Dessa forma as demais reas de dados permanecem inalteradas neste caso.

Carregar programas de inicializao


Os programas INI tambm podem ser selecionados e executados como programas de
peas, isto se utilizarem apenas os dados de um canal. Assim tambm possvel inicializar
dados controlados pelo programa.

Preparao do trabalho

216

Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

reas de proteo
3.1

Definio das reas de proteo (CPROTDEF, NPROTDEF)

Funo
Com a ajuda das reas de proteo se pode proteger vrios elementos da mquina, o
equipamento assim como a pea de trabalho de eventuais movimentos incorretos.
reas de proteo relativas ferramenta:
Para componentes que pertencem ferramenta (p. ex. ferramenta, porta-ferramenta).
reas de proteo relativas pea de trabalho:
Para componentes que pertencem pea de trabalho (p. ex. componentes da pea de
trabalho, mesa de fixao, garras de fixao, mandril do fuso, contraponta).

UHDGHSURWHRUHODWLYD
IHUUDPHQWD

<

UHDGHSURWHR
UHODWLYD
IHUUDPHQWD

%

=
;
UHDGHSURWHRUHODWLYD
SHDGHWUDEDOKR

Sintaxe
DEF INT NOT_USED
G17/G18/G19
CPROTDEF/NPROTDEF(<n>,<t>,<applim>,<applus>,<appminus>)
G0/G1/... X/Y/Z...
...
EXECUTE (NOT_USED)

Preparao do trabalho
Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

217

reas de proteo
3.1 Definio das reas de proteo (CPROTDEF, NPROTDEF)

Significado
DEF INT NOT_USED:

Definir varivel local com dado tipo INTEGER

G17/G18/G19:

O plano desejado selecionado antes de CPROTDEF ou NPROTDEF


com G17/G18/G19 e no pode ser modificado antes de EXECUTE.
No permitida uma programao da terceira coordenada
entre CPROTDEF ou NPROTDEF e EXECUTE.

CPROTDEF:

Definir reas de proteo especficas de canal

NPROTDEF:
G0/G1/... X/Y/Z...

Definir reas de proteo especficas da mquina

...

O contorno das reas de proteo especificado com no


mximo 11 movimentos de percurso dentro do plano
selecionado. Neste caso o primeiro movimento de percurso o
movimento no contorno. Aqui como rea de proteo vale a
rea esquerda do contorno.
Nota:
Os movimentos de percurso entre CPROTDEF ou NPROTDEF e
EXECUTE no so executados, pois eles definem a rea de
proteo.

EXECUTE:

Finalizao da definio

<n>:

Nmero da rea de proteo definida

<t>:

Tipo da rea de proteo

<applim>:

TRUE:

rea de proteo em funo da ferramenta

FALSE:

rea de proteo em funo da pea de trabalho

Tipo de limitao na 3 dimenso


0:

Sem limitao

1:

Limitao no sentido positivo

2:

Limitao no sentido negativo

3:

Limitao nos sentidos positivo e negativo

<applus>:

Valor da limitao no sentido positivo da 3 dimenso

<appminus>:

Valor da limitao no sentido negativo da 3 dimenso

NOT_USED:

A varivel de erro no tem efeito nas reas de proteo com

EXECUTE

Condies gerais
Durante a definio das reas de proteo:
nenhuma correo de raio de fresa ou de raio de corte pode estar ativa,
nenhuma transformao pode estar ativa.
nenhum Frame pode estar ativo.
Tambm no podem ser programadas a aproximao do ponto de referncia (G74),
aproximao do ponto fixo (G75), parada de localizao de blocos ou o fim de programa.

Preparao do trabalho

218

Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

reas de proteo
3.1 Definio das reas de proteo (CPROTDEF, NPROTDEF)

Outras informaes
Definio de reas de proteo
Para definio de reas de proteo existem:

CPROTDEF

para reas de proteo especficas de canal

NPROTDEF

para reas de proteo especficas da mquina

Descrio do contorno da rea de proteo


Encerramento da definio com EXECUTE
Pode-se deslocar o ponto de referncia da rea de proteo de modo relativo quando a
rea de proteo est ativada no programa de pea NC.
Ponto de referncia da descrio do contorno
As reas de proteo relativas pea de trabalho so definidas no sistema de coordenadas
bsico.
As reas de proteo relativas ferramenta so especificadas em funo do ponto de
referncia do porta-ferramentas F.
Elementos de contorno permitidos
Para a descrio do contorno da rea de proteo so permitidos:

G0, G1

G2

G3

para elementos de contorno retos

para segmentos circulares no sentido horrio (apenas para rea de proteo relativa
pea de trabalho)
para segmentos circulares no sentido anti-horrio

Indicao
Se for descrita uma circunferncia inteira para a rea de proteo, ento ela deve ser
dividida em duas semicircunferncias. A ordem G2, G3 ou G3, G2 no permitida. Aqui
deve ser inserido um curto bloco G1.
O ltimo ponto da descrio do contorno deve coincidir com o primeiro ponto.
reas de proteo externas
As reas de proteo externas (possvel apenas em reas de proteo relativas pea de
trabalho) devem ser definidas no sentido horrio.
reas de proteo simtricas na rotao
Para reas de proteo simtricas na rotao (p. ex. mandril do fuso) deve ser descrito o
contorno inteiro (no apenas at o centro da rotao!).
reas de proteo relativas ferramenta
reas de proteo relativas ferramenta sempre devem ser convexas. Se for desejada uma
rea de proteo cncava, esta deve ser distribuda em vrias reas de proteo convexas.

Preparao do trabalho
Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

219

reas de proteo
3.2 Ativar/desativar reas de proteo (CPROT, NPROT)

UHDVGHSURWHRFRQYH[DV

UHDVGHSURWHRFQFDYDV QRSHUPLWLGR

3.2

Ativar/desativar reas de proteo (CPROT, NPROT)

Funo
Ativao ou pr-ativao das reas de proteo definidas anteriormente para monitorao
de coliso ou desativao das reas de proteo.
O nmero mximo de reas de proteo ativas simultaneamente em um canal definida no
dado da mquina.
Se nenhuma rea de proteo relativa ferramenta estiver ativa, ento o percurso da
ferramenta verificado para a rea de proteo relativa pea de trabalho.
Indicao
Se nenhuma rea de proteo relativa pea de trabalho estiver ativa, ento no haver
nenhuma monitorao da rea de proteo.

Sintaxe

CPROT(<n>,<state>,<xMov>,<yMov>,<zMov>)
NPROT(<n>,<state>,<xMov>,<yMov>,<zMov>)

Significado
CPROT:

Chamada da rea de proteo especfica de canal

NPROT:

Chamada da rea de proteo especfica da mquina

<n>:

Nmero da rea de proteo

Preparao do trabalho

220

Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

reas de proteo
3.2 Ativar/desativar reas de proteo (CPROT, NPROT)
<state>:

Indicao do estado

<xMov>,<yMov>,<zMov>:

0:

Desativao da rea de proteo

1:

Pr-ativao da rea de proteo

2:

Ativao da rea de proteo

3:

Pr-ativao da rea de proteo com parada


condicional

Deslocamento da rea de proteo j definida nos eixos


geomtricos

Condies gerais
Monitorao da rea de proteo com correo do raio da ferramenta ativada
Com a correo do raio da ferramenta ativada somente possvel uma monitorao da rea
de proteo que funcione, se o plano da correo do raio da ferramenta for idntico ao
plano das definies da rea de proteo.

Exemplo

Para uma fresadora deve ser monitorada uma possvel coliso da fresa com o apalpador de
medio. A posio do apalpador de medio deve ser especificado por um deslocamento
para a ativao. Para isso so definidas as seguintes reas de proteo:
Uma rea de proteo especfica da mquina e uma relativa pea de trabalho para o
suporte do apalpador de medio (n-SB1) e para o prprio apalpador de medio (nSB2).
Uma rea de proteo especfica de canal e uma relativa ferramenta para o porta-fresa
(c-SB1), a haste da fresa (c-SB2) e para a prpria fresa (c-SB3).
A orientao de todas reas de proteo est no sentido Z.
A posio do ponto de referncia do apalpador de medio para a ativao deve estar em
X = -120, Y = 60 e Z = 80.

3RQWRGHUHIHUQFLDSDUD
DUHDGHSURWHRGR
DSDOSDGRUGHPHGLR



&6%

Q6%





Q6%











&6%



&6%


<

Preparao do trabalho
Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

221

reas de proteo
3.2 Ativar/desativar reas de proteo (CPROT, NPROT)

Cdigo de programa

Comentrio

DEF INT PROTECAOB

; Definio de uma varivel auxiliar

Definio das reas de proteo do G17

; Ajuste da orientao

NPROTDEF(1,FALSE,3,10,10)G01 X0 Y10

; rea de proteo nSB1

X40
Y10
X0
Y10
EXECUTE(PROTECAOB)
NPROTDEF(2,FALSE,3,5,5)

; rea de proteo nSB2

G01 X40 Y5
X70
Y5
X40
Y5
EXECUTE(PROTECAOB)
CPROTDEF(1,TRUE,3,0,100)

; rea de proteo cSB1

G01 X20 Y20


X20
Y20
X20
Y20
EXECUTE(PROTECAOB)
CPROTDEF(2,TRUE,3,100,150)

; rea de proteo cSB2

G01 X0 Y10
G03 X0 Y10 J10
X0 Y10 J10
EXECUTE(PROTECAOB)
CPROTDEF(3,TRUE,3,150,170)

; rea de proteo cSB3

G01 X0 Y27,5
G03 X0 Y27,5 J27,5
X0 Y27,5 J27,5
EXECUTE(PROTECAOB)
Ativao das reas de proteo:
NPROT(1,2,120,60,80)

; Ativao da rea de proteo nSB1 com


deslocamento

NPROT(2,2,120,60,80)

; Ativao da rea de proteo nSB2 com


deslocamento

CPROT(1,2,0,0,0)

; Ativao da rea de proteo cSB1 com


deslocamento

CPROT(2,2,0,0,0)

; Ativao da rea de proteo cSB2 com


deslocamento

CPROT(3,2,0,0,0)

; Ativao da rea de proteo cSB3 com


deslocamento

Preparao do trabalho

222

Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

reas de proteo
3.2 Ativar/desativar reas de proteo (CPROT, NPROT)

Outras informaes
Estado de ativao (<state>)
<state>=2
Normalmente uma rea de proteo ativada no programa de pea com estado = 2.
O estado sempre especfico de canal, mesmo nas reas de proteo especficas da
mquina.
<state>=1
Se atravs do programa de usurio PLC estiver previsto que uma rea de proteo pode
ser ativada pelo programa de usurio PLC, ento ser realizada a pr-ativao
necessria com o estado = 1.
<state>=3
Na pr-ativao com parada condicional nem sempre ocorre a parada antes de uma
rea de proteo violada, pr-ativada. A parada somente ocorre se a rea de proteo
for ativada antes. Isto possibilita uma usinagem sem interrupes, quando as reas de
proteo somente so ativadas em casos especiais. Aqui se deve observar que, em
funo da rampa de frenagem, um movimento pode invadir a rea de proteo, caso a
rea de proteo tiver sido ativada imediatamente antes da execuo.
A pr-ativao com parada condicional ocorre atravs do estado = 3.
<state>=0
A desativao e com isso a desabilitao das reas de proteo realizada atravs do
estado = 0. Neste caso no necessrio nenhum deslocamento.
Deslocamento de reas de proteo na (pr-)ativao
O deslocamento pode ser realizado em 1, 2 ou 3 dimenses. A indicao do deslocamento
est em funo:
do ponto zero da mquina para reas de proteo especficas de pea de trabalho.
do ponto de referncia do porta-ferramenta F para reas de proteo especficas de
ferramenta.
Estado aps a inicializao
As reas de proteo j podem ser ativadas aps a inicializao e subsequente
aproximao do ponto de referncia. Deve-se definir a varivel de sistema
$SN_PA_ACTIV_IMMED[<n>] ou $SC_PA_ACTIV_IMMED[<n>] como TRUE. Elas sempre
so ativadas com o estado = 2 e no possuem deslocamento.
Ativao mltipla de reas de proteo
Uma rea de proteo tambm pode ser ativada simultaneamente em vrios canais (p. ex.
cabeote em duas unidades de avano dispostas de forma oposta). A monitorao das
reas de proteo somente ser realizada quando todos eixos geomtricos estiverem
referenciados.
Aqui vale:
A rea de proteo no pode ser ativada simultaneamente de forma mltipla com
diferentes deslocamentos em um canal.
reas de proteo relativas mquina devem ter a mesma orientao em ambos canais.

Preparao do trabalho
Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

223

reas de proteo
3.3 Verificao quanto violao da rea de proteo, limite da rea de trabalho e chave fim de curso de
software (CALCPOSI)

3.3

Verificao quanto violao da rea de proteo, limite da rea de


trabalho e chave fim de curso de software (CALCPOSI)

Funo
A funo CALCPOSI() verifica no sistema de coordenadas de peas de trabalho (WKS), no
que se refere a eixos geomtricos, se, partindo da posio inicial, as limitaes ativas
seriam violadas ao longo do deslocamento.
Se o deslocamento no puder ser completamente inicializado devido a limitaes, ser
restituido um valor de status codificado decimal positivo e o deslocamento mximo possvel.

Sintaxe

<Status> = CALCPOSI(VAR <Start>, VAR <Dist>, VAR <Limit>, VAR


<MaxDist>, <System>, <TestLim>)

Significado
CALCPOSI:

<Status>:

(Parte 1)

Teste dos danos limitadores no que se refere a eixos geomtricos.


Parada de prprocessamento:

no

Sozinho no bloco:

sim

Valor de devoluo da funo. Valores negativos mostram condies de erro.


Tipo de dado:

INT

Faixa de valores:

-8 x 100000

Valores

Significado

O deslocamento pode ser completamente inicializado

-1

No <Limit>, pelo menos um componente negativo.

-2

Erro no clculo de transformao.


Exemplo: O deslocamento dirige-se por uma singularidade,
de maneira que as posies do eixo no so definidas.

-3

O deslocamento indicado <Dist> e o deslocamento mximo


possvel <MaxDist> so interdependentes no sentido linear.
Nota
pode apenas ocorrer em relao com <TestLim>, Bit 4 == 1.

-4

A projeo na direo de deslocamento sobre a rea limitante


contida no <Dist> o vetor zero e a direo do deslocamento
est perpendicular rea limitante violada.
Nota
pode apenas ocorrer em relao com <TestLim>, Bit 5 == 1.

-5

Em<TestLim> so Bit 4 == 1 UND Bit 5 == 1

-6

Ao menos um eixo da mquina que no teve que ser


considerado para a verificao dos limites de deslocamento
no est referenciado.

Preparao do trabalho

224

Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

reas de proteo
3.3 Verificao quanto violao da rea de proteo, limite da rea de trabalho e chave fim de curso de software (CALC
-7

Funo de preveno de coliso: Definio no vlida da


cadeia cinemtica ou das reas de proteo.

-8

Funo de preveno de coliso: a funo pode no ser


executada devido insuficincia de memria.

<Status>:

(Parte 2)

Posio da unidade
Nota
Caso mais limites sejam violados, ser notificado aquela que levar restrio mais
severa do deslocamento dado.
1

Chaves terminais do software limitam o deslocamento

Limitao do campo de trabalho limita o deslocamento

reas de proteo limitam o deslocamento


Posio da dezena

1x
2x

O valor inicial viola o limite


A reta especificada viola o limite.
Este valor tambm ser restitudo, se o ponto final no violar
nenhum limite; contudo, ocorreria um dano em um valor limite
no percurso do ponto inicial ao ponto final (ex .no atravessar
de uma rea de proteo, chave terminal do software
danificada no WKS por transformaes no lineares, ex
transmit).

<Status>:

(Parte 3)

Posio da centena
1xx

UND posio unidade == 1 ou 2:


O valor-limite positivo est violado.
UND posio da unidade == 3 1):
Espec. ao NO rea de proteo violada.

2xx

UND posio unidade == 1 ou 2:


O valor-limite negativo est violado.
UND posio unidade == 3 1):
especfica de canal. rea de proteo violada.

<Status>:

(Parte 4)

Posio da milhar
1xxx

UND posio unidade == 1 ou 2:


de canal, com o qual o nmero de eixos multiplicado, viola o
limite. A numerao do eixo se inicia em 1.
Referncia:

Chave fim de curso de software: Eixos de mquina

Limite da rea de trabalho: Eixos geomtricos


UND posio unidade == 3 1):
Fator com o que o nmero de reas de proteo violadas
multiplicado.

Preparao do trabalho
Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

225

reas de proteo
3.3 Verificao quanto violao da rea de proteo, limite da rea de trabalho e chave fim de curso de
software (CALCPOSI)
<Status>:

Posio centena de milhar

(Partel 5)

0xxxxx

Posio centena de milhar == 0: <Dist>permanece sem


alterao

1xxxxx

No <Dist> ser devolvido um vetor de direo que define a


outra direo de movimento na rea limite.
Pode ocorrer apenas nas seguintes condies:

Chave terminal do software ou limite do campo de


trabalho violados (no no ponto inicial)

Uma transformao no ativa

<TestID>, Bit 4 ou Bit 5 == 1

1) Se mltiplas reas de proteo forem violadas, a rea de proteo que leva


forte reduo de deslocamento apresentado ser notificada.
<incio>:

Referncia sobre um vetor com as posies iniciais:

<Start> [0]: Abscissa

<Start> [1]: Ordenada

<Start> [2]: Aplicada

Tipo de parmetro: Entrada

<Dist>:

Tipo de dado:

VAR REAL [3]

Faixa de valores:

Valor real x[n] +mx.

Referncia a um fator com o percurso incremental:

<Dist> [0]: Abscissa

<Dist> [1]: Ordenada

<Dist> [2]: Aplicada

Com posio de centenas de milhar definida no <Status>:


<Dist> possui como valor de sada um vetor de unidade v, que define a outra
direo de descolamento no WCS.
Caso 1: Formao do vetor v em<TestID>, Bit 4 == 1
Os vetores de entrada <Dist> e <MaxDist> fixam o plano de movimento. Este
plano ser cortado com a rea limite violada. A linha de interseco dos dois
planos define a direo do vetor v. A orientao (sinal) ser selecionada de
maneira que o ngulo entre o vetor de entrada <MaxDist> e v no seja maior
que 90 graus.
Caso 2: Formao do vetor v em<TestID>, Bit 5 == 1
O vetorv o vetor de unidade na direo da projeo do vetor de
deslocamento contido em<Dist> da rea limite. Se a projeo do vetor de
deslocamento sobre a rea limite for o vetor nulo, ser devolvido um erro.
Tipo de parmetro: Entrada/sada
Tipo de dado:

VAR REAL [3]

Faixa de valores:

Valor real x[n] +mx.

Preparao do trabalho

226

Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

reas de proteo
3.3 Verificao quanto violao da rea de proteo, limite da rea de trabalho e chave fim de curso de software (CALC
<Limit>:

Referncia sobre um campo do comprimento 5.

<Limit> [0 - 2]: Distncia mnima do eixo geomtrico, abcissa, ordenada,


aplicada
Os primeiros trs elementos recebem distncias mnimas do eixo geomtrico,
que devem ser mantidas em relao aos limites monitorizados. So utilizados
sempre em relao ao limite da rea de trabalho e em relao ao interruptor
final de software quando ou no existe transformao ou quando existe uma
transformao ativa na qual seja possvel uma atribuio clara dos eixos
geomtricos para eixos de mquinas lineares (p. ex. transformaes de 5
eixos)

<Limit> [3]: Contem a distncia mnima para eixos de mquinas lineares que,
por exemplo, devido a uma transformao no-linear de nenhum eixo
geomtrico no pode ser classificada. Este valor ser utilizado como valor
limite no monitoramento de reas de proteo convencionais e de reas de
proteo de preveno de coliso.

<Limit> [4]: Contem a distncia mnima para eixos de mquinas rotativos que,
por exemplo, devido a uma transformao no-linear de nenhum eixo
geomtrico no pode ser classificada.
Nota
Este valor apenas se torna vlido na monitorizao do interruptor final de
software de transformaes especiais.

Tipo de parmetro: Entrada

<MaxDist>:

Tipo de dado:

VAR REAL [5]

Faixa de valores:

Valor real x[n] +mx.

Referncia sobre um vetor com um deslocamento incremental, no qual a distncia


mnima de um limite de eixo de todos os eixos de mquinas participantes no ser
pequena demais:

<Dist> [0]: Abscissa

<Dist> [1]: Ordenada

<Dist> [2]: Aplicada


Se o deslocamento estiver reduzido, o contedo desse parmtro de devoluo
igual ao contedo de <Dist>.
Em <TestID>, Bit 4 == 1: <Dist> e <MaxDist>
<MaxDist> e<Dist> devem conter vetores como valores de entrada que fixem um

plano de movimento. Ambos os vetores devem ser independentes um do outro


linearmente. O valor de <MaxDist> almejado. Para o clculo da direo do
movimento, veja a descrio para <Dist>.

Tipo de parmetro: Sada


Tipo de dado:

VAR REAL [3]

Faixa de valores:

Valor real x[n] +mx.

Preparao do trabalho
Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

227

reas de proteo
3.3 Verificao quanto violao da rea de proteo, limite da rea de trabalho e chave fim de curso de
software (CALCPOSI)
<Sistema>:

Sistema de medida (inch / mtrico) para indicaes de posio e comprimento


(opcional)
Tipo de dado:

BOOL

Valor padro:

FALSE

Valor

Significado

FALSE

Sistema de medida correspondente funo G ativa atual do


grupo G 13 (G70, G71, G700, G710).
Nota
Em G70 ativo e sistema bsico mtrico ou ativo G71 e
sistema bsico inch, as variveis do sistema $AA_IW e
$AA_MW so fornecidas no sistema bsico e devem ser
eventualmente recalculadas na utilizao para CALCPOSI().

TRUE

Sistema de medida correspondente ao sistema bsico


ajustado
MD52806 $MN_ISO_SCALING_SYSTEM

<TestLim>:

Seleo codificada em bit dos limites a serem monitorados (opcional)


Tipo de dado:

INT

Valor padro:

Bit 0, 1, 2, 3 == 1 (15)

Bit

Decimal

Significado

Chave fim de curso de software

Limite da rea de trabalho

reas de proteo convencionais ativadas

reas de proteo convencionais pr-ativadas

16

Em chaves terminais de softwares e limites de campo de


trabalho no <Dist> a direo de deslocamento
correspondente caso 1 restituir.

32

Em chaves terminais de softwares e limites de campo de


trabalho no <Dist> a direo de deslocamento
correspondente caso 2 restituir.

64

reas de proteo ativas da preveno de coliso.

128

reas de proteo da preveno de coliso pr-ativadas.

256

Pares de zonas de proteo de preveno de coliso ativados


e pr-ativados.

Literatura
Manual de funes bsicas, (A3) monitorizao de eixos, reas de proteo,
captulo "reas de proteo"

Preparao do trabalho

228

Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

Comandos especiais de curso


4.1

Aproximar posies codificadas (CAC, CIC, CDC, CACP, CACN)

Funo
Atravs dos seguintes comandos podemos deslocar eixos lineares e rotativos atravs de
nmeros de posio que esto registrados como posies fixas de eixo em tabelas de
dados da mquina. Este tipo de programao denominado de "Aproximao de posies
codificadas".

Sintaxe

CAC(<n>)
CIC(<n>)
CACP(<n>)
CACN(<n>)

Significado
CAC(<n>)

Aproximar posio codificada de nmero de posio n

CIC(<n>)

Aproximar a posio codificada, partindo-se do atual nmero de posio,


n locais de posio para frente (+n) ou para trs (n)

CDC(<n>)

Aproximar posio codificada de nmero de posio n pelo percurso


mais curto
(apenas para eixos rotativos)

CACP(<n>)

Aproximar posio codificada de nmero de posio n em sentido


positivo
(apenas para eixos rotativos)

CACN(<n>)

Aproximar posio codificada de nmero de posio n em sentido


negativo
(apenas para eixos rotativos)

<n>

Nmero de posio dentro da tabela de dados da mquina


Faixa de valores: 0, 1, (nmero mx. de locais na tabela - 1)

Exemplo: Aproximao de posies codificadas de um eixo de posicionamento


Cdigo de programao

Comentrio

N10 FA[B]=300

; Avano para eixo de posicionamento B

N20 POS[B]=CAC(10)

; Aproximar a posio codificada de nmero de posio 10

N30 POS[B]=CIC(-4)

; Aproximar a posio codificada do "atual nmero de


posio" - 4

Preparao do trabalho
Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

229

Comandos especiais de curso


4.2 Interpolao de Spline (ASPLINE, BSPLINE, CSPLINE, BAUTO, BNAT, BTAN, EAUTO, ENAT, ETAN, PW,
SD, PL)

Literatura
Manual de funes ampliadas; Eixos de indexao (T1)
Manual de funes para aes sincronizadas

4.2

Interpolao de Spline (ASPLINE, BSPLINE, CSPLINE, BAUTO,


BNAT, BTAN, EAUTO, ENAT, ETAN, PW, SD, PL)

Funo
Muitos contornos curvados nas peas de trabalho no podem ser descritos analiticamente
com preciso. Por isso que os contornos desse tipo so aproximados atravs de um nmero
limitado de pontos de interpolao, como no caso da digitalizao de superfcies. Para gerar
a superfcie digitalizada de uma pea de trabalho os pontos de interpolao devem ser
ligados em uma descrio de contorno. Isso permite a interpolao de Spline.
Uma Spline define uma curva formada por polinmios de 2 e 3 grau. As propriedades nos
pontos de interpolao de uma Splines podem ser definidas em funo do tipo de Spline
utilizado.

3
3

3
3

3

3

3DW3FRRUGHQDGDVHVSHFLILFDGDV

No SINUMERIK solution line esto disponveis os seguintes tipos de Spline:


A-Spline
B-Spline
C-Spline

Preparao do trabalho

230

Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

Comandos especiais de curso


4.2 Interpolao de Spline (ASPLINE, BSPLINE, CSPLINE, BAUTO, BNAT, BTAN, EAUTO, ENAT, ETAN, PW, SD, PL)

Sintaxe

Geral:
ASPLINE X... Y... Z... A... B... C...
BSPLINE X... Y... Z... A... B... C...
CSPLINE X... Y... Z... A... B... C...
Na B-Spline tambm se programa:
PW=<n>
SD=2
PL=<valor>
Na A-Spline e C-Spline tambm se programa:
BAUTO

/ BNAT / BTAN

EAUTO

/ ENAT / ETAN

Significado
Tipo de interpolao de Spline:
ASPLINE

Comando para ativar a interpolao de A-Spline

BSPLINE

Comando para ativar a interpolao de B-Spline

CSPLINE

Comando para ativar a interpolao de C-Spline


Os comandos ASPLINE, BSPLINE e CSPLINE so ativados modalmente
e pertencem ao grupo dos comandos de curso.

Pontos de interpolao e pontos de controle:


X... Y... Z...
A... B... C...

Posies em coordenadas cartesianas

Peso de ponto (apenas para B-Spline):


PW

Com o comando PW possvel ser programado um chamado "Peso


de ponto" para cada ponto de interpolao.

<n>

"Peso de ponto"
Faixa de valores: 0 n 3
Incremento:

0.0001

Efeito:

n>1

A curva guiada de forma mais


acentuada pelo ponto de controle.

n<1

A curva guiada de forma menos


acentuada pelo ponto de controle

Grau Spline (apenas para B-Spline):


SD

Como padro usado um polinmio de 3 grau. Atravs da


programao do SD=2, mas tambm pode ser utilizado um polinmio
de 2 grau.
Distncia dos ns (apenas para B-Spline):

PL

As distncias entre os ns so calculadas internamente de forma


adequada. O comando tambm pode processar as distncias
indicadas dos ns, que so indicadas como distncia parmetrointervalo com o comando PL.

<valor>

Comprimento de intervalo do parmetro


Faixa de valores: como dimenso de curso

Preparao do trabalho
Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

231

Comandos especiais de curso


4.2 Interpolao de Spline (ASPLINE, BSPLINE, CSPLINE, BAUTO, BNAT, BTAN, EAUTO, ENAT, ETAN, PW,
SD, PL)
Comportamento de transio no incio da curva Spline (apenas para A-Spline ou C-Spline):
BAUTO

Nenhuma especificao para comportamento de transio. O incio


resulta da posio do primeiro ponto.

BNAT

Curvatura zero

BTAN

Transio tangencial para o bloco anterior (ajuste inicial)

Comportamento de transio no fim da curva Spline (apenas para A-Spline ou C-Spline):


EAUTO

Nenhuma especificao para comportamento de transio. O fim


resulta da posio do ltimo ponto.

ENAT

Curvatura zero

ETAN

Transio tangencial para o bloco anterior (ajuste inicial)

%$872
($872
6HPSUGHILQLR
%1$7
(1$7
&XUYDWXUD]HUR

7UDQVLR
WDQJHQFLDO

%7$1

(7$1

Indicao
O comportamento de transio programvel no exerce nenhuma influncia sobre a BSpline. A B-Spline sempre tangencial ao polgono de controle no ponto de partida e ponto
final.

Condies gerais
A correo do raio da ferramenta aplicvel.
A monitorao de colises realizada na projeo sobre o plano.

Preparao do trabalho

232

Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

Comandos especiais de curso


4.2 Interpolao de Spline (ASPLINE, BSPLINE, CSPLINE, BAUTO, BNAT, BTAN, EAUTO, ENAT, ETAN, PW, SD, PL)

Exemplos
Exemplo 1: B-Spline
Cdigo de programa 1 (todos os pesos 1)
N10 G1 X0 Y0 F300 G64
N20 BSPLINE
N30 X10 Y20
N40 X20 Y40
N50 X30 Y30
N60 X40 Y45
N70 X50 Y0
Cdigo de programa 2 (diferentes pesos)
N10 G1 X0 Y0 F300 G64
N20 BSPLINE
N30 X10 Y20 PW=2
N40 X20 Y40
N50 X30 Y30 PW=0.5
N60 X40 Y45
N70 X50 Y0
Cdigo de programa 3 (polgono de controle)

Comentrio

N10 G1 X0 Y0 F300 G64


N20

; no aplicado

N30 X10 Y20


N40 X20 Y40
N50 X30 Y30
N60 X40 Y45
N70 X50 Y0

<

3ROJRQRGHFRQWUROH
7RGRVSHVRV
'LIHUHQWHVSHVRV







;












Preparao do trabalho
Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

233

Comandos especiais de curso


4.2 Interpolao de Spline (ASPLINE, BSPLINE, CSPLINE, BAUTO, BNAT, BTAN, EAUTO, ENAT, ETAN, PW,
SD, PL)
Exemplo 2: C-Spline, no incio e no fim da curvatura zero
Cdigo de programa
N10 G1 X0 Y0 F300
N15 X10
N20 BNAT ENAT
N30 CSPLINE X20 Y10
N40 X30
N50 X40 Y5
N60 X50 Y15
N70 X55 Y7
N80 X60 Y20
N90 X65 Y20
N100 X70 Y0
N110 X80 Y10
N120 X90 Y0
N130 M30

<






;


















Exemplo 3: Interpolao de Spline (A-Spline) e transformao de coordenadas (ROT)


Programa principal:
Cdigo de programa

Comentrio

N10 G00 X20 Y18 F300 G64

; Aproximar o ponto de partida.

N20 ASPLINE

; Ativar o tipo de interpolao A-Spline.

N30 CONTORNO

; Primeira chamada da subrotina.

N40 ROT Z-45

; Transformao de coordenadas: Rotao do WCS


em -45 em torno do eixo Z.

N50 G00 X20 Y18

; Aproximar o ponto de partida do contorno.

N60 CONTORNO

; Segunda chamada da subrotina.

N70 M30

; Fim do programa

Preparao do trabalho

234

Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

Comandos especiais de curso


4.2 Interpolao de Spline (ASPLINE, BSPLINE, CSPLINE, BAUTO, BNAT, BTAN, EAUTO, ENAT, ETAN, PW, SD, PL)
Subrotina "Contorno" (contm as coordenadas dos pontos de interpolao):
Cdigo de programa
N10 X20 Y18
N20 X10 Y21
N30 X6 Y31
N40 X18 Y31
N50 X13 Y43
N60 X22 Y42
N70 X16 Y58
N80 X33 Y51
N90 M1

Na figura a seguir, alm da curva Spline, resultante do exemplo de programa (ASPLINE),


tambm esto contidas as curvas Spline que resultariam da ativao de uma interpolao
B-Spline ou C-Spline (BSPLINE, CSPLINE):
$63/,1(
%63/,1(
&63/,1(

<

13ULPHLUDFKDPDGDGHVXEURWLQD



1 6HJXQGDFKDPDGD
GHVXEURWLQD

















Preparao do trabalho
Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

235

Comandos especiais de curso


4.2 Interpolao de Spline (ASPLINE, BSPLINE, CSPLINE, BAUTO, BNAT, BTAN, EAUTO, ENAT, ETAN, PW,
SD, PL)

Outras informaes
Vantagens da interpolao de Spline
Atravs do uso da interpolao de Spline so obtidas as vantagens mencionadas a seguir,
em contrapartida ao uso de blocos de retas G01:
Reduo do nmero de blocos de programa de pea necessrios para descrio do
contorno
Trajetria suave de curvas e de melhor aspecto esttico nas transies entre os blocos
de programa de pea
Propriedades e aplicao dos diversos tipos de Spline
Tipo de Spline

Propriedades e aplicao

A-Spline
$6SOLQH $NLPD6SOLQH

3

3

3
3

3

3

3

3DW3FRRUGHQDGDVHVSHFLILFDGDV

Propriedades:

Percorre exatamente pelos pontos de interpolao especificados.

A trajetria da curva tangencial, mas nem sempre curvada.

Quase no gera nenhuma ondulao indesejada.

A rea de influncia de alteraes de pontos de interpolao local, isto ,


a alterao de um ponto de interpolao somente tem efeito at 6 pontos de
interpolao vizinhos.

Aplicao:
A A-Spline principalmente indicada para interpolao de trajetrias de curvas
com grandes variaes de inclinao (p. ex. trajetrias de curvas em forma de
escada).
Preparao do trabalho

236

Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

Comandos especiais de curso


4.2 Interpolao de Spline (ASPLINE, BSPLINE, CSPLINE, BAUTO, BNAT, BTAN, EAUTO, ENAT, ETAN, PW, SD, PL)

Tipo de Spline

Propriedades e aplicao

B-Spline
%6SOLQH

3ROJRQRGHFRQWUROH

3

3

3
3

3

3

3

3DW3FRRUGHQDGDVHVSHFLILFDGDV

Propriedades:

No percorre pelos pontos de interpolao especificados, mas apenas na


proximidade dos mesmos. As curvas so direcionadas pelos pontos de
interpolao. Tambm se pode controlar a trajetria de curvas atravs da
avaliao de peso dos pontos de interpolao com um fator.

A trajetria de curvas tangencial e sempre curvada.

No gera nenhuma ondulao indesejada.

A rea de influncia de alteraes de pontos de interpolao local, isto ,


a alterao de um ponto de interpolao somente tem efeito at 6 pontos de
interpolao vizinhos.

Aplicao:
A princpio o B-Spline indicado como interface para sistemas CAD.

Preparao do trabalho
Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

237

Comandos especiais de curso


4.2 Interpolao de Spline (ASPLINE, BSPLINE, CSPLINE, BAUTO, BNAT, BTAN, EAUTO, ENAT, ETAN, PW,
SD, PL)

Tipo de Spline

Propriedades e aplicao

C-Spline

&6SOLQH 6SOLQHFELFD

3

3

3

3

3
3

3

3DW3FRRUGHQDGDVHVSHFLILFDGDV

Propriedades:

Percorre exatamente pelos pontos de interpolao especificados.

A trajetria de curvas tangencial e sempre curvada.

Gera ondulaes indesejadas com freqncia, principalmente em pontos


com grandes variaes de inclinao.

A rea de influncia das variaes de pontos de interpolao global, isto


, a variao de um ponto de interpolao atua pela trajetria inteira da
curva.

Aplicao:
O C-Spline pode ser bem empregado se os pontos de interpolao estiverem
em uma curva analtica conhecida (crculo, parbola, hiprbole)

Preparao do trabalho

238

Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

Comandos especiais de curso


4.2 Interpolao de Spline (ASPLINE, BSPLINE, CSPLINE, BAUTO, BNAT, BTAN, EAUTO, ENAT, ETAN, PW, SD, PL)
Comparao dos trs tipos de Spline usando os mesmos pontos de interpolao

3
3

3
3

3

3

3

$6SOLQH
%6SOLQH
&6SOLQH

Nmero mnimo de blocos de Spline


Os cdigos G ASPLINE, BSPLINE e CSPLINE ligam os pontos de fim de bloco com Splines. Para
isso, antecipadamente, deve ser calculada simultaneamente uma srie de blocos (pontos
finais). O tamanho padro do buffer para os clculos de 10 blocos. Nem toda informao
de bloco um ponto final de Spline. Entretanto, o comando requer de 10 blocos uma
determinada quantidade de blocos de ponto final Spline:
Tipo de
Spline

Nmero mnimo de blocos de Spline

A-Spline:

De cada 10 blocos, no mnimo 4 devem ser blocos Spline.


Os blocos de comentrio e clculos de parmetros no so considerados neste
caso.

B-Spline:

De cada 10 blocos, no mnimo 6 devem ser blocos Spline.


Os blocos de comentrio e clculos de parmetros no so considerados neste
caso.

C-Spline:

A quantidade mnima requerida em blocos Spline resulta da seguinte somatria:


Valor do MD20160 $MC_CUBIC_SPLINE_BLOCKS + 1
No MD20160 se especifica a quantidade de pontos atravs dos quais calculado o
segmento de Spline. O ajuste padro 8. Por isso que, em caso padro, de cada 10
blocos pelo menos 9 devem ser blocos Spline.

Indicao
Se o valor ficar abaixo do tolervel ser emitido um alarme, e o mesmo ocorre se um eixo
envolvido com a Spline for programado como eixo de posicionamento.

Preparao do trabalho
Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

239

Comandos especiais de curso


4.3 Agrupamento de Spline (SPLINEPATH)
Agrupamento de blocos Spline curtos
Na interpolao de Spline podem existir blocos Spline curtos, que causam uma reduo
desnecessria da velocidade de percurso. Com a funo "Agrupamento de blocos Spline
curtos" estes blocos podem ser agrupados de modo que o tamanho resultante dos blocos
seja suficiente e que no resulte em uma reduo da velocidade de percurso.
A funo ativada atravs do dado de mquina especfico de canal:
MD20488 $MC_SPLINE_MODE (ajuste da interpolao de Spline)
Literatura:
Manual de funes bsicas; Modo de controle da trajetria, Parada exata, LookAhead (B1),
Captulo: Agrupamento de blocos Spline curtos

4.3

Agrupamento de Spline (SPLINEPATH)

Funo
Os eixos que so interpolados no agrupamento de Spline so selecionados com o comando
SPLINEPATH. A interpolao de Splines possvel at com oito eixos.
Indicao
Se o SPLINEPATH no for programado de forma explcita, ento so deslocados os primeiros
trs eixos do canal do agrupamento de Spline.

Sintaxe
A definio do agrupamento de Spline realizado em um bloco especial:
SPLINEPATH(n,X,Y,Z,)

Significado
SPLINEPATH

Comando para definio de um agrupamento de Spline

=1 (valor fixo)

X,Y,Z,

Identificador dos eixos de trajetria interpolados no agrupamento de


Spline

Preparao do trabalho

240

Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

Comandos especiais de curso


4.4 Compresso de blocos NC (COMPON, COMPCURV, COMPCAD, COMPOF)

Exemplo: Agrupamento de Spline com trs eixos de percurso


Cdigo de programa

Comentrio

N10 G1 X10 Y20 Z30 A40 B50 F350


N11 SPLINEPATH(1,X,Y,Z)

; Agrupamento de Spline

N13 CSPLINE BAUTO EAUTO X20 Y30 Z40 A50 B60

; C-Spline

N14 X30 Y40 Z50 A60 B70

; Pontos de apoio

N100 G1 X Y

; Desseleo da interpolao
de Spline

=
63/,1(3$7+ ;<=

<

4.4

Compresso de blocos NC (COMPON, COMPCURV, COMPCAD,


COMPOF)

Funo
Sistemas CAD e CAM normalmente fornecem blocos lineares que mantm a preciso
parametrizada. Em contornos complexos isso resulta em uma elevada quantidade de dados
e eventuais segmentos curtos de percurso. Estes segmentos curtos de percurso limitam a
velocidade de processamento.
Atravs da aplicao de uma funo de compressor se realiza uma aproximao do
contorno especificado por blocos lineares atravs de blocos de polinmios. Com isso
resultam as seguintes vantagens:
Reduo do nmero necessrio de blocos de programa de pea para descrio do
contorno da pea
Transies constantes de blocos
Elevao das velocidades de percurso mximas
Preparao do trabalho
Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

241

Comandos especiais de curso


4.4 Compresso de blocos NC (COMPON, COMPCURV, COMPCAD, COMPOF)
Esto disponveis as seguintes funes de compressor:
COMPON
As transies de blocos somente so constantes na velocidade enquanto a acelerao
dos eixos envolvidos permitir a realizao de saltos nas transies de blocos.
COMPCURV
As transies de blocos so constantes na acelerao. Com isso se assegura uma
distribuio suave da velocidade e tambm da acelerao de todos eixos nas transies
dos blocos.
COMPCAD
Compresso intensiva em tempo de processamento e em espao de memria que
otimiza a qualidade superficial e a velocidade. O COMPCAD somente deve ser utilizado
se as medidas do programa CAD/CAM no garantirem a melhora de superfcie.
A funo de compressor encerrada com COMPOF.

Sintaxe

COMPON
COMPCURV
COMPCAD
COMPOF

Significado
COMPON:

Comando para ativao da funo de compressor COMPON.


Efeito:

COMPCURV:

modal

Comando para ativao da funo de compressor COMPCURV.


Efeito:

modal

COMPCAD:

Comando para ativao da funo de compressor COMPCAD.

COMPOF:

Comando para desativar a funo de compressor atualmente ativa.

Efeito:

modal

Indicao
Para uma melhoria adicional da qualidade superficial pode ser usada a funo de
suavizao G642 e a limitao de solavancos SOFT. Estes comandos devem ser escritos no
incio do programa.

Preparao do trabalho

242

Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

Comandos especiais de curso


4.4 Compresso de blocos NC (COMPON, COMPCURV, COMPCAD, COMPOF)

Condies gerais
Geralmente a compresso de blocos NC executada apenas em blocos lineares (G1).
Somente so comprimidos os blocos que apresentarem uma sintaxe simples:
N... G1X... Y... Z... F... ; Comentrio

Todos demais blocos so processados sem serem alterados (sem compresso).


Os blocos de movimento com endereos ampliados como C=100 ou A=AC(100) tambm
so comprimidos.
Os valores de posio no precisam ser programados diretamente, eles tambm podem
ser especificados indiretamente atravs de instrues de parmetros, p. ex.
X=R1*(R2+R3).
Se o opcional "Transformao de orientao" estiver disponvel, tambm podem ser
comprimidos os blocos NC onde a orientao de ferramenta (e eventualmente a rotao
da ferramenta) estiver programada atravs de vetores (veja "Compresso da orientao
(Pgina 342)").
O processo de compresso cancelado por qualquer outra instruo NC, como p. ex. a
emisso de uma funo auxiliar.

Exemplos
Exemplo 1: COMPON
Cdigo de programa

Comentrio

N10 COMPON

; Funo de compressor COMPON ativada.

N11 G1 X0.37 Y2.9 F600

; G1 antes do ponto final e avano.

N12 X16.87 Y.698


N13 X16.865 Y.72
N14 X16.91 Y.799

N1037 COMPOF

; Funo de compressor desativada.

Exemplo 2: COMPCAD
Cdigo de programa

Comentrio

G00 X30 Y6 Z40


G1 F10000 G642

; Funo de suavizao G642 ativada.

SOFT

; Limitao de solavancos SOFT ativada.

COMPCAD

; Funo de compressor COMPCAD ativada.

STOPFIFO
N24050 Z32.499
N24051 X41.365 Z32.500
N24052 X43.115 Z32.497

Preparao do trabalho
Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

243

Comandos especiais de curso


4.5 Interpolao de polinmios (POLY, POLYPATH, PO, PL)

Cdigo de programa

Comentrio

N24053 X43.365 Z32.477


N24054 X43.556 Z32.449
N24055 X43.818 Z32.387
N24056 X44.076 Z32.300

COMPOF

; Funo de compressor desativada.

G00 Z50
M30

Literatura
Manual de funes bsicas; Modo de controle da trajetria, Parada exata, LookAhead (B1),
Captulo: "Compresso de blocos NC"

4.5

Interpolao de polinmios (POLY, POLYPATH, PO, PL)

Funo
Na verdade trata-se de uma interpolao de polinmios (POLY) e no de um tipo de
interpolao de Splines. Em primeira linha ela age como interface para a programao de
curvas Spline criadas externamente. Aqui os segmentos Spline podem ser programados
diretamente.
Este tipo de interpolao alivia o NC dos clculos dos coeficientes de polinmio. Ela pode
perfeitamente ser aplicada se os coeficientes so diretamente fornecidos de um sistema
CAD ou ps-processador.

Sintaxe
Polinmio de 3 grau:
POLY PO[X]=(xe,a2,a3) PO[Y]=(ye,b2,b3) PO[Z]=(ze,c2,c3) PL=n
Polinmio de 5 grau e nova sintaxe de polinmio:
POLY X=PO(xe,a2,a3,a4,a5) Y=PO(ye,b2,b3,b4,b5) Z=PO(ze,c2,c3,c4,c5)
PL=n
POLYPATH("AXES","VECT")
Indicao
A soma dos coeficientes de polinmio e eixos programados em um bloco NC no pode
exceder o nmero mximo permitido de eixos por bloco.

Preparao do trabalho

244

Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

Comandos especiais de curso


4.5 Interpolao de polinmios (POLY, POLYPATH, PO, PL)

Significado
POLY

Ativao da interpolao de polinmios com


um bloco com POLY.

POLYPATH

A interpolao de polinmios pode ser


selecionada para os dois grupos de eixos,
AXIS ou VECT

PO[identificador de eixo/varivel]
X, Y, Z

xe, ye, ze

Pontos finais e coeficientes de polinmio


Identificador de eixo

a2, a3, a4, a5

PL

Especificao da posio final do respectivo


eixo; faixa de valores como dimenso de curso
:

Os coeficientes a2, a3, a4, e a5 so escritos


com seu respectivo valor; faixa de valores
como na dimenso de curso. O ltimo
coeficiente em cada caso pode ser omitido se
o valor for zero.
Comprimento do intervalo de parmetro no
qual est definido o polinmio (faixa de
definio da funo f(p)).
O intervalo sempre inicia em 0, p pode aceitar
valores de 0 at PL.
Faixa de valores terica para PL:
0,0001 99 999,9999
Nota:
O valor PL vale para o bloco em que ele se
encontra. Se no foi programado PL, ento
PL=1.

Ativao e desativao da interpolao de polinmios


A interpolao de polinmios ativada no programa de pea atravs do comando G POLY.
O comando G POLY pertence ao 1 grupo G, junto com o G0, G1, G2, G3, ASPLINE, BSPLINE e

CSPLINE.

Os eixos que foram programados apenas com nomes e ponto final (p. ex. X10) so
deslocados linearmente. Se todos os eixos de um bloco NC foram programados desta
forma, o comando se comporta como no caso do G1.
De modo implcito a interpolao de polinmios novamente desativada atravs da
programao de outro comando do 1 grupo G (p. ex. G0, G1).

Coeficiente de polinmio
Os valores PO (PO[]=) e ...=PO(...) especifica todos os coeficientes de polinmio para um
eixo. Dependendo do grau do polinmio mais valores so especificados separados por
vrgula. Dentro de um bloco so possveis diferentes graus de polinmio para diferentes
eixos.

Preparao do trabalho
Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

245

Comandos especiais de curso


4.5 Interpolao de polinmios (POLY, POLYPATH, PO, PL)

Subrotina POLYPATH
Com POLYPATH(...) possvel liberar a interpolao de polinmios de modo seletivo para
determinados grupos de eixos.
Apenas os eixos de percurso e eixos adicionais:

POLYPATH("AXES")

Somente eixos de orientao:


(no processo com transformao de orientao)

POLYPATH ("VECT")

Os eixos que no forem liberados so deslocados linearmente.


Como padro a interpolao de polinmios liberada para os dois grupos de eixos.
Atravs da programao sem indicar o parmetro POLYPATH(
polinmios para todos os eixos.

desativa-se a interpolao de

Exemplo
Cdigo de programa

Comentrio

N10 G1 X Y Z F600
N11 POLY PO[X]=(1,2.5,0.7) PO[Y]=(0.3,1,3.2) PL=1.5

; Interpolao de polinmios ativada

N12 PO[X]=(0,2.5,1.7) PO[Y]=(2.3,1.7) PL=3


...
N20 M8 H126
N25 X70 PO[Y]=(9.3,1,7.67) PL=5

; especificaes mistas para os eixos

N27 PO[X]=(10,2.5) PO[Y]=(2.3)

; nenhum PL programado; ento PL=1

N30 G1 X Y Z.

; Interpolao de polinmios desativada

Exemplo: Nova sintaxe de polinmio


Sintaxe de polinmio ainda aplicada
PO[identificador de eixo]=(.. , ..)
PO[PHI]=(.. , ..)
PO[PSI]=(.. , ..)
PO[THT]=(.. , ..)
PO[]=(.. , ..)
PO[varivel]=IC(.. , ..)

Nova sintaxe de polinmio


Identificador de eixo=PO(.. , ..)
PHI=PO(.. , ..)
PSI=PO(.. , ..)
THT=PO(.. , ..)
PO(.. , ..)
varivel=PO IC(.. , ..)

Preparao do trabalho

246

Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

Comandos especiais de curso


4.5 Interpolao de polinmios (POLY, POLYPATH, PO, PL)

Exemplo: Curva no plano X/Y


Programao
Cdigo de programa
N9 X0 Y0 G90 F100
N10 POLY PO[Y]=(2) PO[X]=(4,0.25) PL=4

Trajetria das curvas X(p) e Y(p)

<
3RQWRILQDO




S
;

3RQWRILQDO




([HPSOR
1;<*
132/<32><@
 32>;@
 3/ 




 3/

Trajetria da curva no plano XY

<

5HVXOWDGRQRSODQR;<





3/








Preparao do trabalho
Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

247

Comandos especiais de curso


4.5 Interpolao de polinmios (POLY, POLYPATH, PO, PL)

Descrio
A equao geral da funo de polinmio :
f(p)= a0 + a1p + a2p2 +. . . + anpn
com: an: coeficientes constantes
p: Parmetros
No comando numrico podem ser programados no mx. polinmios de 5 grau:
f(p)= a0 + a1p + a2p2 + a3p3 + a4p4 + a5p5
Ao atribuir os coeficientes com valores concretos, podem ser criadas as mais diferentes
formas de curvas, como retas, parbolas e funes exponenciais.
Uma reta gerada atravs de a2 = a3 = a4 = a5 = 0:
f(p) = a0 + a1p
Ainda se aplica:
a0: Posio de eixo no fim do bloco precedente
p = PL
a1 = (xE - a0 - a2*p2 - a3*p3) / p
possvel programar polinmios sem que a interpolao de polinmios seja ativada atravs
do comando G POLY. Porm, neste caso os polinmios programados no sero interpolados,
apenas os pontos finais programados dos eixos sero aproximados linearmente (G1).
Somente depois de uma ativao explcita da interpolao de polinmios no programa de
pea (POLY) que os polinmios programados sero executados como tais.

Particularidade: Polinmio de denominador


Para eixos geomtricos tambm se pode programar um polinmio de denominador comum
sem especificar um nome de eixo com PO[]=(), isto , se interpola o movimento dos eixos
geomtricos quociente de dois polinmios.
Com isso possvel representar de forma exata segmentos cnicos (circunferncia, elipse,
parbola, hiprbole).
Exemplo:
Cdigo de programa

Comentrio

POLY G90 X10 Y0 F100

Eixos geomtricos movimentam-se


linearmente at a posio X10 Y0.

PO[X]=(0,10) PO[Y]=(10) PO[]=(2,1)

Eixos geomtricos movimentam-se em


quadrante at X0 Y10.

O coeficiente constante (a0) do polinmio de denominador sempre adotado com 1. O


ponto final programado independe do G90 / G91.
Preparao do trabalho

248

Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

Comandos especiais de curso


4.5 Interpolao de polinmios (POLY, POLYPATH, PO, PL)
A partir dos valores programados o X(p) e U(p) so calculados como:
X(p) = (10 - 10 * p2) / (1 + p2)
Y(p) = 20 * p / (1 + p2)
com 0 p 1
Com base na programao dos pontos iniciais, pontos finais, coeficiente a2 e PL=1 temos os
seguintes resultados intermedirios:
Numerador
(X) =

10 + 0 * p - 10 * p2

Numerador
(Y) =

0 + 20 * p + 0 * p2

Denominador = 1 + p2

<



emitido um alarme se for programado um polinmio de denominador com zeros dentro do


intervalo [0,PL]. O polinmio de denominador no tem nenhum efeito sobre o movimento de
eixos adicionais.
Indicao
Uma correo do raio de compensao pode ser ativada com G41 e G42 em conjunto com a
interpolao de polinmios, depois ser aplicada para interpolao linear ou circular.

Preparao do trabalho
Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

249

Comandos especiais de curso


4.6 Referncia ajustvel do percurso (SPATH, UPATH)

4.6

Referncia ajustvel do percurso (SPATH, UPATH)

Funo
Durante a interpolao o usurio pode fazer duas diferentes relaes entre os eixos
FGROUP determinantes de velocidade e os demais eixos de percurso: Por ltimo, devem
ser conduzidos ou sincronizados com o percurso S ou sincronizados com o parmetro de
curva U dos eixos FGROUP.
Ambos os tipos de interpolao de percurso so usados em diferentes aplicaes e podem
ser comutados entre eles atravs dos dois comandos de linguagem ativados modalmente
no 45 grupo de cdigos G, o SPATH e o UPATH.

Sintaxe

SPATH
UPATH

Significado
SPATH:

A referncia de percurso para eixos FGROUP o comprimento do arco

UPATH:

A referncia de percurso para eixos FGROUP o parmetro de curva

Indicao
e SPATH tambm determinam a relao do polinmio de palavra F (FPOLY, FCUB, FLIN)
com o movimento de percurso.

UPATH

Condies gerais
A referncia de percurso ajustada no tem significado:
na interpolao linear e circular
em blocos de rosca
quando todos os eixos de percurso esto contidos no FGROUP.

Preparao do trabalho

250

Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

Comandos especiais de curso


4.6 Referncia ajustvel do percurso (SPATH, UPATH)

Exemplos
Exemplo 1:
No exemplo a seguir em um quadrado com 20 mm de lado se realiza a suavizao com
G643. Os desvios mximos do contorno exato so definidos para cada eixo atravs do dado
de mquina especfico de eixo MD33100 $MA_COMPRESS_POS_TOL[<n>].
Cdigo de programa

Comentrio

N10 G1 X Y Z F500
N20 G643

; Suavizao interna de bloco com G643

N30 XO Y0
N40 X20 Y0

; Comprimento de canto (mm) para os eixos

N50 X20 Y20


N60 X0 Y20
N70 X0 Y0
N100 M30

Exemplo 2:
O exemplo a seguir ilustra a diferena entre os dois tipos de controle de movimento. Nas
duas vezes o pr-ajuste FGROUP(X,Y,Z) est ativo.

63$7+
$ ; ;

83$7+
$ ; 6457 ;







 ;

'LIHUHQWHVUHODHVJHRPWULFDVHQWUHRVHL[RV
FRP63$7+H83$7+

Cdigo de programa
N10 G1 X0 A0 F1000 SPATH
N20 POLY PO[X]=(10,10) A10

Preparao do trabalho
Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

251

Comandos especiais de curso


4.6 Referncia ajustvel do percurso (SPATH, UPATH)
Ou seja:
Cdigo de programa
N10 G1 X0 F1000 UPATH
N20 POLY PO[X]=(10,10) A10

No bloco N20 o curso S dos eixos FGROUP depende do quadrado do parmetro de curva U.
Por isso que ao longo do curso de X resultam diferentes posies do eixo sincronizado A,
dependendo de quem estiver ativo, SPATH ou UPATH.

Outras informaes
Durante a interpolao de polinmios - e aqui entendemos a interpolao de polinmios no
seu sentido direto (POLY), todos os tipos de interpolao Spline (ASPLINE, BSPLINE,
CSPLINE) e interpolao linear com funo de compressor (COMPON, COMPCURV) - as
posies de todos os eixos de percurso i so determinadas atravs de polinmios pi(U).
Neste caso, o parmetro de curva U se move de 0 at 1 dentro de um bloco NC, sendo,
portanto, normalizado.
Atravs do comando de linguagem FGROUP, dentro dos eixos de trajetria, podem ser
selecionados os eixos que devem relacionar-se com o avano programado. Porm, uma
interpolao com velocidade constante no curso S destes eixos normalmente significa uma
modificao no constante do parmetros de curva U durante a interpolao de polinmios.
Comportamento de comando com Reset e dados de mquina e dados de opcionais
Aps o Reset o cdigo G (45 grupo de cdigos G) determinado pelo MD20150
$MC_GCODE_RESET_VALUES[44] est ativo. Para permanecer compatvel com
instalaes existentes, SPATH ajustado como valor padro.
O valor de ajuste bsico para o tipo de suavizao definido com o
MD20150 $MC_GCODE_RESET_VALUES[9] (10 grupo de cdigos G).
O dado de mquina especfico de eixo MD33100 $MA_COMPRESS_POS_TOL[<n>] no
possui um significado maior: ele contm as tolerncias para a funo de compresso e para
a suavizao com o G642.

Preparao do trabalho

252

Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

Comandos especiais de curso


4.7 Medio com apalpador comutvel (MEAS, MEAW)

4.7

Medio com apalpador comutvel (MEAS, MEAW)

Funo
Com a funo "Medio com apalpador comutvel" as posies reais na pea de trabalho
so aproximadas e na borda de contato do apalpador de medio realizada a medio
das posies para todos os eixos programados no bloco de medio e depois realizada a
gravao dos valores para cada eixo na clula de memria correspondente.

Para a programao da funo esto disponveis ambos endereos fixos:

MEAS

Com MEAS cancelado o curso restante entre a posio real e a nominal.

MEAW

empregado em tarefas de medio onde a posio programada deve ser


aproximada em todas as ocasies.

MEAW

O MEAS e o MEAW esto ativos por blocos e so programados juntos com instrues de
movimento. Os avanos e tipos de interpolao (G0, G1, ...), assim como o nmero de
eixos, devem ser adaptados ao respectivo problema de medio.

Sintaxe

MEAS=<TE> G... X... Y... Z...


MEAW=<TE> G... X... Y... Z...

Preparao do trabalho
Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

253

Comandos especiais de curso


4.7 Medio com apalpador comutvel (MEAS, MEAW)

Significado
MEAS:

Comando: Medio com anulao do curso restante


Efeito:

MEAW:

por blocos

Comando: Medio sem anulao do curso restante


Efeito:

<TE>:

por blocos

Evento de disparo para partida da medio


Tipo:

INT

Faixa de valores:

-2, -1, 1, 2

Significado:
(+)1
-1
(+)2
-2

Flancos crescentes do apalpador de medio 1 (na entrada de


medio 1)
Flancos decrescentes do apalpador de medio 1 (na entrada de
medio 1)
Flancos crescentes do apalpador de medio 2 (na entrada de
medio 2)
Flancos decrescentes do apalpador de medio 2 (na entrada de
medio 2)

Nota:
Existem no mximo 2 apalpadores de medio (dependendo do nvel de
expanso).
G...:

Tipo de interpolao, p. ex. G0, G1, G2 ou G3

X... Y... Z...:

Ponto final em coordenadas cartesianas

Exemplo
Cdigo de programa

Comentrio

N10 MEAS=1 G1 F1000 X100 Y730 Z40

; Bloco de medio com apalpador de


medio da primeira entrada de medio
e interpolao de retas. A parada de
pr-processamento gerada
automaticamente.

...

Outras informaes
Estado do pedido de medio
Se no programa for necessria uma avaliao para saber se o sensor de medio
realmente est ativo, ento se pode consultar a varivel de estado $AC_MEA[<n>] (<n> =
Numero do sensor) :
Valor

Significado

Tarefa de medio no preenchida

Tarefa de medio concluda com sucesso (o apalpador de medio foi acionado)

Preparao do trabalho

254

Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

Comandos especiais de curso


4.7 Medio com apalpador comutvel (MEAS, MEAW)

Indicao
Quando o apalpador de medio for defletido, no programa, a varivel passa para 1. Na
partida de um bloco de medio a varivel automaticamente passada para o estado inicial
do apalpador.
Coleta de valores de medio
So coletadas as posies de todos eixos de percurso e de posicionamento do bloco
(nmero mximo de eixos est em funo da configurao do comando). Com o MEAS o
movimento desacelerado controladamente depois de ser ativado o apalpador de medio.
Indicao
Se em um bloco de medio foi programado um eixo geomtrico, ento so armazenados
os valores de medio dos atuais eixos geomtricos.
Se em um bloco de medio foi programado um eixo envolvido em uma transformao,
ento so armazenados os valores de medio de todos eixos envolvidos com esta
transformao.
Leitura dos resultados de medio
Os resultados da medio para os eixos analisados com sensor de medio podem ser
lidos atravs das seguintes variveis de sistema:
$AA_MM[<eixo>]
Resultados de medio no sistema de coordenadas da mquina
$AA_MW[<eixo>]
Resultados de medio no sistema de coordenadas da pea de trabalho
No se gera nenhuma parada de pr-processamento durante a leitura destas variveis.
Indicao
Com STOPRE deve ser programada uma parada de pr-processamento na posio adequada
do programa NC. Caso contrrio podem ser lidos valores incorretos.

Preparao do trabalho
Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

255

Comandos especiais de curso


4.8 Medio axial (MEASA, MEAWA, MEAC) (Opo)

4.8

Medio axial (MEASA, MEAWA, MEAC) (Opo)

Funo
Na medio por eixos podem ser usados vrios apalpadores de medio e vrios sistemas
de medio.

Para a programao da funo esto disponveis palavras-chave MEASA, MEAWE e MEAC


Com MEASA ou MEAWA so coletados at quatro valores de medio para o eixo programado
em cada medio e estes so armazenados em variveis de sistema conforme o evento de
disparo.
Pedidos contnuos de medio podem ser realizados com MEAC. Neste caso os resultados
das medies so armazenados em variveis FIFO.

Sintaxe

MEASA[<eixo>]=(<modo>,<TE1>,...,<TE4>)
MEAWA[<eixo>]=(<modo>,<TE1>,...,<TE4>)
MEAC[<eixo>]=(<modo>,<memria de medio>,<TE1>,...,<TE4>)
Indicao
e MEAWA esto ativos por blocos e podem ser programados juntos em um bloco. Se
for programado junto com MEAS/MEAW em um bloco, ser gerada uma mensagem
de erro.
MEASA

MEASA/MEAWA

Preparao do trabalho

256

Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

Comandos especiais de curso


4.8 Medio axial (MEASA, MEAWA, MEAC) (Opo)

Significado
MEASA:

Palavra-chave: Medio por eixo com anulao do curso restante


Efeito:

MEAWA:

por blocos

Palavra-chave: Medio por eixo sem anulao do curso restante


Efeito:

MEAC:

por blocos

Palavra-chave: Medio contnua por eixo sem anulao do


curso restante
Efeito:

por blocos

<eixo>:

Nome do eixo de canal utilizado na medio

<modo>:

Nmero de dois dgitos para especificao do modo de operao


(modo de medio e sistema de medio)
dcada nica (Modo de medio):
0

Cancelar pedido de medio.

At 4 eventos de disparo diferentes ativados


simultaneamente.

At 4 eventos de disparo ativados sucessivamente.

At 4 eventos de disparo ativados consecutivamente, mas


sem monitorao do evento de disparo 1 no START (os
alarmes 21700/21703 so suprimidos).
Nota:
Este modo no possvel com o MEAC.

dcada decimal (sistema de medio):

<TE>:

0 (ou sem
indicao)

sistema de medio ativo

Sistema de medio 1

Sistema de medio 2

ambos sistemas de medio

Evento de disparo para partida da medio


Tipo:

INT

Faixa de valores: -2, -1, 1, 2


Significado:
(+)1 Flancos crescentes do apalpador de medio 1
-1

Flancos decrescentes do apalpador de medio 1

(+)2 Flancos crescentes do apalpador de medio 2


-2
<Memria de medio>:

Flancos decrescentes do apalpador de medio 2

Nmero do FIFO (memria de circulao)

Preparao do trabalho
Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

257

Comandos especiais de curso


4.8 Medio axial (MEASA, MEAWA, MEAC) (Opo)

Exemplos
Exemplo 1: Medio por eixo com anulao de curso restante em modo 1 (avaliao em
ordem de tempo)
a) com 1 sistema de medio
Cdigo de programa

Comentrio

...
N100 MEASA[X]=(1,1,-1) G01 X100 F100

; Medio no modo 1 com sistema de


medio ativo. Esperar pelo sinal
de medio com flanco
crescente/decrescente do apalpador
de medio 1 no percurso at
X=100.

N110 STOPRE

; Parada de pr-processamento

N120 IF $AC_MEA[1]==FALSE GOTOF FIM

; Controlar sucesso da medio.

N130 R10=$AA_MM1[X]

; Armazenar valor de medio


correspondente ao primeiro evento
de disparo (flanco crescente)
programado.

N140 R11=$AA_MM2[X]

; Armazenar valor de medio


correspondente ao segundo evento
de disparo (flanco decrescente)
programado.

N150 FIM:

b) com 2 sistemas de medio


Cdigo de programa

Comentrio

...
N200 MEASA[X]=(31,1,-1) G01 X100 F100

; Medio no modo 1 com ambos


sistemas de medio. Esperar pelo
sinal de medio com flanco
crescente/decrescente do apalpador
de medio 1 no percurso at
X=100.

N210 STOPRE

; Parada de pr-processamento

N220 IF $AC_MEA[1]==FALSE GOTOF FIM

; Controlar sucesso da medio.

N230 R10=$AA_MM1[X]

; Salvar o valor de medio do


sistema de medio 1 com flanco
crescente.

N240 R11=$AA_MM2[X]

; Salvar o valor de medio do


sistema de medio 2 com flanco
crescente.

N250 R12=$AA_MM3[X]

; Salvar o valor de medio do


sistema de medio 1 com flanco de
medio decrescente.

N260 R13=$AA_MM4[X]

; Salvar o valor de medio do


sistema de medio 2 com flanco de
medio decrescente.

N270 FIM:
Preparao do trabalho

258

Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

Comandos especiais de curso


4.8 Medio axial (MEASA, MEAWA, MEAC) (Opo)
Exemplo 2: Medio por eixo com anulao de curso restante em modo 2 (avaliao em
ordem de programao)
Cdigo de programa

Comentrio

...
N100 MEASA[X]=(2,1,-1,2,-2) G01 X100 F100

; Medio no modo 2 com sistema de medio ativo.


Esperar pelo sinal de medio na ordem dos
flancos crescentes do apalpador de medio 1,
flancos decrescentes do apalpador de medio 1,
flancos crescentes do apalpador de medio 2,
flancos decrescentes do apalpador de medio 2
no percurso at X=100.

N110 STOPRE

; Parada de pr-processamento

N120 IF $AC_MEA[1]==FALSE GOTOF APALPADOR2

; Controlar sucesso da medio com o apalpador de


medio 1.

N130 R10=$AA_MM1[X]

; Armazenar valor de medio correspondente ao


primeiro evento de disparo (flanco crescente do
sensor 1) programado.

N140 R11=$AA_MM2[X]

; Armazenar valor de medio correspondente ao


segundo evento de disparo (flanco crescente do
sensor 1) programado.

N150 APALPADOR2:
N160 IF $AC_MEA[2]==FALSE GOTOF FIM

; Controlar sucesso da medio com o apalpador de


medio 2.

N170 R12=$AA_MM3[X]

; Armazenar valor de medio correspondente ao


terceiro evento de disparo (flanco crescente do
sensor 2) programado.

N180 R13=$AA_MM4[X]

; Armazenar valor de medio correspondente ao


quarto evento de disparo (flanco crescente do
sensor 2) programado.

N190 FIM:

Exemplo 3: Medio contnua por eixo em modo 1 (avaliao em ordem de tempo)


a) Medio de at 100 valores medio
Cdigo de programa

Comentrio

...
N110 DEF REAL VALOR_MEDICAO[100]
N120 DEF INT loop=0
N130 MEAC[X]=(1,1,-1) G01 X1000 F100

; Medio no modo 1 com sistema de medio ativo,


salvamento dos valores de medio sob $AC_FIFO1,
espera pelo sinal de medio com flancos
decrescentes do apalpador de medio 1 no percurso
at X=1000.

N135 STOPRE
N140 MEAC[X]=(0)

; Cancelar a medio aps alcanar a posio do eixo.

N150 R1=$AC_FIFO1[4]

; Armazenar nmero de valores de medio acumulados no


parmetro R1.

N160 FOR loop=0 TO R1-1

Preparao do trabalho
Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

259

Comandos especiais de curso


4.8 Medio axial (MEASA, MEAWA, MEAC) (Opo)

Cdigo de programa

Comentrio

N170 VALOR_MEDICAO[loop]=$AC_FIFO1[0]

; Ler e armazenar valores de medio do $AC_FIFO1.

N180 ENDFOR

b) Medio com cancelamento de curso restante aps 10 valores de medio


Cdigo de programa

Comentrio

...
N10 WHEN $AC_FIFO1[4]>=10 DO MEAC[x]=(0) DELDTG(x)

; Anula o curso
restante.

N20 MEAC[x]=(1,1,1,-1) G01 X100 F500


N30 MEAC[X]=(0)
N40 R1=$AC_FIFO1[4]

; Nmero de valores de
medio.

...

c) Medio de um flanco dentado decrescente/crescente com 2 sensores de medida.


Cdigo de programa

Comentrio

...
N110 DEF REAL VALOR_MEDICAO[16]
N120 DEF INT loop=0
N130 MEAC[X]=(1,1,-1,2) G01 X100 F100

; Medio no modo 1 com sistema de


medio ativo, salvamento dos
valores de medio sob $AC_FIFO1,
espera pelo sinal de medio na
sequncia de flancos decrescentes do
sensor 1, flancos crescentes sensor
2, no percurso at X=100.

N140 STOPRE

; Parada de pr-processamento

N150 MEAC[X]=(0)

; Cancelar a medio aps alcanar a


posio do eixo.

N160 R1=$AC_FIFO1[4]

; Armazenar nmero de valores de


medio acumulados no parmetro R1.

N170 FOR loop=0 TO R1-1


N180 VALOR_MEDICAO[loop]=$AC_FIFO1[0]

; Ler e armazenar valores de medio


do $AC_FIFO1.

N190 ENDFOR

Outras informaes
Pedido de medio
A programao de uma tarefa de medio pode ser realizada no programa de pea ou a
partir de uma ao sncrona (veja o captulo "Aes sncronas (Pgina 553)"). Apenas um
pedido de medio pode estar ativo ao mesmo tempo para cada eixo.

Preparao do trabalho

260

Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

Comandos especiais de curso


4.8 Medio axial (MEASA, MEAWA, MEAC) (Opo)
Indicao
O avano deve ser adaptado ao respectivo problema de medio.
Para MEASA e MEAWA os resultados corretos somente podem ser garantidos com avanos,
nos quais no ocorre mais do que um mesmo evento de disparo e no mais do que 4
eventos diferentes de disparo em cada ciclo de controle de posio.
Na medio contnua com MEAC a relao entre o ciclo de interpolao e o ciclo de controle
de posio no pode ser maior que 1:8.
Evento de disparo
Um evento de disparo formado a partir do nmero do apalpador e o critrio de ativao
(flanco crescente ou decrescente) do sinal de medio.

)ODQFRGHGHVFLGD

6LVWHPDGHPHGLR

)ODQFRGHVXELGD

Para cada medio podem ser processados at 4 eventos de disparo do apalpador de


medio solicitado, portanto, at dois apalpadores de medio com dois flancos de medio
cada. A seqncia do processamento assim como o nmero mximo de eventos de disparo
depende do modo selecionado.
Indicao
Para modo de medio 1 aplica-se: Um mesmo evento de disparo somente pode ser
programado uma vez em uma tarefa de medio!
No MEAC o nmero dos valores de medio por ciclo de regulagem de posio pode ser
aumentado em 8 nos flancos crescentes e 8 nos decrescentes em cada sensor de medida.
Com isso possvel a realizao de avanos e rotaes elevadas
Literatura:
Manual de funes ampliadas; Medio (M5), Captulo: Medio axial

Preparao do trabalho
Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

261

Comandos especiais de curso


4.8 Medio axial (MEASA, MEAWA, MEAC) (Opo)
Modo de operao
Com o primeiro dgito (casa da dezena) do modo de operao selecionado o sistema de
medio desejado. Se houver apenas um sistema de medio, mas houver um segundo
programado, se aplica automaticamente o existente.
Com o segundo dgito (casa da unidade) selecionado o modo de medio desejado. Com
isso o processo de medio adaptado s possibilidades do respectivo comando:
Modo 1
A avaliao dos eventos de disparo realizada na seqncia cronolgica da ocorrncia.
Neste modo apenas um evento de disparo pode ser programado para mdulos de seis
eixos, e no caso de haverem mais eventos de disparo especificados, passa-se
automaticamente para o modo 2 (sem mensagem).
Modo 2
A avaliao dos eventos de disparo realizada na seqncia programada.
Modo 3
A avaliao dos eventos de disparo realizada na ordem programada, mas sem
monitorao do evento de disparo 1 no START.
Indicao
No emprego de 2 sistemas de medio apenas se pode programar dois eventos de
disparo.
Medio com e sem anulao de curso restante
Para a programao do MEASA a anulao de curso restante apenas ser executada aps a
coleta dos valores de medio solicitados.
Para pedidos especiais de medio, onde para cada caso deve ser aproximada a posio
programada, se aplica a funo MEAWA.

9

7( 7(

7( 7(

&XUVR
UHVWDQWH
FXUVRSURJUDPDGR

Preparao do trabalho

262

Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

Comandos especiais de curso


4.8 Medio axial (MEASA, MEAWA, MEAC) (Opo)

Indicao
O MEASA no pode ser programado em aes sncronas. Como alternativa se pode
programar o MEAWA mais a anulao de curso restante como ao sncrona.
Se o pedido de medio for iniciado com MEAWA a partir de aes sncronas, os valores de
medio somente estaro disponveis no sistema de coordenadas da mquina.
Resultados de medio para MEASA, MEAWA
Os resultados de medio esto disponveis nas seguintes variveis de sistema:
No sistema de coordenadas da mquina:
$AA_MM1[<eixo>]
...
$AA_MM4[<eixo>]

Valor de medio do sistema de medio programado com evento


de disparo 1
...
Valor de medio do sistema de medio programado com evento
de disparo 4

No sistema de coordenadas da pea de trabalho:


$AA_WM1[<eixo>]
...
$AA_WM4[<eixo>]

Valor de medio do sistema de medio programado com evento


de disparo 1
...
Valor de medio do sistema de medio programado com evento
de disparo 4

Indicao
No se gera nenhuma parada de pr-processamento durante a leitura destas variveis.
Com STOPRE deve ser programada uma parada de pr-processamento na posio adequada.
Caso contrrio so lidos valores incorretos.
Eixos geomtricos / Transformaes
Se a medio axial deve ser iniciada para um eixo geomtrico, deve ser programada
explicitamente o mesmo pedido para os demais eixos geomtricos. O mesmo vale para os
eixos envolvidos em uma transformao.
Exemplos:
N10 MEASA[Z]=(1,1) MEASA[Y]=(1,1) MEASA[X]=(1,1) G0 Z100
ou
N10 MEASA[Z]=(1,1) POS[Z]=100
Pedido de medio com 2 sistemas de medio
Se um pedido de medio for executado com dois sistemas de medio, ento se coleta os
dois possveis eventos de disparo de ambos sistemas de medio do respectivo eixo. Com
isso se especifica a atribuio das variveis reservadas:
$AA_MM1[<eixo>]

ou

$AA_MW1[<eixo>]

Valor de medio do sistema de


medio no evento de disparo 1

$AA_MM2[<eixo>]

ou

$AA_MW2[<eixo>]

Valor de medio do sistema de


medio no evento de disparo 2

Preparao do trabalho
Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

263

Comandos especiais de curso


4.8 Medio axial (MEASA, MEAWA, MEAC) (Opo)
$AA_MM3[<eixo>]

ou

$AA_MW3[<eixo>]

Valor de medio do sistema de


medio 1 no evento de disparo 2

$AA_MM4[<eixo>]

ou

$AA_MW4[<eixo>]

Valor de medio do sistema de


medio 2 no evento de disparo 2

Variveis de sistema
O estado de medio est disponvel nas seguintes variveis de sistema:
$A_PROBE[<n>]
Valor

Significado

Apalpador de medio defletido

Apalpador de medio no defletido

O limite de medio do sensor est disponvel nas seguintes variveis de sistema:


$A_PROBE_LIMITED[<n>]
Valor

Significado

limite de medio do sensor ativo

limite de medio do sensor inativo

<n> = sensor de medio


Literatura:
Manual de listas de Variveis de sistema
Estado do pedido de medio no MEASA, MEAWA
Quando uma avaliao for necessria, ento no programa pode ser consultado o estado do
pedido de medio atravs do $AC_MEA[<n>], com <n> = nmero do sensor de medio.
Assim que todos os eventos de disparo do apalpador de medio <n> programados em um
bloco forem executados, esta varivel retorna o valor 1. Caso contrrio, retorna-se o valor 0.
Indicao
O $AC_MEA no ser mais atualizado se a medio for iniciada a partir de aes sncronas.
Neste caso devem ser consultados novos sinais da interface PLC DB31, DBX62.3 ou a
varivel equivalente $AA_MEAACT[<eixo>].
Significado:
$AA_MEAACT==1: Medio ativa
$AA_MEAACT==0: Medio no ativa

Preparao do trabalho

264

Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

Comandos especiais de curso


4.8 Medio axial (MEASA, MEAWA, MEAC) (Opo)
Medio contnua (MEAC)
Os valores de medio esto disponveis no MEAC no sistema de coordenadas da mquina e
so armazenados na memria FIFO[n] (memria de circulao) especificada. Se forem
configurados dois apalpadores para realizar a medio, os valores de medio do segundo
apalpador so armazenados separadamente na memria FIFO[n] especialmente
configurada (atravs de MD).
A memria FIFO uma memria de circulao, na qual os valores de medida no princpio
de circulao so registrados no $AC_FIFO-Variveis (Consulte "Aes sncronas
(Pgina 553)").
Indicao
O contedo FIFO somente pode ser lido uma vez da memria de circulao. Para a
aplicao mltipla dos dados de medio, estes devero ser armazenados temporariamente
nos dados do usurio.
Se o nmero de valores de medio exceder o nmero mximo definido no dado da
mquina para a memria FIFO, ento a medio encerrada automaticamente.
A medio contnua (sem fim) pode ser realizada atravs da leitura cclica dos valores de
medio. Neste caso a leitura de dados deve ser realizada na mesma freqncia da entrada
dos novos valores de medio.
Literatura:
Manual de funes aes sncronas, descrio detalhada,
Captulo: Parmetro ($AC_FIFO)
Manual de funes ampliadas; Medio (M5), captulo: Medio axial
Proteo contra erro de programao
As seguintes programaes com erro so detectadas e exibidas com um erro:

MEASA/MEAWA

programado junto com MEAS/MEAW em um bloco

Exemplo:
N01 MEAS=1 MEASA[X]=(1,1) G01 F100 POS[X]=100

MEASA/MEAWA

com nmero de parmetros <2 ou >5

Exemplo:
N01 MEAWA[X]=(1) G01 F100 POS[X]=100

MEASA/MEAWA

com evento de disparo diferente de 1/ -1/ 2/ -2

Exemplo:
N01 MEASA[B]=(1,1,3) B100

MEASA/MEAWA

em modo errado

Exemplo:
N01 MEAWA[B]=(4,1) B100

Preparao do trabalho
Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

265

Comandos especiais de curso


4.9 Funes especiais para o usurio OEM (OMA1 ... OMA5, OEMIPO1, OEMIPO2, G810 ... G829)

MEASA/ MEAWAcom

evento de disparo programado duas vezes

Exemplo:
N01 MEASA[B]=(1,1,-1,2,-1) B100

MEASA/MEAWA

e eixos geomtricos faltantes

Exemplo:
N01 MEASA[X]=(1,1) MEASA[Y]=(1,1) G01 X50 Y50 Z50 F100 ;Eixos GEO X/Y/Z

Ordem de medio inconsistente nos eixos geomtricos


Exemplo:
N01 MEASA[X]=(1,1) MEASA[Y]=(1,1) MEASA[Z]=(1,1,2) G01 X50 Y50 Z50 F100

4.9

Funes especiais para o usurio OEM (OMA1 ... OMA5,


OEMIPO1, OEMIPO2, G810 ... G829)

Endereos OEM
O significado dos endereos OEM definida pelo usurio OEM. A funcionalidade
incorporada atravs de ciclos de compilao. Foram reservados 5 endereos OEM (OMA1
... OMA5). O identificador de endereo pode ser ajustado. Endereos OEM so permitidos em
cada bloco.

Chamadas de funo G reservadas


Para o usurio OEM foram reservadas as seguintes chamadas de funo G:

OEMIPO1, OEMIPO2

G810

... G819 (grupo de funes G 31)

G820

... G829 (grupo de funes G 32)

(do grupo de funes G 1)

A funcionalidade incorporada atravs de ciclos de compilao.

Funes e subrotinas
Alm disso, os usurios OEM tambm podem criar funes e subrotinas pr-definidas com
transferncia de parmetros.

Preparao do trabalho

266

Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

Comandos especiais de curso


4.10 Reduo de avano com desacelerao nos cantos (FENDNORM, G62, G621)

Indicao
Simulao de pea de trabalho
At o SW 4.4 no h nenhum suporte, e a partir do SW 4.4 apenas ciclos de compilao
(CC) selecionados recebem suporte na simulao de pea de trabalho.
Por isso que os comandos de linguagem em programas de pea com ciclos de compilao
no suportados (OMA1 ... OMA5, OEMIPO1/2, G810 ... G829, prprios procedimentos e funes)
resultam em mensagens de alarme e o cancelamento da simulao, sem haver tratamento
individual.
Soluo: Tratar individualmente os elementos de linguagem ausentes e especficos de ciclo
de compilao (CC) no programa de pea (consulta $P_SIM).
Exemplo:
N1 G01 X200 F500
IF (1==$P_SIM)
N5 X300 ;para simulao CC no ativa
ELSE
N5 X300 OMA1=10
ENDIF

4.10

Reduo de avano com desacelerao nos cantos (FENDNORM,


G62, G621)

Funo
Na desacelerao automtica nos cantos o avano breve e gradativamente reduzido
antes de alcanar o respectivo canto. Alm disso se pode parametrizar a dimenso do
comportamento de ferramenta relevante usinagem atravs de dados de ajuste. So eles:
Incio e fim da reduo do avano
Override com o qual o avano reduzido
Deteco do canto relevante
Como cantos relevantes consideramos os cantos cujo ngulo interno menor do que o
canto projetado atravs do dado de ajuste.
A funo do override automtico de cantos desativada com o valor padro FENDNORM.
Literatura:
/FBFA/ Descrio do funcionamento dos dialetos ISO

Preparao do trabalho
Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

267

Comandos especiais de curso


4.11 Critrios programveis para fim de movimentos (FINEA, COARSEA, IPOENDA, IPOBRKA, ADISPOSA)

Sintaxe
FENDNORM
G62 G41
G621

Significado
FENDNORM

Desacelerao automtica de cantos desativada

G62

Desacelerao nos cantos internos com correo de raio da ferramenta ativada

G621

Desacelerao em todos cantos com correo de raio da ferramenta ativada

G62 apenas tem efeito nos cantos internos com


correo de raio de ferramenta ativada G41, G42 e
modo de controle da trajetria ativado G64, G641
O respectivo canto aproximado com avano reduzido, resultante de:
F * (override para reduo do avano) * override de avano
A reduo de avano mxima possvel alcanada exatamente quando a ferramenta
realizar a mudana de sentido no respectivo canto, com referncia ao centro do percurso.
G621 age de forma semelhante ao G62 em cada canto dos eixos definidos por FGROUP.

4.11

Critrios programveis para fim de movimentos (FINEA, COARSEA,


IPOENDA, IPOBRKA, ADISPOSA)

Funo
Semelhante ao critrio de mudana de blocos na interpolao de percurso (G601, G602 e
G603), com a interpolao de eixos individuais, o critrio de fim de movimento pode ser
programado em um programa de peas ou aes sncronas para eixos de comando e PLC.
Dependendo de qual critrio de fim de movimento for programado, os blocos do programa
de pea e os blocos de ciclo de tecnologia com movimentos individuais de eixo requerem
tempos diferentes para serem concludos. O mesmo se aplica para o PLC atravs do FC15/
16/ 18.

Sintaxe

FINEA[<eixo>]
COARSEA[<eixo>]
IPOENDA[<eixo>]
IPOBRKA(<eixo>[,<momento>])
ADISPOSA(<eixo>[,<modo>,<tamanho de janela>])

Preparao do trabalho

268

Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

Comandos especiais de curso


4.11 Critrios programveis para fim de movimentos (FINEA, COARSEA, IPOENDA, IPOBRKA, ADISPOSA)

Significado
FINEA:

Critrio de fim de movimento: "Parada exata fina"


Efeito:

COARSEA:

Critrio de fim de movimento: "Parada exata aproximada"


Efeito:

IPOENDA:

modal

Critrio de fim de movimento: "Parada de interpolador"


Efeito:

IPOBRKA:

modal

modal

Critrio de mudana de blocos: Rampa de frenagem


Efeito:

modal

ADISPOSA:

Janela de tolerncia para critrio de fim de movimento

<eixo>:

Nome de eixo de canal (X, Y, ....)

<momento>:

Momento da mudana de blocos relacionado rampa de


frenagem em %:

Efeito:

modal

100% = Incio da rampa de frenagem


0% = Fim da rampa de frenagem, de mesmo significado
como o IPOENDA
Tipo:
<modo>:

REAL

Referncia da janela de tolerncia


Faixa de valores: 0

Tipo:
<tamanho de janela>:

Janela de tolerncia no ativa

Janela de tolerncia em relao


posio nominal

Janela de tolerncia em relao


posio real

INT

Tamanho da janela de tolerncia


Tipo:

REAL

Exemplos
Exemplo 1: Critrio de fim de movimento: "Parada de interpolador"
Cdigo de programa
; Desloca o eixo de posicionamento X at 100, com velocidade de 200 m/min e acelerao de 90%,
; Critrio de fim de movimento: Parada de interpolador
N110 G01 POS[X]=100 FA[X]=200 ACC[X]=90 IPOENDA[X]
; Ao sncrona:
; SEMPRE QUE: Estiver definida a entrada 1
; ENTO: o eixo de posicionamento X at 50, com velocidade de 200 m/min e acelerao de 140%,
; Critrio de fim de movimento: Parada de interpolador
N120 EVERY $A_IN[1] DO POS[X]=50 FA[X]=200 ACC[X]=140 IPOENDA[X]

Preparao do trabalho
Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

269

Comandos especiais de curso


4.11 Critrios programveis para fim de movimentos (FINEA, COARSEA, IPOENDA, IPOBRKA, ADISPOSA)
Exemplo 2: Critrio de mudana de blocos: "Rampa de frenagem"
Cdigo de programa

Comentrio

N40 POS[X]=100

; Movimento de posicionamento de X at a posio 100

N20 IPOBRKA(X,100)

; Critrio de mudana de blocos: "Rampa de frenagem",

N30 POS[X]=200

; A mudana de blocos ocorre assim que o eixo X comea a desacelerar

N40 POS[X]=250

; O eixo X no freia mais na posio 200, e sim est em movimento

; Ajuste padro ativo


; Critrio de mudana de blocos: Parada exata fina
; 100% = Incio da rampa de frenagem

; at a posio 250.
; Assim que o eixo comea a ser frenado que ocorre a mudana de blocos
N50 POS[X]=0

; O eixo X freia e desloca-se retornando at a posio 0

N60 X10 F100

; O eixo X desloca-se como eixo de percurso at a posio 10

; A mudana de blocos ocorre na posio 0 e com "Parada exata fina"

Outras informaes
Varivel de sistema para critrio de fim de movimento
O critrio de fim de movimento em ao pode ser interpretado atravs da varivel de
sistema $AA_MOTEND.
Literatura: /LIS2sl/ Manual de listas, Livro 2
Critrio de mudana de blocos: "Rampa de frenagem" (IPOBRKA)
Se na ativao do critrio de mudana de blocos "Rampa de frenagem" para o momento
opcional de mudana de blocos for programado um valor, este estar ativo no prximo
movimento de posicionamento e ser gravado no dado de ajuste de modo sincronizado com
o processamento principal. Se no for especificado nenhum valor para o momento da
mudana de blocos, ento o atual valor contido no dado de ajuste entrar em ao.
SD43600 $SA_IPOBRAKE_BLOCK_EXCHANGE
Com a prxima programao de um critrio de fim de movimento em eixos (FINEA, COARSEA,
desativado o IPOBRKA do eixo correspondente.

IPOENDA)

Critrio adicional para mudana de blocos: "Janela de tolerncia" (ADISPOSA)


Com o ADISPOSA possvel definir uma janela de tolerncia em torno do ponto final do bloco
(opcionalmente posio real ou nominal) como um critrio de mudana de blocos. Para a
mudana de blocos necessrio que as duas condies sejam preenchidas:
Critrio de mudana de blocos: "Rampa de frenagem"
Critrio de mudana de blocos: "Janela de tolerncia"

Literatura
Para mais informaes sobre o critrio de mudana de blocos dos eixos de posicionamento
veja:
Manual de funes ampliadas; Eixos de posicionamento (P2)
Manual de programao Fundamentos; captulo "Controle de avano"

Preparao do trabalho

270

Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

Transformaes de coordenadas (Frames)


5.1

Transformao de coordenadas atravs de varivel Frame

Funo
Alm das opes de programao descritas no Manual de programao "Fundamentos"
tambm podemos definir sistemas de coordenadas com variveis Frame pr-definidas.

Esto definidos os seguintes sistemas de coordenadas:


MCS: Sistema de coordenadas da mquina
BCS: Sistema de coordenadas bsico
BNS: Sistema de coordenadas do ponto zero bsico
ENS: Sistema ajustvel de coordenadas do ponto zero
WCS: Sistema de coordenadas da pea
O que uma varivel Frame pr-definida?
Variveis Frame pr-definidas so palavras-chave definidas na linguagem do comando com
efeito correspondente, e que podem ser processadas no programa NC.

Preparao do trabalho
Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

271

Transformaes de coordenadas (Frames)


5.1 Transformao de coordenadas atravs de varivel Frame

Possveis variveis Frame:


Frame bsico (deslocamento bsico)
Frames ajustveis
Frame programvel

Ler atribuies de valores e valores reais


Relao varivel Frame / Frame
Uma transformao de coordenadas pode ser ativada em uma varivel Frame atravs da
atribuio de valor de um Frame.
Exemplo: $P_PFRAME=CTRANS(X,10)
Varivel Frame:
$P_PFRAME

significa: atual Frame programvel.

Frame:
CTRANS(X,10)

significa: deslocamento de ponto zero programvel do eixo X em 10 mm.

<%&6 <%16 <


(16 <:&6

; :&6
3B3)5$0(
; (16
3B,)5$0(3B8,)5>@
3B%)5$0(3B8%)5

; %16
; %&6

Leitura de valores reais


Os atuais valores reais do sistema de coordenadas podem ser lidos no programa de pea
atravs de variveis pr-definidas:
$AA_IM[eixo]: Leitura do valor real em MCS
$AA_IB[eixo]: Leitura do valor real em BCS
$AA_IBN[eixo:] Leitura do valor real em BNS
$AA_IEN[eixo]: Leitura do valor real em ENS
$AA_IW[eixo]: Leitura do valor real em WCS

Preparao do trabalho

272

Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

Transformaes de coordenadas (Frames)


5.1 Transformao de coordenadas atravs de varivel Frame

5.1.1

Varivel Frame pr-definida ($P_BFRAME, $P_IFRAME, $P_PFRAME,


$P_ACTFRAME)

$P_BFRAME
Atual varivel Frame bsica que estabelece a relao entre o sistema de coordenadas
bsico (BCS) e o sistema bsico do ponto zero (BNS).
Se o Frame bsico descrito pelo $P_UBFR deve ser ativado imediatamente no programa,
ou se deve
programar um G500, G54...G599 ou
descrever um $P_BFRAME com $P_UBFR.
=%&6 =%16

3B%)5$0(3B8%)5

; %16
; %&6

Preparao do trabalho
Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

273

Transformaes de coordenadas (Frames)


5.1 Transformao de coordenadas atravs de varivel Frame

$P_IFRAME
Atual varivel ajustvel que estabelece a relao entre o sistema bsico do ponto zero
(BNS) e o sistema ajustvel do ponto zero (ENS).

$P_IFRAME

$P_IFRAME

corresponde ao $P_UIFR[$P_IFRNUM]

depois da programao de p. ex. G54 contm a translao, rotao, escala e


espelhamento definido por G54.

= (16
= %16

<

(16

<%16

(16

; %16

Preparao do trabalho

274

Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

Transformaes de coordenadas (Frames)


5.1 Transformao de coordenadas atravs de varivel Frame

$P_PFRAME
Atual varivel programvel que estabelece a relao entre o sistema ajustvel do ponto zero
(ENS) e o sistema de coordenadas da pea de trabalho (WCS).
$P_PFRAME

contm o Frame resultante, que

resulta da programao do
a partir da atribuio do

TRANS/ATRANS, ROT/AROT, SCALE/ASCALE, MIRROR/AMIRROR

CTRANS, CROT, CMIRROR, CSCALE

no FRAME programvel

= :&6

= (16
= %16

<

(16

< %16
<
:&6

; :&6
; (16

; %16

$P_ACTFRAME
Atual Frame total resultante, que resulta atravs do encadeamento
da atual varivel Frame bsica

$P_BFRAME,

da atual varivel Frame ajustvel

$P_IFRAME

da atual varivel Frame programvel

com Frames de sistema e

$P_PFRAME

com Frames de sistema

Para Frames de sistema, veja o captulo "Frames ativos no canal"


$P_ACTFRAME

descreve o atual ponto zero vlido da pea de trabalho.

Preparao do trabalho
Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

275

Transformaes de coordenadas (Frames)


5.1 Transformao de coordenadas atravs de varivel Frame

= :&6

=
(16

= %&6
= %16

<(16

< %16
<:&6

; :&6
; (16

; %16
; %&6

Se $P_BFRAME,
recalculado.
$P_ACTFRAME

$P_IFRAME

ou

corresponde ao

$P_PFRAME

forem modificadas, o

$P_ACTFRAME

ser

$P_BFRAME:$P_IFRAME:$P_PFRAME

(QWUDGDDWUDYVGRSURJUDPDSH[
3B8%)5 &75$16 ;
(QWUDGDDWUDYV
GD+0,00&

(QWUDGDDWUDYVGRSURJUDPDSH[
3B8,)5>Q@ &75$16 ;

(QWUDGDDWUDYV
GD,00&

3B8%)5

3B8,)5>Q@

DWLYDGRDWUDYVGR
***

3B$&7)5$0(

3B%)5$0(

(QWUDGDDWUDYVGRSURJUDPDSH[
3B%)5$0( &75$16 ;

3B,)5$0( 3B3)5$0(

(QWUDGDDWUDYVGRSURJUDPDSH[
3B3)5$0( &75$16 ;
RX75$16;

(QWUDGDDWUDYVGRSURJUDPDSH[
3B,)5$0( &75$16 ;

Preparao do trabalho

276

Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

Transformaes de coordenadas (Frames)


5.1 Transformao de coordenadas atravs de varivel Frame
O Frame bsico e o Frame ajustvel tem efeito aps Reset, se o MD 20110
RESET_MODE_MASK estiver ajustado da seguinte forma:
Bit0=1, Bit14=1 -->atua o
Bit0=1, Bit5=1 -->atua o

$P_UBFR

(Frame bsico)

$P_UIFR[$P_UIFRNUM]

(Frame ajustvel)

Frames ajustveis pr-definidos $P_UBFR


Com $P_UBFR se programa o Frame bsico, mas ele no est simultaneamente ativo no
programa de pea. O Frame bsico escrito com $P_UBFR processado quando
se ativa o Reset e os Bits 0 e 14 do MD RESET_MODE_MASK estiverem definidos,
e foram executadas as instrues G500, G54...G599.

Frames ajustveis pr-definidos $P_UIFR[n]


Atravs da varivel Frame pr-definida $P_UIFR[n] os deslocamentos ajustveis do ponto
zero G54 at G599 podem ser lidos e gravados a partir do programa de pea.
Na estrutura estas variveis representam um campo de uma dimenso de tipo FRAME com
o nome $P_UIFR[n].

Atribuio com os comandos G


Como padro temos pr-definidos 5 Frames ajustveis $P_UIFR[0]... $P_UIFR[4] e 5
comandos G de mesmo significado G500 e G54 at G57, sendo que no endereo dos
mesmos so armazenados os valores.
Indicao
A programao das variveis Frame e de Frames requer um bloco NC prprio no programa
NC. Exceo: Programao de um Frame ajustvel com G54, G55, ...
$P_IFRAME=$P_UIFR[0]

corresponde ao

G500

$P_IFRAME=$P_UIFR[1]

corresponde ao

G54

$P_IFRAME=$P_UIFR[2]

corresponde ao

G55

$P_IFRAME=$P_UIFR[3]

corresponde ao

G56

$P_IFRAME=$P_UIFR[4]

corresponde ao

G57

O nmero de Frames pode ser alterado atravs do dado de mquina:


$P_IFRAME=$P_UIFR[5]

corresponde ao

G505

... ... ...


$P_IFRAME=$P_UIFR[99]

corresponde ao

G599

Preparao do trabalho
Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

277

Transformaes de coordenadas (Frames)


5.2 Atribuir valores para variveis Frame / Frame
Indicao
Com isso se pode criar ao todo 100 sistemas de coordenadas, que podem ser chamados
para diversos dispositivos ao longo do programa.

5.2

Atribuir valores para variveis Frame / Frame

5.2.1

Atribuir valores diretos (valor de eixo, ngulo, escala)

Funo
No programa NC podemos atribuir valores diretamente em Frames ou em variveis Frame.

Sintaxe
$P_PFRAME=CTRANS (X, valor de eixo, Y, valor de eixo, Z, valor de eixo, )
$P_PFRAME=CROT (X, ngulo, Y, ngulo, Z, ngulo, )
$P_UIFR[..]=CROT (X, ngulo, Y, ngulo, Z, ngulo, )
$P_PFRAME=CSCALE (X, escala, Y, escala, Z, escala, )
$P_PFRAME=CMIRROR (X, Y, Z)

A programao do $P_BFRAME feita da mesma forma como no $P_PFRAME.

Significado
CTRANS

Deslocamento nos eixos especificados

CROT

Rotao em torno dos eixos especificados

CSCALE

Alterao de escala nos eixos especificados

CMIRROR

Mudana de sentido dos eixos especificados

X Y Z

Valor de deslocamento no sentido do eixo geomtrico


especificado

Valor de eixo

Atribuir o valor de eixo do deslocamento

ngulo

Atribuir o ngulo de rotao em torno dos eixos indicados

Escala

Alterar escala

Preparao do trabalho

278

Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

Transformaes de coordenadas (Frames)


5.2 Atribuir valores para variveis Frame / Frame

Exemplo
Com a atribuio de valores no atual Frame programado se ativam as funes de
translao, rotao e espelhamento.

<

<

<
;


<

 &75$16
 &527
 &0,5525

N10 $P_PFRAME=CTRANS(X,10,Y,20,Z,5):CROT(Z,45):CMIRROR(Y)

Definir outros valores prvios para os componentes Frame-Rot.


Definir valores prvios com CROT para todos os trs componentes do UIFR
Cdigo de programa

Comentrio

$P_UIFR[5]=CROT (X, 0, Y, 0, Z, 0)
N100 $P_UIFR[5, y, rt]=0
N100 $P_UIFR[5, x, rt]=0
N100 $P_UIFR[5, z, rt]=0

Descrio
Podemos programar vrias diretrizes de clculo consecutivamente.
Exemplo:
$P_PFRAME=CTRANS(...):CROT(...):CSCALE...

Preparao do trabalho
Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

279

Transformaes de coordenadas (Frames)


5.2 Atribuir valores para variveis Frame / Frame

&6
&$
/(

Observe que os comandos devem estar ligados entre si com o operador de concatenao, o
duplo ponto (...):(...). Com isso os comandos so primeiramente ligados entre si e depois
executados uma a um na seqncia programada.

16
75$

&527

&

Indicao
Os valores programados com os comandos mencionados so atribudos aos Frames e
armazenados.
Os valores somente sero ativados se eles forem atribudos ao Frame de uma varivel
Frame $P_BFRAME ou $P_PFRAME ativa.

5.2.2

Ler e alterar componentes de Frame (TR, FI, RT, SC, MI)

Funo
Temos a possibilidade de acessar determinados dados de um Frame como um determinado
valor de deslocamento ou ngulo de rotao. Estes valores podem ser modificados ou
atribudos em outra varivel.

Sintaxe
R10=$P_UIFR[$P_UIFNUM,X,RT]

O ngulo de rotao RT em torno do eixo X do


atual deslocamento ajustvel do ponto zero
$P_UIFRNUM deve ser atribudo na varivel R10.

Preparao do trabalho

280

Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

Transformaes de coordenadas (Frames)


5.2 Atribuir valores para variveis Frame / Frame
R12=$P_UIFR[25,Z,TR]

O valor do deslocamento TR em Z do bloco de


dados do Frame n 25 ajustado deve ser atribudo
na varivel R12.

R15=$P_PFRAME[Y,TR]

O valor do deslocamento TR em Y do atual Frame


programvel deve ser atribudo na varivel R15.

$P_PFRAME[X,TR]=25

O valor do deslocamento TR em X do atual Frame


programvel deve ser modificado. X25 vlido de
imediato.

Significado
$P_UIFRNUM

Com estas variveis se estabelece automaticamente a relao


do atual deslocamento ajustvel de ponto zero vlido.

P_UIFR[n,,]

Com a especificao do nmero de Frame n se pode acessar o


Frame ajustvel n n.
Indicao dos componentes que devem ser lidos ou
modificados:

TR

TR Translation

FI

FI Translation Fine

RT

RT Rotation

SC

Alterao de escala SC Scale

MI

Espelhamento MI

X Y Z

Tambm (veja exemplos) especificado o eixo X, Y e Z


correspondente.

Faixa de valores para rotao RT


Rotao em torno do 1 eixo geomtrico:

-180 at +180

Rotao em torno do 2 eixo geomtrico:

-90 at +90

Rotao em torno do 3 eixo geomtrico:

-180 at +180

Descrio
Chamar Frame
Com a indicao das variveis $P_UIFRNUM pode-se acessar diretamente o atual
deslocamento de ponto zero
(o $P_UIFRNUM contm o nmero do atual Frame definido) ajustado com $P_UIFR ou G54,
G55, ...
Todos demais Frames ajustveis $P_UIFR que estiverem armazenados sero chamados
com a indicao do no respectivo nmero $P_UIFR[n].
Para as variveis Frame pr-definidas e os Frames de definio prpria especifique o nome,
p. ex. $P_IFRAME.
Chamar dados
Entre os colchetes constam o nome do eixo e o componente de Frame do valor que se
deseja acessar ou modificar, p. ex. [X, RT] ou [Z, MI].
Preparao do trabalho
Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

281

Transformaes de coordenadas (Frames)


5.2 Atribuir valores para variveis Frame / Frame

5.2.3

Referncias de Frames completos

Funo
No programa NC pode ser atribudo um Frame completo outro Frame ou Frames podem
ser encadeados entre si.
Por exemplo, o encadeamento de Frames indicado para descrio de vrias peas de
trabalho, que esto dispostas sobre um palete e devem ser usinadas em um processo de
usinagem.

<

*

Para a descrio das tarefas dos paletes, por exemplo, os componentes de Frame poderiam
conter apenas determinados valores parciais, atravs do encadeamento dos componentes
podem ser gerados vrios pontos zero da pea de trabalho.

Sintaxe
Atribuir Frames
DEF FRAME AJUSTE1
AJUSTE1=CTRANS(X,10)
$P_PFRAME=AJUSTE1

Ao atual Frame programvel so


atribudos os valores do Frame
AJUSTE1 de definio prpria.

DEF FRAME AJUSTE4


AJUSTE4=$P_PFRAME
$P_PFRAME=AJUSTE4

O atual Frame programvel


armazenado na memria intermediria
e pode, se necessrio, ser
restaurado.

Preparao do trabalho

282

Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

Transformaes de coordenadas (Frames)


5.2 Atribuir valores para variveis Frame / Frame
Encadeamento de Frames
Os Frames so encadeados entre si na seqncia programada, os componentes de Frame
(deslocamentos, rotaes, etc.) so executados aditivamente em sucesso.
$P_IFRAME=$P_UIFR[15]:$P_UIFR[16]

$P_UIFR[3]=$P_UIFR[4]:$P_UIFR[5]

Por exemplo, o $P_UIFR[15] contm


dados para deslocamentos de ponto
zero. Em seguida so processados
aditivamente os dados do $P_UIFR[16],
como por exemplo os dados das
rotaes.
O Frame ajustvel 3 gerado com o
encadeamento dos Frames ajustveis 4
e 5.

Indicao
Observe que os Frames precisam ser ligados entre si atravs do operador de
encadeamento, o duplo ponto :.

5.2.4

Definio de novos Frames (DEF FRAME)

Funo
Alm dos Frames pr-definidos e ajustveis descritos anteriormente, ainda existe a opo
de se criar novos Frames. Neste caso tratam-se de variveis de tipo FRAME que so
definidas com qualquer nome.
Com as funes CTRANS, CROT, CSCALE e CMIRROR podemos atribuir nossos Frames
com valores no programa NC.

Sintaxe
DEF FRAME PALETE1
PALETE1=CTRANS():CROT()

Significado
DEF FRAME

Criar novos Frames.

PALETE1

Nome do novo Frame

=CTRANS(...):
CROT(...)...

Atribuir valores s possveis funes

Preparao do trabalho
Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

283

Transformaes de coordenadas (Frames)


5.3 Deslocamento aproximado e deslocamento fino (CFINE, CTRANS)

5.3

Deslocamento aproximado e deslocamento fino (CFINE, CTRANS)

Funo
Deslocamento fino
o deslocamento leve de um quadro programado atravs do comando CFINE(...).
Indicao
Liberao do deslocamento suave atravs doMD18600 $MN_MM_FRAME_FINE_TRANS = 1
Deslocamento aproximado
O deslocamento amplo de um quadro programado atravs do comando CTRANS(...).

(VSHOKDPHQWR

(VFDOD
5RWDR
'HVORFDPHQWRILQR

'HVORFDPHQWRDSUR[LPDGR

(VWUXWXUDGH)UDPHFRPGHVORFDPHQWRILQR

Os deslocamentos aproximado e fino so adicionados ao deslocamento total.

Sintaxe

Deslocamento fino
No exemplo do quadro de armazenamento $P_UIFR:
Frame total

$P_UIFR[<n>] = CFINE(<K1>,<valor>)

$P_UIFR[<n>] = CFINE(<K1>,<valor>, <K2,<valor>)

$P_UIFR[<n>] = CFINE(<K1>,<valor>, <K2,<valor>, <K3,<valor>)

Componentes do quadro

$P_UIFR[<n>,<Koordinate>,FI] = <valor>

Preparao do trabalho

284

Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

Transformaes de coordenadas (Frames)


5.3 Deslocamento aproximado e deslocamento fino (CFINE, CTRANS)
Deslocamento aproximado
No exemplo do quadro de armazenamento $P_UIFR:
Frame total

$P_UIFR[<n>] = CTRANS(<K1>,<valor>)

$P_UIFR[<n>] = CTRANS(<K1>,<valor>, <K2,<valor>)

$P_UIFR[<n>] = CTRANS(<K1>,<valor>, <K2,<valor>, <K3,<valor>)

Componentes do quadro

$P_UIFR[<n>,<coordenadas>,TR] = <valor>

Quadro programvel $P_PFRAME tambm:

TRANS <K1> <valor>

TRANS <K1> <valor> <K2> <valor>

TRANS <K1> <valor> <K2> <valor> <K3> <valor>

Significado
CFINE:

Deslocamento suave e aditivo (Translao)

CTRANS:

Deslocamento amplo e absoluto (Translao)

TRANS:

Quadro programvel:
Deslocamento amplo e absoluto (Translao)

X, Y, Z :

Coordenadas

<Kn>:

Coordenadas X, Y ou Z

<valor>:

valor do deslocamento

Preparao do trabalho
Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

285

Transformaes de coordenadas (Frames)


5.4 Deslocamento externo de ponto zero

5.4

Deslocamento externo de ponto zero

Funo
Dessa forma temos mais uma opo disponvel, a de deslocar o ponto zero entre o sistema
de coordenadas bsico e o da pea de trabalho.
Com o deslocamento externo de ponto zero somente se pode programar deslocamentos
lineares.

<0&6

<0&6 <%&6

<%16

<(16

; (16
**
; %16
)UDPHEVLFR
'HVORFDPHQWRH[WHUQR
GHSRQWR]HUR
'HVORFDPHQWR'5)
7UDQVIRUPDRFLQHPWLFD
'HVORFDPHQWRGH3UHVHW

; %&6
; 0&6

Programao
A programao dos valores de deslocamento $AA_ETRANS realizada atravs da
especificao das variveis de sistema especficas de eixo.
Atribuir valor de deslocamento
$AA_ETRANS[eixo]=RI

RI a varivel de clculo de tipo REAL que contm o novo valor.


O deslocamento externo normalmente no especificado no programa de pea, mas
definido pelo PLC.
Indicao
O valor escrito no programa de pea ativado se na interface VDI
(interface NCU-PLC) estiver definido o respectivo sinal.

Preparao do trabalho

286

Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

Transformaes de coordenadas (Frames)


5.5 Deslocamento Preset com PRESETON

5.5

Deslocamento Preset com PRESETON

Funo
Para aplicaes especiais pode ser necessrio, atribuir um novo valor a um eixo de
mquina j referenciado com PRESETON. Isto corresponde um deslocamento de ponto zero
no sistema de coordenadas da mquina.
<0&6

<0&6

7UDQVIRUPDRFLQHPWLFD
'HVORFDPHQWRGH3UHVHW

; 0&6

CUIDADO
Sem coordenadas de referncia
Aps PRESETON o eixo de mquina est no estado "No referenciado". Portanto
recomendado, que a funo seja utilizada apenas para eixos de mquina sem
referenciamento obrigatrio. Para restaurar o sistema de coordenadas de mquina original
os eixos de mquina devem ser novamente referenciados, por exemplo, com t G74
(deslocamento para ponto de referncia.
Literatura:
Manual bsico de programao

Sintaxe

PRESETON(<Achse_1>,<valor_1>,<eixo_2>,<valor_2>,)
Indicao
Com PRESETON pode-se programar o deslocamento Preset para at 8 eixos.

Significado
PRESETON:

Procedimento pr-definido para estabelecer o valor real

<eixo_...>:

Identificador de eixo da mquina, cujo ponto zero de comando deve


ser alterado
Faixa de valores:

<valor_...>:

todos identificadores de eixo definidos no canal

novo valor atual do eixo de mquina no sistema de coordenadas de


mquina

Preparao do trabalho
Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

287

Transformaes de coordenadas (Frames)


5.6 Clculo de Frame a partir de 3 pontos de medio no espao (MEAFRAME)

Exemplo

Eixo geomtrico: A
Eixo de mquina correspondente: X1
Cdigo de programa

Comentrio

N10 G0 A100

; Eixo A vai para posio 100

N20 PRESETON(X1,50)

; O eixo de mquina X1 na posio 100 passa a ter


valor 50 => nova indicao de valor:
- Eixo X1, MCS: 50
- Eixo A, WCS: 50

N30 A100

Literatura

; Eixo A se movimenta 50 mm para posio 100.

Para programao do deslocamento Preset em aes sncronas, veja:


Manual de funes para aes sncronas; captulo: "Aes em aes sincronizadas" >
"estabelecimento do valor real (PRESETON)"

5.6

Clculo de Frame a partir de 3 pontos de medio no espao


(MEAFRAME)

Funo
A funo MEAFRAME usada como apoio para os ciclos de medio. Ela calcula o quadro
a partir de trs pontos ideais e dos pontos medidos correspondentes.
Se uma pea posicionada para a usinagem, ento sua posio relativa ao sistema de
coordenadas cartesiano da mquina normalmente est deslocada e tambm girada em
relao sua posio ideal. Para a usinagem ou medio exata, torna-se necessrio ou um
ajuste fsico dispendioso ou ento a modificao dos movimentos no programa de pea.
Um Frame pode ser definido atravs do apalpamento de trs pontos no espao, cujas
posies ideais so conhecidas. O apalpamento realizado com um sensor de contato ou
ptico, que entra especialmente em contato com os furos de preciso ou esferas de
medio da placa de suporte.

Sintaxe

MEAFRAME(<ponto ideal>,<ponto de medida>,<Qualidade>)

Significado
MEAFRAME:

Chamada da funo

<ponto ideal>:

2-dim. Campo REAL, que contm as trs coordenadas dos pontos


ideais

<ponto de medida>:

2-dim. Campo REAL, que contm as trs coordenadas dos pontos


medidos
Preparao do trabalho

288

Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

Transformaes de coordenadas (Frames)


5.6 Clculo de Frame a partir de 3 pontos de medio no espao (MEAFRAME)
<Qualidade>:

Varivel, com a qual ser devolvida a informao da qualidade do


calculo do quadro
Tipo:

VAR REAL

Valor:

-1

Os pontos ideais esto prximos de uma reta:


O Frame no pde ser calculado. A varivel
do quado retornado contm um quadro neutro.

-2

Os pontos medidos esto prximos de uma


reta: O Frame no pde ser calculado. A
varivel do quado retornado contm um
quadro neutro.

-4

O clculo da matriz de rotao falhou por outro


motivo

0.0

Soma das distores (distncias entre os


pontos) que so necessrias para a
transformar o tringulo medido em um
tringulo ideal e congruente.

Indicao
Qualidade da medio
Para que as coordenadas medidas sejam atribudas s coordenadas ideais com uma
rotao/translao combinada, o tringulo formado pelos pontos de medio dever ser
congruente com o tringulo ideal. Isto se alcana com um algoritmo de compensao que
minimiza a somatria do quadrado dos desvios que reformam o tringulo medido para o
tringulo ideal.
A distoro efetiva necessria dos pontos de medio pode servir de indicador para a
qualidade da medio e por isso especificada como varivel adicional do MEAFRAME.
Indicao
O quadro produzido pelo MEAFRAME pode ser transformado atravs da funo
ADDFRAME em um outro quadro da sequncia de quadros (veja exemplo "Interligao com
ADDFRAME").

Exemplos
Exemplo 1:
Programa de usinagem 1:
Cdigo de programa
...
DEF FRAME CORR_FRAME

Preparao do trabalho
Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

289

Transformaes de coordenadas (Frames)


5.6 Clculo de Frame a partir de 3 pontos de medio no espao (MEAFRAME)
Definio de pontos de medio:
Cdigo de programa

Comentrio

DEF REAL IDEAL_POINT[3,3]=SET(10.0,0.0,0.0,0.0,10.0,0.0,0.0,0.0,10.0)


DEF REAL MEAS_POINT[3,3]=SET(10.1,0.2,-0.2,-0.2,10.2,0.1,-0.2,0.2,9.8)

; para teste

DEF REAL FIT_QUALITY=0


DEF REAL ROT_FRAME_LIMIT=5

; permite no mx. 5 graus de rotao da posio


da pea

DEF REAL FIT_QUALITY_LIMIT=3

; Permite no mx. 3 mm de deslocamento entre


o tringulo ideal e o tringulo medido.

DEF REAL SHOW_MCS_POS1[3]


DEF REAL SHOW_MCS_POS2[3]
DEF REAL SHOW_MCS_POS3[3]

Cdigo de programa

Comentrio

N100 G01 G90 F5000


N110 X0 Y0 Z0
N200 CORR_FRAME=MEAFRAME(IDEAL_POINT,MEAS_POINT,FIT_QUALITY)
N230 IF FIT_QUALITY < 0
SETAL(65000)
GOTOF NO_FRAME
ENDIF
N240 IF FIT_QUALITY > FIT_QUALITY_LIMIT
SETAL(65010)
GOTOF NO_FRAME
ENDIF
N250 IF CORR_FRAME[X,RT] > ROT_FRAME_LIMIT

; Limitao do 1 ngulo RPY

SETAL(65020)
GOTOF NO_FRAME
ENDIF
N260 IF CORR_FRAME[Y,RT] > ROT_FRAME_LIMIT

; Limitao do 2 ngulo RPY.

SETAL(65021)
GOTOF NO_FRAME
ENDIF
N270 IF CORR_FRAME[Z,RT] > ROT_FRAME_LIMIT

; Limitao do 3 ngulo RPY.

SETAL(65022)
GOTOF NO_FRAME
ENDIF
N300 $P_IFRAME=CORR_FRAME

; Ativar Frame de apalpamento com um Frame


de definio.
; Verificar Frame com o posicionamento dos
eixos geomtricos nos pontos ideais.

Preparao do trabalho

290

Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

Transformaes de coordenadas (Frames)


5.6 Clculo de Frame a partir de 3 pontos de medio no espao (MEAFRAME)

Cdigo de programa

Comentrio

N400 X=IDEAL_POINT[0,0] Y=IDEAL_POINT[0,1]


Z=IDEAL_POINT[0,2]
N410 SHOW_MCS_POS1[0]=$AA_IM[X]
N420 SHOW_MCS_POS1[1]=$AA_IM[Y]
N430 SHOW_MCS_POS1[2]=$AA_IM[Z]
N500 X=IDEAL_POINT[1,0] Y=IDEAL_POINT[1,1] Z=IDEAL_POINT[1,2]
N510 SHOW_MCS_POS2[0]=$AA_IM[X]
N520 SHOW_MCS_POS2[1]=$AA_IM[Y]
N530 SHOW_MCS_POS2[2]=$AA_IM[Z]
N600 X=IDEAL_POINT[2,0] Y=IDEAL_POINT[2,1] Z=IDEAL_POINT[2,2]
N610 SHOW_MCS_POS3[0]=$AA_IM[X]
N620 SHOW_MCS_POS3[1]=$AA_IM[Y]
N630 SHOW_MCS_POS3[2]=$AA_IM[Z]
N700 G500

; Desativar Frame de definio, definido


com Frame zero (sem valor especificado).

No_FRAME

; Desativar Frame de definio, definido


com Frame zero (sem valor especificado).

M0
M30

Exemplo 2: Interligao de quadros


Encadeamento de MEAFRAME para correes
A funo MEAFRAME fornece uma correo do quadro. Se esta correo for interligada
com o quadro configurado, o qual estava ativo na chamada da funo ex. G54), ento
obtemos um quadro configurvel para outros clculos de deslocamento e usinagem.
Encadeamento com ADDFRAME
Se esta correo atuar em outra posio na interligao dos quadros, ou se antes do
quadro ajustvel ainda existirem outros quadros ativos, ento se pode utilizar a funo
ADDFRAME para interligar um dos quadros bsicos de canal ou um quadro de sistema.
Neste caso, no Frame no podem estar ativos:
Com MIRROR/AMIRROR
Escala com SCALE
Os parmetros de entrada para valores nominais e reais so as coordenadas da pea de
trabalho. No sistema base de controle, essas coordenadas esto especificadas
metricamente ou em polegadas (G71/G70) e tambm como medida de referncia ao raio
(DIAMOF).
Literatura:
Mais informaes sobre ADDFRAME, veja:
Manual de funes bsicas; K2: Eixos, sistema de coordenadas, quadros

Preparao do trabalho
Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

291

Transformaes de coordenadas (Frames)


5.7 Frames globais da NCU

5.7

Frames globais da NCU

Funo
Para cada NCU os Frames globais da NCU ocorre apenas uma vez em todos canais. Os
Frames globais da NCU podem ser gravados e lidos a partir de todos canais. A ativao dos
Frames globais da NCU realizada no respectivo canal.
Atravs dos Frames globais os eixos de canal e eixos da mquina podem ter escala
alterada e serem espelhados com os deslocamentos.
Relaes geomtricas e encadeamento de Frames
Para Frames globais no existe nenhuma relao geomtrica entre os eixos. Por isso que
no pode ser executada nenhuma rotao e nenhuma programao de identificadores de
eixos geomtricos.
As rotaes no podem ser aplicadas em Frames globais. A programao de uma
rotao ser rejeitada com o alarme: "Canal 18310 %1 bloco %2 quadro: rotao no
permitida".
A realizao do encadeamento de Frames globais e Frames especficos de canal
possvel. O Frame resultante contm todos componentes de Frame, inclusive as
rotaes de todos eixos. A atribuio de um quadro com componentes de rotao em um
quadro global negada com o alarme: "Frame: Rotao no permitida".

Frames bsicos globais da NCU


Frames bsicos globais da NCU $P_NCBFR[n]
Podem ser configurados at 8 Frames bsicos globais da NCU:
Ao mesmo tempo podem existir Frames bsicos especficos de canal.
Frames globais podem ser gravados e lidos a partir de todos canais de uma NCU. O usurio
deve providenciar uma coordenao de canais ao gravar Frames globais. Este pode ser
realizado, p.ex. atravs dos marcadores Wait-Marken (WAITMC).
Fabricante da mquina
A quantidade de quadros base projetada atravs dos dados da mquina.
Literatura:
Manual de funes bsicas; Eixos, Sistemas de coordenadas, Frames (K2)
Frames ajustveis globais da NCU $P_UIFR[n]
Todos os quadros ajustveis G500, G54...G599 podem ser configurados como globais da
NCU ou especficos de canal.
Fabricante da mquina
Todos os quadros ajustveis podem ser reconfigurados em quadros globais com o auxlio
de um dado de mquina $MN_MM_NUM_GLOBAL_USER_FRAMES.
Como identificador de eixo nos comandos de programao de Frames podem ser utilizados
identificadores especficos de canal e identificadores de eixo de mquina. A programao
dos identificadores de eixos geomtricos negada com um alarme.

Preparao do trabalho

292

Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

Transformaes de coordenadas (Frames)


5.7 Frames globais da NCU

5.7.1

Frames especficos de canal ($P_CHBFR, $P_UBFR)

Funo
Quadros configurveis ou base podem ser gravados e lidos atravs do programa de
usinagem e do BTSS da condio e do PLC
O deslocamento fino tambm possvel nos Frames globais. A supresso dos quadros
globais realizada da mesma forma como dos quadros especficos de canal, atravs do
G53, G153, SUPA e G500.
Fabricante da mquina
Atravs do MD28081 $MC_MM_NUM_BASE_FRAMES possvel projetar o nmeros de
quadros base no canal. A configurao padro est definida de modo que exista pelo
menos um Frame bsico por canal. No mximo so possveis 8 Frames bsicos. Alm dos 8
Frames bsicos no canal ainda podem existir 8 Frames bsicos globais da NCU.

Frames especficos de canal


$P_CHBFR[n]
Atravs da varivel de sistema <code>$P_CHBFR[n]</code> se pode ler e gravar os
Frames bsicos. Ao se gravar um quadro bsico, este total encadeado no ativado, a
ativao somente ocorre com a execuo de uma instruo G500, G54 ... G599. A varivel
serve especialmente como memria de gravaes no Frame bsico da HMI ou PLC. Estas
variveis Frame so salvas atravs do backup de dados.
Primeiro Frame bsico no canal
Uma gravao na varivel pr-definida $P_UBFR no ativa simultaneamente o quadro base
com o ndice de campo 0, a ativao somente realizada com a execuo de uma instruo
G500, G54 G599. A varivel tambm pode ser gravada e lida no programa.
$P_UBFR
$P_UBFR idntico ao $P_CHBFR[0]. Como padro sempre existe um Frame bsico no
canal, de modo que a varivel de sistema seja compatvel com verses anteriores. Se no
existir um quadro bsico especfico de canal, durante a gravao ou leitura ser emitido o
alarme "Frame: Instruo invlida".

Preparao do trabalho
Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

293

Transformaes de coordenadas (Frames)


5.7 Frames globais da NCU

5.7.2

Frames ativos no canal

Funo
Os Frames ativos no canal so especificados pelo programa de pea atravs das
respectivas variveis de sistema destes Frames. Aqui tambm pertencem os Frames de
sistema. Atravs destas variveis de sistema pode-se ler e gravar o atual Frame de sistema
no programa de pea.

Atuais Frames ativos no canal


Vista geral
Atuais Frames de sistema

para:

$P_PARTFRAME

TCARR e PAROT

$P_SETFRAME

Definir valor real e contato de referncia

$P_EXTFRAME

Deslocamento externo de ponto zero

$P_NCBFRAME[n]

Atuais Frames bsicos globais da NCU

$P_CHBFRAME[n]

Atuais Frames bsicos de canal

$P_BFRAME

Atual 1 Frame bsico no canal

$P_ACTBFRAME

Frame bsico total

$P_CHBFRMASK e $P_NCBFRMASK

Frame bsico total

$P_IFRAME

Atual Frame ajustvel

Atuais Frames de sistema

para:

$P_TOOLFRAME

TOROT e TOFRAME

$P_WPFRAME

Pontos de referncia de pea

$P_TRAFRAME

Transformaes

$P_PFRAME

Atual Frame programvel

Atual Frame de sistema

para:

$P_CYCFRAME

Ciclos

P_ACTFRAME

Atual Frame total

Encadeamento de FRAMEs

O atual Frame formado pelo Frame


bsico total

$P_NCBFRAME[n] Atuais Frames bsicos globais da NCU


Atravs da varivel de sistema <code>$P_NCBFRAME[n]</code> podem ser lidos e
gravados os atuais elementos de campo de Frames bsicos globais. O Frame bsico total
resultante processado pelo processo de gravao no canal.
O Frame alterado somente estar ativo no canal em que o Frame foi programado. Se o
Frame deve ser alterado em todos canais de uma NCU, ento $P_NCBFR[n] e
$P_NCBFRAME[n] devem ser gravados simultaneamente. Os outros canais ainda devem
ativar o Frame, por exemplo com G54. Ao gravar um Frame bsico, ser recalculado o
Frame bsico total.
Preparao do trabalho

294

Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

Transformaes de coordenadas (Frames)


5.7 Frames globais da NCU
$P_CHBFRAME[n] Atuais Frames bsicos de canal
Atravs da varivel de sistema <code>$P_NCBFRAME[n]</code> podem ser lidos e
gravados os atuais elementos de campo de Frames bsicos globais. O Frame bsico total
resultante processado pelo processo de gravao no canal. Ao gravar um Frame bsico,
ser recalculado o Frame bsico total.
$P_BFRAME Atual 1 Frame bsico no canal
Atravs da varivel Frame pr-definida <code>$P_BFRAME</code> o atual Frame bsico
com o ndice de campo 0 vlido no canal, poder ser lido e gravado no programa de pea.
O Frame bsico gravado imediatamente processado.
$P_BFRAME idntico ao $P_CHBFRAME[0]. Como padro a varivel de sistema sempre
tem um valor vlido. Se no existir um quadro bsico especfico de canal, durante a
gravao ou leitura ser emitido o alarme "Frame: Instruo invlida".
$P_ACTBFRAME Frame bsico total
A varivel <code>$P_ACTBFRAME</code> determina o Frame bsico total encadeado. A
varivel somente pode ser lida.
$P_ACTFRAME equivale:
$P_NCBFRAME[0] : ... : $P_NCBFRAME[n] : $P_CHBFRAME[0] : ... : $P_CHBFRAME[n].

< %&6

< %16

<

3B$&7%)5$0(

%16

; %16

3B&+%)5$0(>Q@QFRQILJXUYHODWUDYVGH0&B00B180B%$6(B)5$0(6
3B&+%)5$0(>@ 3B%)5$0(
3B1&%)5$0(>Q@QFRQILJXUYHODWUDYVGH01B00B180B*/2%$/B%$6(B)5$0(6
;
3B1&%)5$0(>@
;
%&6

%&6

%16 6LVWHPDGHSRQWR]HUR
%&6 6LVWHPDGHFRRUGHQDGDVEVLFR

3$&7%)5$0( 3B1&%)5$0(>@3B1&%)5$0(>Q@3B&+%)5$0(>@3B&+%)5$0(>Q@

Preparao do trabalho
Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

295

Transformaes de coordenadas (Frames)


5.7 Frames globais da NCU
$P_CHBFRMASK e $P_NCBFRMASK Frame bsico total
Atravs das variveis de sistema $P_CHBFRMASK e $P_NCBFRMASK o usurio pode
escolher quais quadro base ele quer adicionar ao clculo do "total". As variveis somente
podem ser programadas uma vez no programa e lidas atravs do BTSS. O valor das
variveis interpretado como mscara de Bit e indica qual elemento de campo do Frame
bsico de<code> $P_ACTFRAME </code>entra no clculo.
Com $P_CHBFRMASK se pode especificar quais quadros base especficos de canal, e com
$P_NCBFRMASK quais quadros base globais da NCU, sero processados.
Com a programao das variveis recalculado o Frame bsico total e o Frame total. Aps
o Reset e a configurao bsica o valor de $P_CHBFRMASK e $P_NCBFRMASK o
segunte:
$P_CHBFRMASK = $MC_CHBFRAME_RESET_MASK
$P_NCBFRMASK = $MC_CHBFRAME_RESET_MASK
Exemplo:
$P_NCBFRMASK = 'H81'

;$P_NCBFRAME[0] : $P_NCBFRAME[7]

$P_CHBFRMASK = 'H11'

;$P_CHBFRAME[0] : $P_CHBFRAME[4]

$P_IFRAME Atual Frame ajustvel


Atravs da varivel Frame pr-definida <code>$P_IFRAME</code>, o atual Frame
ajustvel, o que estiver vlido no canal, pode ser lido e gravado no programa de pea. O
Frame ajustvel que est gravado imediatamente processado.
No caso dos Frames ajustveis globais da NCU, o Frame alterado apenas atua no canal em
que foi programado. Se o quadro deve ser modificado para todos os canais de uma NCU,
ento $P_UIFR[n] e $P_IFRAME precisam ser gravados simultaneamente. Os outros canais
ainda devem ativar o Frame correspondente, por exemplo com G54.
$P_PFRAME Atual Frame programvel
$P_PFRAME o quadro programvel, que resulta da programao do TRANS/ATRANS,
G58/G59, ROT/AROT, SCALE/ASCALE, MIRROR/AMIRROR ou da atribuio do CTRANS,
CROT, CMIRROR, CSCALE ao quadro programvel
Atual varivel programvel que estabelece a relao entre o sistema ajustvel do ponto zero
(ENS) e o sistema de coordenadas da pea de trabalho (WCS).

Preparao do trabalho

296

Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

Transformaes de coordenadas (Frames)


5.7 Frames globais da NCU
P_ACTFRAME Atual Frame total
O atual Frame total $P_ACTFRAME resultante agora resulta como encadeamento de todos
Frames bsicos, do atual Frame ajustvel e do Frame programvel. O atual Frame sempre
ser atualizado quando um componente do Frame for alterado.
$P_ACTFRAME

equivale:

$P_PARTFRAME

$P_SETFRAME

$P_TOOLFRAME

$P_WPFRAME

:
:

$P_EXTFRAME
$P_TRAFRAME

$P_ACTBFRAME
$P_PFRAME

$P_IFRAME

$P_CYCFRAME

)UDPHVGHJHUHQFLDPHQWRGHGDGRV
(QWUDGDDWUDYVGRSURJUDPDSH[
3B&+%)5 &75$16 =
3B1&%)5 &75$16 ;

(QWUDGDDWUDYVGRSURJUDPDS
H[
3B8,)5>Q@ &75$16 ;

(QWUDGDDWUDYVGD+0,

3B75$)5
.DQDOVSH]LILVFKH
&DQDOHVSHFILFR
3B&<&)5
6\VWHPIUDPHV
3B:3)5

(QWUDGDDWUDYV
GD+0,

3B722/)5
3B3$57)5
3B&+%)5>Q@

3B(;7)5

)UDPHVEVLFRV1&8
HVSHFILFRVGHFDQDO

3B6(7)5

3B1&%)5>Q@

)UDPHVEVLFRV
JOREDLVGD1&8

DWLYDGRDWUDYVGH
***

3B8,)5>Q@

DWLYDGRDWUDYV
GH
***

)UDPHWRWDO
(QWUDGDDWUDYVGRSURJUDPDSH[
)UDPHWRWDODWLYR
3B$&7)5$0(

3B1&%)5$0(>@ &75$16 ;


3B3$57)5$0(

3B722/)5$0(

 6(7)5$0(

 3B:3)5$0(

 3B(;7)5$0(

 3B$&7%)5$0(

 3B,)5$0(


 3B75$)5$0(
 3B3)5$0(  3B&<&)5$0(
(QWUDGDDWUDYVGRSURJUDPDSH[
3B3)5$0( &75$16 ;
RX
75$16;

(QWUDGDDWUDYVGRSURJUDPDSH[
3B,)5$0( &75$16 ;

Preparao do trabalho
Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

297

Transformaes de coordenadas (Frames)


5.7 Frames globais da NCU

Encadeamento de Frames
O atual Frame formado a partir do Frame bsico total, do Frame ajustvel, do Frame de
sistema e do Frame programvel conforme o atual Frame total acima mencionado.

(QFDGHDPHQWRGH)UDPHV

:&6
)UDPHSDUDFLFORV)UDPH
SURJUDPYHOWUDQVIRUPDHV
(16
)UDPHGHVLVWHPDSDUD7252 72)5$0( SHDV
**)UDPHDMXVWYHO
HVSHFGHFDQDORXJOREDOGD1&8
&DPSRFRQFDWHQDGRGH)UDPHVEVLFRV
HVSHFGHFDQDOHRXJOREDOGD1&8

%16

)UDPHVGHVLVWHPDFRQFDWHQDGRVSDUD3$527GHILQLRGHYDORUHVUHDLV
FRQWDWRGHUHIGHVORFH[WGHSRQWR]HUR
'HVORFDPHQWRFRPPDQLYHODHOHWUQLFD '5) PRYLPHQWRVREUHSRVWR
>GHVORFDPHQWRH[WHUQRGHSRQWR]HUR@
%&6
7UDQVIRUPDRFLQHPWLFD

0&6

'HVORFDPHQWRGHSRQWRGHUHIHUQFLD
0&6 6LVWHPDGHFRRUGHQDGDVGDPTXLQD

%&6 6LVWHPDGHFRRUGHQDGDVEVLFR

%16 6LVWHPDGHSRQWR]HUR

(16 6LVWHPDGHSRQWR]HURDMXVWYHO

:&6 6LVWHPDGHFRRUGHQDGDVGDSHD

Preparao do trabalho

298

Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

Transformaes
6.1

Programao geral de tipos de transformao

Funo geral
Para adaptao do comando em diversas cinemticas de mquina existe a possibilidade de
se programar a seleo dos tipos de transformaes com parmetros adequados. Atravs
destes parmetros pode ser acordado para a transformao selecionada tanto a orientao
da ferramenta no espao como os movimentos da orientao dos eixos rotativos.
Em transformaes de trs, quatro e cinco eixos, as indicaes de posio programadas
sempre esto relacionadas ponta da ferramenta que acompanhada de forma ortogonal
superfcie de usinagem disponvel no espao. As coordenadas cartesianas so convertidas
do sistema de coordenadas bsico para o sistema de coordenadas da mquina e esto
relacionadas aos eixos geomtricos. Elas descrevem o ponto de trabalho. Os eixos rotativos
virtuais descrevem as orientaes da ferramenta no espao e so programadas com
TRAORI.
Na transformao cinemtica as posies podem ser programadas no sistema de
coordenadas cartesiano. O comando numrico transforma os movimentos de deslocamento
do sistema de coordenadas cartesiano programados com TRANSMIT, TRACYL e TRAANG
em movimentos de deslocamento dos eixos reais da mquina.

Programao
Transformaes de trs, quatro e cinco eixos TRAORI
A transformao de orientao acordada ativada com o comando TRAORI e com os trs
possveis parmetros para nmero de transformao, vetor de orientao e Offset de eixo
rotativo.
TRAORI(nmero de transformao, vetor de orientao, Offsets de eixo rotativo)

Transformaes cinemticas
s transformaes cinemticas pertencem as transformaes acordadas TRANSMIT(nmero
de transformao)
TRACYL(dimetro de trabalho, nmero de transformao)
TRAANG(ngulo do eixo inclinado, nmero de transformao)

Desativar a transformao ativa


Com TRAFOOF se desativa a transformao que estiver ativa no momento.

Preparao do trabalho
Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

299

Transformaes
6.1 Programao geral de tipos de transformao

Transformao de orientao
Transformaes de trs, quatro e cinco eixos TRAORI
Para uma usinagem otimizada de superfcies de formas espaciais na rea de trabalho da
mquina, as mquinas-ferramenta requerem eixos adicionais aos trs eixos lineares X, Y e
Z. Os eixos adicionais descrevem a orientao no espao e a seguir sero chamados de
eixos de orientao. Eles esto disponveis como eixos de rotao em quatro tipos de
mquina de diferentes cinemticas.
1. Cabeote orientvel de dois eixos, p. ex. cabeote de ferramentas cardnico com um
eixo rotativo paralelo um eixo linear e com mesa fixa de ferramenta.
2. Mesa giratria de dois eixos, p. ex. cabeote orientvel fixo com mesa giratria de
ferramenta e dois eixos.
3. Cabeote orientvel de um eixo e mesa giratria de um eixo, p. ex. um cabeote giratrio
com ferramenta rotativa com mesa giratria de ferramenta em torno de um eixo.
4. Cabeote orientvel de dois eixos e mesa giratria de um eixo, p. ex. uma mesa giratria
de ferramenta em torno de um eixo e um cabeote giratrio com ferramenta rotativa em
torno de si mesmo.
As transformaes de 3 e 4 eixos so formas especiais da transformao de 5 eixos e so
programadas de forma anloga s transformaes de 5 eixos.
A "transformao genrica de 3, 4, 5, 6 eixos", com suas funes, cobre os eixos rotativos
dispostos perpendicularmente e as transformaes para o cabeote de fresar cardnico, e
pode ser ativada com TRAORI para qualquer outra transformao de orientao, assim
como para estes quatro tipos de mquina. Na transformao genrica de 5 e 6 eixos, a
orientao da ferramenta possui mais um terceiro grau de liberdade, onde a ferramenta
pode ser girada em torno de seu prprio eixo em qualquer direo dentro do espao.
Literatura: /FB3/ Manual de funes especiais; Transformaes de 3 a 5 eixos (F2)

Posio bsica da orientao da ferramenta independente da cinemtica


ORIRESET
Se uma transformao de orientao estiver ativa com TRAORI, ento com ORIRESET se
pode especificar as posies bsicas de at 3 eixos de orientao com os parmetros
opcionais A, B e C. A associao da seqncia dos parmetros programados com os eixos
rotativos realizada de acordo com a seqncia dos eixos de orientao definida atravs da
transformao. A programao do ORIRESET(A, B, C) faz com que os eixos de orientao
se desloquem de modo linear e sincronizado de sua posio momentnea at a posio
bsica especificada.

Transformaes cinemticas
TRANSMIT e TRACYL
No caso das operaes de fresamento em tornos, para a transformao acordada se pode
1. programar uma usinagem frontal na fixao rotativa com TRANSMIT ou
2. uma usinagem de um nmero qualquer de ranhuras em corpos cilndricos com TRACYL.

Preparao do trabalho

300

Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

Transformaes
6.1 Programao geral de tipos de transformao
TRAANG
Por exemplo, se o eixo de penetrao da tecnologia de retificao tambm deve penetrar de
modo inclinado, ento se pode programar um ngulo parametrizvel com TRAANG para a
transformao acordada.
Deslocamento PTP cartesiano
O "Deslocamento PTP cartesiano" tambm pertence s transformaes cinemticas, onde
se pode programar at 8 diferentes posies articuladas STAT=. As posies so
programadas no sistema de coordenadas cartesiano, onde o movimento da mquina
realizado em coordenadas da mquina.
Literatura:
/FB2/ Manual de funes ampliadas; Transformao cinemtica (M1)

Transformaes encadeadas
Sempre podem ser ativadas duas transformaes sucessivamente. Na segunda
transformao encadeada desse modo se assumem as partes de movimentos dos eixos da
primeira transformao.
Como primeira transformao so possveis:
Transformao de orientao TRAORI
Transformao polar TRANSMIT
Transformao cilndrica TRACYL
Transformao de eixo inclinado TRAANG
A segunda transformao deve ser de eixo inclinado TRAANG

6.1.1

Movimentos de orientao nas transformaes

Movimentos de deslocamento e movimentos de orientao


Os movimentos de deslocamentos das orientaes programveis dependem primeiramente
do tipo de mquina. Na transformao de trs, quatro e cinco eixos com TRAORI so os
eixos rotativos ou os eixos lineares orientveis que descrevem os movimentos de orientao
da ferramenta.
As alteraes nas posies dos eixos rotativos que participam na transformao da
orientao geram movimentos de compensao nos demais eixos da mquina. A posio
da ponta da ferramenta permanece inalterada com isso.
Os movimentos de orientao da ferramenta podem ser programados atravs dos
identificadores de eixo rotativo A, B, C dos eixos virtuais, e dependendo da aplicao,
atravs da indicao de ngulos eulerianos e ngulos RPY ou atravs de vetores de direo
e vetores normais de superfcie, vetores normalizados para o eixo de rotao de um cone
ou para orientao intermediria em uma superfcie perifrica cnica.
Na transformao cinemtica com TRANSMIT, TRACYL e TRAANG o comando numrico
transforma os movimentos de deslocamento programados do sistema de coordenadas
cartesiano em movimentos de deslocamento dos eixos reais da mquina.

Preparao do trabalho
Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

301

Transformaes
6.1 Programao geral de tipos de transformao

Cinemtica da mquina na transformao de trs, quatro e cinco eixos TRAORI


Se pode girar a ferramenta ou a mesa de ferramenta mediante at dois eixos rotativos. Uma
combinao de um cabeote orientvel de um eixo e a mesa giratria tambm possvel.

=
&

&DEHRWH
RULHQWYHO
JLUDGRHPWRUQR
GRHL[R;H=

&DEHRWHRULHQWYHO &DEHRWH
JLUDGRHPWRUQR
RULHQWYHOIL[R
GRHL[R<
%
<

;
&

0HVDGHIHUUD
PHQWDJLUDGDHP
WRUQRGRHL[R=
=
&

0HVDGHIHUUDPHQWD
JLUDGDHPWRUQR
GRHL[R;H=
=

0HVDGHIHUUDPHQWDIL[D

<
$
;

)HUUDPHQWDJLUDGD

)HUUDPHQWDJLUDGD
SHDJLUDGD

3HDJLUDGD

7LSRGHPTXLQDFRP
DVHTQFLDGHHL[R&$

7LSRGHPTXLQDFRP
DVHTQFLDGHHL[R%&

7LSRGHPTXLQDFRP
DVHTQFLDGHHL[R$&

Tipo de mquina

Programao da orientao

Transformao de trs
eixos para tipos de
mquina 1 e 2

Programao da orientao de ferramenta apenas no plano


que estiver perpendicular ao eixo rotativo. Existem
dois eixos translatrios (eixos lineares) e
um eixo rotatrio (eixo rotativo).

Transformao de quatro Programao da orientao de ferramenta apenas no plano


eixos para tipos de
que estiver perpendicular ao eixo rotativo. Existem
mquina 1 e 2
trs eixos translatrios (eixos lineares) e
um eixo rotatrio (eixo rotativo).
Transformao de cinco Programao da transformao de orientao. Cinemtica com
eixos para tipo de
trs eixos lineares e dois eixos rotativos ortogonais.
mquina 3
Os eixos rotativos so paralelos dois dos trs eixos lineares.
Cabeote orientvel de um O primeiro eixo rotativo movimentado por dois eixos lineares
eixo e mesa giratria de
cartesianos. Ele gira o terceiro eixo linear com a ferramenta. O
um eixo
segundo eixo rotativo gira a pea de trabalho.

Preparao do trabalho

302

Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

Transformaes
6.1 Programao geral de tipos de transformao
Transformaes genricas de 5 e 6 eixos
Tipo de mquina

Programao da transformao de orientao

Transformao genrica de
cinco e seis eixos para tipo
de mquina 4
Cabeote orientvel de dois
eixos com ferramenta
rotativa em torno de si
mesma e mesa giratria de
um eixo

Programao da transformao de orientao. Cinemtica com


trs eixos lineares e trs eixos rotativos ortogonais.
Os eixos rotativos so paralelos dois dos trs eixos lineares.
O primeiro eixo rotativo movimentado por dois eixos lineares
cartesianos. Ele gira o terceiro eixo linear com a ferramenta. O
segundo eixo rotativo gira a pea de trabalho. A orientao
bsica da ferramenta pode ser programada atravs de um giro
adicional em torno de si mesma com o ngulo de giro THETA.

Na chamada da "Transformao genrica de trs, quatro e cinco eixos" tambm se pode


passar a orientao bsica da ferramenta. No se pode aplicar mais as restries
relacionadas s direes dos eixos rotativos. Se os eixos rotativos no estiverem
exatamente perpendiculares entre si ou se os eixos rotativos existentes no estiverem
exatamente paralelos com os eixos lineares, a "Transformao genrica de cinco e seis
eixos" pode oferecer melhores resultados de orientao da ferramenta.

Transformaes cinemticas TRANSMIT, TRACYL e TRAANG


Para operaes de fresamento em tornos ou para um eixo que avana inclinado na
operao de retificao se aplicam as seguintes disposies de eixo (em funo da
transformao em casos padro):
TRANSMIT

Ativao da transformao polar

usinagem frontal na fixao um eixo rotativo


rotativa
um eixo de penetrao perpendicular ao eixo de rotao
um eixo longitudinal paralelo ao eixo de rotao

TRACYL

Ativao da transformao de superfcie cilndrica

Usinagem de qualquer
ranhura que percorre no
corpo cilndrico

um eixo rotativo
um eixo de penetrao perpendicular ao eixo de rotao
um eixo longitudinal paralelo ao eixo de rotao

TRAANG

Ativao da transformao de eixos inclinados

Usinagem com eixo de


penetrao inclinado

um eixo rotativo
um eixo de penetrao com ngulo parametrizvel
um eixo longitudinal paralelo ao eixo de rotao

Preparao do trabalho
Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

303

Transformaes
6.1 Programao geral de tipos de transformao

Deslocamento PTP cartesiano


O movimento da mquina realizado em coordenadas da mquina e se programa com:
TRAORI

Ativao da transformao

Deslocamento ponto a
ponto PTP

Aproximao da posio em sistema de coordenadas


cartesiano (MCS)

CP

Movimento de percurso dos eixos cartesianos em (BCS)

STAT

A posio das articulaes est em funo da transformao

TU

O ngulo com que os eixos percorrem o curso mais curto

Deslocamento PTP na transformao de 5 e 6 eixos


O movimento da mquina realizado em coordenadas da mquina e a orientao da
ferramenta podem tanto ser programada com posies de eixo rotativo como com vetores
eulerianos e vetores RPY independentes de cinemtica ou com vetores de direo.
Desse modo possvel realizar a interpolao de eixos rotativos, interpolao de vetores
com interpolao de grande circunferncia ou interpolao do vetor de orientao sobre
uma superfcie perifrica cnica.

Exemplo de transformao de trs a cinco eixos em um cabeote de fresar cardnico


A mquina-ferramenta possui pelo 5 eixos, destes
Trs eixos translatrios para movimentos em linhas retas, que movimentam o ponto de
trabalho em qualquer posio na rea de trabalho.
Dois eixos orientveis rotativos que esto posicionados conforme um ngulo projetvel
(frequentemente 45 graus) permitem a realizao da orientao da ferramenta no
espao, restrita na posio de 45 graus sobre uma meia esfera.

Preparao do trabalho

304

Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

Transformaes
6.1 Programao geral de tipos de transformao

6.1.2

Vista geral da transformao de orientao TRAORI

Possveis tipos de programao em conjunto com o TRAORI


Tipo de mquina

Programao com transformao TRAORI ativa

Tipos de mquina 1, 2 ou 3
Cabeote orientvel de dois
eixos ou mesa giratria de
dois eixos ou uma
combinao de cabeote
orientvel de um eixo e mesa
giratria de um eixo.

A seqncia de eixos de orientao e o sentido de orientao da


ferramenta podem ser projetados
relacionados mquina atravs de dados de mquina
e em funo da cinemtica da mquina ou projetados
relacionados ferramenta com orientao programvel
e independente da cinemtica da mquina
Os sentidos de giro dos eixos de orientao no sistema de referncia
so programados com:
- Sistema de referncia ORIMKS = Sistema de coordenadas da
mquina
- Sistema de referncia ORIWKS = Sistema de coordenadas da pea
O ajuste bsico ORIWKS.
Programao dos eixos de orientao com:
A, B, C direto das posies de eixo da mquina
A2, B2, C2 programao de ngulos de eixos virtuais com
- ORIEULER atravs de ngulo euleriano (Standard)
- ORIRPY atravs de ngulo RPY
- ORIVIRT1 atravs de eixos de orientao virtuais de 1 definio
- ORIVIRT2 atravs de eixos de orientao virtuais de 2 definio
com diferena no tipo de interpolao:
Interpolao linear
- ORIAXES de eixos de orientao dos eixos da mquina
Interpolao de grande circunferncia (interpolao do vetor de
orientao)
- ORIVECT de eixos de orientao
Programao dos eixos de orientao atravs da indicao
A3, B3, C3 dos componentes de vetor (normal de sentido/superfcie)
Programao da orientao de ferramenta resultante
A4, B4, C4 do vetor normal de superfcie no incio do bloco
A5, B5, C5 do vetor de normal de superfcie no fim do bloco
ngulo de avano LEAD para orientao da ferramenta
ngulo lateral TILT para orientao de ferramenta

Preparao do trabalho
Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

305

Transformaes
6.1 Programao geral de tipos de transformao

Tipo de mquina

Programao com transformao TRAORI ativa


Interpolao do vetor de orientao sobre uma superfcie perifrica
cnica
Alteraes de orientao sobre uma superfcie perifrica cnica
qualquer no espao
atravs da interpolao:
- ORIPLANE no plano (interpolao de grande circunferncia)
- ORICONCW sobre uma superfcie perifrica cnica em sentido
horrio
- ORICONCCW sobre uma superfcie perifrica cnica em sentido
anti-horrio
Vetores de direo A6, B6, C6 (eixo de rotao do cone)
- Interpolao OICONIO sobre uma superfcie perifrica cnica com:
Vetores intermedirios A7, B7, C7 (orientao inicial e final) ou
- ORICONTO sobre uma superfcie perifrica cnica de transio
tangencial
Alteraes de orientao relacionadas uma trajetria com
- Especificao ORICURVE do movimento de dois pontos de contato
atravs de
Polinmios de orientao de at 5 grau PO[XH]=(xe, x2, x3, x4, x5)
Polinmios de orientao de at 5 grau PO[YH]=(ye, y2, y3, y4, y5)
Polinmio de orientao de at 5 grau PO[ZH]=(ze, z2, z3, z4, z5)
- A suavizao do decurso de orientao ORIPATHS com
fase de reorientao A8, B8, C8 da ferramenta corresponde ao():
Direo e distncia de curso da ferramenta no movimento de
retrao

Tipos de mquina 1 e 3

Os demais tipos de mquina


com giro adicional da
ferramenta em torno de si
mesma requerem um 3 eixo
rotativo
Transformao de orientao
como na transformao
genrica de 6 eixos.
Rotaes do vetor de
orientao.
Orientao relativa
trajetria para alteraes de
orientao relativas
trajetria ou rotao do vetor
de rotao tangencial
trajetria

Programao das rotaes da orientao da ferramenta com


ngulo de avano LEAD relativo ao vetor normal de superfcie
PO[PHI] Programao de um polinmio de at 5 grau
TILT ngulo lateral da rotao em torno da tangente da trajetria
(sentido Z)
PO[PSI] Programao de um polinmio de 5 grau
THETA ngulo de rotao (rotao em torno da direo da
ferramenta em Z)
THETA= Valor a ser alcanado no final do bloco
THETA=AC(...) Comutar por blocos para dimenses absolutas
THETA=IC(...) Comutar por blocos para dimenses incrementais
THETA=e Interpolar ngulo programado G90/G91
PO[THT]=(..) Programao de um polinmio de 5 grau
Programao do vetor de rotao
- ORIROTA Rotao absoluta
- ORIROTR Vetor de rotao relativo
- ORIROTT Vetor de rotao tangencial
Alteraes de orientao relativas trajetria com
- Orientao de ferramenta ORIPATH relativa trajetria
- ORIPATHS adicionalmente em uma dobra no decurso da
orientao
Programao do vetor de rotao
- Vetor de rotao tangencial ORIROTC, rotao com a tangente da
trajetria

Preparao do trabalho

306

Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

Transformaes
6.2 Transformao de trs, quatro e cinco eixos (TRAORI)

6.2

Transformao de trs, quatro e cinco eixos (TRAORI)

6.2.1

Relaes gerais do cabeote de ferramenta cardnico

Funo
Para obter as condies ideais de corte na usinagem de superfcies curvadas, se deve
permitir a variao do ngulo de ataque da ferramenta.

(L[RGDIHUUDPHQWD

Com qual forma construtiva de mquina isso obtido, est armazenado nos dados do eixo.

Transformao de 5 eixos
Cabeote de ferramenta cardnico
Aqui esto definidos trs eixos lineares (X, Y, Z) e dois eixos de orientao (C, A) do ngulo
de ataque e ponto de trabalho da ferramenta. Um dos dois eixos de orientao est definido
como eixo inclinado, aqui no exemplo A', como na maioria dos casos, na disposio de 45.

Preparao do trabalho
Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

307

Transformaes
6.2 Transformao de trs, quatro e cinco eixos (TRAORI)


$
=

<

&

;
&DEHRWHGHIHUUDPHQWDFDUGQLFRYDULDQWH

Nos exemplos aqui apresentados temos as disposies no exemplo da cinemtica de


mquina CA com o cabeote de ferramenta cardnico!
Fabricante da mquina
A seqncia dos eixos de orientao e o sentido de orientao da ferramenta pode ser
ajustado em funo da cinemtica da mquina atravs dos dados de mquina.

$

&

&DEHRWHGHIHUUDPHQWDFDUGQLFRYDULDQWH

Neste exemplo o A' encontra-se a um ngulo em relao ao eixo X

Preparao do trabalho

308

Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

Transformaes
6.2 Transformao de trs, quatro e cinco eixos (TRAORI)
Normalmente so aplicadas as seguintes possveis relaes:
A' encontra-se a um ngulo em relao ao

Eixo X

B' encontra-se a um ngulo em relao ao

Eixo Y

C' encontra-se a um ngulo em relao ao

Eixo Z

O ngulo pode ser configurado na faixa de 0 at +89 atravs de dados de mquina.


Com eixo linear giratrio
Aqui trata-se de uma disposio com pea de trabalho em movimento e ferramenta em
movimento. A cinemtica formada a partir de trs eixos lineares (X, Y, Z) e dois eixos de
rotao dispostos ortogonalmente. Por exemplo, o primeiro eixo rotativo movimentado por
uma unidade de avano cruzada com dois eixos lineares, a ferramenta est paralela ao
terceiro eixo linear. O segundo eixo de rotao gira a pea de trabalho. O terceiro eixo linear
(eixo que gira) est no plano da unidade de avano cruzada.

$
<

A seqncia dos eixos rotativos e o sentido de orientao da ferramenta pode ser ajustado
em funo da cinemtica da mquina atravs dos dados de mquina.
So aplicadas as seguintes possveis relaes:
Eixos:

Seqncias de eixos:

1 eixo rotativo

AABBCC

2 eixo rotativo

BCACAB

Eixo linear girado

ZYZXYX

Para mais explicaes sobre a configurao de seqncias de eixos para o sentido de


orientao da ferramenta, veja
Literatura: /FB3/ Manual de funes especiais; Transformaes de 3 a 5 eixos (F2), Captulo
Cabeote de fresar cardnico, "Parametrizao".

Preparao do trabalho
Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

309

Transformaes
6.2 Transformao de trs, quatro e cinco eixos (TRAORI)

6.2.2

Transformao de trs, quatro e cinco eixos (TRAORI)

Funo
O usurio pode configurar dois ou trs eixos translatrios e um eixo rotatrio. As
transformaes partem do princpio de que o eixo rotatrio esteja em posio ortogonal ao
plano de orientao.
A orientao da ferramenta somente possvel no plano que estiver perpendicular ao eixo
rotatrio. A transformao d suporte aos tipos de mquina com ferramenta articulada e
pea de trabalho mvel.
A projeo e programao de transformaes de trs e quatro eixos realizada de forma
anloga s transformaes de cinco eixos.
Literatura:
Manual de funes especiais; Transformaes mltiplas (F2)

Sintaxe
TRAORI(<n>)
TRAORI(<n>,<X>,<Y>,<Z>,<A>,<B>)
TRAFOOF

Significado
TRAORI:

Ativa a primeira transformao de orientao especificada

TRAORI(<n>):

Ativa a transformao de orientao especificada com n

<n>:

Nmero da transformao
Valor:

1 ou 2

Exemplo:
TRAORI(1) ativa a transformao de orientao 1
<X>,<Y>,<Z>:

Componente do vetor de orientao em que a ferramenta aponta.

<A>,<B>:

Offset programvel para os eixos rotativos

TRAFOOF:

Desativao da transformao

Orientao da ferramenta
Em funo do sentido de orientao selecionado da ferramenta, no programa NC o plano de
trabalho ativo (G17, G18, G19) deve ser ajustado de modo que a correo do comprimento
da ferramenta atue no sentido da orientao da ferramenta.
Indicao
Aps a ativao da transformao as posies (Z, Y, Z) sempre esto relativas ponta da
ferramenta. Alterao das posies dos eixos rotativos envolvidos na transformao que
gera os tais movimentos de compensao dos demais eixos da mquina, de modo que a
posio da ponta da ferramenta permanea inalterada.
A transformao da orientao sempre est alinhada da ponta da ferramenta para a fixao
da ferramenta.
Preparao do trabalho

310

Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

Transformaes
6.2 Transformao de trs, quatro e cinco eixos (TRAORI)
Offset para eixos de orientao
Na ativao da transformao da orientao se pode programar diretamente um
deslocamento adicional para eixos de orientao.
Os parmetros podem ser omitidos se na programao for mantida a sequncia correta.
Exemplo:
TRAORI(, , , ,A,B)

; se apenas um nico Offset deve ser especificado

Como alternativa programao direta, o Offset adicional para eixos de orientao tambm
pode ser transferido automaticamente do atual deslocamento do ponto zero ativo. A
transferncia configurada atravs de dados de mquina.

Exemplos

6.2.3

TRAORI(1,0,0,1)

; A orientao bsica da ferramenta aponta para o sentido Z

TRAORI(1,0,1,0)

; A orientao bsica da ferramenta aponta para o sentido Z

TRAORI(1,0,1,1)

; A orientao bsica da ferramenta aponta para o sentido


Y/Z (corresponde a posio -45)

Variantes da programao da orientao e posio bsica (ORIRESET)

Programao de orientao da orientao de ferramenta com TRAORI


Em conjunto com uma transformao de orientao programvel TRAORI, alm dos eixos
lineares X, Y e Z, tambm se pode programar posies de eixo atravs dos indicadores de
eixo rotativo A.., B..., C... ou eixos virtuais com ngulos ou componentes de vetor. Para
eixos de orientao e eixos de mquina so possveis diversos tipos de interpolao.
Independentemente de quais polinmios de orientao PO[ngulo] e polinmios de eixo
PO[eixo] esto ativos no momento, se pode programar diversos tipos diferentes de
polinmio como G1, G2, G3, CIP ou POLY.
A alterao da orientao da ferramenta tambm pode ser programada atravs de vetores
de orientao. Neste caso, a orientao final de cada bloco pode ser realizada atravs de
programao direta do vetor ou atravs da programao das posies de eixo rotativo.

Preparao do trabalho
Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

311

Transformaes
6.2 Transformao de trs, quatro e cinco eixos (TRAORI)
Indicao
Variantes da programao de orientao em transformaes de trs a cinco eixos
Na transformao de trs a cinco eixos as variantes
1. A, B, C Indicao direta das posies de eixo da mquina
2. A2, B2, C2 Programao de ngulo de eixos virtuais atravs de ngulos eulerianos ou
RPY
3. A3 ,B3, C3 Indicao de componentes de vetor
4. LEAD, TILT Indicao do ngulo de avano e do ngulo lateral sobre a trajetria e
superfcie
5. A4, B4, C4 e A5, B5, C5 Vetor normal de superfcie no incio do bloco e no fim do bloco
6. A6, B6, C6 e A7, B7, C7 Interpolao do vetor de orientao sobre uma superfcie
perifrica cnica
7. A8, B8, C8 Reorientao da ferramenta, sentido e distncia de curso do movimento de
retrao
se excluem uma s outras.
Valores programados de forma misturada tambm so eliminados com mensagens de
alarme.

Posio bsica da orientao da ferramenta ORIRESET


Atravs da programao do ORIRESET(A, B, C) os eixos de orientao so deslocados de
forma linear e sincronizada de sua posio momentnea at a posio bsica especificada.
Se no for programada nenhuma posio bsica para um eixo, ento ser utilizada a
posio definida no dado de mquina correspondente
$MC_TRAFO5_ROT_AX_OFFSET_1/2. Neste caso no sero considerados eventuais
Frames ativos dos eixos rotativos.
Indicao
Somente quando uma transformao de orientao estiver ativa com TRAORI(...) que se
pode programar uma posio bsica da orientao da ferramenta com ORIRESET(...),
independente de cinemtica e sem alarme 14101.

Exemplos
1. Exemplo para cinemtica de mquina CA (nomes de eixos de canal C, A)
ORIRESET(90, 45)

;C em 90 graus, A em 45 graus

ORIRESET(, 30)

;C em $MC_TRAFO5_ROT_AX_OFFSET_1/2[0], A em 30 graus

ORIRESET( )

;C em $MC_TRAFO5_ROT_AX_OFFSET_1/2[0],
;A em $MC_TRAFO5_ROT_AX_OFFSET_1/2[1]

2. Exemplo para cinemtica de mquina CAC (nomes de eixos de canal C, A, B)


ORIRESET(90, 45, 90)

;C em 90 graus, A em 45 graus, B em 90 graus

ORIRESET( )

;C em $MC_TRAFO5_ROT_AX_OFFSET_1/2[0],
;A em $MC_TRAFO5_ROT_AX_OFFSET_1/2[1],
;B em $MC_TRAFO5_ROT_AX_OFFSET_1/2[2]

Preparao do trabalho

312

Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

Transformaes
6.2 Transformao de trs, quatro e cinco eixos (TRAORI)

Programao das rotaes LEAD, TILT e THETA


As rotaes da orientao da ferramenta so programadas na transformao de trs a cinco
eixos como ngulo de avano LEAD e o ngulo lateral TILT.
Em uma transformao com terceiro eixo rotativo so permitidas programaes adicionais
com C2 (rotaes do vetor de orientao) tanto na orientao com componentes de vetor
como com indicao do ngulo LEAD e TILT.
Com um terceiro eixo rotativo adicional se pode programar a rotao da ferramenta em
torno de si mesma atravs do ngulo de rotao THETA.

6.2.4

Programao da orientao da ferramenta (A..., B..., C..., LEAD, TILT)

Funo
Para a programao da orientao da ferramenta existem as seguintes opes:
1. Programao direta do movimento dos eixos rotativos. A alterao da orientao sempre
realizada no sistema de coordenadas bsico ou no sistema de coordenadas da
mquina. Os eixos de orientao so movimentados como eixos sincronizados.
2. Programao em ngulos eulerianos ou RPY conforme definio angular atravs do
B2, C2.

A2,

3. Programao do vetor de direo atravs do A3, B3, C3. O vetor de direo aponta para
da ponta da ferramenta no sentido da fixao da ferramenta.
4. Programao do vetor normal de superfcie no incio do bloco com A4,
do bloco com A5, B5, C5 (fresamento de topo).
5. Programao atravs de ngulo de avano

LEAD

e ngulo lateral

B4, C4

e no fim

TILT

6. Para programao do eixo de rotao do cone como vetor normalizado atravs do A6,
B6, C6 ou da orientao intermediria sobre a superfcie perifrica cnica atravs do A7,
B7, C7,

veja o captulo "Programao da orientao ao longo da superfcie perifrica cnica


(ORIPLANE, ORICONxx)".

7. Para programao da reorientao, direo e distncia de curso da ferramenta durante o


movimento de retrao atravs do A8, B8, C8,
veja o captulo "Suavizao do decurso de orientao (ORIPATHS A8=, B8=, C8=)"
Indicao
Em todos casos a programao da orientao somente permitida se uma
transformao de orientao estiver ativada.
Vantagem: Estes programas podem ser transferidos para qualquer cinemtica de
mquina.

Preparao do trabalho
Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

313

Transformaes
6.2 Transformao de trs, quatro e cinco eixos (TRAORI)

Definio da orientao da ferramenta atravs de cdigo G


Indicao
Fabricante da mquina
Atravs do dado da mquina se pode comutar entre ngulos eulerianos ou ngulos RPY. De
acordo com as respectivas configuraes de dados de mquina uma comutao possvel
tanto dependente como independente do cdigo G ativo do grupo 50. Esto disponveis as
seguintes opes de configurao:
1. Se os dois dados de mquina estiverem ajustados com valor zero para a definio dos
eixos de orientao e definio do ngulo de orientao atravs de cdigo G:
Os ngulos programados com A2, B2, C2 podem ser interpretados como ngulos
eulerianos ou como ngulos RPY em funo do dado de mquina da definio de
ngulos da programao de orientao.
2. Se o dado de mquina para a definio dos eixos de orientao atravs de cdigo G
estiver ajustado com valor um, a comutao realizada
em funo do cdigo G ativo do grupo 50:
Os ngulos programados com A2, B2, C2 so interpretados de acordo com um dos
cdigos G ativos ORIEULER, ORIRPY, ORIVIRT1, ORIVIRT2, ORIAXPOS e ORIPY2. Os
valores programados com os eixos de orientao tambm so interpretados como
ngulo de orientao de acordo com o cdigo G ativo do grupo 50.
3. Se o dado de mquina para a definio do ngulo de orientao atravs de cdigo G for
ajustado com valor um e o dado de mquina para a definio dos eixos de orientao
atravs de cdigo G for ajustado com valor zero, a comutao realizada de forma
independente do cdigo G ativo do grupo 50:
Os ngulos programados com A2, B2, C2 so interpretados de acordo com um dos
cdigos G ativos ORIEULER, ORIRPY, ORIVIRT1, ORIVIRT2 ORIAXPOS e ORIPY2. Os valores
programados com os eixos de orientao sempre so interpretados como posies de
eixo rotativo independentemente do cdigo G ativo do grupo 50.

Programao
G1 X Y Z A B C

Programao do movimento dos eixos rotativos

G1 X Y Z A2= B2= C2=

Programao em ngulos eulerianos

G1 X Y Z A3== B3== C3==

Programao do vetor de direo

G1 X Y Z A4== B4== C4==

Programao do vetor normal de superfcie no


incio do bloco

G1 X Y Z A5== B5== C5==

Programao do vetor normal de superfcie no fim


do bloco

LEAD=

ngulo de avano para a programao da


orientao da ferramenta

TILT=

ngulo lateral para a programao da orientao


da ferramenta

Preparao do trabalho

314

Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

Transformaes
6.2 Transformao de trs, quatro e cinco eixos (TRAORI)

Parmetro
G....

Indicao do tipo de movimento dos eixos


rotativos

X Y Z

Indicao dos eixos lineares

A B C

Indicao das posies de eixo da mquina dos


eixos rotativos

A2 B2 C2

Programao de ngulos (eulerianos ou RPY) de


eixos virtuais ou eixos de orientao

A3 B3 C3

Indicao dos componentes do vetor de direo

A4 B4 C4

Indicao, por exemplo no fresamento de topo,


dos componentes do vetor normal de superfcie
no incio do bloco

A5 B5 C5

Indicao, por exemplo no fresamento de topo,


dos componentes do vetor normal de superfcie
no fim do bloco

LEAD

ngulo relativo ao vetor normal de superfcie,


no plano fixado pela tangente de percurso e
vetor normal de superfcie

TILT

ngulo no plano, perpendicular tangente de


percurso relativa ao vetor normal de
superfcie

Exemplo de comparao de sem e com transformao de 5 eixos

6HPWUDQVIRUPDRGHHL[RV
&RPWUDQVIRUPDRGHHL[RV

Outras informaes
Normalmente os programas de 5 eixos so gerados a partir de sistemas CAD/CAM e no
so especificados no comando. Por isso que as seguintes explicaes esto voltadas
principalmente aos programadores de ps-processadores.
Preparao do trabalho
Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

315

Transformaes
6.2 Transformao de trs, quatro e cinco eixos (TRAORI)
O tipo de programao de orientao definida no cdigo G do grupo 50:
Funo G

Programao da orientao

ORIEULER

atravs do ngulo de Euler

ORIRPY

atravs do ngulo RPY (sequncia de rotao ZYX)

ORIVIRT1

atravs dos eixos virtuais de orientao (Definio 1)

ORIVIRT2

atravs dos eixos virtuais de orientao (Definio 2)

ORIAXPOS

atravs dos eixos virtuais de orientao com posies de eixo rotativo

ORIPY2

atravs do ngulo RPY (sequncia de rotao XYZ)

Indicao
Atravs de dados de mquina podem ser definidos diversas variantes pelo fabricante da
mquina. Observe as instrues do fabricante da mquina.
Programao em ngulos eulerianos ORIEULER
Os valores programados com A2, B2,
como ngulo euleriano (em graus).

C2

na programao da orientao so interpretados

O vetor de orientao formado quando um vetor girado no sentido Z primeiramente com


em torno do eixo Z, depois com B2 em torno do novo eixo X e por ltimo com C2 em
torno do novo eixo Z.
A2

=
=

<

<

<

; <
&RP$ r
JLUDGRHPWRUQR
GRHL[R=

3RVLRLQLFLDO

=
<

%
<

&RP% r
JLUDGRHPWRUQR
GRHL[R;
JLUDGRMXQWR
<

Neste caso o valor de C2 (rotao em torno do novo eixo Z) no tem significado e no


precisa ser programado.

Preparao do trabalho

316

Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

Transformaes
6.2 Transformao de trs, quatro e cinco eixos (TRAORI)
Programao em ngulos RPY ORIRPY
Os valores programados com A2,
como ngulo RPY (em graus).

B2, C2

na programao da orientao so interpretados

Indicao
Ao contrrio da programao com ngulos eulerianos, aqui os trs valores tm influncia
sobre o vetor da orientao.
Na definio de ngulos, com ngulo de orientao atravs de ngulos RPY se aplica para
os eixos de orientao:
$MC_ORI_DEF_WITH_G_CODE = 0
O vetor de orientao formado quando um vetor girado no sentido Z primeiramente com
C2 em torno do eixo Z, depois com B2 em torno do novo eixo Y e por ltimo com A2 em
torno do novo eixo X.

<
;

<

%
&

<

3RVLRLQLFLDO

<
;

$

&RP$ r
JLUDGRHPWRUQR
GRHL[R;
JLUDGRMXQWR

<
&RP& r
JLUDGRHPWRUQRGRHL[R=
FRP% r
JLUDGRHPWRUQRGRHL[R<
JLUDGRMXQWR

<

Se o dado de mquina para definio dos eixos de orientao atravs de cdigo G estiver
ajustado com $MC_ORI_DEF_WITH_G_CODE = 1, ento se aplica:
O vetor de orientao formado quando um vetor girado no sentido Z primeiramente com
C2 em torno do eixo Z, depois com B2 em torno do novo eixo Y e por ltimo com A2 em
torno do novo eixo X.

Preparao do trabalho
Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

317

Transformaes
6.2 Transformao de trs, quatro e cinco eixos (TRAORI)
Programao do vetor de direo
Os componentes do vetor de direo so programados com A3, B3, C3. O vetor aponta
para a direo da fixao da ferramenta; o comprimento do vetor irrelevante neste caso.
Os componentes no programados so definidos igual a zero.

9HWRUGHGLUHR
& 
;
<
% 
$ 

Programao da orientao da ferramenta com LEAD= e TILT=


A orientao da ferramenta resultante obtida a partir do(a):
Tangente de percurso
Vetor normal de superfcie
no incio do bloco A4, B4,

C4

e no fim do bloco

A5, B6, C5

ngulo de avano LEAD


no plano fixado pela tangente de percurso e pelo vetor normal de superfcie
ngulo lateral TILT no fim do bloco
perpendicular tangente de percurso e relativo ao vetor normal de superfcie
Comportamento nos cantos internos (para WZK 3D):
Se o bloco for truncado em um canto interno, a orientao da ferramenta resultante tambm
ser alcanada no fim do bloco.

Preparao do trabalho

318

Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

Transformaes
6.2 Transformao de trs, quatro e cinco eixos (TRAORI)

=
/($'

<

7,/7

Esquema 6-1 Definio da orientao da ferramenta com LEAD= e TILT=

6.2.5

Fresamento de topo (A4, B4, C4, A5, B5, C5)

Funo
O fresamento de topo serve para usinagem de qualquer superfcie curvada.

$
%
&

$
%
&

Para este tipo de fresamento 3D precisamos da descrio das trajetrias 3D sobre a


superfcie da pea de trabalho.

Preparao do trabalho
Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

319

Transformaes
6.2 Transformao de trs, quatro e cinco eixos (TRAORI)
Normalmente no CAM os clculos so executados considerando-se a forma e dimenses da
ferramenta. Depois os blocos NC calculados so inseridos no comando numrico atravs de
ps-processamento.

Programao da curvatura de trajetria


Descrio das superfcies
A descrio da curvatura de trajetria realizada atravs de vetores normais de superfcie
com os seguintes componentes:
A4, B4, C4

Vetor inicial no incio do bloco

A5, B5, C5

Vetor final no fim do bloco

Se em um bloco existir apenas o vetor inicial, o vetor normal de superfcie permanecer


constante por todo bloco. Se em um bloco existir apenas o vetor final, ento ser realizada a
interpolao de grande circunferncia a partir do valor final do bloco anterior at o valor final
programado.
Se foram programados vetor inicial e final, ento tambm se realiza a interpolao de
grande circunferncia entre os dois sentidos. Com isso so obtidos percursos suaves e
constantes.
No ajuste bsico os vetores normais de superfcie apontam para o sentido Z,
independentemente do plano ativo G17 at G19.
O comprimento de um vetor irrelevante.
Os componentes de vetor no programados so definidos como zero.
Em ORIWKS ativo (veja "Relao dos eixos de orientao (ORIWKS, ORIMKS)
(Pgina 321)") os vetores normais da superfcie referem-se aos quadros ativos e giram
juntos na rotao de quadros.
Fabricante da mquina
O vetor normal de superfcie deve estar perpendicular em relao tangente do percurso,
dentro de um valor limite ajustvel via dado da mquina, caso contrrio ser emitido um
alarme.

Preparao do trabalho

320

Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

Transformaes
6.2 Transformao de trs, quatro e cinco eixos (TRAORI)

6.2.6

Relao dos eixos de orientao (ORIWKS, ORIMKS)

Funo
Na programao da orientao no sistema de coordenadas da pea atravs
do ngulo euleriano e ngulo RPY ou
vetor de orientao
se pode ajustar o decurso do movimento de rotao atravs do ORIMKS/ORIWKS.
Indicao
Fabricante da mquina
O tipo de interpolao para a orientao definido com o dado de mquina:
MD21104 $MC_ORI_IPO_WITH_G_CODE
=FALSE: A referncia so as funes G ORIWKS e ORIMKS
=TRUE: A referncia so as funes G do 51 grupo (ORIAXES, ORIVECT, ORIPLANE, ...)

Sintaxe
ORIMKS=...
ORIWKS=...

Significado
ORIMKS

Rotao no sistema de coordenadas da mquina

ORIWKS

Rotao no sistema de coordenadas da pea de trabalho

Indicao
ORIWKS ajuste bsico. No caso de um programa de cinco eixos onde ainda no se sabe
em qual mquina ele dever ser executado, sempre se deve selecionar ORIWKS. Quais
movimentos que a mquina realmente executa, depende da cinemtica da mquina.
Por exemplo, com ORIMKS podem ser programados os movimentos reais da mquina para
evitar colises com dispositivos ou similares.

Preparao do trabalho
Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

321

Transformaes
6.2 Transformao de trs, quatro e cinco eixos (TRAORI)

Descrio
Com o ORIMKS o movimento executado pela ferramenta depende da cinemtica da mquina.
Para a alterao da orientao com a ponta da ferramenta fixa no espao, se realiza a
interpolao de modo linear entre as posies dos eixos rotativos.
Com o ORIWKS o movimento executado pela ferramenta no depende da cinemtica da
mquina. Para a alterao da orientao com a ponta da ferramenta fixa no espao, a
ferramenta movimenta-se no plano formado pelos vetores inicial e final.

3ODQRTXHIL[DRV
GRLVYHWRUHV

9HWRUQR
LQFLRGREORFR

9HWRUQR
ILPGREORFR

Posies singulares
Indicao
ORIWKS
Movimentos de orientao na rea da posio singular da mquina de cinco eixos requerem
grandes movimentos dos eixos da mquina. (Por exemplo, em um cabeote rotativo tendo C
como eixo de rotao e A como eixo de orientao, todas posies com A=0 so
singulares.)
Fabricante da mquina
Para no sobrecarregar os eixos da mquina, o controle de velocidade reduz bastante a
velocidade de percurso prximo s posies singulares.
Com os dados da mquina
$MC_TRAFO5_NON_POLE_LIMIT
$MC_TRAFO5_POLE_LIMIT

a transformao pode ser parametrizada de modo que os movimentos de orientao na


proximidade do plo sejam colocados pelo plo e com isso seja possvel realizar uma
usinagem rpida.
Preparao do trabalho

322

Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

Transformaes
6.2 Transformao de trs, quatro e cinco eixos (TRAORI)
As posies singulares so tratadas apenas com o MD $MC_TRAFO5_POLE_LIMIT.
Literatura:
/FB3/ Manual de funes especiais; Transformao de 3 a 5 eixos (F2),
Captulo "Posies singulares e seu tratamento".

6.2.7

Programao dos eixos de orientao (ORIAXES, ORIVECT, ORIEULER,


ORIRPY, ORIRPY2, ORIVIRT1, ORIVIRT2)

Funo
A funo de eixos de orientao descreve a orientao da ferramenta no espao e
alcanada atravs da programao dos Offsets para eixos rotativos. Um terceiro grau de
liberdade pode ser obtido atravs da rotao adicional da ferramenta em torno de si mesma.
Esta orientao de ferramenta realizada em qualquer ponto no espao atravs de um
terceiro eixo rotativo e requer a transformao de seis eixos. A autorrotao do
equipamento depende do tipo de interpolao dos vetores de rotao definido com os
ngulos rotativos THETA (veja "Rotaes da orientao da ferramenta (ORIROTA,
ORIROTR, ORIROTT, ORIROTC, THETA) (Pgina 333)".
Os eixos de orientao so programados atravs dos identificadores de eixo A2, B2 e C2.

Sintaxe
N... ORIAXES/ORIVECT

Interpolao linear ou de grande circunferncia

N... G1 X Y Z A B C
N... ORIPLANE

; Interpolao de orientao do plano

N... ORIEULER/ORIRPY/ORIRPY2

; ngulo de orientao atravs de ngulo


euleriano/RPY

N... G1 X Y Z A2= B2= C2=

; Programao de ngulo dos eixos virtuais

N... ORIVIRT1/ORIVIRT2

; eixos virtuais de orientao Def. 1/2

N... G1 X Y Z A3= B3= C3=

; programao de direo do vetor

Indicao
Para mudanas na orientao ao longo de uma superfcie de cone no local, podem ser
programadas outras offsets de placas rotativas dos eixos de orientao (veja "Programao
da orientao ao longo de uma superfcie perifrica cnica (ORIPLANE, ORICONCW,
ORICONCCW, ORICONTO, ORICONIO) (Pgina 326)".

Preparao do trabalho
Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

323

Transformaes
6.2 Transformao de trs, quatro e cinco eixos (TRAORI)

Significado
ORIAXES:

Interpolao linear dos eixos da mquina ou dos eixos de


orientao

ORIVECT:

Interpolao de grande circunferncia (idntico ao ORIPLANE)

ORIMKS:

Rotao no sistema de coordenadas da mquina

ORIWKS:

Rotao no sistema de coordenadas da pea de trabalho


Veja "Relao dos eixos de orientao (ORIWKS, ORIMKS)
(Pgina 321)".

A= B= C=:

Programao da posio de eixo da mquina

ORIEULER:

Programao da orientao atravs de ngulo euleriano

ORIRPY:

Programao da orientao atravs de ngulo RPY


A seqncia de rotao XYZ, onde se aplica:
A2 o eixo de rotao em volta de X
B2 o eixo de rotao em volta de Y
C2 o eixo de rotao em volta de Z

ORIRPY2:

Programao da orientao atravs de ngulo RPY


A seqncia de rotao ZYX, onde se aplica:
A2 o eixo de rotao em volta de Z
B2 o eixo de rotao em volta de Y
C2 o eixo de rotao em volta de X

A2= B2= C2=:

Programao de ngulo dos eixos virtuais

ORIVIRT1/ORIVIRT2:

Programao da orientao atravs de eixos virtuais de


orientao
Definio:
conforme MD21120 $MC_ORIAX_TURN_TAB_1
Definio 2:
conforme MD21130 $MC_ORIAX_TURN_TAB_2

A3= B3= C3=:

Programao do vetor de direo do eixo de sentido

Descrio
Fabricante da mquina
Com MD21102 $MC_ORI_DEF_WITH_G_CODE se define, como os ngulos A2, B2, C2
sero definidos:
A definio realizada conforme o MD21100 $MC_ORIENTATION_IS_EULER (Standard)
ou conforme o grupo 50 de cdigos G (ORIEULER, ORIRPY, ORIVIRT1, ORIVIRT2).
Com MD21104 $MC_ORI_IPO_WITH_G_CODE se define qual tipo de interpolao est
ativa: ORIWKS/ORIMKS ou ORIAXES/ORIVECT.

Preparao do trabalho

324

Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

Transformaes
6.2 Transformao de trs, quatro e cinco eixos (TRAORI)
Modo de operao JOG
Os ngulos de orientao sempre so interpolados linearmente neste modo de operao.
Com o deslocamento contnuo e incremental atravs das teclas de deslocamento somente
pode ser movimentado um eixo de orientao. Atravs das manivelas eletrnicas os eixos
de orientao podem ser movimentados simultaneamente.
Para o movimento manual dos eixos de orientao, o interruptor de correo (override) de
avano ou o interruptor de correo de avano rpido tem efeito na correo do avano
rpido.
Com os seguintes dados da mquina possvel realizar uma especificao separada de
velocidade:
MD21160 $MC_JOG_VELO_RAPID_GEO
MD21165 $MC_JOG_VELO_GEO
MD21150 $MC_JOG_VELO_RAPID_ORI
MD21155 $MC_JOG_VELO_ORI
Indicao
SINUMERIK 840D sl com "Pacote de transformao Handling"
Com a funo "Deslocamento manual cartesiano", em modo JOG, se pode ajustar
separadamente a translao dos eixos geomtricos no sistema de referncia MCS, WCS e
TCS.
Literatura:
Manual de funes, funes adicionais; Transformaes cinemticas (M1)

Preparao do trabalho
Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

325

Transformaes
6.2 Transformao de trs, quatro e cinco eixos (TRAORI)

6.2.8

Programao da orientao ao longo de uma superfcie perifrica cnica


(ORIPLANE, ORICONCW, ORICONCCW, ORICONTO, ORICONIO)

Funo
Com a orientao ampliada possvel executar alteraes da orientao ao longo de uma
superfcie perifrica cnica no espao. A interpolao do vetor de orientao sobre uma
superfcie perifrica cnica realizada com os comandos modais ORICONxx. Para a
interpolao em um plano se pode programar a orientao final com ORIPLANE.
Geralmente a orientao inicial definida atravs dos blocos anteriores.
QJXORGH
URWDR3+,

(L[RGHVHQWLGR

25,&21&::
VHQWLGRDQWLKRUULR
2ULHQWDRILQDO

25,&21&:
HPVHQWLGRKRUULR

2ULHQWDRLQWHUPHGLULD
2ULHQWDRLQLFLDO
DWUDYVGREORFR
SUHFHGHQWH

QJXORGHDEHUWXUD36,
GRFRQH

'DSHD
VXSHUIFLH

Programao
A orientao final definida atravs da indicao da programao em ngulos eulerianos ou
RPY com A2, B2, C2 ou atravs da programao das posies de eixo rotativo com A, B, C.
Para os eixos de orientao ao longo da superfcie perifrica cnica so necessrias outras
informaes de programao:
Eixo de rotao do cone como vetor com A6,
ngulo de abertura

PSI

com o identificador

B6, C6

NUT

Orientao intermediria com superfcie cnica com

A7, B7, C7

Preparao do trabalho

326

Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

Transformaes
6.2 Transformao de trs, quatro e cinco eixos (TRAORI)
Indicao
Programao do vetor de direo A6, B6, C6 par ao eixo de rotao do cone
A programao de uma orientao final no extremamente necessria. Se no for
especificada nenhuma orientao final, ento se interpola uma superfcie cnica inteira
com 360 graus.
Programao do ngulo de abertura do cone com NUT=ngulo
A indicao de uma orientao final extremamente necessria.
Uma superfcie cnica completa com 360 graus no pode ser interpolada dessa forma.
Programao da orientao intermediria A7, B7, C7 na superfcie cnica
A indicao de uma orientao final extremamente necessria. A alterao da
orientao e o sentido de giro so claramente definidos atravs dos trs vetores de
orientao inicial, final e intermedirio. Neste caso todos os trs vetores devem ser
diferentes entre si. Se a orientao intermediria programada for paralela orientao
inicial ou final, ento ser realizada uma interpolao linear de grande circunferncia da
orientao no plano que foi fixado pelos vetores inicial e final.

Interpolao ampliada de orientao sobre uma superfcie perifrica cnica


N...
N...
ou
N...
N...

ORICONCW ou ORICONCCW
A6= B6= C6= A3= B3= C3=

Interpolao sobre uma superfcie cnica


com

ORICONTO
G1 X Y Z A6= B6= C6=

vetor de direo em sentido horrio/antihorrio do cone e orientao final ou

ou
N...
N...
N...
N...

ORICONIO
G1 X Y Z A7= B7= C7=
PO[PHI]=(a2, a3, a4, a5)
PO[PSI]=(b2, b3, b4, b5)

transio tangencial e
indicao da orientao final
ou
indicao da orientao final e uma
orientao intermediria na superfcie
cnica com
polinmios para ngulo de rotao e
polinmios para ngulo de abertura

Parmetros
ORIPLANE

Interpolao no plano (interpolao de grande circunferncia)

ORICONCW

Interpolao sobre uma superfcie perifrica cnica no sentido


horrio

ORICONCCW

Interpolao sobre uma superfcie perifrica cnica no sentido


anti-horrio

ORICONTO

Interpolao sobre uma superfcie perifrica cnica de


transio tangencial

A6= B6= C6=

Programao do eixo de rotao do cone (vetor normalizado)

NUT=ngulo

ngulo de abertura do cone em graus

NUT=+179

ngulo de deslocamento menor ou igual a 180 graus

Preparao do trabalho
Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

327

Transformaes
6.2 Transformao de trs, quatro e cinco eixos (TRAORI)
NUT=-181

ngulo de deslocamento maior ou igual a 180 graus

ORICONIO

Interpolao sobre uma superfcie perifrica cnica

A7= B7= C7=

Orientao intermediria (programao como vetor


normalizado)

PHI

ngulo de rotao da orientao em torno do eixo de sentido


do cone

PSI

ngulo de abertura do cone

possveis polinmios
PO[PHI]=(a2, a3, a4, a5)
PO[PSI]=(b2, b3, b4, b5)

Alm dos respectivos ngulos tambm se pode programar


polinmios de at 5 grau

Exemplo: diferentes alteraes de orientao


Cdigo de programa

Comentrio

N10 G1 X0 Y0 F5000
N20 TRAORI(1)

; Transformao de orientao ativada.

N30 ORIVECT

; Interpolao da orientao de
ferramenta como vetor.

; Orientao de ferramenta no plano.

N40 ORIPLANE

; Seleo de interpolao de grande


circunferncia.

N50 A3=0 B3=0 C3=1


N60 A3=0 B3=1 C3=1

; Orientao no plano Y/Z girada em 45


graus; a orientao alcanada no fim
do bloco (0,1/2,1/2).

N70 ORICONCW

; Programao da orientao na superfcie


cnica:

N80 A6=0 B6=0 C6=1 A3=0 B3=0 C3=1

; O vetor de orientao interpolado em


sentido horrio sobre uma superfcie
cnica com a direo (0,0,1) at a
orientao (1/2,0,1/2), sendo que o
ngulo de rotao de 270 graus.

N90 A6=0 B6=0 C6=1

; A orientao de ferramenta percorre um


giro inteiro sobre a mesma superfcie
cnica.

Descrio
Quando devem ser descritas alteraes de orientao em uma superfcie perifrica cnica
qualquer no espao, ento o vetor com que a orientao de ferramenta deve ser girado
deve ser conhecido. Alm disso, se deve especificar a orientao inicial e final. A orientao
inicial resulta do bloco anterior e a orientao final deve ser programada ou definida por
outras condies.

Preparao do trabalho

328

Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

Transformaes
6.2 Transformao de trs, quatro e cinco eixos (TRAORI)
A programao no plano ORIPLANE corresponde ao ORIVECT
A programao da interpolao de grande circunferncia junto com polinmios angulares
corresponde interpolao linear e de polinmios de contornos. A orientao de ferramenta
interpolada neste plano, que foi fixado pela orientao inicial e orientao final. Se
tambm forem programados polinmios, ento o vetor de orientao tambm pode ser
excludo do plano.
Programao de crculos em um plano G2/G3, CIP e CT
A orientao ampliada corresponde interpolao de crculos em um plano. Sobre as
respectivas possibilidades de programao de crculos com indicao de centro ou
indicao de raio como G2/G3, crculo atravs de ponto intermedirio CIP e crculos
tangenciais CT, veja
Literatura: Manual de programao Fundamentos, "Programar comandos de curso".

Programao da orientao
Interpolao do vetor de orientao sobre uma superfcie perifrica cnica ORICONxx
Para a interpolao de orientaes sobre uma superfcie perifrica cnica podem ser
selecionados quatro tipos diferentes de interpolao do grupo 51 de cdigos G:
1. Interpolao sobre uma superfcie cnica em sentido horrio ORICONCW com indicao da
orientao final e do sentido do cone ou do ngulo de abertura. O vetor de direo
programado com os identificadores A6, B6, C6 e o ngulo de abertura do cone
programado com o identificador NUT= na faixa de valores de 0 a 180 graus.
2. Interpolao sobre uma superfcie cnica em sentido anti-horrio ORICONCWW com
indicao da orientao final e do sentido do cone ou do ngulo de abertura. O vetor de
direo programado com os identificadores A6, B6, C6 e o ngulo de abertura do cone
programado com o identificador NUT= na faixa de valores de 0 a 180 graus.
3. Interpolao sobre uma superfcie cnica ORICONIO com indicao da orientao final e
uma orientao intermediria, que programada com os identificadores A7, B7, C7.
4. Interpolao sobre uma superfcie cnica ORICONTO com transio tangencial e indicao
da orientao final. O vetor de direo programado com os identificadores A6, B6, C6.

6.2.9

Especificao de orientao de dois pontos de contato (ORICURVE, PO[XH]=,


PO[YH]=, PO[ZH]=)

Funo
Programao da alterao de orientao atravs da segunda curva espacial ORICURVE
Uma outra possibilidade de programao de alteraes de orientao que alm da ponta
da ferramenta tambm se pode, ao longo de uma curva espacial, programar o movimento
de um segundo ponto de contato da ferramenta com ORICURVE. Com isso se pode definir
claramente as alteraes de orientao da ferramenta, como na programao do prprio
vetor de ferramenta.

Preparao do trabalho
Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

329

Transformaes
6.2 Transformao de trs, quatro e cinco eixos (TRAORI)
Fabricante da mquina
Observe as instrues do fabricante da mquina sobre os identificadores de eixo ajustados
em dados de mquina ao programar a 2 trajetria de orientao da ferramenta.

Programao
Neste tipo de interpolao se pode programar pontos com G1 e polinmios com POLY para as
duas curvas espaciais. Crculos e evolventes no so permitidos. Adicionalmente pode ser
ativada uma interpolao de Spline com BSPLINE e a funo "Agrupamento de blocos Spline
curtos".
Literatura:
Manual de funes bsicas; Modo de controle da trajetria, Parada exata, Look Ahead (B1),
Captulo: Agrupamento de blocos Spline curtos
No so permitidos outros tipos de Spline ASPLINE e CSPLINE, assim como a ativao de um
compressor com COMPON, COMPCURV ou COMPCAD.
O movimento de dois pontos de contato da ferramenta pode ser especificado na
programao dos polinmios de orientao para coordenadas de at 5 grau.
Interpolao de orientao ampliada com curva espacial adicional e polinmios para
coordenadas
N...
N...
N...
N...

ORICURVE
PO[XH]=(xe, x2, x3, x4, x5)
PO[YH]=(ye, y2, y3, y4, y5)
PO[ZH]=(ze, z2, z3, z4, z5)

Indicao do movimento do segundo


ponto de contato da ferramenta e
polinmios adicionais das respectivas
coordenadas

Parmetro
ORICURVE

Interpolao da orientao com especificao do


movimento de dois pontos de contato da ferramenta.

XH YH ZH

Identificador das coordenadas do segundo ponto de


contato da ferramenta do contorno adicional como curva
espacial

possveis polinmios
PO[XH]=(xe, x2, x3, x4,
x5) PO[YH]=(ye, y2, y3,
y4, y5) PO[ZH]=(ze, z2,
z3, z4, z5)

Alm dos respectivos pontos finais, tambm se pode


programar as curvas espaciais com polinmios.

xe, ye, ze

Pontos finais da curva espacial

xi, yi, zi

Coeficientes do polinmio de at 5 grau

Preparao do trabalho

330

Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

Transformaes
6.3 Polinmios de orientao (PO[ngulo], PO[coordenadas])

Indicao
Identificador XH YH ZH para programao de uma 2 trajetria de orientao
Os identificadores devem ser selecionados de modo que no resulte em nenhum conflito
com outros identificadores dos eixos lineares
Eixos X Y Z
e eixos rotativos como
ngulo euleriano A2 B2 C2 e ngulo RPY
Vetores de direo A3 B3 C3
Vetores normais de superfcie A4 B4 C4 e A5 B5 C5
Vetores de rotao A6 B6 C6 e coordenadas de pontos intermedirios A7 B7 C7
ou outros parmetros de interpolao.

6.3

Polinmios de orientao (PO[ngulo], PO[coordenadas])

Funo
Independente de qual interpolao de polinmios do grupo 1 de cdigos G est ativo,
podem ser programados dois tipos diferentes de polinmios de orientao de at 5 grau em
uma transformao de trs a cinco eixos.
1. Polinmios para ngulo: ngulo de avano LEAD, ngulo lateral TILT
em relao ao plano que foi fixado pela orientao inicial e orientao final.
2. Polinmios para coordenadas: XH, YH, ZH da segunda curva espacial para orientao
de ferramenta de um ponto de referncia na ferramenta.
Em uma transformao de seis eixos, adicionalmente orientao de ferramenta, pode ser
programada a rotao do vetor de rotao THT com polinmios de at 5 grau para
rotaes da prpria ferramenta.

Sintaxe
Polinmios de orientao de tipo 1 para ngulo
N PO[PHI]=(a2, a3, a4, a5)
N PO[PSI]=(b2, b3, b4, b5)

Transformao de trs a cinco eixos

Preparao do trabalho
Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

331

Transformaes
6.3 Polinmios de orientao (PO[ngulo], PO[coordenadas])
Polinmios de orientao de tipo 2 para coordenadas
N PO[XH]=(xe, x2, x3, x4, x5)
N PO[YH]=(ye, y2, y3, y4, y5)
N PO[ZH]=(ze, z2, z3, z4, z5)

Identificador para coordenadas da segunda


trajetria de orientao para orientao da
ferramenta

Nos dois casos tambm se pode programar um polinmio para a rotao em


transformaes de seis eixos com
N PO[THT]=(c2, c3, c4, c5)

ou
N PO[THT]=(d2, d3, d4, d5)

Interpolao da rotao relativa trajetria


interpolao absoluta, relativa e tangencial
alterao da orientao

do vetor de orientao. Isso possvel quando a transformao de um vetor de rotao com


um Offset programvel e interpolvel pelo ngulo de rotao THETA oferecer o suporte
necessrio.

Significado
PO[PHI]

ngulo no plano entre a orientao inicial e a orientao final

PO[PSI]

ngulo que descreve a inclinao da orientao a partir do plano entre a


orientao inicial e orientao final

PO[THT]

ngulo de rotao resultante da rotao do vetor de rotao de um cdigo G do


grupo 54 programado com THETA

PHI

ngulo de avano LEAD

PSI

ngulo lateral TILT

THETA

Rotao no sentido da ferramenta em Z

PO[XH]

Coordenada X do ponto de referncia na ferramenta

PO[YH]

Coordenada Y do ponto de referncia na ferramenta

PO[ZH]

Coordenada Z do ponto de referncia na ferramenta

Preparao do trabalho

332

Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

Transformaes
6.4 Rotaes da orientao da ferramenta (ORIROTA, ORIROTR, ORIROTT, ORIROTC, THETA)

Descrio
Os polinmios de orientao no podem ser programados
quando as interpolaes de Spline ASPLINE, BSPLINE, CSPLINE estiverem ativas.
Os polinmios do tipo 1 para ngulo de orientao so possveis para cada tipo de
interpolao, exceto para Spline, isto , possvel na interpolao linear com avano
rpido G00 ou com avano G01 na interpolao de polinmios com POLY e
na interpolao de crculos e evolventes com G02, G03, CIP, CT, INVCW e INCCCW.
Em contrapartida, os polinmios do tipo 2 para coordenadas de orientao somente so
possveis se a interpolao linear com avano rpido G00 ou com avano G01 ou a
interpolao de polinmios com POLY estiver ativa.
quando a orientao for interpolada atravs da interpolao de eixos ORIAXES. Neste
caso se pode programar os polinmios diretamente com PO[A] e PO[B] para os eixos de
orientao A e B.
Polinmios de orientao do tipo 1 com ORIVECT, ORIPLANE e ORICONxx
Na interpolao de grande circunferncia e interpolao de superfcie cnica com
ORIVECT, ORIPLANE e ORICONxx so possveis apenas os polinmios de orientao do
tipo 1.
Polinmios de orientao do tipo 2 com ORICURVE
Se a interpolao estiver ativa com a curva espacial ORICURVE adicional, os componentes
cartesianos do vetor de orientao so interpolados e apenas so possveis polinmios de
orientao do tipo 2.

6.4

Rotaes da orientao da ferramenta (ORIROTA, ORIROTR,


ORIROTT, ORIROTC, THETA)

Funo
Se em mquinas com ferramenta articulada a orientao da ferramenta tambm dever ser
possvel de ser alterada, ento esse bloco tambm programado com uma orientao final.
Em funo da cinemtica da mquina tambm se pode programar o sentido da orientao
dos eixos ou a direo de rotao do vetor de orientao THETA. Para estes vetores de
rotao podem ser programados vrios tipos de interpolao:
ORIROTA: ngulo de rotao de um sentido de rotao especificado como absoluto.
ORIROTR: ngulo de rotao relativo ao plano entre a orientao inicial e final.
ORIROTT: ngulo de rotao relativo alterao do vetor de orientao.
ORIROTC: ngulo de rotao tangencial tangente da trajetria.

Preparao do trabalho
Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

333

Transformaes
6.4 Rotaes da orientao da ferramenta (ORIROTA, ORIROTR, ORIROTT, ORIROTC, THETA)

Sintaxe
Somente se o tipo de interpolao ORIROTA estiver ativo que o ngulo de rotao ou o
vetor de rotao pode ser programado nos seguintes quatro modos:
1. Diretamente as posies de eixo rotativo A,

B, C

2. ngulo euleriano (em graus) atravs do A2,

B2, C2

3. ngulo RPY (em graus) atravs do A2,

B2, C2

4. Vetor de direo atravs do A3,

(ngulo de rotao com THETA=valor).

B3, C3

Se ORIOTR ou ORIOTT estiver ativo, o ngulo de rotao somente poder ser programado
diretamente com THETA.
Uma rotao tambm pode ser programada separadamente em um bloco, sem a ocorrncia
de uma alterao da orientao. ORIROTR e ORIROTT no relevante. Neste caso o
ngulo de rotao sempre interpretado relativo ao sentido absoluto (ODIROTA).
N...
N...
N...
N...
N...

ORIROTA
ORIROTR
ORIROTT
ORIROTC
A3= B3= C3= THETA=<valor>

N... PO[THT]=(d2, d3, d4, d5)

Definir a interpolao do vetor de rotao


Definir a rotao do vetor de orientao
Interpolar o ngulo de rotao com polinmio de 5
grau

Significado
ORIROTA:

ngulo de rotao de um sentido de rotao especificado como


absoluto

ORIROTR:

ngulo de rotao relativo ao plano entre a orientao inicial e a


orientao final

ORIROTT:

ngulo de rotao como vetor de rotao tangencial alterao da


orientao

ORIROTC:

ngulo de rotao como vetor de rotao tangencial tangente da


trajetria

THETA:

Rotao do vetor de orientao

THETA=<valor>:

ngulo de rotao em graus alcanado no fim do bloco

THETA=e:

ngulo de rotao com ngulo final e do vetor de rotao

THETA=AC():

Comutar para dimenso absoluta por blocos

THETA=AC():

Comutar para dimenso incremental por blocos

e:

O ngulo final do vetor de rotao est ativo tanto absoluto com


G90 como relativo com G91 (dimenso incremental)

PO[THT]=(....):

Polinmio para ngulo de rotao

Preparao do trabalho

334

Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

Transformaes
6.4 Rotaes da orientao da ferramenta (ORIROTA, ORIROTR, ORIROTT, ORIROTC, THETA)

Exemplo: rotaes das orientaes


Cdigo de programa

Comentrio

N10 TRAORI

; Ativar transformao de orientao

N20 G1 X0 Y0 Z0 F5000

; Orientao da ferramenta

N30 A3=0 B3=0 C3=1 THETA=0

; no sentido Z com ngulo de rotao 0

N40 A3=1 B3=0 C3=0 THETA=90

; no sentido X e rotao de 90 graus

N50 A3=0 B3=1 C3=0 PO[THT]=(180,90)

; Orientao

N60 A3=0 B3=1 C3=0 THETA=IC(-90)

; no sentido Y e rotao de 180 graus

N70 ORIROTT

; permanece constante rotao de 90 graus

N80 A3=1 B3=0 C3=0 THETA=30

; ngulo de rotao relativo alterao de


orientao
; Vetor de rotao em ngulo de 30 graus em
relao ao plano X-Y

Na interpolao do bloco N40 o ngulo de rotao interpolado linearmente do valor inicial


de 0 grau at o valor final de 90 graus. No bloco N50se altera o ngulo de rotao de 90
graus para 180 graus de acordo com a parbola (u) = +90u2. No N60 tambm pode ser
executada uma rotao sem a ocorrncia de uma alterao de orientao.
No N80 se gira a orientao da ferramenta do sentido Y para sentido X. Neste caso a
alterao da orientao est no plano XY e o vetor de rotao forma um ngulo de 30
graus com este plano.

Descrio
ORIROTA
O ngulo de rotao THETA interpolado relativo a uma direo absoluta definida no espao.
O sentido bsico de rotao realizado atravs de dados da mquina
ORIROTR
O ngulo de rotao THETA interpretado relativo ao plano fixado pelas orientaes inicial e
final.
ORIROTT
O ngulo de rotao THETA interpretado relativo alterao da orientao. Para THETA=0 o
vetor de rotao interpolado de modo tangencial alterao da orientao e apenas ser
diferente do ORIROTR se para a orientao foi programado pelo menos um polinmio para o
"ngulo de inclinao PSI". Com isso resulta uma alterao da orientao que no percorre
no plano. Atravs de um ngulo de rotao THETA programado adicionalmente, o vetor de
rotao, por exemplo, pode ser interpolado de modo que ele sempre forma um determinado
valor para a alterao da orientao.
ORIROTC
O vetor de rotao interpolado relativo tangente da trajetria atravs de um Offset
programvel pelo ngulo THETA. Para o ngulo de Offset tambm pode ser programado um
polinmio PO[THT]=(c2, c3, c4, c5) de at 5 grau.

Preparao do trabalho
Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

335

Transformaes
6.5 Orientaes relativas trajetria

6.5

Orientaes relativas trajetria

6.5.1

Tipos de orientao relativos trajetria

Funo

Com esta funo ampliada no se alcana a orientao relativa apenas no fim do bloco,
mas por todo o decurso da trajetria. realizada a transferncia da orientao alcanada no
bloco precedente atravs da interpolao de grande circunferncia para a orientao final
programada. Basicamente existem duas opes de se programar a orientao desejada de
modo relativo trajetria:
1. A orientao da ferramenta como a rotao da ferramenta interpolada de modo relativo
trajetria com ORIPATH e ORPATHTS.
2. O vetor de orientao programado e interpolado da forma usual. Com ORIROTC se
posiciona a rotao do vetor de orientao de modo relativo tangente da trajetria.

Sintaxe

O tipo de interpolao da orientao e da rotao da ferramenta se programa com:


N... ORIPATH

Orientao relativa trajetria

N... ORIPATHS

Orientao relativa trajetria com suavizao do


decurso de orientao

N... ORIROTC

Interpolao do vetor de rotao relativa


trajetria

Uma dobra da orientao ressaltada atravs de uma esquina no decurso da trajetria pode
ser suavizada com ORIPATHS. A direo da distncia de curso do movimento de retrao
programada atravs do vetor com os componentes A8=X, B8=Y C8=Z.
Com ORIPATH/ORIPATHS se pode programar diversas referncias com a tangente da trajetria
atravs dos trs ngulos

LEAD=

Indicao do ngulo de avano relativo trajetria e superfcie

TILT=

Indicao do ngulo lateral relativo trajetria e superfcie

THETA=

ngulo de rotao

para o decurso de trajetria total. Ao ngulo de rotao THETA tambm podem ser
programados polinmios de at 5 grau com PO[THT]=(...).
Indicao
Fabricante da mquina
Observe as instrues do fabricante da mquina. Atravs de dados projetveis de mquina
e de ajuste podem ser realizadas outros ajustes para o tipo de orientao relativo
trajetria. Para mais explicaes, veja
Literatura:
/FB3/ Manual de funes especiais; Transformao de 3 a 5 eixos (F2),
Captulo "Orientao"

Preparao do trabalho

336

Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

Transformaes
6.5 Orientaes relativas trajetria

Significado
A interpolao dos ngulos LEAD e TILT ajustada de modo diversificado atravs de dado de
mquina.
A referncia da orientao da ferramenta programada com LEAD e TILT conservada por
todo o bloco.
ngulo de avano LEAD: Rotao em torno da direo perpendicular tange e vetor
normal TILT: Rotao da orientao em torno do vetor normal.
ngulo de avano LEAD: Rotao em torno da direo perpendicular tange e vetor
normal do ngulo lateral TILT: Rotao da orientao em torno da direo da tangente da
trajetria.
ngulo de rotao THETA: Rotao da ferramenta em torno de si mesma com um terceiro
eixo rotativo extra como eixo de orientao na transformao de seis eixos.
Indicao
A orientao relativa trajetria no permitida junto com OSC, OSS, OSSE, OSD,
OST
A interpolao de orientao relativa trajetria ORIPATH ou ORIPATHS e ORIOTC no pode
ser programada junto com a suavizao do decurso de orientao com um dos cdigos
G do grupo 34. Para isso o OSOF deve estar ativo.

6.5.2

Rotao da orientao da ferramenta relativa trajetria (ORIPATH,


ORIPATHS, ngulo de rotao)

Funo
Em uma transformao de seis eixos, a ferramenta tambm pode ser girada em torno de si
mesma com um terceiro eixo rotativo para qualquer orientao de ferramenta no espao. Na
rotao da orientao de ferramenta relativa trajetria com ORIPATH ou ORIPATHS, se
pode programar a rotao adicional atravs do ngulo de rotao THETA. De modo
alternativo, se pode programar os ngulos LEAD e TILT atravs de um vetor que est
perpendicular direo da ferramenta no plano.
Fabricante da mquina
Observe as instrues do fabricante da mquina. Atravs de dado de mquina se pode
ajusta de forma diferente a interpolao dos ngulos LEAD e TILT.

Sintaxe

Rotao da orientao da ferramenta e da prpria ferramenta


O tipo de orientao de ferramenta relativo trajetria ativado com ORIPATH ou
ORIPATHS.
N... ORIPATH

Ativar o tipo de orientao relativo trajetria

N... ORIPATHS

Ativao do tipo de orientao relativo trajetria


com suavizao do decurso de orientao

Preparao do trabalho
Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

337

Transformaes
6.5 Orientaes relativas trajetria
Ativao dos trs possveis ngulos com efeito de rotao:
N... LEAD=

ngulo para orientao programada relativa ao


vetor normal de superfcie

N... TILT=

ngulo para orientao programada no plano


perpendicular tangente da trajetria relativa ao
vetor normal de superfcie

N... THETA=

ngulo de rotao relativo alterao da


orientao em torno da direo de ferramenta do
terceiro eixo rotativo

Os valores do ngulo no fim do bloco so programados com LEAD=valor, TILT=valor ou


Adicionalmente aos ngulos constantes podem ser programados polinmios de
at 5 grau para todos os trs ngulos.

THETA=valor.

N... PO[PHI]=(a2, a3, a4, a5)


N... PO[PSI]=(b2, b3, b4, b5)
N... PO[THT]=(d2, d3, d4, d5)

Polinmio para ngulo de avano LEAD


Polinmio para ngulo lateral TILT
Polinmio para ngulo de rotao
THETA

Na programao podem ser descartados os coeficientes de polinmio mais altos, que so


igual a zero. O exemplo PO[PHI]=a2 resulta em uma parbola para o ngulo de avano LEAD.

Significado
Orientao de ferramenta relativa trajetria
ORIPATH

Orientao da ferramenta relativa trajetria

ORIPATHS

A orientao de ferramenta relativa dobra de trajetria no decurso de


orientao suavizada

LEAD

ngulo relativo ao vetor normal de superfcie, no plano fixado pela tangente da


trajetria e vetor normal de superfcie

TILT

Rotao da orientao em torno do sentido Z ou rotao em torno da tangente


da trajetria

THETA

Rotao em torno do sentido da ferramenta para Z

PO[PHI]

Polinmio de orientao para ngulo de avano LEAD

PO[PSI]

Polinmio de orientao para ngulo lateral TILT

PO[THT]

Polinmio de orientao para ngulo de rotao THETA

Indicao
ngulo de rotao THETA
Para a rotao da ferramenta com terceiro eixo rotativo como eixo de orientao em torno
de si mesma necessria uma transformao de seis eixos.

Preparao do trabalho

338

Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

Transformaes
6.5 Orientaes relativas trajetria

6.5.3

Interpolao relativa trajetria da rotao da ferramenta (ORIROTC, THETA)

Funo
Interpolao com vetores de rotao
rotao de ferramenta relativa tangente de trajetria programada com ORIROTC se
pode interpolar o vetor de direo com um Offset programvel atravs do ngulo de rotao
THETA. Neste caso se pode programar um polinmio de at 5 grau com PO[THT] para o
ngulo de Offset.

Sintaxe
N... ORIROTC

Posicionar a rotao da
ferramenta relativa tangente de
trajetria

N... A3= B3= C3= THETA=Valor

Definir a rotao do vetor de


orientao

N... A3= B3= C3= PO[THT]=(c2, c3, c4, c5)

Interpolar o ngulo Offset com


polinmio de at 5 grau

Uma rotao tambm pode ser programada separadamente em um bloco, sem a ocorrncia
de uma alterao da orientao.

Significado
Interpolao da rotao da ferramenta relativa trajetria na transformao de seis eixos
ORIROTC

Posicionar vetor de rotao tangencial tangente de trajetria

THETA=valor

ngulo de rotao em graus alcanado no fim do bloco

THETA=e

ngulo de rotao com ngulo final e do vetor de rotao

THETA=AC()

Comutar para dimenso absoluta por blocos

THETA=IC()

Comutar para dimenso incremental por blocos

PO[THT]=(c2, c3, c4, c5) Interpolar o ngulo de Offset com polinmio de 5 grau

Indicao
Interpolao do vetor de rotao ORIROTC
Se a rotao da ferramenta relativa tangente de trajetria tambm deve ser posicionada
contra o sentido da orientao da ferramenta, ento isso ser possvel apenas com uma
transformao de seis eixos.
Com ORIROTC ativo
O vetor de rotao ORIROTA no pode ser programado. No caso de uma programao,
ser emitido o ALARME 14128 "Programao absoluta da rotao da ferramenta com
ORIROTC ativo".

Preparao do trabalho
Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

339

Transformaes
6.5 Orientaes relativas trajetria
Sentido de orientao da ferramenta na transformao de trs a cinco eixos
O sentido de orientao da ferramenta pode ser programado da forma usual, atravs de
ngulo euleriano e ngulo RPY ou atravs de vetores de direo, como na transformao
de trs a cinco eixos. Tambm so possveis as alteraes de orientao da ferramenta no
espao atravs da programao da interpolao de grande circunferncia ORIVECT,
interpolao linear dos eixos de orientao ORIAXES, todas interpolaes sobre uma
superfcie perifrica cnica ORICONxx, e tambm a interpolao adicional curva espacial
com dois pontos de contato da ferramenta ORICURVE.
Indicao do tipo de movimento dos eixos rotativos
Indicao dos eixos lineares
ORIAXES
Interpolao linear dos eixos da mquina ou dos eixos de
orientao
ORIVECT
Interpolao de grande circunferncia (idntico ao ORIPLANE)
ORIMKS
Rotao no sistema de coordenadas da mquina
ORIWKS
Rotao no sistema de coordenadas da pea de trabalho
Veja a descrio no cap. Rotaes da orientao da ferramenta
A= B= C=
Programao da posio de eixo da mquina
ORIEULER
Programao da orientao atravs de ngulo euleriano
ORIRPY
Programao da orientao atravs de ngulo RPY
A2= B2= C2=
Programao de ngulo dos eixos virtuais
ORIVIRT1
Programao da orientao atravs de eixos virtuais de
ORIVIRT2
orientao
(definio 1), definio conforme MD
$MC_ORIAX_TURN_TAB_1
(definio 2), definio conforme MD
$MC_ORIAX_TURN_TAB_2
A3= B3= C3=
Programao do vetor de direo do eixo de sentido
ORIPLANE
Interpolao no plano (interpolao de grande circunferncia)
ORICONCW
Interpolao sobre uma superfcie perifrica cnica no sentido
horrio
ORICONCCW
Interpolao sobre uma superfcie perifrica cnica no sentido
anti-horrio
ORICONTO
Interpolao sobre uma superfcie perifrica cnica de transio
tangencial
A6= B6= C6=
Programao do eixo de rotao do cone (vetor normalizado)
NUT=ngulo
ngulo de abertura do cone em graus
NUT=+179
ngulo de deslocamento menor ou igual a 180 graus
NUT=-181
ngulo de deslocamento maior ou igual a 180 graus
ORICONIO
Interpolao sobre uma superfcie perifrica cnica
A7= B7= C7=
Orientao intermediria (programao como vetor normalizado)
ORICURVE
Interpolao da orientao com especificao do movimento de
XH YH ZH p. ex. com
dois pontos de contato da ferramenta. Alm dos respectivos
polinmios PO[XH]=(xe, pontos finais tambm se pode programar polinmios s curvas
x2, x3, x4, x5)
espaciais extras.
G....
X Y Z

Indicao
Se a orientao de ferramenta com ORIAXES ativo for interpolada atravs dos eixos de
orientao, ento o posicionamento relativo trajetria do ngulo de rotao somente ser
realizado no fim do bloco.
Preparao do trabalho

340

Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

Transformaes
6.5 Orientaes relativas trajetria

6.5.4

Suavizao do decurso de orientao (ORIPATHS A8=, B8=, C8=)

Funo

Nas alteraes de orientao com acelerao constante no contorno existem interrupes


nos movimentos de percurso que ocorrem principalmente nos cantos (esquinas) de um
contorno, que no so desejadas. A dobra resultante disso no decurso da orientao pode
ser suavizada atravs da insero de um bloco intermedirio prprio. A alterao de
orientao realizada com acelerao constante se durante a reorientao o ORIPATHS
tambm estiver ativo. Nesta fase pode ser realizado um movimento de retrao da
ferramenta.
Fabricante da mquina
Observe as instrues do fabricante da mquina sobre eventuais dados de mquina e
dados de ajuste pr-definidos com os quais se ativa esta funo.
Atravs de dado de mquina se pode ajustar como o vetor de retrao deve ser
interpretado:
1. No sistema de coordenadas da ferramenta as coordenadas em Z esto definidas atravs
do sentido da ferramenta.
2. No sistema de coordenadas da pea as coordenadas em Z esto definidas atravs do
plano ativo.
Outras explanaes sobre a funo da "Orientao da trajetria relativa" consulte
Literatura:
Manual de funes, funes especficas, transformaes multieixo (F2)

Sintaxe
Para orientaes de ferramenta relativas trajetria inteira, realizadas constantemente, so
necessrias outras informaes de programao em um canto do contorno. O sentido e a
distncia de curso deste movimento so programados atravs do vetor com os
componentes A8=X, B8=Y, C8=Z:
N... ORIPATHS A8=X B8=Y C8=Z

Significado
ORIPATHS

Orientao de ferramenta relativa trajetria, uma dobra suavizada no


decurso da orientao.

A8= B8= C8=

Componentes de vetor para sentido e distncia de curso

X, Y, Z

Movimento de retrao no sentido da ferramenta

Indicao
Programao do vetor de direo A8, B8, C8
Se a distncia deste vetor for igual a zero, no se realiza nenhum movimento de retrao.
ORIPATHS
A orientao de ferramenta relativa trajetria ativada com ORIPATHS. Caso contrrio se
transporta a orientao atravs de interpolao linear de grande circunferncia da
orientao inicial para a orientao final.

Preparao do trabalho
Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

341

Transformaes
6.6 Compresso da orientao (COMPON, COMPCURV, COMPCAD)

6.6

Compresso da orientao (COMPON, COMPCURV, COMPCAD)

Funo
Os programas NC que possuem uma transformao de orientao (TRAORI) ativa, e neles
existem orientaes de ferramenta (independente do tipo) programadas, podero ser
comprimidos com a preservao das tolerncias especificadas.

Programao
Orientao da ferramenta
Se uma transformao de orientao (TRAORI) estiver ativa, a orientao de ferramenta em
mquinas de 5 eixos pode ser programada da seguinte forma (independente da cinemtica):
Programao do vetor de direo atravs do:
A3=<...> B3=<...> C3=<...>

Programao do ngulo euleriano ou ngulo RPY atravs de:


A2=<...> B2=<...> C2=<...>

Rotao da ferramenta
Para mquinas de 6 eixos tambm se pode programar a rotao da ferramenta para
orientao de ferramenta.
A programao do ngulo de rotao realizada com:
THETA=<...>

Veja "Rotaes da orientao da ferramenta (Pgina 333)".


Indicao
Os blocos NC em que foi programada uma rotao adicional, somente podem ser
comprimidos se o ngulo de rotao se alterar linearmente. Isto significa que para o ngulo
de rotao no pode ser programado nenhum polinmio com PO[THT]=(...).
Forma geral de um bloco NC compressvel
Por isso que a forma geral de um bloco NC compressvel pode se apresentar da seguinte
maneira:
N... X=<...> Y=<...> Z=<...> A3=<...> B3=<...> C3=<...> THETA=<...> F=<...>

ou
N... X=<...> Y=<...> Z=<...> A2=<...> B2=<...> C2=<...> THETA=<...> F=<...>

Indicao
Os valores de posio podem ser especificados de modo direto (p. ex. X90) ou indireto
atravs da atribuio de parmetros (p. ex. X=R1*(R2+R3)).

Preparao do trabalho

342

Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

Transformaes
6.6 Compresso da orientao (COMPON, COMPCURV, COMPCAD)
Programao da orientao de ferramenta atravs de posies de eixo rotativo
A orientao da ferramenta tambm pode ser especificada atravs de posies de eixo
rotativo, por exemplo, na seguinte forma:
N... X=<...> Y=<...> Z=<...> A=<...> B=<...> C=<...> THETA=<...> F=<...>

Neste caso a compresso executada de dois modos diferentes, em funo de ser


executada uma interpolao de grande circunferncia ou no. Se no ocorre nenhuma
interpolao de grande circunferncia, ento a alterao de orientao comprimida
representada atravs de polinmios axiais para eixos rotativos, como no procedimento
usual.
Preciso de contorno
Em funo do modo de compresso ajustado (MD20482 $MC_COMPRESSOR_MODE),
durante a compresso, para eixos geomtricos e eixos de orientao so ativadas as
tolerncias especficas de eixo configuradas (MD33100 $MA_COMPRESS_POS_TOL) ou
as seguintes tolerncias especficas de canal ajustadas atravs de dados de ajuste:
SD42475 $SC_COMPRESS_CONTUR_TOL (desvio mximo do contorno)
SD42476 $SC_COMPRESS_ORI_TOL (desvio angular mximo para orientao da
ferramenta)
SD42477 $SC_COMPRESS_ORI_ROT_TOL (desvio mximo do ngulo de rotao da
ferramenta) (disponvel apenas em mquinas de 6 eixos).
Literatura:
Manual de funes bsicas; Transformao de 3 a 5 eixos (F2),
Captulo: "Compresso da orientao"
Ativao/desativao
As funes de compressor so ativadas atravs dos cdigos G COMPON, COMPCURV e COMPCAD.
A funo de compressor encerrada com COMPOF.
Veja "Compresso de blocos NC (COMPON, COMPCURV, COMPCAD) (Pgina 241)".
Indicao
O movimento de orientao somente comprimido com a interpolao de grande
circunferncia ativa (isto , a alterao da orientao da ferramenta realizada no plano
fixado pelas orientaes inicial e final).
Uma interpolao de grande circunferncia executada sob as seguintes condies:
MD21104 $MC_ORI_IPO_WITH_G_CODE = 0,
o ORIWKS est ativo e
a orientao programada atravs de vetores (com A3, B3, C3 ou A2, B2, C2).
MD21104 $MC_ORI_IPO_WITH_G_CODE = 1 e o
ORIVECT ou ORIPLANE est ativo.
A orientao da ferramenta pode ser programada como vetor de direo ou com
posies de eixo rotativo. Se um dos cdigos G ORICONxx ou ORICURVE estiver ativo ou se
foram programados polinmios para o ngulo de orientao (PO[PHI] e PO[PSI]), no
ser executada nenhuma interpolao de grande circunferncia.

Preparao do trabalho
Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

343

Transformaes
6.7 Suavizao do decurso de orientao (ORISON, ORISOF)

Exemplo
No exemplo de programao a seguir se comprime uma circunferncia que aproximada
por um polinmio. A orientao da ferramenta se movimenta de modo sincronizado sobre
uma superfcie perifrica cnica. Mesmo se as alteraes de orientao forem programadas
em sequncia, e no serem contnuas, a funo do compressor gera um movimento suave
da orientao.
Programao

Comentrio

DEF INT QUANTIDADE=60


DEF REAL RAIO=20
DEF INT COUNTER
DEF REAL ANGULO
N10 G1 X0 Y0 F5000 G64
$SC_COMPRESS_CONTUR_TOL=0.05

; Desvio mximo do contorno = 0.05 mm

$SC_COMPRESS_ORI_TOL=5

; Desvio mximo da orientao = 5 graus

TRAORI
COMPCURV
; Se realiza um movimento em crculo que
formado por polinmios. A orientao
movimenta-se sobre um cone em torno do eixo
Z com um ngulo de abertura de 45 graus.
N100 X0 Y0 A3=0 B3=-1 C3=1
N110 FOR COUNTER=0 TO QUANTIDADE
N120 ANGULO=360*COUNTER/QUANTIDADE
N130 X=RAIO*cos(ANGULO) Y=RAIO*sin(ANGULO)
A3=sin(ANGULO) B3=-cos(ANGULO) C3=1
N140 ENDFOR

6.7

Suavizao do decurso de orientao (ORISON, ORISOF)

Funo
Com a funo "Suavizao do decurso de orientao (ORISON)" possvel suavizar as
variaes da orientao por vrios blocos. Dessa forma obtido um percurso suave tanto
da orientao como do contorno.

Pr-requisito
A funo "Suavizao do decurso de orientao (ORISON)" somente est disponveis em
sistemas com transformao de 5/6 eixos.

Preparao do trabalho

344

Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

Transformaes
6.7 Suavizao do decurso de orientao (ORISON, ORISOF)

Sintaxe
ORISON
...
ORISOF

Significado
ORISON:

Suavizao do decurso de orientao ON


Efeito:

ORISOF:

modal

Suavizao do decurso de orientao OFF


Efeito:

modal

Dados de ajuste
A suavizao do decurso de orientao realizado sob o cuidado de manter:
uma tolerncia mxima pr-definida (desvio angular mximo da orientao da ferramenta
dado em graus)
e
um percurso mximo pr-definido.
Estas definies so definidas atravs de dados de ajuste:
SD42678 $SC_ORISON_TOL (tolerncia para suavizao do decurso de orientao)
SD42680 O$SC_ORISON_DIST (percurso para a suavizao do decurso de orientao)

Exemplo
Cdigo de programa

Comentrio

...
TRAORI()

; Ativao da transformao de orientao.

ORISON

; Ativao da suavizao de orientao.

$SC_ORISON_TOL=1.0

; Tolerncia da suavizao de orientao


= 1,0 grau.

G91
X10 A3=1 B3=0 C3=1
X10 A3=1 B3=0 C3=1
X10 A3=1 B3=0 C3=1
X10 A3=1 B3=0 C3=1
X10 A3=1 B3=0 C3=1
X10 A3=1 B3=0 C3=1
X10 A3=1 B3=0 C3=1
X10 A3=1 B3=0 C3=1

Preparao do trabalho
Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

345

Transformaes
6.7 Suavizao do decurso de orientao (ORISON, ORISOF)

Cdigo de programa

Comentrio

X10 A3=1 B3=0 C3=1


X10 A3=1 B3=0 C3=1
...
ORISOF

; Desativao da suavizao de orientao.

...

A orientao girada em 90 graus no plano XZ de -45 at +45 graus. Atravs da


suavizao do decurso de orientao, esta no alcana mais os valores angulares mximos
de -45 e +45 graus, respectivamente.

Outras informaes
Nmero de blocos
A suavizao do decurso de orientao realizada atravs de um nmero de blocos
configurado, que consta no dado de mquina MD28590 $MC_MM_ORISON_BLOCKS.
Indicao
Quando a suavizao do decurso de orientao ativada com ORISON, sem haver memria
de bloco suficiente configurada para este fim (MD28590 < 4), ento aparece uma
mensagem de alarme e a funo no pode ser executada.
Distncias de percurso de bloco mximas
O decurso de orientao somente suavizado nos blocos cujo percurso for menor que a
distncia de percurso de bloco mxima (MD20178 $MC_ORISON_BLOCK_PATH_LIMIT).
Os blocos com percursos mais extensos interrompem a suavizao e so executadas como
foram programadas.

Preparao do trabalho

346

Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

Transformaes
6.8 Transformao cinemtica

6.8

Transformao cinemtica

6.8.1

Fresamento em peas torneadas (TRANSMIT)

Funo
A ordem TRANSMIT ativa a transformao para o processamento de partes frontais em
mquinas de torneamento.
&0

<
;

;0

==0

Eixo geomtrico

Eixo geomtrico

Eixo geomtrico

XM

Eixo de mquina

ZM

Eixo de mquina

CM

Eixo de mquina

Literatura
Informaes detalhadas sobre a funo TRANSMIT podero ser encontradas no:
Manual de funes ampliadas; captulo "Transformao cinemtica" > "Transformao do
lado frontal TRANSMIT"

Sintaxe
TRANSMIT
TRANSMIT(n)
TRAFOOF

Preparao do trabalho
Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

347

Transformaes
6.8 Transformao cinemtica

Significado
TRANSMIT:

Ligar TRANSMIT com primeiro conjunto de dados TRANSMIT

TRANSMIT(n):

Ligar TRANSMIT com conjunto n de dados TRANSMIT

TRAFOOF:

Desativao da transformao

Indicao
Uma transformao ativa TRANSMIT desligada quando ligada no canal outra
transformao, p. ex. TRACYL, TRAANG, TRAORI.

Exemplo
Cdigo de programa

Comentrio

N10 T1 D1 G54 G17 G90 F5000 G94

; Seleo da ferramenta

N20 G0 X20 Z10 SPOS=45

; Aproximao da posio de sada

N30 TRANSMIT

; Ligar TRANSMIT com primeiro conjunto de


; dados TRANSMIT

N40 ROT RPL=45

; Ajustar Frame

N50 ATRANS X2 Y10


N60 G1 X10 Y10 G41 OFFN=1

; Desbaste do quadrado, sobremetal 1 mm (OFFN)

N70 X10
N80 Y10
N90 X10
N100 Y10
N110 G0 Z20 G40 OFFN=0

; Troca de ferramentas

N120 T2 D1 X15 Y15


N130 Z10 G41
N140 G1 X10 Y10

; Acabamento do quadrado

N150 X10
N160 Y10
N170 X10
N180 Y10
N190 Z20 G40

; Desativao de Frame

N200 TRANS
N210 TRAFOOF

; desativar TRANSMIT

N220 G0 X20 Z10 SPOS=45

; Aproximao da posio de sada

N230 M30

Descrio

Literatura
Um descrio detalhada da funo encontra-se no:
Manual de funes ampliadas; captulo "Transformao cinemtica M1" > "TRANSMIT"

Preparao do trabalho

348

Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

Transformaes
6.8 Transformao cinemtica

6.8.2

Transformao de superfcie cilndrica (TRACYL)

Funo
A ordem TRACYL ativa a transformao para processamento de ranhuras em corpos
cilndricos.
A trajetria das ranhuras programada relativa superfcie desenvolvida do cilindro.

<

Tipos de transformao TRACYL


Existem trs mtodos de transformao de superfcie cilndrica:

TRACYL

sem correo da parede da ranhura (tipo de transformao 512)

TRACYL

com correo da parede da ranhura (tipo de transformao 513)

TRACYL

com correo da parede da ranhura programvel (tipo de transformao 514)

Para a transformao da superfcie com correo da parede da ranhura o eixo utilizado para
a correo deveria estar com valor zero (y=0), para que a ranhura seja produzida de forma
centralizada na linha de centro da ranhura.
Utilizao de eixo
Os seguintes eixos no podem ser utilizados como eixo de posicionamento ou eixo
oscilante:
o eixo geomtrico no sentido da superfcie perifrica do cilindro (eixo Y)
o eixo linear adicional na correo da parede da ranhura (eixo Z)

Preparao do trabalho
Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

349

Transformaes
6.8 Transformao cinemtica

Sintaxe
TRACYL(d)
TRACYL(d, n)
TRACYL(d, n, k)
TRAFOOF

Significado
TRACYL(d)

Ligar TRACYL com primeiro conjunto de dados TRACYL e


dimetro de trabalho d

TRACYL (d, n)

Ligar TRACYL com conjunto n de dados TRACYL e dimetro de


trabalho d

Dimetro de referncia ou trabalho


O valor deve ser superior a 1.

Nmero de conjunto de dados TRACYL (opcional)


Faixa de valores:

1, 2

O parmetro apenas relevante para o tipo de transformao 514:


k = 0: Sem correo da parede da ranhura
k = 0: com correo da parede da ranhura
Se o parmetro no for indicado, ser vlido o ajuste bsico
parametrizado nos dados da mquina
TRACYL_DEFAULT_MODE_<t>. (opcional)

TRAFOOF

Desativao da transformao

Indicao
Uma transformao ativa TRACYL ligada quando ligada no canal outra transformao, p.
ex. TRANSMIT, TRAANG, TRAORI.

Preparao do trabalho

350

Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

Transformaes
6.8 Transformao cinemtica

Exemplo

<

Definio da ferramenta
Cdigo de programa

Comentrio

; Parmetro da ferramenta
$TC_DP1[1,1]=120

; Tipo de ferramenta: Fresa

$TC_DP2[1,1]=0

; Posio de corte: apenas para ferramentas de


tornear

Cdigo de programa

Comentrio

; Geometria: Correo de comprimentos


; Vetor de correo de comprimento: Processamento por
$TC_DP3[1,1]=8.

; Tipo

$TC_DP4[1,1]=9.

; Plano

$TC_DP5[1,1]=7.

Cdigo de programa

Comentrio

; Geometria: Raio
$TC_DP6[1,1]=6.

; Raio

$TC_DP7[1,1]=0

; Largura de ranhura b para serra de ranhuras,


raio de arredondamento para fresas

$TC_DP8[1,1]=0

; Ressalto k: apenas para serra para ranhuras

$TC_DP9[1,1]=0
$TC_DP10[1,1]=0
$TC_DP11[1,1]=0

; ngulo para fresas cnicas

Preparao do trabalho
Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

351

Transformaes
6.8 Transformao cinemtica

Cdigo de programa

Comentrio

; Desgaste: Correo de comprimento e raio


$TC_DP12[1,1]=0

; Os restantes parmetros at $TC_DP24 = 0


(medida bsica/adaptador)

Ativar a transformao de superfcie perifrica cilndrica


Cdigo de programa

Comentrio

N10 T1 D1 G54 G90 F5000 G94

; Seleo de ferramenta, compensao de


fixao

N20 SPOS=0

; Aproximao da posio de sada

N30 G0 X25 Y0 Z105 CC=200


N40 TRACYL(40)

; Ligar TRACYL com primeiro conjunto de


dados TRACYL e
; dimetro de trabalho 40mm

N50 G19

; Plano YZ

Produo de ranhura em forma de gancho:


Cdigo de programa

Comentrio

N60 G1 X20

; Avanar a ferramenta at a base da


ranhura

N70 OFFN=12

; Determinar a distncia entre paredes da


ranhura 12 mm em relao a

N80 G1 Z100 G42

; Aproximao da parede direita da


ranhura

N90 G1 Z50

; seco de ranhura paralela ao eixo do


cilindro

N100 G1 Y10

; seco de ranhura paralela superfcie


perifrica

N110 OFFN=4 G42

; Aproximao da parede esquerda da


ranhura

; Linha central da ranhura

; Determinar a distncia entre paredes da


ranhura 4 mm em relao a
; Linha central da ranhura
N120 G1 Y70

; seco de ranhura paralela superfcie


perifrica

N130 G1 Z100

; seco de ranhura paralela ao eixo do


cilindro

N140 G1 Z105 G40

; Afastamento da parede da ranhura

N150 G1 X25

; Afastamento

N160 TRAFOOF

; Desativao da transformao

N170 G0 X25 Y0 Z105 CC=200

; Aproximao da posio de sada

N180 M30

Preparao do trabalho

352

Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

Transformaes
6.8 Transformao cinemtica

Descrio
Transformao de superfcie cilndrica sem correo de parede de ranhura
O comando transforma os movimentos de percurso programados do sistema de
coordenadas do cilindro em movimentos de deslocamento dos eixos da mquina:
Eixo rotativo (Y / CM)
Eixo de penetrao vertical ao eixo de rotao (XM)
Eixo longitudinal paralelo ao eixo de rotao (ZM)
Os eixos lineares esto perpendiculares entre si.

<RX&0
$60
=RX=0
;0

XM

Eixo de penetrao vertical ao centro de rotao

Z / ZM

Eixo linear paralelo ao centro de rotao

Y / CM

Eixo Y da transformao / eixo rotativo

ASM

Fuso de trabalho

Esquema 6-2 Transformao de superfcie cilndrica sem correo de parede de ranhura

Preparao do trabalho
Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

353

Transformaes
6.8 Transformao cinemtica
Transformao de superfcie cilndrica com correo de parede de ranhura
O comando transforma os movimentos de percurso programados do sistema de
coordenadas do cilindro em movimentos de deslocamento dos eixos da mquina:
Eixo rotativo (Y / CM)
Eixo de penetrao vertical ao eixo de rotao (XM)
Eixo complementar para correo da parede da ranhura vertical em relao ao plano X-Z
(YM)
Eixo longitudinal paralelo ao eixo de rotao (ZM)
Os eixos lineares esto perpendiculares entre si.

<RX&0

=RX=0
<0
$60
;0

XM

Eixo de penetrao vertical ao centro de rotao

YM

Eixo complementar para correo da parede da ranhura vertical em relao ao plano X-Z

Z / ZM

Eixo linear paralelo ao centro de rotao

Y / CM

Eixo Y da transformao / eixo rotativo

ASM

Fuso de trabalho

Esquema 6-3 Transformao de superfcie cilndrica com correo de parede de ranhura

Preparao do trabalho

354

Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

Transformaes
6.8 Transformao cinemtica
Flancos da ranhura
Numa transformao de superfcie cilndrica sem correo da parede da ranhura, os flancos
da ranhura so longitudinais e apenas so paralelos quando a largura da ranhura
corresponder ao dimetro da ferramenta.
Os flancos da ranhura paralelas rea perifrica (ranhuras transversais) no so paralelas
no incio e no fim.

5DQKXUDORQJLWXGLQDO

5DQKXUDWUDQVYHUVDO

6HPFRUUHRGDSDUHGH
GDUDQKXUD
75$)2B7<3(BQ 

5DQKXUDORQJLWXGLQDO
OLPLWDGDSDUDOHODPHQWH
HFRPFRUUHRGHSDUHGHV
75$)2B7<3(BQ 

Offset normal de contorno OFFN (tipo de transformao 513)


Para fresar ranhuras com o TRACYL, no programa de pea programa-se a linha central da
ranhura e atravs do OFFN a meia largura da ranhura.
Para evitar danos na parede da ranhura, o OFFN apenas vlido com o corretor do raio da
ferramenta selecionado. Alm disso, o OFFN deveria ser raio da ferramenta para evitar
danos na parede da ranhura do lado oposto.

2))1

&RQWRUQR
SURJUDPDGR

Preparao do trabalho
Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

355

Transformaes
6.8 Transformao cinemtica
Um programa de pea para fresar uma ranhura normalmente constitudo pelos seguintes
passos:
1. Selecionar ferramenta
2. Selecionar TRACYL
3. Selecionar o deslocamento de coordenadas (FRAME) adequado
4. Posicionar
5. Programar OFFN
6. Selecionar a correo do raio da ferramenta
7. Bloco de aproximao (entrada da correo do raio da ferramenta e aproximao da
parede da ranhura)
8. Contorno da linha de centro da ranhura
9. Desselecionar a correo do raio da ferramenta
10.Bloco de afastamento (sada da correo do raio da ferramenta e afastamento da parede
da ranhura)
11.Posicionar
12.TRAFOOF
13.Selecionar novamente o deslocamento de coordenadas (FRAME) original
Particularidades
Compensao do raio da ferramenta
O WRK no gravado em relao parede da ranhura, mas em relao ao centro
programado da ranhura. Para que a ferramenta se desloque para a esquerda da parede
da ranhura, em vez de se programar G41, deve programar-se G42. Ou o valor do OFFN
ser indicado com o sinal negativo.
O OFFN com TRACYL atua de modo diferente como sem TRACYL. Visto que OFFN tambm
considerado sem TRACYL com a compensao ativa do raio da ferramenta, ento o OFFN
deveria ser passado novamente para zero aps TRAFOOF.
possvel alterar o OFFN durante o programa de pea. Desta forma pode-se deslocar a
linha central efetiva da ranhura do centro (ver a figura acima).
Com TRACYL e uma ferramenta cujo dimetro seja inferior largura da ranhura, no
criada a mesma geometria da parede da ranhura como com uma ferramenta cujo
dimetro seja igual ao da largura da ranhura. TRACYL minimiza o erro. Para melhorar a
preciso, aconselha-se que o dimetro da ferramenta selecionada no seja inferior
largura da ranhura.
Indicao
OFFN e correo do raio da ferramenta
Com TRAFO_TYPE_n = 512 o valor do OFFN atua como sobremetal para a correo do
raio da ferramenta.
Com TRAFO_TYPE_n = 513 programa-se a metade da largura da ranhura para OFFN. O
contorno depois executado com (OFFN - WRK).

Preparao do trabalho

356

Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

Transformaes
6.8 Transformao cinemtica

6.8.3

Eixo inclinado (TRAANG)

Funo
A transformao do ngulo inclinado ou "eixo inclinado" (TRAANG) serve para simplificar a
programao em mquinas de retificao com um ngulo no inclinado para o centro de
rotao do eixo linear disposto.

08

5HEROR
;
&
$6

=0=

3HDGHWUDEDOKR

Eixo geomtrico

Eixo geomtrico

MZ

Eixo de mquina

MU

Eixo de mquina

ngulo do eixo que est inclinado

Sintaxe
TRAANG
TRAANG()
TRAANG(, <n>)
TRAANG()
TRAANG(, <n>)
TRAFOOF

Significado
Elemento

Descrio

TRAANG

Ligar TRAANG com primeiro conjunto de dados TRAANG e


ltimo ngulo vlido

TRAANG():
TRAANG(, n):

Ligar TRAANG com conjunto de dados n TRAANG e ltimo


ngulo Winkel vlido

TRAANG():

Ligar TRAANG com primeiro conjunto de dados TRAANG e


ngulo

Preparao do trabalho
Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

357

Transformaes
6.8 Transformao cinemtica

Elemento

Descrio

TRAANG(, <n>):

Ligar TRAANG com o conjunto de dados n TRAANG e ngulo

ngulo do eixo que est inclinado (opcional)


Nota
Sem indicao do ngulo, vlido o valor parametrizado nos
dados da mquina:
$MC_TRAANG_ANGLE_<n>, com n = nmero de conjunto de
dados
Faixa de valores:

<n>:

Faixa de valores:
TRAFOOF:

-90 < < + 90

Nmero de conjunto de dados TRAANG (opcional)


1, 2

Desativao da transformao

Exemplo
Eixos geomtricos: Z, X
Eixo de mquina: MU
Cdigo de programa

Comentrio

N10 G0 G90 Z0 MU=10 G54 F5000 G18 G64 T1


D1

; Planos XZ, seleo de ferramenta,

N20 TRAANG(45)

; Ligar TRAANG com primeiro conjunto de


dados TRAANG e

N30 G0 Z10 X5

; Aproximao da posio de sada

N40 WAITP(Z)

; Esperar pelo fim do deslocamento do


eixo Z

N50 OSP1[Z]=10 OSP2[Z]=5 OST1[Z]=2


OST2[Z]=2 FA[Z]=5000

; Movimento pendular

; compensao de fixao

; ngulo de 45

; OSP1/OSP2: ponto de reverso


esquerdo/direito
; OST1/OST2: ponto de paragem de ponto de
reverso esquerdo/direito

N60 OS[Z]=1

; Ativar oscilao

N70 POS[X]=4.5 FA[X]=50

; Posicionar eixo X paralelo

N80 OS[Z]=0

; Desativar a oscilao

N90 WAITP(Z)

; Esperar pelo fim do deslocamento do


eixo Z

N100 TRAFOOF

; Desligar transformao

N110 G0 Z10 MU=10

; Afastamento

N120 M30

Preparao do trabalho

358

Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

Transformaes
6.8 Transformao cinemtica

Outras informaes
Aplicaes





Retificao longitudinal

Retificao transversal

Acabamento de contornos

Executar inclinado

Literatura
Um descrio detalhada da funo encontra-se no:
Manual de funes ampliadas; captulo "Transformao cinemtica M1" > "Transformao
do ngulo inclinado TRAANG"

Preparao do trabalho
Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

359

Transformaes
6.8 Transformao cinemtica

6.8.4

Programar eixo inclinado (G5, G7)

Funo
As funes G G7 e G5 servem para simplificar a programao para a execuo inclinada
em mquinas de acabamento com transformao "Eixo inclinado" (TRAANG), de forma a
que a penetrao seja efetuada exclusivamente pelo eixo inclinado.
Apenas deve ser programada a posio final pretendida do movimento de penetrao em X
e Z. A posio inicial correspondente calculada e executada pelo NC em G7, partindo da
posio atual do eixo X, a posio final programada e o ngulo do eixo inclinado.
A posio inicial composta pelo ponto de interseo das duas retas:
Reta paralela ao eixo Z na distncia da posio atual do eixo X
Reta paralela ao eixo inclinado atravs da posio final programada
Com o G5 posterior, o eixo inclinado movido para a posio final programada.
Literatura
Manual de funes ampliadas; captulo "Transformao cinemtica M1" > "Transformao
do ngulo inclinado TRAANG"

Sintaxe
G7 <pos. final_X> <pos. final_Z>
G5 <pos. final_X>

Significado
G7:

Calcular posio inicial para penetrao inclinada e


aproximar

G5:

Mover o eixo inclinado para a posio final programada

<pos. final_X>:

Posio final do eixo X

<pos. final_Z>:

Posio final do eixo Z

Preparao do trabalho

360

Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

Transformaes
6.8 Transformao cinemtica

Exemplo

5HEROR

08


;



1

1

&

$6

3HDGHWUDEDOKR

=0=

Paralelo ao eixo Z na distncia da posio atual do eixo X


Paralelo ao eixo inclinado atravs da posio final programada
Posio de sada
Penetrar: posio inicial,
Penetrar: Posio final

Eixo geomtrico

Eixo geomtrico

MZ

Eixo de mquina

MU

Eixo de mquina

Cdigo de programa

Comentrio

N.. G18

Selecionar plano XZ

N40 TRAANG(45.0)

1. Ligar transformao TRAANG, ngulo = 45

N50 G7 X40 Z70 F4000

Calcular e aproximar posio inicial

N60 G5 X40 F100

Mover eixo inclinado para posio final

N70 ...

Preparao do trabalho
Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

361

Transformaes
6.9 Deslocamento PTP cartesiano

6.9

Deslocamento PTP cartesiano

Funo
Com esta funo se pode programar uma posio em um sistema de coordenadas
cartesiano, mas o movimento da mquina realizado em coordenadas da mquina. Por
exemplo, a funo pode ser aplicada na mudana da posio da articulao se o movimento
tambm for realizado atravs de uma singularidade.
Indicao
A funo apenas tem relevncia em conjunto com uma transformao ativa. Alm disso o
"Deslocamento PTP" somente permitido com G0 e G1.

Sintaxe
N... TRAORI
N... STAT='B10' TU='B100' PTP
N... CP

Deslocamento PTP com transformao genrica de 5/6 eixos


Ativada uma transformao de eixo ativo 5/6 com PTP Ponto a ponto na mquina de
sistema de coordenadas (ORIMKS), poder ser programada uma orientao do equipamento
com posies do eixo rotativo, com os vetores de Euler respectivamente os ngulos RPY ou
vetores de direo independente da cinemtica.
posies dos eixos rotativos: N...

G1 X Y Z A B C

ngulo de Euler na conveno ZY'X' (ngulo RPY) ou conveno ZX'Z''- Conveno:


N... ORIRPY respectivamente N... ORIEULER
N... G1 X Y Z A2 B2 C2

Vetores de direo: N...

G1 X Y Z A3 B3 C3

Neste caso pode estar ativa tanto uma interpolao de eixo rotativo como interpolao de
vetor com interpolao de grande circunferncia ORIVECT ou interpolao do vetor de
orientao em uma superfcie perifrica cnica ORICONxx.
Ambigidades da orientao com vetores
Na programao da orientao com vetores existe uma ambigidade nas possveis
posies de eixo rotativo. Aqui as posies de eixo rotativo a serem aproximadas podem ser
selecionadas atravs da programao do STAT = <...>. Se
for programado STAT = 0 (corresponde ao ajuste padro),
as posies sero aproximadas pela distncia mais curta at as posies de partida. Se
for programado STAT = 1,
as posies sero aproximadas pela distncia mais longa at as posies de partida.

Preparao do trabalho

362

Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

Transformaes
6.9 Deslocamento PTP cartesiano

Significado
Comando

Significado

PTP:

Point to Point (Movimento ponto a ponto)


Ao: modal

CP:

Continuous Path (movimento cartesiano)


Ao: modal

STAT=:

Posio das articulaes. O valor depende da transformao.


Efeito: modal
Um valor STAT funciona apenas na interpolao vetorial.

TU=:

ngulo do eixo
rea de valor: 360 graus
Ao: por bloco
Um valor TU funciona na interpolao vetorial e rotativa.

Exemplo

&RWRYHORVXSHULRU
$
=

<

&RWRYHORLQIHULRU
;

Cdigo de programa

Comentrio

N10 G0 X0 Y-30 Z60 A-30 F10000

; Posio inicial cotovelo superior

N20 TRAORI(1)

; Transformao ativada

N30 X1000 Y0 Z400 A0


N40 X1000 Z500 A0 STAT='B10'
TU='B100' PTP

; Reorientao sem transformao

N50 X1200 Z400 CP

; Transformao reativada

; Cotovelo inferior

N60 X1000 Z500 A20


N70 M30

Preparao do trabalho
Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

363

Transformaes
6.9 Deslocamento PTP cartesiano

Exemplo de deslocamento PTP na transformao genrica de 5 eixos


Suposio: Existe uma cinemtica ortogonal CA como base.
Cdigo de programa

Comentrio

TRAORI

; Transformao de cinemtica CA ativa

PTP

; Ativar deslocamento PTP

N10 A3=0 B3=0 C3=1

; Posies de eixo rotativo C = 0 A = 0

N20 A3=1 B3=0 C3=1

; Posies de eixo rotativo C = 90 A = 45

N30 A3=1 B3=0 C3=0

; Posies de eixo rotativo C = 90 A = 90

N40 A3=1 B3=0 C3=1 STAT=1

; Posies de eixo rotativo C = 270 A = 45

Selecionar uma posio de aproximao nica da posio de eixo rotativo:


No bloco N40, atravs da programao do STAT = 1, os eixos rotativos percorrem o curso
mais longo de seu ponto de partida (C=90, A=90) ao ponto final (C=270, A=45), ao
contrrio do STAT = 0 onde se percorre o curso mais curto at o ponto final (C=90, A=45).

Descrio
Uma mudana entre o deslocamento cartesiano e o deslocamento dos eixos de mquina
realizada atravs dos comandos PTP e CP.
Deslocamento PTP com transformao genrica de 5/6 eixos
No deslocamento PTP, ao contrrio da transformao de 5/6 eixos, o TCP geralmente no
permanece fixo no local, se apenas for alterada a orientao. As posies finais
transformadas de todos os eixos da transformao (3 eixos lineares e at 3 eixos rotativos)
so aproximadas linearmente, sem que a transformao ainda esteja ativa no prprio
sentido.
O deslocamento PTP desativado atravs da programao do cdigo G modal CP.
As diversas transformaes esto contidas na publicao:
/FB3/ Manual de funes especiais; Pacote de transformao Handling (TE4).
Programao da posio (STAT=)
No se define claramente uma posio da mquina apenas com a especificao da posio
com coordenadas cartesianas e a orientao da ferramenta. Dependendo da cinemtica
tratada, podem existir at 8 posies de articulao diferentes. Com isso estas so
especficas de transformao. Para converter claramente uma posio cartesiana para o
ngulo do eixo, se deve especificar a posio da articulao com o comando STAT=. O
comando "STAT" contm um Bit como valor binrio para cada uma das possveis posies.
Bits de posio que devem ser programados com "STAT", veja:
/FB2/ Manual de funes ampliadas; Transformao cinemtica (M1), Captulo
"Deslocamento PTP cartesiano".
Programao do ngulo de eixo (TU=)
Para aproximar claramente o ngulo de eixo < 360 graus, esta informao deve ser
programada com o comando "TU=".

Preparao do trabalho

364

Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

Transformaes
6.9 Deslocamento PTP cartesiano
Os eixos deslocam-se pelo curso mais curto:
se no foi programado nenhum TU para uma posio,
em eixos que possuem uma rea de deslocamento > 360 graus.
Exemplo:
A posio de destino indicada na figura pode ser aproximada em sentido negativo ou
positivo. O sentido programado no endereo A1.
A1=225, TU=Bit 0, sentido positivo
A1=135, TU=Bit 1, sentido negativo

3RVLRLQLFLDO

6HQWLGR
SRVLWLYR

6HQWLGR
QHJDWLYR

3RVLRGHGHVWLQR

Exemplo de avaliao do TU para transformao genrica de 5/6 eixos e posies de


destino
A varivel TU contm, para cada eixo que participa da transformao, um Bit que indica o
sentido de deslocamento. A atribuio dos Bits TU corresponde ao panorama de eixos de
canal dos eixos rotativos. A informao TU somente avaliada em at 3 eixos rotativos que
participam da transformao:
Bit0: Eixo 1, TUBit = 0 : 0 grau <= ngulo de eixo rotativo < 360 graus
Bit1: Eixo 2, TUBit = 1 : 360 graus < ngulo de eixo rotativo < 0 grau
A posio de partida de um eixo rotativo C = 0, e atravs da programao de C = 270 o
eixo rotativo se desloca at as seguintes posies de destino:
C = 270: TUBit 0, sentido de giro positivo
C = 90: TUBit 1, sentido de giro negativo

Outro comportamento
Mudana do modo de operao
A funo "Deslocamento cartesiano PTP" apenas tem significado nos modos de operao
AUTO e MDA. O atual ajuste mantido na mudana do modo de operao para JOG.
Se estiver ajustado o cdigo G PTP, os eixos sero movimentados no MCS. Se estiver
ajustado o cdigo G CP, os eixos sero movimentados no WCS.
Power On/RESET
Aps o Power On ou aps o RESET o ajuste estar em funo do dado de mquina
$MC_GCODE_REST_VALUES[48]. Como padro est ajustado o tipo de deslocamento "CP".

Preparao do trabalho
Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

365

Transformaes
6.9 Deslocamento PTP cartesiano
REPOS
Se durante o bloco de interrupo estava ajustada a funo "Deslocamento cartesiano
PTP", ento o reposicionamento tambm ser realizado com PTP.
Movimentos sobrepostos
O deslocamento DRF ou o deslocamento externo de ponto zero so possveis com
restries no deslocamento cartesiano PTP. Na mudana de um movimento PTP para um
movimento CP no pode existir nenhuma sobreposio no BCS.
Suavizao entre os movimentos CP e PTP
Com G641 torna-se possvel uma suavizao programvel de transio entre os blocos.
O tamanho da rea de suavizao o percurso em mm ou polegadas que ser suavizado
na transio do bloco. O tamanho deve ser especificado como segue:
para blocos G0 com ADISPOS
para todos outros comandos de curso com ADIS
O processamento do percurso corresponde considerao dos endereos F em blocos que
no forem G0. O avano mantido nos eixos especificados no FGROUP(...).
Clculo de avano
Para blocos CP so utilizados no clculo os eixos cartesianos do sistema de coordenadas
bsico.
Para blocos PTP so utilizados no clculo os eixos correspondentes do sistema de
coordenadas da mquina.

6.9.1
Funo

PTP com TRANSMIT


Com PTP no TRANSMIT se pode executar blocos G0 e G1 com otimizao de tempo. Ao
invs de deslocar linearmente os eixos do sistema de coordenadas bsico (CP), so
deslocados linearmente os eixos da mquina (PTP). Com isso o movimento do eixo da
mquina atua prximo ao plo de modo que o ponto final do bloco seja alcanado bem mais
rpido.
O programa de pea continua sendo gravado no sistema de coordenadas cartesianas da
pea e todos deslocamentos de coordenadas, rotaes e programaes de Frame
continuam valendo. A simulao na HMI tambm mostrada em sistema de coordenadas
cartesianas da pea.

Sintaxe
N... TRANSMIT
N... PTPG0
N... G0 ...
...
N... G1 ...

Preparao do trabalho

366

Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

Transformaes
6.9 Deslocamento PTP cartesiano

Significado
TRANSMIT

Ativa a primeira funo TRANSMIT acordada


(veja o captulo "Operaes de fresamento em peas torneadas: TRANSMIT")
Point to Point G0 (movimento ponto-a-ponto automtico em cada bloco G0 e
em seguida, passa novamente para CP)

PTPG0

Visto que STAT e TU so modais, sempre se aplica o ltimo valor


programado.
Point to Point (movimento ponto-a-ponto)

PTP

Para o TRANSMIT o PTP significa que o afastamento em sistema cartesiano


de espirais de arquimedes realizado em torno do plo ou a partir do plo. Os
movimentos de ferramenta resultantes disso ocorrem claramente diferente
como no CP e esto representados nos respectivos exemplos de
programao.
STAT=

Cancelamento da ambigidade referente ao plo.

TU=

O TU no relevante no PTP com TRANSMIT

Exemplo de contorneamento do plo com PTP e TRANSMIT


<
373
&3

1*;<



1;<


















Cdigo de programa

Comentrio

N001 G0 X30 Z0 F10000 T1 D1 G90

Posio de sada da dimenso


absoluta

N003 TRANSMIT

Transformao TRANSMIT

N010 PTPG0

para cada bloco G0


automaticamente
PTP e depois novamente CP

N002 SPOS=0

N020 G0 X30 Y20


N030 X-30 Y-20
N120 G1 X30 Y20
N110 X30 Y0
M30
Preparao do trabalho
Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

367

Transformaes
6.9 Deslocamento PTP cartesiano

Exemplo de afastamento do plo com PTP e TRANSMIT


PTP
30

CP
N070 X20 Y2

20
10

-30

-20

-10

N060 X0 Y0

10

20

30

-10
-20

-30

N050 X10 Y0

Programao

Comentrio

N001 G0 X90 Z0 F10000 T1 D1 G90

Posio de sada

N003 TRANSMIT

Transformao TRANSMIT

N010 PTPG0

para cada bloco G0


automaticamente
PTP e depois novamente CP

N002 SPOS=0

N020 G0 X90 Y60


N030 X-90 Y-60
N040 X-30 Y-20
N050 X10 Y0
N060 X0 Y0
N070 X-20 Y2
N170 G1 X0 Y0
N160 X10 Y0
N150 X-30 Y-20
M30

Descrio
PTP e PTPG0
O PTPG0 considerado em todas transformaes que podem processar o PTP. Nos demais
casos o PTPG0 irrelevante.
Os blocos G0 so executados em modo CP.

Preparao do trabalho

368

Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

Transformaes
6.9 Deslocamento PTP cartesiano
A seleo do PTP e PTPG0 realizada no programa de pea ou atravs da desseleo do CP
no dado de mquina $MC_GCODE_RESET_VALUES[48].
CUIDADO
Condies gerais
Em relao aos movimentos da ferramenta e a coliso esto valendo vrias condies
gerais e determinadas excees de funo como:
Com PTP no pode existir nenhuma correo de raio de ferramenta (WRK) ativa.
Com PTPG0 o deslocamento realizado pelo CP com a correo de raio de ferramenta
(WRK) ativada.
Com PTP no possvel realizar uma aproximao e afastamento suave (WAB).
Com PTPG0 o deslocamento realizado pelo CP com a aproximao e afastamento suave
(WAB).
Com PTP no possvel realizar ciclos de desbaste (CONTPRON,

CONTDCON).

Com PTPG0 o deslocamento realizado com CP nos ciclos de desbaste (CONTPRON,


CONTDCON).
Chanfros (CHF,

CHR)

e arredondamentos (RND,

RNDM)

so ignorados.

O compressor no compatvel com o PTP e sua seleo automaticamente desfeita nos


blocos PTP.
Uma sobreposio de eixos na interpolao no pode ser alterada durante o segmento
PTP.
Com G643 passa-se automaticamente para suavizao com preciso axial G642.
Com o PTP ativo os eixos da transformao no podem ser eixos de posicionamento ao
mesmo tempo.
Literatura:
/FB2/ Manual de funes ampliadas; Transformao cinemtica (M1),
Captulo "Deslocamento PTP cartesiano"
PTP com TRACON:
O PTP tambm pode ser utilizado com o TRACON, se a primeira transformao PTP encadeada
oferecer o suporte.
Significado do STAT= e TU= com TRANSMIT
Se o eixo rotativo deve girar 180 graus e o contorno deve passar pelo plo em CP, os eixos
rotativos podem girados em funo do dado de mquina $MC_TRANSMIT_POLE_SIDE_FIX_1/2
[48] em -/+ 180 graus e deslocados no sentido horrio ou anti-horrio. Da mesma forma, se
pode ajustar para que seja realizado o deslocamento ou a rotao em torno do plo.

Preparao do trabalho
Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

369

Transformaes
6.10 Condies gerais na seleo de uma transformao

6.10

Condies gerais na seleo de uma transformao

Funo
A seleo das transformaes possvel atravs do programa de pea ou MDA. Aqui se
deve observar:
No se insere um bloco intermedirio de movimento (chanfros/raios).
Uma sucesso de blocos Spline deve estar concluda, caso contrrio aparece uma
mensagem.
A correo fina de ferramenta deve estar desselecionada (FTOCOF); caso contrrio
aparece uma mensagem.
A correo de raio da ferramenta deve estar desselecionada (G40); caso contrrio
aparece uma mensagem.
Um correo ativa do comprimento de ferramenta assumida pelo comando na
transformao.
O atual Frame ativo antes da transformao desselecionado pelo comando.
Um limite ativo de rea de trabalho desselecionado pelo comando nos eixos afetados
pela transformao (equivale ao WALIMOF).
A monitorao da rea de proteo desselecionada.
O modo de controle da trajetria e a suavizao so cancelados.
Todos os eixos especificados no dado de mquina devem ser sincronizados relativos ao
bloco.
Eixos trocados so destrocados; caso contrrio aparece uma mensagem.
emitida uma mensagem para os eixos dependentes.
Troca de ferramentas
Uma troca de ferramentas somente permitida com a correo de raio da ferramenta
desselecionada.
Uma troca da correo do comprimento da ferramenta e uma seleo/desseleo da
correo do raio da ferramenta no podem ser programadas no mesmo bloco.
Mudana de Frames
So permitidas todas instrues relativas ao sistema de coordenadas bsico (FRAME,
correo do raio da ferramenta). Porm, uma mudana de Frames com G91 (dimenso
incremental) no tratada de modo especial, diferente como na transformao inativa. O
incremento a ser executado avaliado no sistema de coordenadas da pea de trabalho do
novo Frame, independente de qual Frame estava estiver no bloco anterior.
Excees
Os eixos afetados pela transformao no podem ser utilizados:
como eixo Preset (alarme),
para a aproximao do ponto fixo (alarme),
para o referenciamento (alarme).

Preparao do trabalho

370

Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

Transformaes
6.11 Desselecionar a transformao (TRAFOOF)

6.11

Desselecionar a transformao (TRAFOOF)

Funo
Com o comando TRAFOOF so desativadas todas transformaes e Frames ativos.
Indicao
Em seguida, os Frames necessrios devem ser ativados atravs de uma nova
programao.
Aqui se deve observar:
Para a desseleo da transformao so aplicadas as mesmas condies gerais como na
seleo (veja o captulo "Condies gerais na seleo de uma transformao").

Sintaxe
TRAFOOF

Significado
TRAFOOF

6.12

Comando para desativar todas as transformaes e Frames ativos

Transformaes encadeadas (TRACON, TRAFOOF)

Funo
Sempre se pode ligar (encadear) duas transformaes consecutivas, de modo que as partes
de movimento dos eixos da primeira transformao se tornam os dados de entrada para a
segunda transformao, a encadeada. As partes de movimento da segunda transformao
atuam nos eixos da mquina.
A cadeia pode compreender duas transformaes.
Indicao
Uma ferramenta sempre atribuda primeira transformao de uma cadeia. A
transformao subsequente tem um comportamento como se o comprimento ativo da
ferramenta fosse zero. Apenas esto ativos os comprimentos bsicos da ferramenta
(_BASE_TOOL_) ajustados atravs de dados de mquina para a primeira transformao da
cadeia.

Preparao do trabalho
Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

371

Transformaes
6.12 Transformaes encadeadas (TRACON, TRAFOOF)
Fabricante da mquina
Observe as informaes do fabricante da mquina referente s eventuais transformaes
predefinidas atravs de dados de mquina.
As transformaes e transformaes encadeadas so opcionais. O atual catlogo fornece
informaes sobre a disponibilidade de determinadas transformaes da cadeia em
determinados comandos.
Aplicaes
Retificao de contornos que foram programados como linha perifrica de um
desenvolvimento de cilindro (TRACYL), com um rebolo de retificao inclinado, p. ex.
retificao de ferramenta.
Usinagem fina de um contorno no redondo produzido com TRANSMIT e rebolo de
retificao inclinado.

Sintaxe
TRACON(trf,par)

Se ativa uma transformao encadeada.

TRAFOOF

Significado
TRACON

A transformao encadeada ativada. Outra transformao ativada antes


desativada de modo implcito pelo TRACON().

TRAFOOF

A ltima transformao ativada (encadeada) desativada.

trf

Nmero da transformao encadeada:


0 ou 1 para primeira/nica transformao encadeada.
Se na primeira casa no foi programado nada, isto significa o mesmo que a
especificao do valor 0 ou 1, ou seja, se ativa a primeira/nica
transformao.
2 para a segunda transformao encadeada. (valores diferentes de 0 - 2
geram um alarme de erro).

par

Um ou mais parmetros separados por vrgula para as transformaes no


encadeamento que requerem parmetros, como o ngulo do eixo inclinado.
No caso de parmetros no especificados sero ativados os pr-ajustes ou
os parmetros que foram usados por ltimo. Com a colocao de vrgulas
deve-se providenciar para que os parmetros sejam avaliados na sequncia
em que forem solicitados, se os pr-ajustes devem atuar nos parmetros
precedentes. Especialmente na especificao deve haver pelo menos um
parmetro antes desta vrgula, mesmo se a especificao de trf no for
necessria, como o TRACON( , 3.7).

Preparao do trabalho

372

Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

Transformaes
6.12 Transformaes encadeadas (TRACON, TRAFOOF)

Requisitos
A segunda transformao deve se um "Eixo inclinado" (TRAANG). Como primeira
transformao so possveis:
Transformaes de orientao (TRAORI), inclusive cabeote de fresar cardnico

TRANSMIT

TRACYL

TRAANG

Para usar o comando de ativao de uma transformao encadeada necessrio que cada
transformao a ser encadeada e a transformao encadeada a ser ativada esteja definida
atravs de dados de mquina.
O uso de condies gerais e casos especiais especificados nas descries individuais das
transformaes tambm deve ser observado em um encadeamento.
Informaes sobre projeo dos dados de mquina das transformaes esto disponveis
no(a):
/FB2/ Manual de funes ampliadas; Transformaes cinemticas (M1) e
/FB3/ Manual de funes especiais; Transformaes de 3 a 5 eixos (F2).

Preparao do trabalho
Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

373

Transformaes
6.12 Transformaes encadeadas (TRACON, TRAFOOF)

Preparao do trabalho

374

Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

Cadeias cinemticas
7.1

Supresso de componentes (DELOBJ)

Funo
Com a funo DELOBJ os seguintes componentes podem ser "apagados":
Elementos da cadeia cinemtica
reas de proteo e elementos da rea de proteo da modelao geomtrica da
mquina
Pares de coliso
Dados de transformao
Alm isso, sero aplicadas todas as variveis de sistema de componente sobre o valor
default.
A supresso de um componente no ter impacto imediato e sim apenas aps o novo
cluclo do modelo em que o componente usado.
Exemplo:
Modelo: Modelo de coliso da funo de preveno coliso
Componente suprimido: Elemento
A supresso de um componente s ter impacto aps a nova exigncia de clculo do
modelo de coliso PROTA.

Sintaxe

[<RetVal>=] DELOBJ(<CompType>[,,,<NoAlarm>)])
[<RetVal>=] DELOBJ(<CompType>,<Index1>[,,<NoAlarm>])
[<RetVal>=] DELOBJ(<CompType>[,<Index1>][,<Index2>][,<NoAlarm>])

Preparao do trabalho
Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

375

Cadeias cinemticas
7.1 Supresso de componentes (DELOBJ)

Significado
DELOBJ:

<RetVal>:

Supresso de elementos de cadeias cinemticas, reas de proteo e


elementos da rea de proteo da modelao geomtrica da mquina, pares de
coliso e dados de transformao
Valor de devoluo da funo
Tipo de dado:
INT
Faixa de
0, -1, -2, ... -7
valores:
Valor:
0
Nenhuma ocorrncia de erro
-1
-2
-3
-4

<CompType>:

Chamada da funo sem parmetro Ao menos o


parmetro <CompType> deve ser indicado
<CompType>indica componentes desconhecidos
<Index1> menos que -1
<Index1> maior que o o nmero projetado de
componentes

-5

<Index1> tem na supresso de um componentes um


valor diferente de -1

-6
-7

<Index2> menos que <ndice1>


<Index2> maior que o o nmero projetado de
componentes

Tipo do componente a ser suprimido


Tipo de dado:
STRING
Valor:
"KIN_CHAIN_ELEM"

Suprime todas as variveis


do sistema:
$NK_...

"PROT_AREA"

Suprime todas as variveis


do sistema:
$NP_PROT_NAME
$NP_CHAIN_NAME
$NP_CHAIN_ELEM
$NP_1ST_PROT

"PROT_AREA_ELEM"

Suprime todas as variveis


do sistema:
$NP_NAME
$NP_NEXT
$NP_ADD
$NP_TYPE
$NP_PARA
$NP_OFF
$NP_DIR
$NP_ANG

"PROT_AREA_COLL_PAIRS"

Suprime todas as variveis


do sistema:
$NP_COLL_PAIR
$NP_SAFETY_DIST

"PROT_AREA_ALL"

Suprime todas as variveis


do sistema:
$NP_...

Preparao do trabalho

376

Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

Cadeias cinemticas
7.2 Averiguao do ndice por nome (NAMETOINT)
"TRAFO_DATA"

Suprime todas as variveis


do sistema:

"TRAFO_OBJS"

$NT_...

Suprime todas as
transformaes cinemticas
no ativas atuais.
<Index1> e <Index2>
parmetro no so avaliados

<Index1>:

ndice de incio dos componentes a serem apagados (opcional)


Tipo de dado:

INT

Faixa de
valores:

-1 x (nmero mximo de componentes projetados -1)

Valor:

-1

Todos os componentes do tipo indicado sero


suprimidos. <Index2> no ser avaliado.

> -1

ndice do (primeiro) componente a ser suprimido

Valor padro:
<Index2>:

-1

ndice de trmino dos componentes a serem apagados (opcional)


Se no estiver <Index2> programado, apenas as variveis de sistema dos
componentes referenciados <Index1> sero suprimidas.

<NoAlarm>:

Tipo de dado:

INT

Faixa de
valores:

<Index1> < x (nmero mximo de componentes projetados 1)

Valor padro:

Somente as variveis de sistema do componente referenciado


<Index1> sero excludas.

Eliminao do alarme (opcional)


Tipo de dado:

BOOL

Valor:

FALSE

Em caso de erro(<RetVal> < 0), a execuo do


programa ser interrompida e um alarme ser
mostrado.

TRUE

Em caso de erro, a execuo do programa ser


interrompida e nenhum alarme ser mostrado.
Caso de aplicao: Reao especfica do usurio
corresponde ao valor de devoluo

Valor padro:

Literatura

7.2

FALSE

Manual de funcionamento, funes especiais; captulo K7: Cadeias cinemticas

Averiguao do ndice por nome (NAMETOINT)

Funo

Nos campos variveis do sistema de tipo STRING esto inseridas cadeias de caracteres e
nomes especficos ao usurio Caso o indicador da varivel do sistema e o nome sejam
conhecidos, a funo pesquisaNAMETOINT com base no nome do ndice de varivel do
sistema a que pertence.

Preparao do trabalho
Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

377

Cadeias cinemticas
7.2 Averiguao do ndice por nome (NAMETOINT)

Sintaxe

<RetVal>=NAMETOINT(<SysVar>,<Name>[,<NoAlarm>])

Significado
NAMETOINT:

Pesquisa do ndice de varivel do sistema

<RetVal>:

Valor de devoluo da funo

<SysVar>:

Tipo de dado:

INT

Faixa de
valores:

-1 x (nmero mximo de componentes projetados -1)

Valor:

-1

O nome buscado no foi encontrado e ocorreu um


erro.

ndice de varivel do sistema

Nome do campo de varivel do sistema do tipoSTRING


Tipo de dado:

STRING

Faixa de
valores:

Nome do campo de varivel do sistema do tipo NCSTRING

<Name>:

A cadeia de caracteres e nome para o ndice varivel do sistema devem ser


pesquisados

<NoAlarm>:

Eliminao do alarme (opcional)

Tipo de dado:

STRING

Tipo de dado:

BOOL

Valor:

FALSE

Em caso de erro(<RetVal> < 0), a execuo do


programa ser interrompida e um alarme ser
mostrado.

TRUE

Em caso de erro, a execuo do programa ser


interrompida e nenhum alarme ser mostrado.
Caso de aplicao: Reao especfica do usurio
corresponde ao valor de devoluo

Exemplo
Cdigo de programa

Comentrio

DEF INT INDEX


$NP_PROT_NAME[27]="cobertura"
...
INDEX=NAMETOINT("$NP_PROT_NAME","cobert
ura")

;INDEX==27

Literatura
Manual de funcionamento, funes especiais; captulo K7: Cadeias cinemticas

Preparao do trabalho

378

Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

Preveno de coliso com cadeias cinemticas

Indicao
reas de proteo
As reas de proteo referidas nos seguintes captulos referem-se funo "Modelao
geomtrica da mquina"
Literatura:
Manual de funes especiais, captulo "Modelao geomtrica da mquina"

8.1

Teste sobre o par de coliso(COLLPAIR)

Funo
Na preveno de coliso com cadeias cinemticas, pode ser COLLPAIRverificado se duas
reas de proteo formam uma coliso, ou seja, se as duas, se ambas estiverem ativas,
so monitoradas na coliso.

Sintaxe

[<RetVal>=]COLLPAIR(<Name_1>,<Name_2>[,<NoAlarm>)])

Significado
COLLPAIR:

Comprovar que pertence a um par de coliso

<RetVal>:

Valor de devoluo da funo


Tipo de dado:

INT

Valor:

Ambas as reas de proteo formam um par de


coliso.

-1

Sero indicados menos de dois Strings ou pelo


menos um dos dois o String zero.

-2

A rea de proteo indicada no primeiro parmetro


no foi encontrada.

-3

A rea de proteo indicada no segundo parmetro


no foi encontrada.

-4

Nenhuma das duas reas de proteo indicadas


foram encontradas

-5

Amas as reas de proteo foram encontradas, mas


no junto com um par de coliso.

Valor de devoluo== ndice de par de coliso m

Preparao do trabalho
Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

379

Preveno de coliso com cadeias cinemticas


8.2 Solicitar novo clculo do modelo de coliso (PROTA)
<Name_1>:

<Name_2>:

<NoAlarm>:

Nome da primeira rea de proteo


Tipo de dado:

STRING

Faixa de
valores:

Nome da rea de proteo parametrizada

Nome da segunda rea de proteo


Tipo de dado:

STRING

Faixa de
valores:

Nome da rea de proteo parametrizada

Eliminao do alarme (opcional)


Tipo de dado:

BOOL

Valor:

FALSE

Em caso de erro(<RetVal> < 0), a execuo do


programa ser interrompida e um alarme ser
mostrado.

TRUE

Em caso de erro, a execuo do programa ser


interrompida e nenhum alarme ser mostrado.
Caso de aplicao: Reao especfica do usurio
corresponde ao valor de devoluo

Valor padro:

Literatura

8.2
Funo

FALSE

Manual de funcionamento, funes especiais; captulo K9: Preveno de coliso

Solicitar novo clculo do modelo de coliso (PROTA)


O modelo de coliso pode ser alterado atravs da redao de parmetros de sistema para
cadeias cinemticas, modelagem geomtrica de mquinas e/ou preveno de coliso no
programa de peas ou pela interface BTSS. A fim de que as modifies surtam efeito, deve
ser exigida, juntamente com o procedimento, PROTA um novo clculo do modelo
Status da rea de proteo
Atravs da chamada do procedimento PROTA ser realizado um novo clculo do modelo de
coliso sem modificao do status da rea de proteo. Uma nova rea de proteo
definida encontra-se depois no status de inicializao. Uma rea de proteo, cujo o nome
foi alterado,no vale como redefinida. Seu status permanece sem alterao.
Atravs da chamada do procedimentoPROTA "com o parmetro R" ser realizado um novo
clculo do modelo de coliso com modificao do status da rea de proteo. Assim, todas
as reas de proteo sero transferidas novamente em seus status de inicializao
correspondentes.$NP_INIT_STAT
Indicao
Troca de ferramenta e reas de proteo de ferramenta geradas automaticamente.
Aps uma troca de ferramenta, ser sempre recalculado o modelo de coliso nas reas de
proteo de ferramentas geradas automaticamente.

Preparao do trabalho

380

Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

Preveno de coliso com cadeias cinemticas


8.2 Solicitar novo clculo do modelo de coliso (PROTA)

Sintaxe

PROTA
PROTA(<Par>)

Significado
PROTA:

Solicitar novo clculo do modelo de coliso


Parada de prprocessamento:

<Par>:

sim

Parmetro
Tipo de dado:

STRING

Faixa de
valores:

"R"
O reclculo do modelo de coliso de todas as zonas de proteo
restaurado para sua inicializao correspondente.

Condies gerais
Simulao
O procedimento PROTAnos programas de peas no pode ser utilizado no contexto da
simulao (simNCK).
Exemplo:
Cdigo de programa

Comentrio

...
IF $P_SIM == FALSE
PROTA
ENDIF

;IF Simulao no ativa


;THEN modelo de coliso recalculado
;ENDIF

...

Literatura
Manual de funcionamento, funes especiais; captulo K9: Preveno de coliso

Preparao do trabalho
Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

381

Preveno de coliso com cadeias cinemticas


8.3 Estabelecer a condio da rea de proteo (PROTS)

8.3

Estabelecer a condio da rea de proteo (PROTS)

Funo
Na preveno da coliso com cadeias cinemticas, pode ser estabelecida PROTS junto
com o procedimento a condio das reas de proteo.

Sintaxe

PROTS(<Status>)
PROTS(<Status>,<Name_1>)
PROTS(<Status>,<Name_1>,...,<Name_n>)

Significado
PROTS:

<State>:

<Name_1> ...
<Name_n>:

Estabelecer a condio da rea de proteo


Parada de prprocessamento:

no

Sozinho no
bloco:

sim

Status que deve ser estabelecido nas reas de proteo


Tipo de dado:

CHAR

Valor:

"A" ou "a"

Status: Ativo

"I"ou "i"

Status: Inativo

"P"ou "p"

Status: pr-ativado
(a ativao acontece via interface NC/PLC)

"R"ou "r"

Status = $NP_INIT_STAT (status de


inicializao)

Nomear uma ou mais status que devem ser estabelecidos nas reas de
proteo
Nota:
o nmero mximo de reas de proteoque podem ser indicadas como
parmetro depende apenas do nmero mximo possvel de caracteres por linha
do programa
Tipo de dado:

STRING

Faixa de
valores:

Nome da rea de proteo parametrizada


Nota:
se nenhum nome for indicado, ser estabelecido o status
indicado para todas as reas de proteo definidas.

Literatura
Manual de funcionamento, funes especiais; captulo K9: Preveno de coliso

Preparao do trabalho

382

Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

Preveno de coliso com cadeias cinemticas


8.4 Determinao da distncia de duas reas de proteo (PROTD)

8.4

Determinao da distncia de duas reas de proteo (PROTD)

Funo
Na preveno de colises com cadeias cinemticas com a funo de PROTD, a distncia
de duas zonas de proteo calculada.
Caractersticas da funo:
O clculo da distncia acontece independente do status da rea de proteo (ativado,
desativado, pr-ativado).
O clculo da distncia acontece com as posies vlidas no final do bloco de processo.
Sobreposies que devem ser consideradas no curso principal (p. exemplo
Deslocamento DRF ou deslocamentos externos do ponto zero) contam com o ponto de
interpretao da funo dos valores vlidos no clculo da distncia.
Indicao
Sincronizao
Na utilizao da funo PROTD, de exclusiva responsabilidade do usurio sincronizar
o processamento e o pr-processamento eventualmente por meio da parada de prprocessamentoSTOPRE.
Coliso
Caso se apresente uma coliso entre as reas de proteo indicadas, a funo oferece uma
distncia de 0,0. H uma coliso quando vale para a distncia:
0,0 < distncia< MD10619 $MN_COLLISION_TOLERANCE (tolerncia para o teste de
coliso)
A distncia de segurana para o teste de coliso(MD10622
$MN_COLLISION_SAFETY_DIST) no ser considerada no clculo da distncia

Sintaxe

[<RetVal>=] PROTD(<Name_1>,<Name_2>,VAR <Vector>[,<System>])


[<RetVal>=] PROTD(,,VAR <Vector>[,<System>])

Preparao do trabalho
Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

383

Preveno de coliso com cadeias cinemticas


8.4 Determinao da distncia de duas reas de proteo (PROTD)

Significado
PROTD:

<RetVal>:

<Name_1>,
<Name_2>:

<Vector>:

Calcula a distncia de ambas as reas de proteo indicadas.


Parada de prprocessamento:

no

Sozinho no bloco:

sim

Valor de devoluo da funo: Valor absoluto da distncia das duas zonas de


proteo ou 0,0 em Coliso ( ver acima: Pargrafo de Coliso)
Tipo de dado:

REAL

Faixa de valores:

0.0 x +max. valor REAL

Nome de ambas as reas de proteo das quais a distncia entre uma e outra
deve ser calculadas. (opcional)
Tipo de dado:

STRING

Faixa de valores:

Nome da rea de proteo parametrizada

Valor padro:

Caso no seja indicada nenhuma rea de proteo, a funo


calcula a menosr distncia atual de todas as reas de
proteo ativadas e pr-ativadas contidas no modelo de
coliso.

Valor de retorno: Vetor de distncia tridimensional da rea de proteo<Name_2>


para rea de proteo<Name_1> com:

<Vector>[0]:coordenada X no sistema de coordenadas mundial

<Vector>[1]:coordenada Y no sistema de coordenadas mundial

<Vector>[2]:coordenada Z no sistema de coordenadas mundial


Em Coliso: <Vector> == Vetor zero

<Sistema>:

Tipo de dado:

VAR REAL[3]

Faixa de valores:

<Vector>[n]: 0,0 x max. valor REAL

Sistema de medica (inch / mtrico) para distncia e vetor de distncia (opcional)


Tipo de dado:

BOOL

Valor:

FALSE

Sistema de medida correspondente


funo G ativa atual do grupo G 13 (G70,
G71, G700, G710).

TRUE

Sistema de medida correspondente ao


sistema bsico ajustado: MD52806
$MN_ISO_SCALING_SYSTEM

Valor padro:

FALSE

Literatura
Manual de funcionamento, funes especiais; captulo K9: Preveno de coliso

Preparao do trabalho

384

Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

Corretores de ferramentas
9.1

Memria de correes

Funo

Estrutura da memria de correes


Cada campo de dados pode ser chamado com um nmero T ou D (exceto "N D plano") e,
alm das informaes geomtricas da ferramenta, tambm contm outras especificaes
como por exemplo o tipo de ferramenta.
Estrutura plana de nmeros D
A "estrutura plana de nmeros D" utilizada se o gerenciamento de ferramentas for
realizado fora da NCK. Neste caso os nmeros D so criados com os respectivos blocos de
correo de ferramenta sem a atribuio s ferramentas.
No programa de pea ainda se pode programar o T. Mas este T no tem relao com o
nmero D programado.
Dados de corte do usurio
Atravs de dados de mquina podem ser configurados dados de corte do usurio. Observe
as instrues do fabricante da mquina.

Parmetro da ferramenta
Indicao
Valores individuais na memria de correes
Os diversos valores da memria de correes P1 at P25 podem ser lidos e gravados no
programa atravs de variveis de sistema. Os demais parmetros esto reservados.
Os parmetros de ferramenta $TC_DP6 at $TC_DP8, $TC_DP10 e $TC_DP11, $TC_DP15
at $TC_DP17, $TC_DP19 e $TC_DP20 tm outro significado, independentemente do tipo
de ferramenta.
Parmetro de ferramenta
Nmero (DP)

Significado das variveis de sistema

Observao

$TC_DP1

Tipo de ferramenta

Como vista geral veja a lista

$TC_DP2

Posio de corte

Apenas para ferramentas de


tornear

Geometria

Correo de comprimentos

$TC_DP3

Comprimento 1

Processamento por

$TC_DP4

Comprimento 2

Tipo e plano

$TC_DP5

Comprimento 3

Preparao do trabalho
Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

385

Corretores de ferramentas
9.1 Memria de correes

Parmetro de ferramenta
Nmero (DP)

Significado das variveis de sistema

Geometria

Raio

$TC_DP6 1)
$TC_DP6 2)

Raio 1 / comprimento 1
dimetro d

Ferram. de fresar/tornear/retificar
Serra para ranhuras

$TC_DP7 1)
$TC_DP7 2)

Comprimento 2 / raio de canto de fresa cnica


Largura de ranhura b raio de canto

Fresas
Serra para ranhuras

$TC_DP8 1)
$TC_DP8 2)

Raio de arredondamento 1 para ferramentas de fresar


Ressalto k

Fresas
Serra para ranhuras

$TC_DP9 1) 3)

Raio de arredondamento 2

Reservado

$TC_DP10 1)

ngulo 1 lado frontal da ferramenta

Fresas cnicas

$TC_DP11 1)

ngulo 2 eixo longitudinal da ferramenta

Fresas cnicas

Desgaste

Correo de comprimento e raio

$TC_DP12

Comprimento 1

$TC_DP13

Comprimento 2

$TC_DP14

Observao

Comprimento 3

$TC_DP15
$TC_DP15 2)

Raio 1 / comprimento 1
dimetro d

Ferramenta de
fresar/tornear/retificar
Serra para ranhuras

$TC_DP16 1)
$TC_DP16 3)

Comprimento 2 / Raio de canto de fresa cnica


Largura de ranhura b raio de canto

Fresas
Serra para ranhuras

$TC_DP17 1)
$TC_DP17 2)

Raio de arredondamento 1 para fresas


Ressalto k

Fresas / fresamento de topo 3D


Serra para ranhuras

$TC_DP18 1) 3)

Raio de arredondamento 2

reservado

$TC_DP191)

ngulo 1 lado frontal da ferramenta

Fresas cnicas

$TC_DP201)

ngulo 2 eixo longitudinal da ferramenta

Fresas cnicas

Medida bsica/Adaptador

Correes dos comprimentos

$TC_DP21

Comprimento 1

$TC_DP22

Comprimento 2

$TC_DP23

Comprimento 3

1)

Tecnologia
$TC_DP24

ngulo livre

Apenas para ferramentas de


tornear

$TC_DP25

reservado

1)

serve tambm para equipamentos de fresamento para fresamento de topo 3D.

2)

para equipamentos do tipo Serra de entalhe

3)

reservado (no usado pelo SINUMERIK 840D sl)

Observaes
Para as grandezas geomtricas (p. ex. comprimento 1 ou raio) existem vrios componentes
de entrada. Estes so processados aditivamente para uma grandeza resultante (p. ex.
comprimento total 1, raio total), que entrar em ao.
As correes desnecessrias devem ser especificadas com o valor zero.
Preparao do trabalho

386

Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

Corretores de ferramentas
9.1 Memria de correes

Parmetros de ferramenta $TC-DP1 at $TC-DP23 com ferramentas de contorno


Indicao
Os parmetros do equipamento, que no esto registrados na tabela, como por exemplo:
B. $TC_DP7, no sero avaliados, d. h. seu contedo irrelevante.

Parmetro de ferramenta Significado


Nmero (DP)
$TC_DP1

Tipo de ferramenta

$TC_DP2

Posio de corte

Geometria

Correo de comprimentos

$TC_DP3

Comprimento 1

$TC_DP4

Comprimento 2

$TC_DP5

Comprimento 3

Geometria

Raio

$TC_DP6

Raio

Geometria

ngulo limite

$TC_DP10

ngulo limite mnimo

$TC_DP11

ngulo limite mximo

Desgaste

Correo de comprimento e raio

$TC_DP12

Desgaste de comprimento 1

$TC_DP13

Desgaste de comprimento 2

$TC_DP14

Desgaste de comprimento 3

$TC_DP15

Desgaste do raio

Desgaste

ngulo limite

$TC_DP19

ngulo limite mn. de desgaste

$TC_DP20

ngulo limite mx. de desgaste

Medida
bsica/Adaptador

Correes dos comprimentos

$TC_DP21

Comprimento 1

$TC_DP22

Comprimento 2

$TC_DP23

Comprimento 3

Cortes Dn

Observao
400 at 599

Valor bsico e valor de desgaste


Os tamanhos resultantes sempre resultam da soma do valor bsico com o valor de
desgaste (p. ex. $TC_DP6 + $TC_DP15 para o raio). Para o comprimento da ferramenta
ainda adicionada a dimenso bsica ($TC_DP21 $TC_DP23) do primeiro corte. Neste
comprimento de ferramenta tambm tero efeito todas as demais grandezas que podem
influenciar o comprimento efetivo de uma ferramenta convencional (como adaptadores,
porta-ferramenta orientvel, dados de ajuste).
ngulo limite 1 e 2
Os ngulos limite 1 e 2 sempre tm sua referncia no vetor do centro do corte ao ponto de
referncia do corte e so contados em sentido anti-horrio.
Preparao do trabalho
Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

387

Corretores de ferramentas
9.2 Corretores aditivos

9.2

Corretores aditivos

9.2.1

Ativar correes aditivas (DL)

Funo
As correes aditivas podem ser consideradas como correes programveis do processo
de usinagem. Elas tm referncia nos dados geomtricos de um corte com isso so parte
integrante dos dados de corte da ferramenta.
Os dados de uma correo aditiva so ativados por meio de um nmero DL (DL: (Location
dependent; correes referentes ao respectivo local de aplicao) e especificados por meio
da interface de operao.

Aplicao
Atravs das correes aditivas podem ser compensados erros de medio condicionados
ao local de aplicao.

Sintaxe

DL=<nmero>

Significado
Elemento

Descrio

DL:

Comando para ativao de uma correo aditiva

<Nmero>:

Atravs do parmetro <nmero> especificado o bloco de dados de correo da


ferramenta a ser ativado

Indicao
A definio da quantidade e ativao das correes aditivas so realizadas atravs de
dados de mquina ( Observar as informaes do fabricante da mquina!).

Preparao do trabalho

388

Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

Corretores de ferramentas
9.2 Corretores aditivos

Exemplo
O mesmo corte utilizado para 2 assentos de rolamento:

/RFDOGHDSOLFDR

/RFDOGHDSOLFDR

''/ 

'









Cdigo de programa

Comentrio

N110 T7 D7

; O revlver est posicionado no alojamento 7. D7 e DL=1


so ativados e executados no prximo bloco.

N120 G0 X10 Z1
N130 G1 Z-6
N140 G0 DL=2 Z-14

; De forma aditiva ao D7 se ativa o DL=2 e executado no


prximo bloco.

N150 G1 Z-21
N160 G0 X200 Z200

; Aproximar o ponto de troca de ferramentas.

...

9.2.2

Definir valores de desgaste e de ajuste ($TC_SCPxy[t,d], $TC_ECPxy[t,d])

Funo
Os valores de desgaste e de ajuste podem ser lidos e gravados atravs de variveis de
sistema. Aqui a lgica se orienta na lgica das respectivas variveis de sistema para
ferramentas e cortes.

Preparao do trabalho
Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

389

Corretores de ferramentas
9.2 Corretores aditivos

Variveis de sistema
Varivel de sistema

Significado

$TC_SCPxy[<t>,<d>]

Valores de desgaste que esto atribudos aos respectivos


parmetros geomtricos atravs de xy, onde x corresponde ao
nmero do valor de desgaste e y estabelece a relao com o
parmetro geomtrico.

$TC_ECPxy[<t>,<d>]

Valores de ajuste que esto atribudos aos respectivos parmetros


geomtricos atravs de xy, onde x corresponde ao nmero do valor
de ajuste e y estabelece a relao com o parmetro geomtrico.

<t>: Nmero T da ferramenta


<d>: Nmero D do corte da ferramenta

Indicao
Os valores definidos de desgaste e de ajuste so adicionados aos parmetros geomtricos
e aos demais parmetros de correo (nmero D).

Exemplo
O valor de desgaste do comprimento 1 definido para o corte <d> da ferramenta <t> no
valor 1.0.
Parmetro: $TC_DP3 (Comprimento 1, para ferramentas de tornear)
Valores de desgaste: $TC_SCP13 at $TC_SCP63
Valores de ajuste: $TC_ECP13 at $TC_ECP63
$TC_SCP43 [<t>,<d>] = 1.0

9.2.3

Deletar correes aditivas (DELDL)

Funo
Com o comando DELDL so deletadas correes aditivas para o corte de uma ferramenta
(liberao de memria). Aqui so deletados tanto os valores de desgaste definidos como os
valores de ajuste definidos.

Sintaxe

DELDL[<t>,<d>]
DELDL[<t>]
DELDL
<estado>=DELDL[<t>,<d>]

Preparao do trabalho

390

Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

Corretores de ferramentas
9.3 Tratamentos especiais de corretor de ferramenta

Significado
DELDL

Comando para deletar correes aditivas

<t>

Nmero T da ferramenta

<d>

Nmero D do corte da ferramenta

DELDL[<t>,<d>]

So deletadas todas as correes aditivas do corte <d> da ferramenta

<t>.
DELDL[<t>]

So deletadas todas as correes aditivas de todos os cortes da


ferramenta <t>.

DELDL

So deletadas todas as correes aditivas de todos cortes de todas


ferramentas da unidade TO (para o canal em que o comando for
programado).

<estado>

Estado de deletao
Valor:

Significado:

A deletao foi realizada com sucesso.

A deletao no foi executada (quando a parametrizao


denomina exatamente um corte), ou a deletao no foi
executada totalmente (quando a parametrizao denomina
vrios cortes).

Indicao
Os valores de desgaste e de ajuste de ferramentas ativas no podem ser deletados
(comportamento semelhante deletao do D e de dados de ferramenta).

9.3

Tratamentos especiais de corretor de ferramenta

Funo
Com os dados de ajuste SD42900 at SD42960 se pode controlar a avaliao do sinal
prvio para comprimento de ferramenta e desgaste.
Isto tambm se aplica ao comportamento dos componentes de desgaste no espelhamento
de eixos geomtricos ou na mudana de plano de usinagem e ainda para compensao de
temperatura no sentido da ferramenta.

Valores de desgaste
Se a seguir forem tomados como referncia valores de desgaste, entendemos sempre como
a soma dos prprios valores de desgaste ($TC_DP12 at $TC_DP20) e das correes
aditivas com os valores de desgaste ($SCPX3 at $SCPX11) e os valores de ajuste
($ECPX3 at $ECPX11).
Para mais informaes sobre as correes aditivas, veja:
Literatura:
Manual de funes para gerenciamento de ferramentas

Preparao do trabalho
Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

391

Corretores de ferramentas
9.3 Tratamentos especiais de corretor de ferramenta

Dados de ajuste
Dados de ajuste

Significado

SD42900 $SC_MIRROR_TOOL_LENGTH

Espelhamento de componentes do
comprimento de ferramentas e de componentes
da dimenso bsica.

SD42910 $SC_MIRROR_TOOL_WEAR

Espelhamento de valores de desgaste dos


componentes do comprimento de ferramentas.

SD42920 $SC_WEAR_SIGN_CUTPOS

Avaliao do sinal precedente de componentes


de desgaste em funo da posio do corte.

SD42930 $SC_WEAR_SIGN

Inverte o sinal das dimenses de desgaste.

SD42935 $SC_WEAR_TRANSFORM

Transformao dos valores de desgaste.

SD42940 $SC_TOOL_LENGTH_CONST

Associao dos componentes de comprimento


de ferramenta com os eixos geomtricos.

SD42950 $SC_TOOL_LENGTH_TYPE

Associao dos componentes de comprimento


de ferramenta independentemente do tipo de
ferramenta.

SD42960 $SC_TOOL_TEMP_COMP

Valor de compensao de temperatura no


sentido da ferramenta. Tambm est ativo com
a orientao de ferramenta presente.

Literatura
Manual de funes bsicas; Correo de ferramenta (W1)

Outras informaes
Ativao dos dados de ajuste alterados
A nova avaliao de componentes de ferramentas em uma alterao dos dados de ajuste
descritos somente se ativa na prxima vez que o corte de ferramenta for selecionado. Se
uma ferramenta est ativa e a avaliao dos dados alterados desta ferramenta deve ser
ativada, esta ferramenta deve ser selecionada novamente.
O mesmo se aplica no caso em que o comprimento resultante da ferramenta sofrer
alterao, pois o estado do espelhamento de um eixo foi alterado. A ferramenta deve ser
selecionada novamente depois do comando de espelhamento, para que os componentes
alterados do comprimento da ferramenta possam ser ativados.
Porta-ferramenta orientvel e novos dados de ajuste
Os dados de ajuste SD42900 at SD42940 no atuam sobre os componentes de um portaferramenta orientvel que eventualmente esteja ativo. Entretanto, uma ferramenta com seu
comprimento total resultante (comprimento da ferramenta + desgaste + dimenso bsica)
sempre entra no processamento com um porta-ferramenta orientvel. No processamento do
comprimento total resultante so consideradas todas alteraes geradas atravs dos dados
de ajuste, ou seja, os vetores do porta-ferramenta orientvel independem do plano de
usinagem.

Preparao do trabalho

392

Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

Corretores de ferramentas
9.3 Tratamentos especiais de corretor de ferramenta
Indicao
Freqentemente, ao serem empregados porta-ferramentas orientveis, ser mais
conveniente definir todas ferramentas para um sistema bsico no espelhado, mesmo para
aquelas que sero utilizadas em operaes espelhadas. Na usinagem com eixos
espelhados o porta-ferramenta ser girado de modo que a posio real da ferramenta seja
descrita de forma correta. Todos componentes de comprimento da ferramenta atuam
automaticamente no sentido correto, de modo que para o comando apenas resta a
avaliao de alguns componentes atravs de dados de ajuste em funo do estado de
espelhamento de determinados eixos.
Outras possibilidades de aplicao
O uso da funcionalidade de porta-ferramentas orientveis tambm pode ser bastante til, se
na mquina no houver nenhuma possibilidade fsica de girar as ferramentas, mas as
ferramentas serem instaladas definitivamente com diferentes orientaes. O
dimensionamento da ferramenta pode ser realizado em uma orientao, e as dimenses
relevantes usinagem resultam atravs de rotaes do porta-ferramenta virtual.

9.3.1

Espelhar comprimentos de ferramentas

Funo
Com os dados de ajuste SD42900 $SC_MIRROR_TOOL_LENGTH e
SD42910 $SC_MIRROR_TOOL_WEAR definidos diferente de zero, podemos espelhar
componentes de comprimento de ferramentas e componentes da dimenso bsica com
valores de desgaste em seus respectivos eixos.

=
0

'

=
:

:&6
'FRP6/

0

:&6
'FRP6/

SD42900 $SC_MIRROR_TOOL_LENGTH
Dado de ajuste diferente de zero:
Os componentes de comprimento de ferramenta ($TC_DP3, $TC_DP4 e $TC_DP5) e os
componentes da dimenso bsica ($TC_DP21, $TC_DP22 e $TC_DP23), cujos eixos esto
espelhados, tambm so espelhados atravs da inverso de sinais.

Preparao do trabalho
Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

393

Corretores de ferramentas
9.3 Tratamentos especiais de corretor de ferramenta
Os valores de desgaste no so espelhados juntos. Se estes tambm devem ser
espelhados, ento se deve empregar o dado de ajuste
SD42910 $SC_MIRROR_TOOL_WEAR.
SD42910 $SC_MIRROR_TOOL_WEAR
Dado de ajuste diferente de zero:
Os valores de desgaste dos componentes de comprimento da ferramenta, cujos eixos esto
espelhados, tambm so espelhados atravs da inverso de sinais.

9.3.2

Avaliao de sinais de desgaste

Funo
Com os dados de ajuste SD42920 $SC_WEAR_SIGN_CUTPOS e
SD42930 $SC_WEAR_SIGN definidos diferente de zero, podemos inverter a avaliao de
sinais dos componentes de desgaste.
SD42920 $SC_WEAR_SIGN_CUTPOS
Dado de ajuste diferente de zero:
Nas ferramentas com posio de corte relevante (ferramentas de tornear e de retificar, tipos
de ferramenta 400) a avaliao de sinais dos componentes de desgaste no plano de
usinagem depende da posio do corte. Nos tipos de ferramenta sem posio de corte
relevante, este dado de ajuste no tem nenhum significado.
Na seguinte tabela esto marcadas com um X as dimenses cujo sinal invertido atravs
do SD42920 (diferente de 0):
Posio de corte

Comprimento 1

Comprimento 2

1
2

5
6
7
8

X
X

Indicao
A avaliao de sinais atravs do SD42920 e do SD42910 independente uma da outra. Por
exemplo, se o sinal de uma dimenso se alterar atravs dos dois dados de ajuste, ento o
sinal resultante permanece inalterado.

Preparao do trabalho

394

Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

Corretores de ferramentas
9.3 Tratamentos especiais de corretor de ferramenta
SD42930 $SC_WEAR_SIGN
Dado de ajuste diferente de zero:
O sinal de todas dimenses de desgaste invertido. O efeito ocorre tanto no comprimento
da ferramenta como nas demais grandezas como raio de ferramenta, raio de
arredondamento, etc.
Se for especificada uma dimenso de desgaste, ento a ferramenta ser "mais curta" e
"mais estreita", veja o captulo "Correo de ferramenta, tratamento especial", "Ativao dos
dados de ajuste alterados".

9.3.3

Sistema de coordenadas da usinagem ativa (TOWSTD, TOWMCS, TOWWCS,


TOWBCS, TOWTCS, TOWKCS)

Funo
Em funo da cinemtica da mquina ou da presena de um porta-ferramenta orientvel, os
valores de desgaste medidos em um destes sistemas de coordenadas sero transportados
e transformados para um sistema de coordenadas adequado.
Sistemas de coordenadas da usinagem ativa
A partir dos seguintes sistemas de coordenadas podem resultar Offsets do comprimento da
ferramenta, com os quais se inclui o componente desgaste de comprimento de ferramenta
atravs do respectivo cdigo G do grupo 56 em uma ferramenta ativa.
Sistema de coordenadas da mquina (MCS)
Sistema de coordenadas bsico (BCS)
Sistema de coordenadas da pea (WCS)
Sistema de coordenadas da ferramenta (TCS)
Sistema de coordenadas da ferramenta da transformao cinemtica (KCS)

Sintaxe

TOWSTD
TOWMCS
TOWWCS
TOWBCS
TOWTCS
TOWKCS

Significado
TOWSTD

Valor de ajuste bsico para correes no valor de desgaste do comprimento


da ferramenta

TOWMCS

Correes no comprimento da ferramenta em MCS

TOWWCS

Correes no comprimento da ferramenta em WCS

TOWBCS

Correes no comprimento da ferramenta em BCS

Preparao do trabalho
Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

395

Corretores de ferramentas
9.3 Tratamentos especiais de corretor de ferramenta
TOWTCS

Correes do comprimento da ferramenta no ponto de referncia do portaferramenta (porta-ferramenta orientvel)

TOWKCS

Correes do comprimento da ferramenta do cabeote de ferramenta


(transformao cinemtica)

Outras informaes
Caractersticas de diferenciao
Na seguinte tabela esto representadas as caractersticas mais importantes de
diferenciao:
Cdigo G

Valor de desgaste

Porta-ferramenta orientvel ativo

TOWSTD

Valor de ajuste bsico, comprimento


da ferramenta

Os valores de desgaste esto


sujeitos rotao.

Valor de desgaste em MCS. O

Apenas se gira o vetor do

nenhum porta-ferramenta orientvel


estiver ativo.

resultante, sem considerao do


desgaste.

TOWWCS

O valor de desgaste convertido do


WCS para MCS.

O vetor da ferramenta
processado sem considerao do
desgaste, como no TOWMCS.

TOWBCS

O valor de desgaste convertido do


BCS para MCS.

O vetor da ferramenta
processado sem considerao do
desgaste, como no TOWMCS.

TOWTCS

O valor de desgaste convertido do


sistema de coordenadas da
ferramenta para o MCS.

O vetor da ferramenta
processado sem considerao do
desgaste, como no TOWMCS.

TOWMCS

TOWMCS idntico ao TOWSTD, quando comprimento de ferramenta

TOWWCS, TOWBCS, TOWTCS:

O vetor de desgaste adicionado ao vetor da ferramenta.

Transformao linear
A definio do comprimento da ferramenta somente conveniente em MCS se o MCS
resultar do BCS atravs de uma transformao linear.
Transformao no linear
Se, por exemplo, uma transformao no linear estiver ativa com TRANSMIT, ento se
utiliza automaticamente o BCS quando se especifica o MCS como sistema de coordenadas
desejado.
Nenhuma transformao cinemtica e nenhum porta-ferramenta orientvel
Se nem uma transformao cinemtica nem um porta-ferramenta orientvel estiver ativo,
ento, com exceo do WCS, os demais quatro sistemas de coordenadas coincidiro. Com
isso apenas o WCS se diferencia dos demais. Visto que so avaliados somente os
comprimentos de ferramentas, as transformaes entre os sistemas de coordenadas no
tm nenhuma importncia.
Literatura:
Para mais informaes sobre correes de ferramentas, veja:
Manual de funes bsicas; Correes de ferramenta (W1)

Preparao do trabalho

396

Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

Corretores de ferramentas
9.3 Tratamentos especiais de corretor de ferramenta

Incluso dos valores de desgaste


O dado de ajuste SD42935 $SC_WEAR_TRANSFORM define quais dos trs componentes
de desgaste:
Desgaste
Correes aditivas finas
Correes aditivas aproximadas
sero submetidas uma rotao atravs de uma transformao de adaptador ou de um
porta-ferramenta orientvel, se um dos seguintes cdigos G estiver ativo:

TOWSTD

Posio inicial

para correes no comprimento da ferramenta

TOWMCS

Valores de desgaste

no sistema de coordenadas da mquina (MCS)

TOWWCS

Valores de desgaste

no sistema de coordenadas da pea (WCS)

TOWBCS

Valores de desgaste (BCS)

no sistema de coordenadas bsico

TOWTCS

TOWKCS

Valores de desgaste no sistema de coordenadas da ferramenta no assento do


porta-ferramenta (referncia do porta-ferramenta T)
Valores de desgaste no sistema de coordenadas do cabeote de ferramenta na
transformao cinemtica

Indicao
A avaliao dos diversos componentes de desgaste (atribuio aos eixos geomtricos,
avaliao de sinais) influenciada atravs:
do plano ativo
da transformao de adaptador
dos seguintes dados de ajuste:
SD42910 $SC_MIRROW_TOOL_WEAR
SD42920 $SC_WEAR_SIGN_CUTPOS
SD42930 $SC_WEAR_SIGN
SD42940 $SC_TOOL_LENGTH_CONST
SD42950 $SC_TOOL_LENGTH_TYPE

Preparao do trabalho
Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

397

Corretores de ferramentas
9.3 Tratamentos especiais de corretor de ferramenta

9.3.4
Funo

Comprimento de ferramenta e mudana de planos

Com o dado de ajuste SD42940 $SC_TOOL_LENGTH_CONST definida diferente de zero,


podemos atribuir os componentes de comprimento de ferramenta como comprimento,
desgaste e dimenso bsica aos eixos geomtricos para ferramentas de tornear e retificar
em uma mudana de planos.
SD42940 $SC_TOOL_LENGTH_CONST
Dado de ajuste diferente de zero:
A atribuio dos componentes de comprimento de ferramenta (comprimento, desgaste e
dimenso bsica) com os eixos geomtricos no se altera na mudana do plano de
usinagem (G17 - G19).
A seguinte tabela mostra a associao dos componentes de comprimento de ferramenta
com os eixos geomtricos para ferramentas de tornear e de retificar (tipo de ferramenta 400
at 599):
Contedo

Comprimento 1

Comprimento 2

Comprimento 3

17

*)

19

-17

-18

-19

*)

Cada valor diferente de 0, que no igual a um dos seis valores mencionados, ser avaliado
como o valor 18.

A seguinte tabela mostra a associao dos componentes de comprimento de ferramenta


com os eixos geomtricos para todas demais ferramentas (tipo de ferramenta < 400 e >
599):
Plano de usinagem

Comprimento 1

Comprimento 2

Comprimento 3

*)

18

19

-17

-18

-19

*)

Cada valor diferente de 0, que no igual a um dos seis valores mencionados, ser avaliado
como o valor 17.

Indicao
Na representao nas tabelas se pressupe que os eixos geomtricos at 3 sejam
identificados com X, Y e Z. Determinante para a atribuio de uma correo para um eixo
no o identificador de eixo, mas a seqncia dos eixos.

Preparao do trabalho

398

Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

Corretores de ferramentas
9.4 Correo de ferramenta Online (PUTFTOCF, FCTDEF, PUTFTOC, FTOCON, FTOCOF)

9.4

Correo de ferramenta Online (PUTFTOCF, FCTDEF, PUTFTOC,


FTOCON, FTOCOF)

Funo

Com a funo "Correo de ferramenta Online" ativa, no caso de ferramentas para


retificao, realizado um clculo imediato da correo do comprimento de ferramenta que
resulta da usinagem.
Um exemplo de aplicao a dressagem, onde o rebolo dressado paralelamente
usinagem:

5RORGUHVVDGRU

9DORUGH
GUHVVDJHP

5HEROR
&RPSULPHQWR
DVHU
FRUULJLGR

3HD

A correo do comprimento da ferramenta pode ser alterada a partir do canal de usinagem


ou de um canal paralelo (canal de dressagem).
Para gravar a correo de ferramenta Online so utilizadas funes diferentes dependendo
do momento desejado da dressagem:
Gravao contnua por bloco (PUTFTOCF)
Com o PUTFTOCF a dressagem executada simultaneamente com a usinagem.
A correo da ferramenta continuamente alterada no canal de usinagem conforme uma
funo de polinmio de 1, 2 ou 3 grau, que deve ser definida primeiro com FCTDEF.
O PUTFTOCF sempre atua por bloco, isto , no bloco de deslocamento seguinte.
Gravar continuamente de forma modal: ID=1
(Pgina 553)")

DO FTOC

(veja "Aes sncronas

Gravao discreta (PUTFTOC)


Com o PUTFTOC a dressagem no executada simultaneamente com a usinagem a partir
de um canal paralelo. O valor de correo especificado com PUTFTOC est imediatamente
ativo no canal de destino.
Indicao
A correo de ferramenta Online somente pode ser aplicada em ferramentas para
retificao.

Preparao do trabalho
Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

399

Corretores de ferramentas
9.4 Correo de ferramenta Online (PUTFTOCF, FCTDEF, PUTFTOC, FTOCON, FTOCOF)

Sintaxe
Desativao da correo de ferramenta Online no canal de destino:
FTOCON
...
FTOCOF

Gravao da correo de ferramenta Online:


Continuamente por blocos:
FCTDEF(<funo>,<LLimit>,<ULimit>,<a0>,<a1>,<a2>,<a3>)
PUTFTOCF(<funo>,<valor de referncia>,<parmetro de ferramenta>,<canal>,<fuso>)
...

Discreto:
PUTFTOC(<valor de correo>,<parmetro de ferramenta>,<canal>,<fuso>)
...

Significado
FTOCON:

Ativao da correo de ferramenta Online


O FTOCON deve ser programado no canal em que a correo de ferramenta
Online ser ativada.

FTOCOF:

Cancelamento da correo de ferramenta Online


Com o FTOCOF a correo no mais executada, mas nos dados de
correo especficos de corte encontra-se o valor gravado totalmente
corrigido com PUTFTOC/PUTFTOCF.
Nota:
Para a desativao definitiva da correo de ferramenta Online, aps o
FTOCOF, ainda precisa ocorrer uma ativao/desativao da ferramenta
(T...).

FCTDEF:

Com o FCTDEF definida a funo de polinmio para PUTFTOCF.


Parmetro:
<funo>:

Nmero da funo de polinmio


Tipo:

<LLimit>:

Valor limite inferior


Tipo:

<ULimit>:

REAL

Valor limite superior


Tipo:

<a0> ... <a3>:

INT

REAL

Coeficientes da funo de polinmio


Tipo:

REAL

Preparao do trabalho

400

Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

Corretores de ferramentas
9.4 Correo de ferramenta Online (PUTFTOCF, FCTDEF, PUTFTOC, FTOCON, FTOCOF)
PUTFTOCF:

Chamada da funo "Gravao contnua por bloco da correo de


ferramenta Online"
Parmetro:
<funo>:

Nmero da funo de polinmio


Tipo:

INT

Nota:
Precisa coincidir com a especificao no FCTDEF.
<valor de referncia>:

Valor de referncia varivel, que deve ser derivado


da correo (p. ex. o valor real que sofre
alteraes).
Tipo:

<parmetro de
ferramenta>:

Nmero do parmetro de desgaste (comprimento


1, 2 ou 3), onde o valor de correo deve ser
adicionado.
Tipo:

<canal>:

VAR REAL

INT

Nmero do canal, onde a correo de ferramenta


Online deve ser ativada.
Tipo:

INT

Nota:
Uma especificao somente necessria se a
correo no deve ser ativada no canal ativo.
<fuso>:

Nmero do fuso, onde a correo de ferramenta


Online deve ser ativada.
Tipo:

INT

Nota:
Uma especificao somente necessria se, ao
invs do rebolo ativo, deve ser corrigido um rebolo
no ativo no momento da ferramenta empregada.
PUTFTOC:

Chamada da funo "Gravao discreta da correo de ferramenta Online"


Parmetro:
<valor de correo>:

Valor de correo que deve ser adicionado no


parmetro de desgaste.
Tipo:

REAL

<parmetro de
ferramenta>:

veja PUTFTOCF

<canal>:

Nmero do canal, onde a correo de ferramenta


Online deve ser ativada.
Tipo:

<fuso>:

INT

veja PUTFTOCF

Preparao do trabalho
Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

401

Corretores de ferramentas
9.4 Correo de ferramenta Online (PUTFTOCF, FCTDEF, PUTFTOC, FTOCON, FTOCOF)

Exemplo
Retificadora plana com:
Y: Eixo de penetrao do rebolo
V: Eixo de penetrao do rolo dressador
Canal de usinagem: Canal 1 com os eixos X, Y, Z
Canal de dressagem: Canal 2 com eixo V
Depois de ser iniciado o movimento de retificao, em X100 o rebolo deve ser dressado
pelo valor 0,05. O valor de dressagem deve estar ativado na ferramenta para retificao
com a "Gravao contnua da correo de ferramenta Online".

<

5RORGUHVVDGRU
9DORUGH
GUHVVDJHP

5HEROR

&RPSULPHQWR
DVHUFRUULJLGR
3HD



Programa de usinagem no canal 1:


Cdigo de programa

Comentrio

N110 G1 G18 F10 G90

; Posio inicial.

N120 T1 D1

; Selecionar atual ferramenta.

N130 S100 M3 X100

; Fuso ligado, deslocar at a posio de sada.

N140 INIT(2,"DRESSAGEM","S")

; Seleo do programa de dressagem no canal 2.

N150 START(2)

; Incio do programa de dressagem no canal 2.

N160 X200

; Deslocamento at a posio de destino.

N170 FTOCON

; Ativar a correo Online.

N G1 X100

; Outra usinagem.

N M30

Preparao do trabalho

402

Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

Corretores de ferramentas
9.4 Correo de ferramenta Online (PUTFTOCF, FCTDEF, PUTFTOC, FTOCON, FTOCOF)
Programa de dressagem no canal 2:
Cdigo de programa

Comentrio

N40 FCTDEF(1,1000,1000,$AA_IW[V],1)

; Definio de funo: Reta com


inclinao=1.

N50 PUTFTOCF(1,$AA_IW[V],3,1)

; Gravao contnua da correo de


ferramenta Online: derivado do
movimento do eixo V, o comprimento 3
do atual rebolo corrigido no canal
1.

N60 V0.05 G1 F0.01 G91

; Movimento de penetrao para


dressagem, somente neste bloco em
que o PUTFTOCF est ativo.

N M30

Outras informaes
Generalidades sobre a correo de ferramenta Online
Na gravao contnua (para cada ciclo IPO), aps a ativao da funo de avaliao,
qualquer alterao ser processada de modo aditivo na memria de desgaste (para evitar
saltos de valor nominal).
Em todo caso aplica-se: A correo online da ferramenta pode atuar em cada canal para
cada fuso e o comprimento 1, 2 ou 3 do parmetro de desgaste.
A associao dos comprimentos aos eixos geomtricos realizada com base no atual plano
de trabalho.
A associao do fuso com a ferramenta realizada atravs dos dados de ferramenta com
ou TMON, enquanto no se tratar do rebolo ativo.

GWPSON

Sempre se corrige o parmetro de desgaste para o atual lado do rebolo ou o lado esquerdo
do rebolo em ferramentas no ativas.
Indicao
Para uma correo idntica para vrios lados do rebolo deve-se providenciar, atravs de
uma diretriz de encadeamento, para que os valores sejam transferidos automaticamente
para o segundo lado do rebolo.
Se forem especificadas correes Online para um canal de usinagem, ento os valores de
desgaste da atual ferramenta no podem ser alterados neste canal a partir de um programa
de usinagem ou atravs da operao.
A correo de ferramenta Online tambm considerada na velocidade perifrica constante
do rebolo (SUG) assim como para a monitorao de ferramentas (TMON).

Preparao do trabalho
Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

403

Corretores de ferramentas
9.5 Ativao da correo de ferramenta 3D (CUT3DC..., CUT3DF...)

9.5

Ativao da correo de ferramenta 3D (CUT3DC..., CUT3DF...)

9.5.1

Ativao das correes de ferramentas 3D (CUT3DC, CUT3DF, CUT3DFS,


CUT3DFF, ISD)

Funo

Na correo do raio da ferramenta para ferramentas cilndricas considerada a orientao


mutvel de ferramenta.
Para seleo da correo do raio da ferramenta 3D so aplicados os mesmos comandos de
programao da correo do raio da ferramenta 2D. Com G41/G42 especificada a correo
esquerda/direita no sentido do movimento. O comportamento de aproximao sempre
NORM. A correo do raio da ferramenta 3D apenas tem efeito com a transformao de 5
eixos ativada.
A correo do raio da ferramenta 3D tambm denominada de correo 5D, pois neste
caso temos disponveis 5 graus livres para a posio da ferramenta no espao.

&RQWRUQRGD
SHD

,6'

7UDMHWULDGR

FHQWURGDIHUUDPHQWDQD
PHVPDGLVWQFLD
HPUHODRDRFRQWRUQR
HTLGLVWDQWHV

Diferena entre as correes de raio da ferramenta 2 1/2D e 3D


Na correo do raio da ferramenta 3D requisitada a orientao da ferramenta. Na
correo do raio da ferramenta 2 1/2D apenas se calcula uma ferramenta com orientao
constante.

Sintaxe

CUT3DC
CUT3DFS
CUT3DFF
CUT3DF
ISD=<valor>
Preparao do trabalho

404

Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

Corretores de ferramentas
9.5 Ativao da correo de ferramenta 3D (CUT3DC..., CUT3DF...)

Significado
CUT3DC

Ativao da correo do raio da ferramenta 3D para


fresamento perifrico

CUT3DFS

Correo de ferramenta 3D para fresamento de topo com


orientao constante. A orientao da ferramenta
definida pelo G17 - G19 e no influenciada por Frames.

CUT3DFF

Correo de ferramenta 3D para fresamento de topo com


orientao constante. A orientao da ferramenta
definida pelo G17 - G19 e, se necessrio, atravs de um
sentido girado por um Frame.

CUT3DF

Correo de ferramenta 3D para fresamento de topo com


alterao de orientao (apenas na transformao de 5
eixos ativa).

G40 X... Y... Z...

Para desativar: Bloco linear G0/G1 com eixos geomtricos

ISD

Profundidade de imerso

Indicao
Os comandos esto ativos de forma modal e esto no mesmo grupo que o CUT2D e CUT2DF. A
desseleo apenas realizada com o prximo movimento do atual plano. Isto sempre se
aplica ao G40 e no depende do comando CUT.
So permitidos blocos intermedirios com a correo ativa do raio da ferramenta 3D. So
aplicadas as definies da correo do raio da ferramenta 2 1/2D.

Condies gerais
G450/G451 e DISC
Nos cantos externos sempre inserido um bloco circular. G450/G451 so irrelevantes.
O comando DISC no avaliado.

Exemplo
Cdigo de programa

Comentrio

N10 A0 B0 X0 Y0 Z0 F5000
N20 T1 D1

; Chamada da ferramenta, chamar valores de correo


da ferramenta.

N30 TRAORI(1)

; Seleo da transformao

N40 CUT3DC

; Seleo da correo do raio da ferramenta 3D

N50 G42 X10 Y10

; Seleo da correo do raio da ferramenta

N60 X60
N70

Preparao do trabalho
Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

405

Corretores de ferramentas
9.5 Ativao da correo de ferramenta 3D (CUT3DC..., CUT3DF...)

9.5.2

Correes de ferramenta 3D: Fresamento perifrico, fresamento de topo

Fresamento perifrico
A variante de fresamento perifrico utilizada neste caso realizada com a especificao de
um percurso (linha guia) e da orientao correspondente. Neste tipo de usinagem o tipo de
ferramenta no percurso irrelevante. O nico fator decisivo o raio no ponto de ataque da
ferramenta.

)UHVDPHQWRSHULIULFR
$
%

<

Indicao
A funo de correo do raio da ferramenta 3D limita-se a ferramentas cilndricas.

Preparao do trabalho

406

Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

Corretores de ferramentas
9.5 Ativao da correo de ferramenta 3D (CUT3DC..., CUT3DF...)

Fresamento de topo
Para este tipo de fresamento 3D precisamos da descrio das trajetrias 3D sobre a
superfcie da pea de trabalho. Normalmente no CAM os clculos so executados
considerando-se a forma e dimenses da ferramenta. O ps-processador, alm dos blocos
NC, grava no programa de peas as orientaes da ferramenta (com transformao de 5
eixos ativada) e o cdigo G da correo de ferramenta 3D desejada. Com isso o operador
da mquina tem a opo de empregar ferramentas muito menores do que as empregadas
no clculo dos percursos NC.

Exemplo:
Os blocos NC foram calculados com uma fresa de 10 mm. Aqui tambm se poderia usinar
uma fresa de dimetro 9,9 mm, sendo que neste caso se deve considerar uma possvel
alterao no perfil de rugosidade.

Preparao do trabalho
Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

407

Corretores de ferramentas
9.5 Ativao da correo de ferramenta 3D (CUT3DC..., CUT3DF...)

9.5.3

Correes de ferramenta 3D: Formas e dados de ferramenta para fresamento


de topo

Formas de fresas, dados de ferramenta


Na seguinte tabela esto agrupadas as possveis formas de ferramenta e os valores limite
dos dados de ferramenta para o fresamento de topo. A forma da haste da ferramenta no
considerada. Os tipos de ferramenta 120 e 156 so idnticas em efeito.

U
&LOQGULFD
)UHVDGHWRSR
)UHVDGH
)UHVDSDUDPDWUL]HV SRQWDHVIULFD
WLSR
WLSR
WLSR
D

)UHVDGHWRSRFRP
DUUHGRQGDPHQWRQRV
FDQWRV
WLSR
D

U
5
5

)UHVDFQLFDWUXQFDGD )UHVDFQLFDWUXQFDGD
FRPDUUHGRQGDPHQWR
QRVFDQWRV
WLSR
WLSR

)UHVDFQLFD
SDUDPDWUL]HV
WLSR

Se no programa NC for especificado um nmero de tipo diferente dos indicados na figura, o


sistema aplica automaticamente o tipo de ferramenta 110 (fresa cilndrica para matrizes).
emitido um alarme se os valores limite dos dados da ferramenta forem violados.
Tipo de fresa

Tipo n

Fresa cilndrica para matrizes

110

>0

Fresa de ponta esfrica

111

>0

>R

Fresa de topo, fresa angular

120, 130

>0

Fresa de topo, fresa angular com


cantos arredondados

121, 131

>r

>0

Fresa cnica truncada

155

>0

>0

Fresa cnica truncada com


arredondamento nos cantos

156

>0

>0

>0

Fresa cnica para matrizes

157

>0

>0

= raio da haste (raio da ferramenta)

= raio do canto

= ngulo entre o eixo longitudinal da ferramenta e o canto superior da superfcie do toro

= no avaliado

Preparao do trabalho

408

Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

Corretores de ferramentas
9.5 Ativao da correo de ferramenta 3D (CUT3DC..., CUT3DF...)

Dados de ferramenta

Parmetro da ferramenta

Dimenses da ferramenta

Geometria

Desgaste

$TC_DP6

$TC_DP15

$TC_DP7

$TC_DP16

$TC_DP11

$TC_DP20

Correo do comprimento da ferramenta


Com o ponto de referncia da correo do comprimento se aplica a ponta da ferramenta
(ponto de corte do eixo longitudinal/superfcie).
Correo da ferramenta 3D, troca de ferramentas
Uma ferramenta nova com dimenses alteradas (R, r, a) ou outra forma somente pode ser
especificada com a programao do G41 ou G42 (transio do G40 para G41 ou G42, nova
programao do G41 ou G42). Todos demais dados de ferramenta, como comprimento de
ferramenta, no so considerados por esta regra, para que tais ferramentas tambm
possam ser trocadas sem um novo G41 ou G42.

9.5.4

Correes de ferramenta 3D: Correo na trajetria, curvatura de trajetria,


profundidade de imerso (CUT3DC, ISD)

Funo

Correo na trajetria
No fresamento de topo se deve considerar o caso em que o ponto de contato salta sobre a
superfcie da ferramenta. Como neste exemplo de usinagem de uma superfcie convexa
com ferramenta em posio vertical. A aplicao indicada na figura pode ser considerada
como caso limite.

3RQWRVLQJXODU

Preparao do trabalho
Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

409

Corretores de ferramentas
9.5 Ativao da correo de ferramenta 3D (CUT3DC..., CUT3DF...)
Este caso limite monitorado pelo comando, onde so detectadas alteraes bruscas do
ponto de corte com base nas posies angulares entre a ferramenta e os vetores normais
da superfcie. Nestas posies o comando insere blocos lineares de modo que o movimento
possa ser executado.
Para calcular os blocos lineares esto armazenadas faixas angulares permitidas em dados
da mquina para o ngulo lateral. Se os valores de limite definidos em dados da mquina
forem ultrapassados nas faixas angulares, ento o sistema emitir um alarme.
Curvatura de trajetria
A curvatura de trajetria no monitorada. Tambm aqui se recomenda apenas empregar
ferramentas com as quais se pode trabalhar sem danificar o contorno.
Profundidade de imerso (ISD)
A profundidade de imerso ISD somente avaliada na correo do raio da ferramenta 3D.
Com o comando de programa ISD (Insertion depth) se programa a profundidade de imerso
da ferramenta no fresamento perifrico. Com isso possvel alterar a posio do ponto de
corte sobre a superfcie envolvente da ferramenta.

Sintaxe
Correes de ferramenta 3D no fresamento perifrico
CUT3DC
ISD=<valor>

Significado
CUT3DC

Ativar a correo de ferramenta 3D para fresamento perifrico, p. ex. para


fresamento de bolses com paredes laterais inclinadas.

ISD

Com o comando ISD se especifica a distncia (<valor>) entre a ponta da fresa


(FS) e o ponto auxiliar da fresa (FH).

Preparao do trabalho

410

Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

Corretores de ferramentas
9.5 Ativao da correo de ferramenta 3D (CUT3DC..., CUT3DF...)

Ponto auxiliar da fresa


O ponto auxiliar da fresa (FH) formado pela projeo do ponto de usinagem programado
no eixo da ferramenta.

)6

,6'

)+

Outras informaes
Fresamento de bolses com paredes laterais inclinadas para fresamento perifrico com
CUT3DC
Nesta correo do raio da ferramenta 3D se compensa o desvio do raio da ferramenta ao
passo que o avano realizado no sentido da normal da superfcie com a superfcie
usinada. Aqui o plano onde est o lado frontal da fresa permanece inalterado se a
profundidade de imerso ISD for a mesma. Por exemplo, se comparada uma ferramenta
normalizada, uma fresa de raio menor no alcanaria a base do bolso, este que tambm
forma a superfcie de limitao. Para uma penetrao automtica da ferramenta a superfcie
de limitao deve ser conhecida do comando, veja o captulo "Fresamento perifrico 3D
com superfcies de limitao".
Para mais informaes sobre a monitorao de colises, veja:
Literatura:
Manual de programao Fundamentos; Captulo "Correes de ferramenta".

Preparao do trabalho
Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

411

Corretores de ferramentas
9.5 Ativao da correo de ferramenta 3D (CUT3DC..., CUT3DF...)

9.5.5

Funo

Correes de ferramenta 3D: Cantos internos/externos e procedimento de


ponto de interseco (G450/G451)

Cantos internos/externos
Os cantos externos e internos so tratados separadamente. A denominao canto interno
ou canto externo depende da orientao da ferramenta.
Nas alteraes de orientao em um canto pode ocorrer que o tipo de canto mude durante a
usinagem. Se isto ocorrer, ento a usinagem ser cancelada com uma mensagem de erro.

6HQWLGRGHXVLQDJHP

Sintaxe

G450
G451

Significado
G450

Crculo de transio (a ferramenta percorre os cantos da pea em uma


trajetria circular)

G451

Ponto de interseco das eqidistantes (a ferramenta usina para retirada do


canto da pea)

Outras informaes
Procedimento do ponto de interseco para correo 3D
Agora para o fresamento perifrico 3D se avalia o cdigo G450/G451 nos cantos externos, ou
seja, se pode aproximar o ponto de interseco das curvas de deslocamento. At o SW 4
sempre foi inserido um crculo nos cantos externos. O procedimento do ponto de
interseco disponvel principalmente vantajoso nos programas 3D gerados em CAD.
Estes muitas vezes so constitudos de curtos blocos lineares (para aproximao de curvas
lisas), nos quais as transies so quase tangenciais entre os blocos adjacentes.

Preparao do trabalho

412

Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

Corretores de ferramentas
9.5 Ativao da correo de ferramenta 3D (CUT3DC..., CUT3DF...)
Na correo do raio da ferramenta no lado externo do contorno at ento sempre foram
inseridos crculos para contornar os cantos externos. Visto que estes blocos se tornam
muito curtos quando se aproximam das transies tangenciais, resultam interrupes
inconvenientes de velocidade.
Nestes casos as duas curvas envolvidas so prolongadas de modo similar correo do
raio 2 D, se aproxima a interseco de ambas curvas prolongadas.
A interseco definida quando as curvas de deslocamento de ambos blocos envolvidos
so prolongadas e sua interseco definida no canto perpendicular orientao da
ferramenta no plano. Se no houver uma interseco deste tipo, o canto ser tratado como
antes, isto , se insere um crculo.
Para mais informaes sobre procedimentos de ponto de interseco, veja:
Literatura:
Manual de funes especiais; Correo do raio da ferramenta 3D (W5)

9.5.6

Correes de ferramenta 3D: Fresamento perifrico 3D com superfcies de


limitao

Adaptaes do fresamento perifrico 3D s condies dos programas CAD


Os programas NC gerados por sistemas CAD normalmente aproximam a trajetria da linha
de centro de uma ferramenta normalizada com um grande nmero de blocos lineares
curtos. Para que os blocos gerados dessa forma possam reproduzir vrios contornos
parciais o mais prximo do contorno original, torna-se necessrio realizar algumas
adaptaes no programa de pea.
As informaes importantes que so necessrias para uma correo ideal, mas que no
esto mais disponveis no programa de pea, devem ser substitudas por medidas
adequadas. A seguir so representados os mtodos tpicos para compensar transies
crticas diretamente no programa de pea ou na determinao do contorno real (p. ex.
atravs da penetrao da ferramenta).

Aplicaes
Alm dos casos tpicos de aplicao, onde uma ferramenta real descreve a trajetria da
linha de centro ao invs da ferramenta normalizada, tambm so tratadas as ferramentas
cilndricas com correo de ferramenta 3D. Aqui a trajetria programada toma o contorno na
superfcie de usinagem como referncia. A superfcie de limitao neste caso
independente da ferramenta. Como na correo convencional do raio da ferramenta,
utilizado o raio total para o clculo do deslocamento perpendicular com a superfcie de
limitao.

Preparao do trabalho
Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

413

Corretores de ferramentas
9.5 Ativao da correo de ferramenta 3D (CUT3DC..., CUT3DF...)

9.5.7

Correes de ferramenta 3D: Considerao de uma superfcie de limitao


(CUT3DCC, CUT3DCCD)

Funo
Fresamento perifrico 3D com ferramentas reais
No fresamento perifrico 3D com alterao contnua ou constante da orientao da
ferramenta, muitas vezes se programa o percurso do centro da ferramenta para uma
ferramenta normalizada definida. Visto que na prtica estas ferramentas normalizadas
correspondentes muitas vezes no esto disposio, no se pode empregar uma
ferramenta muito diferente da ferramenta normalizada.
Com CUT3DCCD se considera uma superfcie de limitao para uma ferramenta diferencial,
que descreveria a ferramenta normalizada programada. O programa NC descreve a
trajetria do centro da ferramenta normalizada.
Com CUT3DCC se considera uma superfcie de limitao com o uso de ferramentas cilndricas,
que teria alcanado a ferramenta normalizada programada. O programa NC descreve o
contorno na superfcie de usinagem.

Sintaxe

CUT3DCCD
CUT3DCC

Significado
CUT3DCCD

Ativao da correo de ferramenta 3D para fresamento perifrico com


superfcies de limitao com ferramenta diferencial na trajetria do centro
da ferramenta: Penetrao at a superfcie de limitao.

CUT3DCC

Ativao da correo de ferramenta 3D para fresamento perifrico com


superfcies de limitao com correo de raio 3D: Contorno na superfcie
de usinagem

Indicao
Correo do raio de ferramenta com G41, G42
Para correo do raio de ferramenta com G41, G42 com CUT3DCCD ou CUT3DCC ativo deve estar
disponvel o opcional "Transformao de orientao".

Preparao do trabalho

414

Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

Corretores de ferramentas
9.5 Ativao da correo de ferramenta 3D (CUT3DC..., CUT3DF...)

Ferramenta normalizada com arredondamento de cantos


O arredondamento de cantos da ferramenta normalizada descrito pelo parmetro de
ferramenta $TC_DP7. A partir do parmetro de ferramenta $TC_DP16 resulta o desvio do
arredondamento de canto da ferramenta real comparado com a ferramenta normalizada.

Exemplo
As dimenses de ferramenta de uma fresa toroidal com raio reduzido se comparada com
uma ferramenta normalizada.
Tipo de ferramenta

R = raio da haste

r = raio de canto

Ferramenta normalizada com


arredondamento de cantos

R = $TC_DP6

r = $TC_DP7

Ferramenta real com arredondamento de


cantos:

R' = $TC_DP6 + $TC_DP15 + OFFN

r' = $TC_DP7 + $TC_DP16

Tipos de ferramenta 121 e 131, fresa toroidal


(fresa de topo)
Neste exemplo tanto o $TC_DP15 + OFFN como o $TC_DP16 so negativos.
O tipo de ferramenta ($TC_DP1) avaliado.
Permitidos esto apenas os tipos de fresa
com haste cilndrica (fresas cilndricas ou
fresas de topo) assim como fresas toroidais
(tipo 121 e 131) no caso limite da fresa
cilndrica para matrizes (tipo 110).

Nestes tipos permitidos de fresa o raio do canto r igual ao raio da haste


R. Todos outros tipos de ferramenta permitidos so interpretados como
fresas cilndricas e uma eventual dimenso especificada para
arredondamento de canto no ser avaliada.

So permitidos todos tipos de ferramentas


de nmero 1 399 com exceo dos
nmeros 111 e 155 at 157.

Preparao do trabalho
Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

415

Corretores de ferramentas
9.5 Ativao da correo de ferramenta 3D (CUT3DC..., CUT3DF...)

Outras informaes
Trajetria do centro da ferramenta com penetrao at a superfcie de limitao
CUT3DCCD

)HUUDPHQWDQRUPDOL]DGD

6X

SHU

IFL

HG

HX

VLQ

DJH

Se for utilizada uma ferramenta com um raio menor em relao ferramenta normalizada
correspondente, ento uma fresa penetrada no sentido longitudinal ser conduzida at que
atinja novamente a base do bolso. Com isso o canto formado pela superfcie de usinagem
e da superfcie de limitao ser desbastado at onde a ferramenta permitir. Neste caso
trata-se de um modo de usinagem misto de fresamento perifrico e fresamento de topo.
Semelhante uma ferramenta com raio reduzido, para uma ferramenta com raio
aumentado, a penetrao realizada no sentido contrrio.

)HUUDPHQWDGHPHQRU
UDLRSHQHWUDGDDWD
VXSHUIFLHGHOLPLWDR
6XSHUIFLHGHOLPLWDR

Em comparao com as outras correes da ferramenta do grupo 22 de cdigos G, um


parmetro de ferramenta $TC_DP6 especificado para CUT3DCCD no relevante para o raio da
ferramenta e no tem influncia sobre a correo resultante.
O deslocamento de correo resulta da soma do:
Valor de desgaste do raio da ferramenta (parmetro de ferramenta $TC_DP15)
e um Offset de ferramenta OFFN para o clculo do Offset perpendicular superfcie de
limitao.
A partir do programa de peas criado no possvel saber se a superfcie de usinagem est
esquerda ou direita do percurso. Por isso que se parte do princpio de um raio positivo e
um valor negativo de desgaste da ferramenta original. Um valor negativo de desgaste
sempre descreve uma ferramenta com dimetro reduzido.
Utilizao de ferramentas cilndricas
Na utilizao de ferramentas cilndricas uma penetrao apenas ser necessria se a
superfcie de usinagem e a superfcie de limitao formarem um ngulo agudo (menor que
90 graus). Se forem utilizadas fresas toroidais (cilindro com arredondamento de cantos),
ento a penetrao no sentido longitudinal da ferramenta ser necessria tanto em ngulos
agudos como obtusos.

Preparao do trabalho

416

Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

Corretores de ferramentas
9.5 Ativao da correo de ferramenta 3D (CUT3DC..., CUT3DF...)
Correo de raio 3D com CUT3DCC, contorno na superfcie de usinagem
Se CUT3DCC estiver ativo com uma fresa toroidal, ento o percurso programado toma como
referncia uma fresa cilndrica fictcia de mesmo dimetro. O ponto de referncia do
percurso resultante representado na figura a seguir com a utilizao de uma fresa toroidal.

6X

SHU

IFL

HG

HX

VLQ
DJ

HP

3RQWRGHUHIHUQFLD
GDWUDMHWULD

6XSHUIFLHGHOLPLWDR

permitido que o ngulo entre as superfcies de usinagem e de limitao tambm pode


passar de um ngulo agudo para um ngulo obtuso ou vice-versa dentro de um bloco.
Ao contrrio da ferramenta normalizada, a ferramenta real utilizada pode ser tanto maior do
que menor. Neste caso o raio de canto resultante no pode se tornar negativo e o sinal do
raio de ferramenta resultante deve ser preservado.
No CUT3DCC o programa NC de pea tem sua referncia no contorno da superfcie de
usinagem. Aqui, como na correo convencional do raio da ferramenta, se chama o raio
total formado pela soma do:
Raio de ferramenta (parmetro de ferramenta $TC_DP6)
Valor de desgaste (parmetro de ferramenta $TC_DP15)
e um Offset de ferramenta OFFN para o clculo do Offset perpendicular superfcie de
limitao.
A posio da superfcie de limitao definida pela diferena de ambos valores:
Dimenses da ferramenta normalizada
Raio de ferramenta (parmetro de ferramenta $TC_DP6)

Preparao do trabalho
Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

417

Corretores de ferramentas
9.6 Orientao da ferramenta (ORIC, ORID, OSOF, OSC, OSS, OSSE, ORIS, OSD, OST)

9.6

Orientao da ferramenta (ORIC, ORID, OSOF, OSC, OSS, OSSE,


ORIS, OSD, OST)

Funo
Como orientao da ferramenta entendemos o alinhamento geomtrico da ferramenta no
espao. Em uma mquina de usinagem de 5 eixos a orientao da ferramenta pode ser
ajustada atravs de comandos de programa.

9HWRUGH
GLUHR

;
<

Os movimentos de suavizao ativados com OSD e OST so formados de modo diferente


dependendo do tipo de interpolao da orientao da ferramenta.
Com a interpolao de vetor ativa tambm se interpola o decurso de orientao suavizado
atravs da interpolao de vetor. Em contrapartida, na interpolao de eixos rotativos ativa,
a orientao suavizada atravs de movimentos de eixo rotativo.

Programao
Programao da alterao de orientao:
Uma alterao da orientao da ferramenta pode ser programada atravs de:
programao direta dos eixos rotativos A, B e C (interpolao de eixos rotativos)
ngulo euleriano ou ngulo RPY
Vetor de direo (interpolao de vetor atravs da especificao do A3 ou B3 ou C3)

LEAD/TILT

(fresamento de topo)

O sistema de coordenadas de referncia o sistema de coordenadas da mquina (ORIMKS)


ou o atual sistema de coordenadas da pea (ORIWKS).

Preparao do trabalho

418

Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

Corretores de ferramentas
9.6 Orientao da ferramenta (ORIC, ORID, OSOF, OSC, OSS, OSSE, ORIS, OSD, OST)

$OWHUDRGH
RULHQWDR

Programao da orientao da ferramenta:


Comando

Significado

ORIC:

Orientao e movimento de percurso paralelo

ORID:

Orientao e movimento de percurso sucessivamente

OSOF:

sem suavizao da orientao

OSC:

Orientao constante

OSS:

Suavizao da orientao apenas no comeo do bloco

OSSE:

Suavizao da orientao no comeo e no fim do bloco

ORIS:

Velocidade da alterao da orientao com suavizao de orientao ativada


em graus por mm (vale para OSS e OSSE)

OSD:

Suavizao da orientao atravs da especificao da extenso de


suavizao com o dado de ajuste:
SD42674 $SC_ORI_SMOOTH_DIST

OST:

Suavizao da orientao atravs da especificao da tolerncia angular em


graus na interpolao de vetor com o dado de ajuste:
SD42676 $SC_ORI_SMOOTH_TOL
Na interpolao de eixos rotativos se assume a tolerncia especificada como
o desvio mximo dos eixos de orientao.

Indicao
Todos comandos para suavizao da orientao de ferramenta (OSOF, OSC, OSS, OSSE, OSD e
OST) esto agrupados no grupo de funes G 34. Elas esto ativas modalmente, ou seja,
sempre apenas um destes comandos poder atuar.

Preparao do trabalho
Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

419

Corretores de ferramentas
9.6 Orientao da ferramenta (ORIC, ORID, OSOF, OSC, OSS, OSSE, ORIS, OSD, OST)

Exemplos
Exemplo 1: ORIC
Se entre os blocos de deslocamento N10 e N20 foram programados dois ou mais blocos com
alteraes de orientao (p. ex. A2=... B2=... C2=...) e o ORIC estiver ativo, ento o bloco
circular inserido ser divido nestes blocos intermedirios de acordo com o valor das
alteraes angulares.

1
1

1

1

Cdigo de programa

Comentrio

ORIC
N8 A2= B2= C2=
N10 X Y Z
N12 C2= B2=
N14 C2= B2=

; O bloco circular inserido no canto externo


distribui-se entre o N12 e o N14, conforme a
alterao da orientao. Neste caso o movimento
circular e a alterao da orientao so executados
paralelamente.

N20 X =Y= Z= G1 F200

Preparao do trabalho

420

Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

Corretores de ferramentas
9.6 Orientao da ferramenta (ORIC, ORID, OSOF, OSC, OSS, OSSE, ORIS, OSD, OST)
Exemplo 2: ORID
Se o ORID estiver ativo, ento sero executados todos blocos entre os dois blocos de
deslocamento no fim do primeiro bloco de deslocamento. O bloco circular com orientao
constante executado imediatamente antes do segundo bloco de deslocamento.

([HFXWDU1H1
1

1

Cdigo de programa

Comentrio

ORID
N8 A2= B2= C2=
N10 X Y Z
N12 A2= B2= C2=

; O bloco N12 e N14 executado no fim do N10. Em seguida


executado o bloco circular com a atual orientao.

N14 M20

; Funes auxiliares, etc.

N20 X Y Z

Indicao
Para o tipo da alterao da orientao em um canto externo ser determinante o comando
de programa que estiver ativo no primeiro bloco de deslocamento de um canto externo.
Sem alterao da orientao: Se a orientao no limite de bloco no for alterada, ento a
seco transversal da ferramenta ser um crculo que tem contato em ambos contornos.

Preparao do trabalho
Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

421

Corretores de ferramentas
9.6 Orientao da ferramenta (ORIC, ORID, OSOF, OSC, OSS, OSSE, ORIS, OSD, OST)
Exemplo 3: Alterao da orientao em um canto interno

1

1

1
:5.

Cdigo de programa
ORIC
N10 X Y Z G1 F500
N12 X Y Z A2= B2= C2=
N15 X Y Z A2= B2= C2=

Outras informaes
Comportamento em cantos externos
Em um canto externo sempre inserido um bloco circular com o raio da fresa.
Com os comandos de programa ORIC ou ORID se pode definir se as alteraes de orientao
que foram programadas entre os blocos N1 e N2 sero executadas antes do incio do bloco
circular inserido, ou simultaneamente com este.

Preparao do trabalho

422

Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

Corretores de ferramentas
9.6 Orientao da ferramenta (ORIC, ORID, OSOF, OSC, OSS, OSSE, ORIS, OSD, OST)

(QWUHRVEORFRV1H1
LQWURGX]LGRXPEORFRFLUFXODU

1

1

Se uma alterao de orientao for necessria em cantos externos, ento ela pode ser
realizada paralelamente interpolao ou separadamente com o movimento de percurso.
Com ORID so executados primeiramente os blocos inseridos sem movimento de percurso.
O bloco circular inserido imediatamente antes do segundo dos dois blocos que formam o
canto.
Se em um canto externo foram inseridos vrios blocos de orientao e selecionado o ORIC,
ento o movimento circular ser distribudo sobre os vrios blocos de acordo com os valores
das alteraes de orientao dos diversos blocos inseridos.
Suavizao da orientao com OSD ou OST
Na suavizao com G642 o desvio mximo para eixos de contorno e eixos de orientao no
pode ser muito diferente. A menor tolerncia dos dois determina a forma do movimento de
suavizao ou tolerncia angular, para suavizar o decurso de orientao relativamente forte,
sem precisar de maiores desvios de contorno.
Atravs da ativao do OSD ou do OST possvel, com uma extenso de suavizao
especificada ou tolerncia angular, suavizar com facilidade desvios muito pequenos do
decurso de orientao sem desvios de contorno muito grandes.
Indicao
Diferente da suavizao do contorno (e do decurso de orientao) com G642, na suavizao
da orientao com OSD ou OST no se forma nenhum bloco prprio, mas se insere o
movimento da suavizao diretamente nos blocos originais programados.
Com OSD ou OST no pode ser suavizada nenhuma transio de blocos onde existe uma
mudana de tipos de interpolao para orientao da ferramenta (vetor eixo rotativo, eixo
rotativo vetor). Estas transies de blocos podem, eventualmente, ser suavizados com as
funes convencionais de suavizao G641, G642 e G643.

Preparao do trabalho
Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

423

Corretores de ferramentas
9.7 Seleo livre de nmero D, nmero de gume

9.7

Seleo livre de nmero D, nmero de gume

9.7.1

Atribuio livre de nmeros D, nmero de corte (endereo CE)

Nmero D
Os nmeros D podem ser utilizados como nmeros de correo. Alm disso se pode
enderear o nmero do corte atravs do endereo CE. Atravs da varivel de sistema
$TC_DPCE se pode descrever o nmero de corte.
Pr-ajuste: Nmero de correo == nmero de cortes
Atravs dos dados de mquina se pode definir o nmero mximo de nmeros D (nmeros
de corte) e o nmero mximo de cortes por ferramenta ( Fabricante da mquina). Os
comandos a seguir apenas tm relevncia se o nmero mximo de cortes (MD18105) for
definido maior do que o nmero de cortes por ferramenta (MD18106). Observe as
informaes do fabricante da mquina.
Indicao
Alm da atribuio relativa de nmeros D, os nmeros D tambm podem ser atribudos
como nmeros D "planos" ou "absolutos" (1-32000) sem referncia a um nmero T (dentro
da funo "Estrutura plana de nmeros D").

Literatura
Manual de funes bsicas; Correo de ferramenta (W1)

9.7.2

Atribuio livre de nmeros D: Verificar nmeros D (CHKDNO)

Funo
Com o comando CKKDNO verificamos se os nmeros D presentes foram especificados de
forma nica. Os nmeros D de todas ferramentas definidas dentro de uma unidade TO
podem aparecer apenas uma vez. As ferramentas de reposio no so consideradas neste
caso.

Sintaxe

state=CHKDNO(Tno1,Tno2,Dno)

Preparao do trabalho

424

Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

Corretores de ferramentas
9.7 Seleo livre de nmero D, nmero de gume

Significado
state

9.7.3

=TRUE:

Os nmeros D foram especificados


exclusivamente para a faixa verificada.

=FALSE:

Ocorreu uma coliso de nmeros D ou a


parametrizao invlida. Atravs de Tno1,
Tno2 e Dno so transmitidos os parmetros que
geram a coliso. Estes dados podem ser
avaliados no programa de pea.

CHKDNO(Tno1,Tno2)

So verificados todos os nmeros D das ferramentas


mencionadas.

CHKDNO(Tno1)

So verificados todos nmeros D de Tno1 contra todas outras


ferramentas.

CHKDNO

So verificados todos nmeros D de todas ferramentas contra


todas outras ferramentas.

Atribuio livre de nmeros D: Renomear nmeros D (GETDNO, SETDNO)

Funo
Os nmeros D devem ser especificados como nicos. Dois cortes diferentes de uma
ferramenta no podem ter o mesmo nmero D.
GETDNO
Este comando retorna o nmero D de um determinado corte (ce) de uma ferramenta de
nmero T (t). Se no existir nenhum nmero D para os parmetros especificados, se define
d=0. Se o nmero D for invlido, ser retornado um valor acima de 32000.
SETDNO
Com este comando atribumos o valor d do nmero D de um corte ce da ferramenta t.
Atravs do state retornado o resultado desta instruo (TRUE ou FALSE). Se no houver
nenhum bloco de dados para os parmetros especificados, ser retornado FALSE. Os erros
de sintaxe geram um alarme. O nmero D no pode ser passado explicitamente para 0.

Sintaxe
d = GETDNO (t,ce)
state = SETDNO (t,ce,d)

Significado
d

Nmero D do corte da ferramenta

Nmero T da ferramenta

ce

Nmero do corte (nmero CE) da ferramenta

state

Indica se o comando poderia ser executado sem erros (TRUE ou FALSE).

Preparao do trabalho
Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

425

Corretores de ferramentas
9.7 Seleo livre de nmero D, nmero de gume

Exemplo de renomeao de um nmero D


Programao

Comentrio

$TC_DP2[1,2]=120

$TC_DP3[1,2] = 5.5

$TC_DPCE[1,2] = 3

...

N10 def int DNoAnt, DNoNov = 17

N20 NoDAnt = GETDNO(1,3)

N30 SETDNO(1,3,NoDNov)

Nmero de corte CE

Com isso o novo valor D 17 atribudo para o corte CE=3. Agora os dados deste corte so
endereados atravs do nmero D 17; tanto atravs de variveis de sistema como na
programao com o endereo NC.

9.7.4

Atribuio livre de nmeros D: Determinar o nmero T para o nmero D


especificado (GETACTTD)

Funo
Com o comando GETACTTD determinamos o nmero T pertencente a um nmero F absoluto.
No realizada nenhuma verificao quanto exclusividade. Se existirem vrios nmeros
D iguais dentro de uma unidade TO, ser retornado o nmero T da primeira ferramenta
encontrada. Com a utilizao de nmeros D "planos" no existe relevncia no uso do
comando, pois aqui sempre retornado o valor 1 (nenhum nmero T no banco de dados).

Sintaxe

status=GETACTTD(Tno,Dno)

Significado
Dno

Nmero D que deve ser procurado para o nmero T.

Tno

Nmero T encontrado

estado

Valor:

Significado:

O nmero T foi encontrado. O Tno contm o valor do nmero T.

-1

Para o nmero D indicado no existe nenhum nmero T; Tno=0.

-2

O nmero D no absoluto. O Tno contm o valor da primeira


ferramenta encontrada que contm o nmero D com o valor Dno.

-5

A funo no pde ser executada por outro motivo.

Preparao do trabalho

426

Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

Corretores de ferramentas
9.8 Cinemtica do porta-ferramenta

9.7.5

Atribuio livre de nmeros D: Invalidar nmeros D (DZERO)

Funo
O comando DZERO serve para dar suporte durante a mudana de ferramentas. Os blocos de
dados de correo marcados no so mais verificados pelo comando CHKDNO. Para acesslos novamente, o nmero D deve ser ajustado novamente com SETDNO.

Sintaxe

DZERO

Significado
DZERO

9.8

Marca todos nmeros D da unidade TO como invlidos.

Cinemtica do porta-ferramenta

Requisitos
Um porta-ferramenta somente pode orientar uma ferramenta sem todas possveis direes
no espao se
dois eixos de rotao

V1

V2

estiverem disponveis.

os eixos de rotao esto perpendiculares entre si.


o eixo longitudinal da ferramenta est perpendicular em relao ao segundo eixo de
rotao V2.
Em mquinas onde todas possveis orientaes devem ser ajustveis, tambm se aplica o
seguinte:
a orientao da ferramenta deve estar perpendicular em relao ao primeiro eixo de
rotao V1.

Preparao do trabalho
Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

427

Corretores de ferramentas
9.8 Cinemtica do porta-ferramenta

Funo
A cinemtica da ferramenta com no mximo dois eixos de rotaov1 ou v2 descrita pelas
17 variveis de sistema $TC_CARR1[m] at $TC_CARR17[m]. A descrio do portaferramenta composta por:
a distncia vetorial do primeiro eixo de rotao at o ponto de referncia do portaferramenta I1, a distncia vetorial do primeiro e segundo eixo de rotao I2, a distncia
vetorial do segundo eixo de rotao at o ponto de referncia da ferramenta I3.
os vetores de direo dos dois eixos de rotao

V1, V2.

ngulo de rotao 1, 2 em torno dos dois eixos. Os ngulos de rotao so contados


positivos no sentido de visualizao dos vetores dos eixos rotativos em sentido horrio.

O

9

O

O

9

Para mquinas com cinemtica dissipada (gira tanto a ferramenta como a pea) as
variveis de sistema so ampliadas com os registros $TC_CARR18[m] para
$TC_CARR23[m].

Parmetros
Funo das variveis de sistema para porta-ferramentas orientveis
Denominao

Componente x

Componente y

Componente z

l1 Vetor de Offset

$TC_CARR1[m]

$TC_CARR2[m]

$TC_CARR3[m]

l2 Vetor de Offset

$TC_CARR4[m]

$TC_CARR5[m]

$TC_CARR6[m]

v1 Eixo de rotao

$TC_CARR7[m]

$TC_CARR8[m]

$TC_CARR9[m]

v2 Eixo de rotao

$TC_CARR10[m]

$TC_CARR11[m]

$TC_CARR12[m]

1 ngulo de rotao
2 ngulo de rotao

$TC_CARR13[m]
$TC_CARR14[m]

l3 Vetor de Offset

$TC_CARR15[m]

$TC_CARR16[m]

$TC_CARR17[m]

Preparao do trabalho

428

Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

Corretores de ferramentas
9.8 Cinemtica do porta-ferramenta

Ampliaes das variveis de sistema para porta-ferramentas orientveis


Denominao

Componente x

Componente y

Componente z

l4 Vetor de Offset

$TC_CARR18[m]

$TC_CARR19[m]

$TC_CARR20[m]

Identificador de
eixo do eixo de
rotao v1
do eixo de rotao
v2

Identificador de eixo dos eixos de rotao v1e v2 (a ocupao prvia zero)


$TC_CARR21[m]
$TC_CARR22[m]

Tipo de cinemtica

$TC_CARR23[m]

Tool
Part
Mixed mode

Tipo de cinemtica T ->

Tipo de cinemtica P ->

Tipo de cinemtica M

Apenas a ferramenta
pode ser girada
(ocupao prvia)

Apenas a pea de
trabalho gira.

A pea de trabalho e a
ferramenta giram

Offset do
eixo de rotao v1
do eixo de rotao
v2

ngulo em graus dos eixos de rotao v1e v2 com a introduo da posio inicial
$TC_CARR24[m]
$TC_CARR25[m]

Offset de ngulo do Offset dos dentes Hirth em graus dos eixos de rotao v1e v2
eixo de rotao v1
$TC_CARR26[m]
do eixo de rotao $TC_CARR27[m]
v2
Increm. angular
v1 eixo de rotao
v2 eixo de rotao

Incremento dos dentes Hirth em graus dos eixos de rotao v1e v2


$TC_CARR28[m]
$TC_CARR29[m]

Posio mn. do
eixo de rotao v1
do eixo de rotao
v2

Limite de software para posio mnima dos eixos de rotao v1e v2


$TC_CARR30[m]
$TC_CARR31[m]

Posio mx. do
eixo de rotao v1
do eixo de rotao
v2

Limite de software para posio mxima dos eixos de rotao v1e v2


$TC_CARR32[m]
$TC_CARR33[m]

Nome do portaferramentas

Ao invs de um nmero um porta-ferramenta pode receber um nome.


$TC_CARR34[m]

Usurio:
Nome de eixo 1
Nome de eixo 2
Identificao

Uso intencional durante os ciclos de medio do usurio. $TC_CARR35[m]


$TC_CARR36[m]
$TC_CARR37[m]

Posio

$TC_CARR38[m]

$TC_CARR39[m]

$TC_CARR40[m]

Desloc. fino

Parmetros que podem ser adicionados aos valores


nos parmetros bsicos.

l1 Vetor de Offset

$TC_CARR41[m]

$TC_CARR42[m]

$TC_CARR43[m]

l2 Vetor de Offset

$TC_CARR44[m]

$TC_CARR45[m]

$TC_CARR46[m]

l3 Vetor de Offset

$TC_CARR55[m]

$TC_CARR56[m]

$TC_CARR57[m]

l4 Vetor de Offset

$TC_CARR58[m]

$TC_CARR59[m]

$TC_CARR60[m]

v1 Eixo de rotao

$TC_CARR64[m]

v2 Eixo de rotao

$TC_CARR65[m]

Preparao do trabalho
Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

429

Corretores de ferramentas
9.8 Cinemtica do porta-ferramenta

Indicao
Explicaes para os parmetros
Com "m" especificado o nmero do porta-ferramenta a ser descrito.
O $TC_CARR47 para $TC_CARR54 assim como o $TC_CARR61 para $TC_CARR63 no
esto definidos e geram um alarme quando realizada uma tentativa de leitura ou
gravao.
Os pontos inicial e final dos vetores de distncia podem ser selecionados livremente nos
eixos. Os ngulos de rotao 1, 2 em torno dos dois eixos so definidos com 0 no estado
inicial do porta-ferramenta. A cinemtica de um porta-ferramenta pode ser descrita de vrias
formas diferentes.
Porta-ferramentas com apenas um ou nenhum eixo de rotao podem ser descritos para um
ou ambos eixos de rotao quando zeramos os vetores de direo.
Em um porta-ferramenta sem eixo de rotao atuam os vetores de distncia assim como as
correes adicionais do equipamento, cujos componentes no so afetados durante a
mudana dos planos de usinagem (G17 para G19).

Ampliao dos parmetros


Parmetros dos eixos de rotao
As variveis de sistema foram ampliadas com os registros $TC_CARR24[m] at
$TC_CARR33[m] e descritas como segue:
O Offset dos eixos
de rotao v1, v2

Alterao da posio do eixo de rotao v1 ou v2 na posio inicial do portaferramenta orientvel.

O Offset angular/
Offset do incremento angular dos dentes Hirth dos eixos de rotao v1 e v2. O
incremento angular ngulo programado ou calculado arredondado para o prximo valor que, no
dos eixos de rotao caso do valor inteiro n, resulta do phi = s + n * d.
v1, v2
Posio mnima e
mxima dos eixos
de rotao v1, v2

A posio mnima/mxima do eixo de rotao o ngulo de limite (limite de


software) dos eixos de rotao v1 e v2.

Parmetros para o usurio


O $TC_CARR34 at $TC_CARR40 contm parmetros que o usurio tem livre acesso e
que, at o SW 6.4, como padro na NCK, no so mais avaliados ou so irrelevantes.
Parmetros do deslocamento fino
O $TC_CARR41 at $TC_CARR65 contm parmetros de deslocamento fino que podem
ser adicionados aos valores nos parmetros bsicos. O valor de deslocamento fino atribudo
em um parmetro bsico formado quando se adiciona o valor 40 ao nmero de parmetro.

Preparao do trabalho

430

Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

Corretores de ferramentas
9.8 Cinemtica do porta-ferramenta

Exemplo
O porta-ferramenta utilizado no exemplo a seguir pode ser completamente descrito por uma
rotao em torno do eixo Y.

]
]

<

<

=
;

<
;
;
;

Cdigo de programa

Comentrio

N10 $TC_CARR8[1]=1

; Definio do componente Y do
primeiro eixo de rotao do portaferramenta 1.

N20 $TC_DP1[1,1]=120

; Definio da fresa de topo.

N30 $TC_DP3[1,1]=20

; Definio de uma fresa de topo de


20 mm de comprimento.

N40 $TC_DP6[1,1]=5

; Definio de uma fresa de topo de


5 mm de raio.

N50 ROT Y37

; Definio de Frame com rotao de


37 em torno do eixo Y.

N60 X0 Y0 Z0 F10000

; Aproximar a posio de partida.

N70 G42 CUT2DF TCOFR TCARR=1 T1 D1 X10

; Ajustar a correo do raio,


correo do comprimento da
ferramenta no Frame girado,
selecionar porta-ferramenta 1 e
ferramenta 1.

N80 X40

; Executar a usinagem com a rotao


de 37.

N90 Y40
N100 X0
N110 Y0
N120 M30

Preparao do trabalho
Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

431

Corretores de ferramentas
9.8 Cinemtica do porta-ferramenta

Outras informaes
Cinemtica resolvida
Para mquinas com cinemtica resolvida (se gira tanto a ferramenta como a pea) as
variveis de sistema so ampliadas com os registros $TC_CARR18[m] at $TC_CARR23[m] e
descritas como segue:
A mesa giratria de ferramentas composta pelo(a):
distncia vetorial do segundo eixo rotativo V2 at o ponto de referncia de uma mesa
giratria de ferramenta I4 do terceiro eixo de rotao.
Os eixos rotativos so compostos pelo(a):
dois identificadores de canal para a referncia dos eixos de rotao V1e V2, cuja posio
se acessa eventualmente na definio da orientao do porta-ferramenta orientvel.
O tipo de cinemtica com um dos valores T, P ou M:
Tipo de cinemtica T: Apenas a ferramenta gira.
Tipo de cinemtica P: Apenas a pea de trabalho gira.
Tipo de cinemtica M: A ferramenta e a pea de trabalho giram.
Deletao dos dados do porta-ferramenta
Com $TC_CARR1[0]=0 pode-se deletar os dados de todos blocos de dados do portaferramenta.
O tipo de cinemtica $TC_CARR23[T]=T pode ser especificado com uma das trs letras
maisculas ou minsculas permitidas (T,P,M) e por este motivo no deveria ser deletado.
Alterao dos dados do porta-ferramenta
Cada um dos valores descritos pode ser alterado com a atribuio de um novo valor no
programa de pea. Todo caractere diferente de T, P ou M gera um alarme na tentativa de se
ativar o porta-ferramenta orientvel.
Leitura dos dados do porta-ferramenta
Cada um dos valores descritos pode ser lido no programa de pea atravs da atribuio em
uma varivel.
Deslocamentos finos
Um valor de deslocamento fino no permitido apenas ser detectado quando estiver ativado
um porta-ferramenta orientvel que tem este tipo de valor e ao mesmo tempo o dado de
ajuste SD42974 $SC_TOCARR_FINE_CORRECTION = TRUE.
O valor do deslocamento fino permitido limitado em um valor mximo permitido atravs de
dados de mquina.

Preparao do trabalho

432

Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

Corretores de ferramentas
9.9 Correo de comprimento de ferramenta para porta-ferramentas orientveis (TCARR, TCOABS, TCOFR, TCOFRX, T

9.9

Correo de comprimento de ferramenta para porta-ferramentas


orientveis (TCARR, TCOABS, TCOFR, TCOFRX, TCOFRY,
TCOFRZ)

Funo
Com a orientao espacial alterada da ferramenta tambm so alterados os componentes
das mesmas.
=

=
,
,
,

;

Aps uma mudana, p. ex. atravs de ajuste manual ou troca do porta-ferramentas com
alinhamento fixo no espao, se deve determinar novamente os componentes de
comprimento da ferramenta. Isto se realiza com os comandos de curso TCOABS e TCOFR.
Em um porta-ferramenta orientvel de um Frame, na seleo de ferramenta com TCOFRZ,
TCOFRY e TCOFRX, se pode definir o sentido em que a ferramenta deve apontar.

Sintaxe

TCARR=[<m>]
TCOABS
TCOFR
TCOFRZ
TCOFRY
TCOFRX

Significado
TCARR=[<m>]:

Solicitar porta-ferramenta com o nmero "m"

TCOABS:

Calcular os componentes de comprimento da ferramenta a partir da


atual orientao do porta-ferramenta

TCOFR:

Definir os componentes de comprimento da ferramenta a partir da


orientao do Frame ativo

Preparao do trabalho
Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

433

Corretores de ferramentas
9.9 Correo de comprimento de ferramenta para porta-ferramentas orientveis (TCARR, TCOABS, TCOFR,
TCOFRX, TCOFRY, TCOFRZ)
TCOFRZ:

Porta-ferramenta orientvel do Frame ativo cuja ferramenta aponta para


o sentido Z

TCOFRY:

Porta-ferramenta orientvel do Frame ativo cuja ferramenta aponta para


o sentido Y

TCOFRX:

Porta-ferramenta orientvel do Frame ativo cuja ferramenta aponta para


o sentido X

Outras informaes
Correo de comprimento de ferramenta a partir da orientao do suporte (TCOABS)
O TCOABS calcula a correo de comprimento da ferramenta a partir dos atuais ngulos de
orientao do porta-ferramenta; armazenada nas variveis de sistema $TC_CARR13 e
$TC_CARR14.
Para definio da cinemtica do porta-ferramenta com variveis de sistema, veja
"Cinemtica do porta-ferramenta (Pgina 427)".
Para reclculo da correo de comprimento da ferramenta na mudana de Frames a
ferramenta deve ser selecionada novamente.
Direo da ferramenta a partir do Frame ativo
O porta-ferramenta orientvel pode ser ajustado de modo que a ferramenta aponte para as
seguintes direes:
com TCOFR ou TCOFRZ no sentido Z
com TCOFRY no sentido Y
com TCOFRX no sentido X
Uma comutao entre TCOFR e TCOABS aciona um reclculo da correo de comprimento da
ferramenta.
Solicitar porta-ferramenta (TCARR)
Com TCARR so solicitados os dados geomtricos (memria de correes) do nmero de
porta-ferramenta m.
Com m=0 se desseleciona o porta-ferramenta ativo.
Os dados geomtricos do porta-ferramenta so ativados apenas aps a chamada de uma
ferramenta. A ferramenta selecionada permanece ativa durante a mudana de um portaferramenta.
Os atuais dados geomtricos do porta-ferramenta tambm podem ser definidos no
programa de pea atravs das respectivas variveis de sistema.
Reclculo da correo de comprimento da ferramenta (TCOABS) na mudana de Frames
Para reclculo da correo de comprimento da ferramenta na mudana de Frames a
ferramenta deve ser selecionada novamente.
Indicao
A orientao de ferramenta deve ser adaptada manual ao Frame ativo.

Preparao do trabalho

434

Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

Corretores de ferramentas
9.9 Correo de comprimento de ferramenta para porta-ferramentas orientveis (TCARR, TCOABS, TCOFR, TCOFRX, T
No reclculo da correo de comprimento da ferramenta tambm calculado o ngulo de
rotao do porta-ferramenta em um passo intermedirio. Visto que porta-ferramentas com
dois eixos de rotao normalmente existem em dois pares de ngulo de rotao com os
quais a orientao da ferramenta pode ser adaptada ao Frame ativo, os valores dos ngulos
de rotao devem, de forma aproximada, corresponder pelo menos aos ngulos de rotao
ajustados mecanicamente.
Indicao
Orientao da ferramenta
O comando no pode verificar o ngulo de rotao calculado atravs da orientao de
Frame com o ajustado na mquina.
Se os eixos de rotao do porta-ferramenta construtivamente no puderem alcanar a
orientao de ferramenta calculada atravs da orientao de Frame, ento ser emitido um
alarme.
No permitida combinao da correo fina da ferramenta e as funcionalidades para
correo de comprimento de ferramenta em porta-ferramentas mveis. Numa tentativa de
ativar as duas funes ao mesmo tempo, ocorre uma mensagem de erro.
Com TOFRAME possvel definir um Frame com base no sentido de orientao do portaferramenta selecionado. Para informaes mais detalhadas, veja o captulo "Frames".
Com a transformao de orientao (transformao de 3, 4 e 5 eixos) ativa, um portaferramenta de orientao fora da posio zero pode ser selecionado sem que um alarme
seja emitido.
Parmetro de transferncia de ciclos padro e ciclos de medio
Para o parmetro de transferncia de ciclos padro e ciclos de medio so aplicadas
faixas de valores definidas.
No caso dos valores angulares a faixa de valores est definida da seguinte forma:
Rotao em torno do 1 eixo geomtrico: -180 graus at +180 graus
Rotao em torno do 2 eixo geomtrico: -90 graus at +90 graus
Rotao em torno do 3 eixo geomtrico: -180 graus at +180 graus
Veja o captulo Frames, "Rotao programvel (ROT, AROT, RPL)".
Indicao
Na transferncia de valores angulares em um ciclo padro ou ciclo de medio deve-se
observar o seguinte:
Valores menores que a unidade de clculo do NC devem ser arredondados para zero!
A unidade de clculo do NC para posies angulares est definida no dado de mquina:
MD10210 $MN_INT_INCR_PER_DEG

Preparao do trabalho
Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

435

Corretores de ferramentas
9.10 Correo Online de comprimento de ferramenta (TOFFON, TOFFOF)

9.10

Correo Online de comprimento de ferramenta (TOFFON,


TOFFOF)

Funo
Atravs da varivel de sistema $AA_TOFF[<n>] os comprimentos efetivos de ferramenta
podem ser sobrepostos em tempo real de acordo com os trs sentidos da ferramenta.
Como ndice <n> so utilizados os trs identificadores de eixo geomtrico. Com isso se
define o nmero de sentidos de correo ativos atravs dos eixos geomtricos durante o
mesmo tempo.
Todas correes podem estar ativas simultaneamente.
A funo da correo de comprimento de ferramenta Online pode ser aplicada no(a):
Transformao de orientao TRAORI
Porta-ferramenta orientvel TCARR
Indicao
A correo de comprimento de ferramenta Online um opcional que deve ser liberado
antes. Esta funo apenas tem utilidade se trabalhar em conjunto com uma
transformao ativa da orientao ou com um porta-ferramenta orientvel ativo.

Sintaxe
TRAORI
TOFFON(<sentido de correo>[,<valor de Offset>])
WHEN TRUE DO $AA_TOFF[<sentido de correo>]

; Em aes sncronas.

...
TOFFOF(<sentido de correo>)

Para mais explanaes sobre programao da correo de comprimento de ferramenta


Online em aes sncronas de movimentos, veja o captulo "Aes sncronas (Pgina 553)".

Significado
TOFFON:

TOFFOF:

Ativao da correo de comprimento de ferramenta Online


<sentido de correo>:

Sentido de correo (X, Y, Z) onde a correo de


comprimento da ferramenta Online deve estar
ativo.

<valor Offset>:

Na ativao se pode especificar um valor de


Offset para o respectivo sentido de correo que
ser imediatamente executado.

Resetamento da correo de comprimento de ferramenta Online


Os valores de correo no sentido de correo especificado so resetados e
se ativa uma parada de pr-processamento.

Preparao do trabalho

436

Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

Corretores de ferramentas
9.10 Correo Online de comprimento de ferramenta (TOFFON, TOFFOF)

Exemplos
Exemplo 1: Seleo da correo de comprimento da ferramenta
Cdigo de programa

Comentrio

MD21190 $MC_TOFF_MODE =1

; Os valores absolutos so
aproximados.

MD21194 $MC_TOFF_VELO[0] =1000


MD21196 $MC_TOFF_VELO[1] =1000
MD21194 $MC_TOFF_VELO[2] =1000
MD21196 $MC_TOFF_ACCEL[0] =1
MD21196 $MC_TOFF_ACCEL[1] =1
MD21196 $MC_TOFF_ACCEL[2] =1
N5 DEF REAL XOFFSET
N10 TRAORI(1)

; Transformao ativada.

N20 TOFFON(Z)

; Ativao da correo Online do


comprimento da ferramenta para o
sentido Z da ferramenta.

N30 WHEN TRUE DO $AA_TOFF[Z]=10 G4 F5

; Para o sentido Z da ferramenta


interpolada uma correo do
comprimento da ferramenta de 10

...
N100 XOFFSET=$AA_TOFF_VAL[X]

; Atribuir atual correo no sentido X.

N120 TOFFON(X,-XOFFSET) G4 F5

; Para o sentido X da ferramenta a


correo do comprimento da
ferramenta novamente retornada
como 0.

Exemplo 2: Desativao da correo do comprimento da ferramenta


Cdigo de programa

Comentrio

N10 TRAORI(1)

; Transformao ativada.

N20 TOFFON(X)

; Ativao da correo Online do


comprimento da ferramenta para o
sentido X da ferramenta.

N30 WHEN TRUE DO $AA_TOFF[X] = 10 G4 F5

; Para o sentido X da ferramenta


interpolada uma correo do
comprimento da ferramenta de 10.

...
N80 TOFFOF(X)

; O Offset de posio do sentido X da


ferramenta deletado:
...$AA_TOFF[X]=0
No movimentado nenhum eixo.
Para a atual posio em WCS
adicionado o deslocamento de posio
conforme a atual orientao.

Preparao do trabalho
Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

437

Corretores de ferramentas
9.10 Correo Online de comprimento de ferramenta (TOFFON, TOFFOF)

Outras informaes
Preparao de blocos
Para preparao de blocos no pr-processamento considerado o atual deslocamento de
comprimento da ferramenta ativo no processamento principal. Para permitir um uso extenso
das velocidades mximas permitidas dos eixos, necessrio parar a preparao de blocos
com uma parada de pr-processamento STOPRE enquanto um deslocamento de ferramenta
constitudo.
O deslocamento da ferramenta sempre conhecido no momento do pr-processamento se
as correes do comprimento da ferramenta no forem mais alteradas aps o incio do
programa ou se aps uma alterao das correes do comprimento da ferramenta no
forem mais processados blocos que o buffer IPO pode suportar entre o pr-processamento
e o processamento principal.
Varivel $AA_TOFF_PREP_DIFF
Na varivel $AA_TOFF_PREP_DIFF[<n>] possvel consultar a medida da diferena entre a
atual correo ativa no interpolador e a correo que estava ativa no momento da
preparao de blocos.
Ajustar dados da mquina e dados de ajuste
Para correo de comprimento de ferramenta Online esto disponveis os seguintes dados
de sistema:
MD20610 $MC_ADD_MOVE_ACCEL_RESERVE (Reserva de acelerao para
movimento sobreposto)
MD21190 $MC_TOFF_MODE
O contedo da varivel de sistema $AA_TOFF[<n>] executado ou integrado como valor
absoluto.
MD21194 $MC_TOFF_VELO (Velocidade da correo do comprimento de ferramenta
Online)
MD21196 $MC_TOFF_ACCEL (Acelerao da correo do comprimento de ferramenta
Online)
Dado de ajuste para especificao de valores de limite:
SD42970 $SC_TOFF_LIMIT (Limite superior do valor de correo do comprimento da
ferramenta)
Literatura:
Manual de funes especiais; F2: Transformaes mltiplas

Preparao do trabalho

438

Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

Corretores de ferramentas
9.11 Modificao dos dados de corte para ferramentas orientveis (CUTMOD)

9.11

Modificao dos dados de corte para ferramentas orientveis


(CUTMOD)

Funo
Com a funo "Modificao de dados de corte para ferramentas orientveis" as relaes
geomtricas alteradas, que resultam da rotao de ferramentas (principalmente ferramentas
de tornear, mas tambm ferramentas de furar e fresar) relativa pea de trabalho usinada,
tambm podem ser consideradas na correo de ferramenta.
)XVRGDIHUUDPHQWD

(L[R%

)XVRSULQFLSDO
&

&

&RQWUDIXVR

&

<
=

=

Esquema 9-1 Ferramenta orientvel em um torno

Aqui a atual rotao da ferramenta sempre determinada a partir de um porta-ferramenta


orientvel atualmente ativo (veja "Correo de comprimento da ferramenta para portaferramentas orientveis (Pgina 433)").
A funo ativada com o comando CUTMOD.

Sintaxe

CUTMOD=<valor>

Preparao do trabalho
Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

439

Corretores de ferramentas
9.11 Modificao dos dados de corte para ferramentas orientveis (CUTMOD)

Significado
CUTMOD

Comando para ativar a funo "Modificao de dados de corte para


ferramentas orientveis"

<valor>

Ao comando CUTMOD podem ser atribudos os seguintes valores:


0

A funo est desativada.


Os valores retornados pelas variveis $P_AD... so iguais aos
parmetros de ferramenta correspondentes.

>0

A funo ativada se um porta-ferramenta orientvel estiver ativo com


o nmero especificado, isto , a ativao est associada a um
determinado porta-ferramenta orientvel.
Os valores retornados pelas variveis de sistema $P_AD..., ao
contrrio dos parmetros de ferramenta correspondentes,
eventualmente, so modificados em funo da rotao ativa.
A desativao do porta-ferramenta orientvel identificado apenas
desativa temporariamente a funo, a ativao de outro portaferramenta orientvel o desativa permanentemente. Por isso que no
primeiro caso a funo reativada com a nova seleo do mesmo
porta-ferramenta, e no segundo caso, a nova seleo necessria,
mesmo se mais tarde o porta-ferramenta orientvel for ativado
novamente com o nmero especificado.
A funo no influenciada atravs do Reset.

-1

A funo sempre ativada se um porta-ferramenta orientvel estiver


ativo.
Na troca do porta-ferramenta ou no caso desse ser desativado e
depois novamente ativado, se deve ativar novamente o CUTMOD.

-2

A funo sempre ativada se um porta-ferramenta orientvel estiver


ativo e seu nmero for igual ao atual porta-ferramenta orientvel ativo.
Se nenhum porta-ferramenta orientvel estiver ativo, isto tem o mesmo
significado que CUTMOD=0. Se um porta-ferramenta orientvel estiver
ativo, isto tem o mesmo significado que a indicao imediata do atual
nmero de porta-ferramenta.

< -2

Os valores menores que -2 so ignorados, isto , este caso tratado


como se o CUTMOD no fosse programado.
Nota:
Esta faixa de valores no deve ser utilizada, pois ela est reservada
para eventuais futuras ampliaes.

Indicao
SD42984 $SC_CUTDIRMOD
A funo ativada atravs do comando CUTMOD substitui a funo ativvel atravs do dado de
ajuste SD42984 $SC_CUTDIRMOD. Entretanto esta funo continua disponvel sem ser
alterada. Visto que no faz sentido utilizar as duas funes paralelamente, ela somente
pode ser ativada se o CUTMOD for igual a zero.

Preparao do trabalho

440

Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

Corretores de ferramentas
9.11 Modificao dos dados de corte para ferramentas orientveis (CUTMOD)

Exemplo
O exemplo a seguir se refere a uma ferramenta com a posio de corte 3 e um portaferramenta orientvel, que pode girar a ferramenta em torno do eixo B.
Os valores numricos nos comentrios indicam as posies finais do bloco em coordenadas
de mquina (MCS) na sequncia X, Y e Z.
Cdigo de programa

Comentrio

N10 $TC_DP1[1,1]=500
N20 $TC_DP2[1,1]=3

; Posio de corte

N30 $TC_DP3[1,1]=12
N40 $TC_DP4[1,1]=1
N50 $TC_DP6[1,1]=6
N60 $TC_DP10[1,1]=110

; ngulo do suporte

N70 $TC_DP11[1,1]=3

; Sentido de corte

N80 $TC_DP24[1,1]=25

; ngulo livre

N90 $TC_CARR7[2]=0 $TC_CARR8[2]=1 $TC_CARR9[2]=0

; Eixo B

N100 $TC_CARR10[2]=0 $TC_CARR11[2]=0 $TC_CARR12[2]=1

; Eixo C

N110 $TC_CARR13[2]=0
N120 $TC_CARR14[2]=0
N130 $TC_CARR21[2]=X
N140 $TC_CARR22[2]=X
N150 $TC_CARR23[2]="M"
N160 TCOABS CUTMOD=0
N170 G18 T1 D1 TCARR=2
N180 X0 Y0 Z0 F10000

X
; 12.000

0.000

1.000

N190 $TC_CARR13[2]=30
N200 TCARR=2
N210 X0 Y0 Z0

; 10.892

0.000

-5.134

N220 G42 Z10

; 8.696

0.000

17.330

N230 Z20

; 8.696

0.000

21.330

N240 X10

; 12.696

0.000

21.330

N250 G40 X20 Z0

; 30.892

0.000

5.134

N260 CUTMOD=2 X0 Y0 Z0

; 8.696

0.000

7.330

N270 G42 Z10

; 8.696

0.000

17.330

N280 Z20

; 8.696

0.000

21.330

N290 X10

; 12.696

0.000

21.330

N300 G40 X20 Z0

; 28.696

0.000

7.330

N310 M30

Preparao do trabalho
Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

441

Corretores de ferramentas
9.11 Modificao dos dados de corte para ferramentas orientveis (CUTMOD)
Explanaes:
No bloco N180 se seleciona primeiro a ferramenta com CUTMOD=0 e no o porta-ferramenta
orientvel girado. Visto que todos vetores de Offset do porta-ferramenta orientvel tm valor
0, se aproxima a posio que estiver especificada no $TC_DP3[1,1] e $TC_DP4[1,1] que
corresponde aos comprimentos de ferramenta.
No bloco N200 ativado o porta-ferramenta orientvel com uma rotao de 30 em torno do
eixo B. Visto que a posio do corte no alterada devido o CUTMOD=0, prevalece o ponto de
referncia antigo dos cortes. Por isso que no bloco N210 aproximada a posio que
contm o antigo ponto de referncia de corte no ponto zero (isto , o vetor (1, 12) girado
30 no plano Z/X).
No bloco N260 atua uma diferena em relao ao bloco N200 CUTMOD=2. Por causa da rotao
do porta-ferramenta orientvel, a posio de corte modificada passa a ser 8. Disto tambm
resultam posies de eixo divergentes.
Nos blocos N220 e N270 sempre se ativa a correo do raio da ferramenta (WRK). A posio
de corte diferente nos dois segmentos do programa no tem nenhuma influncia sobre as
posies finais dos blocos ativos na WRK, sendo que as posies correspondentes so
idnticas. Somente nos blocos de desativao N260 e N300 que atuam novamente as
posies de corte diferentes.

Outras informaes
Ao dos dados de corte modificados
A posio de corte modificada e o ponto de referncia do corte so ativados imediatamente
na programao tambm para uma ferramenta ativa. Uma nova seleo de ferramenta
neste caso no necessria.
Influncia do plano de trabalho ativo
Para a definio da posio de corte, sentido de corte e ngulo de suporte ou ngulo livre
modificados determinante se considerar o corte no respectivo plano ativado (G17 - G19).
Entretanto, se o dado de ajuste SD42940 $SC_TOOL_LENGTH_CONST (troca dos
componentes de comprimento da ferramenta na mudana de planos) contm um valor
vlido diferente de zero (positivo ou negativo 17, 18 ou 19), ento este contedo
determinar o plano que as grandezas relevantes devem ser consideradas.
Variveis de sistema
Esto disponveis as seguintes variveis de sistema:
Variveis de sistema

Significado

$P_CUTMOD_ANG /
$AC_CUTMOD_ANG

Retorna o ngulo (no arredondado) no plano de usinagem ativo, que foi


definido para a modificao dos dados de corte (posio de corte,
sentido de corte, ngulo e ngulo do suporte) com as funes CUTMOD e
$SC_CUTDIRMOD ativadas.
O $P_CUTMOD_ANG se refere ao atual estado no pr-processamento,
e o $AC_CUTMOD_ANG ao atual bloco de processamento principal.

Preparao do trabalho

442

Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

Corretores de ferramentas
9.11 Modificao dos dados de corte para ferramentas orientveis (CUTMOD)

Variveis de sistema

Significado

$P_CUTMOD /
$AC_CUTMOD

CUTMOD (nmero do porta-ferramenta que se deve ativar a modificao

L o atual valor vlido que foi programado por ltimo com o comando

de dados de corte).

Era o ltimo valor CUTMOD = -2 programado (ativao com o atual


porta-ferramenta orientvel ativo), no $P_CUTMOD no se retorna o
valor -2, mas o nmero do porta-ferramenta orientvel ativo no momento
da programao.
O $P_CUTMOD se refere ao atual estado no pr-processamento, e o
$AC_CUTMOD ao atual bloco de processamento principal.
$P_CUT_INV /
$AC_CUT_INV

Retorna o valor TRUE se a ferramenta for girada de modo que o sentido


de giro do fuso seja invertido. Para isso devem ser preenchidas as
seguintes quatro condies no bloco relacionado respectiva operao
de leitura:
1. Uma ferramenta de tornear ou de retificar est ativa
(tipos de ferramenta 400 at 599 e / ou
SD42950 $SC_TOOL_LENGTH_TYPE = 2).
2. O controle dos cortes foi ativado com o comando de linguagem
CUTMOD.
3. Um porta-ferramenta orientvel que foi identificado pelo valor
numrico do CUTMOD est ativo.
4. O porta-ferramentas orientvel gira a ferramenta em torno de um eixo
no plano de usinagem (tipicamente o eixo C) de modo que a normal
resultante do corte da ferramenta esteja girada mais que 90
(tipicamente 180) em relao posio de sada.
Se apenas uma das quatro condies mencionadas no for preenchida,
ento o contedo da varivel FALSE. Para ferramentas cuja posio
de corte no est definida, o valor da varivel sempre FALSE.
O $P_CUT_INV se refere ao atual estado no pr-processamento e o
$AC_CUT_INV ao atual bloco de processamento principal.

Todas variveis de processamento principal ($AC_CUTMOD_ANG, $AC_CUTMOD e


$AC_CUT_INV) podem ser lidas em aes sincronizadas. Um acesso de leitura a partir do
pr-processamento gera uma parada de pr-processamento.
Dados de corte modificados:
Se uma rotao de ferramenta estiver ativa, os dados modificados so disponibilizados nas
seguintes variveis de sistema:
Varivel de sistema

Significado

$P_AD[2]

Posio de corte

$P_AD[10]

ngulo do suporte

$P_AD[11]

Sentido de corte

$P_AD[24]

ngulo livre

Preparao do trabalho
Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

443

Corretores de ferramentas
9.11 Modificao dos dados de corte para ferramentas orientveis (CUTMOD)

Indicao
Os dados sempre so modificados em relao aos parmetros de ferramentas
correspondentes ($TC_DP2[..., ...] etc.) quando a funo "Modificao de dados de corte
para ferramentas orientveis" for ativada com o comando CUTMOD e um porta-ferramenta
orientvel que executa a rotao de uma ferramenta estiver ativo.

Literatura
Para mais informaes sobre a funo "Modificao de dados de corte para ferramentas
orientveis", veja:
Manual de funes bsicas; Correo de ferramenta (W1)

Preparao do trabalho

444

Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

10

Comportamento de percurso
10.1

Controle tangencial (TANG, TANGON, TANGOF, TLIFT,


TANGDEL)

Funo
O eixo escravo acompanhado conforme a tangente no percurso definido pelos eixos
mestres. Com isso uma ferramenta pode ser alinhada paralela ao contorno. Atravs do
ngulo programado na instruo TANGON a ferramenta pode ser posicionada relativa
tangente.

<

Aplicao
Por exemplo, o controle tangencial pode ser aplicado para:
Posicionamento tangencial de uma ferramenta orientvel na estampagem
Acompanhamento do alinhamento da pea de trabalho com uma serra tipo fita (veja a
prxima figura)
Posicionamento de um dressador em um rebolo
Posicionamento de um disco de corte para processar vidro e papel
Alimentao tangencial de um fio para soldagem com 5 eixos

Preparao do trabalho
Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

445

Comportamento de percurso
10.1 Controle tangencial (TANG, TANGON, TANGOF, TLIFT, TANGDEL)

<

3HDGHWUDEDOKR
)LWDGHVHUUD
;

Sintaxe
Definio do acompanhamento tangencial:
TANG(<eixo escravo>,<eixo-mestre1>,<eixo-mestre2>,<fator de
acoplamento>,<KS>,<Opt>)
Ativao do controle tangencial:
TANGON(<eixo escravo>,<ngulo>,<Dist>,<tolerncia de ngulo>)
Desativao do controle tangencial:
TANGOF(<eixo escravo>)
Ativao da funo "Inserir bloco intermedirio nos cantos do contorno":
TLIFT(<eixo escravo>)
A instruo TLIFT especificada logo aps a atribuio de eixos TANG().
Desativao da funo "Inserir bloco intermedirio nos cantos do contorno":
TANG(...)

sem a sequncia do TLIFT(<EixoE>).

Deletao da definio de um acompanhamento tangencial:


TANGDEL(<eixo escravo>)
Um acompanhamento tangencial definido pelo usurio deve ser deletado quando for
definido um novo acompanhamento tangencial de mesmo eixo escravo na chamada do
processamento do TANG. Uma deletao apenas possvel se o acoplamento for desativado
com TANGOF(<EixoE>).

Preparao do trabalho

446

Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

Comportamento de percurso
10.1 Controle tangencial (TANG, TANGON, TANGOF, TLIFT, TANGDEL)

Significado
TANG:
TANGON:
TANGOF:
TLIFT:
TANGDEL:
<eixo escravo>:
<eixo-mestre1>,<eixomestre2>:
<fator de acoplamento>:

<SC>:

<Opt>:

<ngulo>:
<Dist>:
<tolerncia angular>:

Instruo a ser preparada para definio de um


acompanhamento tangencial
Ativao do controle tangencial para o eixo escravo
especificado
Desativao do controle tangencial para o eixo escravo
especificado
Ativao da funo "Inserir bloco intermedirio nos cantos do
contorno"
Deletao da definio de um acompanhamento tangencial
Eixo escravo: Eixo rotativo adicional acompanhado
tangencialmente
Eixos mestres: Eixos de percurso a partir dos quais se define
a tangente para o acompanhamento
Fator de acoplamento: Relao entre a alterao angular da
tangente e o eixo acompanhado
Pr-ajuste:
1
Nota:
Um fator de acoplamento de 1 no precisa ser programado
de forma explcita.
Letras de identificao para sistema de coordenadas
"B":
Sistema de coordenadas bsico (pr-ajuste)
Nota:
<SC> = "B" no precisa ser programado de forma
explcita.
"W":
Sistema de coordenadas da pea de trabalho (no
disponvel)
Otimizao
"S":
Standard (pr-ajuste)
Nota:
<Opt> = "S" no precisa ser programado de forma
explcita.
"P":
Adaptao automtica do tempo gasto do eixo
tangencial e do contorno
Nota:
Com <Opt> = "P" a dinmica do eixo escravo no
ser considerada na limitao de velocidade dos
eixos mestres. Este ajuste recomendado
principalmente no emprego das transformaes
cinemticas.
ngulo de deslocamento do eixo escravo
Curso de suavizao do eixo escravo (necessrio se
<Opt> = "P")
Tolerncia angular do eixo escravo (opcional; avaliado
somente se <Opt> = "P")
Nota:
Os parmetros (<Dist> e <tolerncia angular>) limitam os
erros entre o eixo acompanhado e a tangente dos eixos
mestres de forma controlada.

Preparao do trabalho
Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

447

Comportamento de percurso
10.1 Controle tangencial (TANG, TANGON, TANGOF, TLIFT, TANGDEL)

Exemplos
Exemplo 1: Definio e ativao do acompanhamento tangencial
Cdigo de programa

Comentrio

N10 TANG(C,X,Y,1,"B","P")

; Definio de um acompanhamento tangencial: O


eixo rotativo C deve acompanhar os eixos
geomtricos X e Y.

N20 TANGON(C,90)

; O eixo C o eixo escravo. Ele girado em uma


posio de 90 em relao tangente do
percurso em cada movimento dos eixos de
percurso.

...

Indicao
Programao simplificada
TANG(C,X,Y,1,"B","P")

pode ser programado de forma simplificada como TANG(C,X,Y,,,"P").

Exemplo 2: Mudana de planos


Cdigo de programa

Comentrio

N10 TANG(A,X,Y,1)

; 1 definio do acompanhamento tangencial.

N20 TANGON(A)

; Ativao do acoplamento.

N30 X10 Y20

; Raio

...
N80 TANGOF(A)

; Desativao do 1 acoplamento.

N90 TANGDEL(A)

; Deletao da 1 definio.

...
TANG(A,X,Z)

; 2 definio do acompanhamento tangencial.

TANGON(A)

; Ativao do novo acoplamento.

...
N200 M30

Exemplo 3: Comutao de eixos geomtricos e TANGDEL


No gerado nenhum alarme.
Cdigo de programa

Comentrio

N10 GEOAX(2,Y1)

; Y1 o eixo geomtrico 2.

N20 TANG(A,X,Y)

; 1 definio do acompanhamento tangencial.

N30 TANGON(A,90)

; Ativao do acompanhamento com Y1

N40 G2 F8000 X0 Y0 I0 J50


N50 TANGOF(A)

; Desativao do acompanhamento com Y1.

N60 TANGDEL(A)

; Deletao da 1 definio.

Preparao do trabalho

448

Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

Comportamento de percurso
10.1 Controle tangencial (TANG, TANGON, TANGOF, TLIFT, TANGDEL)

Cdigo de programa

Comentrio

N70 GEOAX(2, Y2)

; Y2 o eixo geomtrico 2.

N80 TANG(A,X,Y)

; 2 definio do acompanhamento tangencial.

N90 TANGON(A,90)

; Ativao do acompanhamento com Y2.

...

Exemplo 4: Acompanhamento tangencial com otimizao automtica


Y1 o eixo geomtrico 2.
Cdigo de programa

Comentrio

...
N80 G0 C0
N100 F=50000
N110 G1 X1000 Y500
N120 TRAORI
N130 G642

; Suavizao com preservao do


desvio de percurso mximo
permitido.

N171 TRANS X50 Y50


N180 TANG(C,X,Y,1,,"P")

; Definio do acompanhamento
tangencial com otimizao
automtica da velocidade de
percurso.

N190 TANGON(C,0,5.0,2.0)

; Ativao do acompanhamento
tangencial com otimizao
automtica: Percurso de
suavizao de 5 mm, tolerncia
angular de 2 graus.

N210 G1 X1310 Y500


N215 G1 X1420 Y500
N220 G3 X1500 Y580 I=AC(1420) J=AC(580)
N230 G1 X1500 Y760
N240 G3 X1360 Y900 I=AC(1360) J=AC(760)
N250 G1 X1000 Y900
N280 TANGOF(C)
N290 TRAFOOF
N300 M02

Outras informaes
Definir eixos escravo e eixos mestres
A definio de eixos escravos e eixos mestres realizada com TANG.
Um fator de acoplamento estabelece a relao entre uma alterao angular da tangente e o
eixo acompanhado. Seu valor normalmente 1 (pr-ajuste).

Preparao do trabalho
Manual de programao, 03/2013, 6FC5398-2BP40-3KA1

449

Comportamento de percurso
10.1 Controle tangencial (TANG, TANGON, TANGOF, TLIFT, TANGDEL)
ngulo limite por limite da rea de trabalho
Para os movimentos de percurso conduzidos alternadamente, a tangente gira 180 no ponto
de reverso, o alinhamento do eixo escravo altera-se de acordo. Normalmente este
procedimento no faz muito sentido: O movimento de retorno deve ser percorrido com o
mesmo ngulo de deslocamento negativo como no movimento de ida:

<

0RYLPHQWRGH
UHWRUQRQRGHVHMDGR
;

<

0RYLPHQWRGH
UHWRUQRGHVHMDGR
;

Para isso a rea de trabalho do eixo escravo deve ser limitada (G25, G26). O limite da rea de
trabalho deve estar ativo no momento da reverso do percurso (WALIMON). Se o ngulo de
deslocamento estiver fora dos limites da rea de trabalho ser feita a tentativa com o ngulo
de deslocamento negativo de retornar rea de trabalho permitida.
Insero de bloco intermedirio nos cantos de contorno (TLIFT)
Em um canto do contorno alterada a tangente e com isso de forma brusca a posio
nominal do eixo acompanhado. O eixo normalmente tenta compensar este salto com sua
velocidade mxima possvel. Mas neste caso, aps o canto resulta um desvio em relao
posio tangencial em um determinado trecho do contorno. Se por motivos tecnolgicos isto
no for tolervel, pelo comando pode-se fazer uma parada no canto atravs da instruo
TLIFT e ento girar o eixo acompanhado para o novo sentido da tangente com um bloco
intermedirio automaticamente gerado.
A rotao realizado com o eixo de percurso programado, se o eixo acompanhado foi
movimentado uma vez como eixo de percurso. Neste caso, com a funo
TFGREF[<eixo>]=0.001 possvel alcanar uma velocidade mxima do eixo acompanhado.
Se anteriormente o eixo acompanhado no foi movimentado como eixo de percurso, ento
este eixo movimentado com eixo de posicionamento. A velocidade est em funo da
velocidade de posicionamento armazenada no dado da mquina.
A rotao realizada com a velocidade mxima do eixo acompanhado.