6. ARBEIDSDELING I HJEMMET, FORSTÅELSE AV LIKESTILLING
6.3 Kritiske syn på den ”norske” likestillingsideen
A rede de FBs que irá compor a aplicação alvo fará uso dos parâmetros contidos no arquivo fonte STEP-NC para cálculo de caminho de ferramenta e troca de informações com o controlador de baixo nível. Para cada arquivo STEP-NC de entrada, tem-se uma nova configuração da rede de
6.2 Estrutura da Máquina-Ferramenta e CNC-C2 103
Figura 6.13: Diagrama de sequência: new EntityTO
Fonte: Hasegawa et al. (2011)
FBs para controle da máquina. Esse dinamismo requer uma geração de estruturas aderentes a IEC 61499 a partir do arquivo STEP-NC de entrada. Neste trabalho desenvolveu-se como saída do compilador, três arquivos gerados no formato XML. Esses três arquivos gerados, juntamente com a biblioteca de FBs e modelos de resources desenvolvidos neste trabalho, compõem a rede
6.2 Estrutura da Máquina-Ferramenta e CNC-C2 104
Figura 6.14: Diagrama de sequência: método runSemanticAnalysis
Fonte: Hasegawa et al. (2011)
de FBs para a aplicação final. Esta rede é responsável pelo uso das informações STEP-NC para cálculo do caminho da ferramenta, uso das informações tecnológicas e troca de dados com o controlador de baixo nível. Segue uma descrição de cada arquivo gerado.
1. Arquivo System: Compõe a aplicação alvo, contendo as instâncias de todos os resources necessários referente aos executáveis descritos no arquivo STEP-NC. A distribuição pelos dispositivos é feita nesta etapa, contudo, será executado apenas no PC devido à não disponibilidade de equipamentos aderente à norma IEC 61499 atualmente. Para a geração deste arquivo, é necessário encontrar os atributos do tipo executável que estão listados na entidade workplan, conforme descrito anteriormente. Foi definido que cada executável STEP-NC seja convertido em uma instância de um resource correspondente
6.2 Estrutura da Máquina-Ferramenta e CNC-C2 105
Figura 6.15: Trecho de código desenvolvido para a aplicação da back-end
f o r ( I n t e g e r N : r e s u l t a d o D a C o m p i l a c a o . d a t a S e c t i o n E n t i t i e s . k e y S e t ( ) ) { O b j e c t O = r e s u l t a d o D a C o m p i l a c a o . d a t a S e c t i o n E n t i t i e s . g e t (N ) ; i f (O i n s t a n c e o f WORKPLAN) { WORKPLAN w o r k p l a n = (WORKPLAN) r e s u l t a d o D a C o m p i l a c a o . d a t a S e c t i o n E n t i t i e s . g e t (N ) ; A r r a y L i s t <EXECUTABLE> l i s t _ p l a n o _ d e _ t r a b a l h o = w o r k p l a n . i t s _ e l e m e n t s . v a l u e ; i f ( l i s t _ p l a n o _ d e _ t r a b a l h o != n u l l ) { i f ( l i s t _ p l a n o _ d e _ t r a b a l h o . s i z e ( ) > 0 ) { f o r ( i n t i = 0 ; i < l i s t _ p l a n o _ d e _ t r a b a l h o . s i z e ( ) ; i ++) { i f ( l i s t _ p l a n o _ d e _ t r a b a l h o . g e t ( i ) i n s t a n c e o f MACHINING_WORKINGSTEP) { MACHINING_WORKINGSTEP e x e c u t a b l e = (MACHINING_WORKINGSTEP) w o r k p l a n . i t s _ e l e m e n t s . v a l u e . g e t ( i ) ; i f ( e x e c u t a b l e . i t s _ f e a t u r e i n s t a n c e o f PLANAR_FACE) { PLANAR_FACE p l a n a r _ f a c e = (PLANAR_FACE) e x e c u t a b l e . i t s _ f e a t u r e ; . . . } . . . i f ( e x e c u t a b l e . i t s _ f e a t u r e i n s t a n c e o f ROUND_HOLE) { ROUND_HOLE r o u n d _ h o l e = (ROUND_HOLE) e x e c u t a b l e . i t s _ f e a t u r e ; . . . } } e l s e i f ( l i s t _ p l a n o _ d e _ t r a b a l h o . g e t ( i ) i n s t a n c e o f NC_FUNCTION) { . . . } . . . . . .
Fonte: produção do próprio autor
dentro do modelo do system. Definiu-se também que o nome da instância do resource será o identificador do processo dado pelo arquivo STEP-NC concatenado com o símbolo underlinejuntamente com o identificador da feature. Adotou-se esse nome para facilitar a identificação do resource com o executable descrito pelo arquivo STEP-NC. Para tal, há a necessidade da biblioteca conter o tipo de resource instanciado. A biblioteca de FBs e resourcesdesenvolvida será tratada na subseção 6.2.6. O modelo system projetado deve conter: todos os resources que correspondem aos executáveis listados no arquivo STEP-NC alvo; um resource do tipo “STEP-NC_DATA”, que será descrito no tópico seguinte; um resourcedo tipo “SETUP”, que é responsável por fazer a configuração da máquina (zero peça) e um resource de comunicação, responsável pela troca de dados com o controlador de baixo nível. Na Figura 6.16 tem-se o modelo da linguagem de marcação XML de um systemgenérico estruturado conforme a IEC 61499.
6.2 Estrutura da Máquina-Ferramenta e CNC-C2 106
Figura 6.16: Exemplo de um arquivo system genérico da linguagem de marcação XML gerado a partir do back-end do compilador
<System Name="NOME_DO_SYSTEM" Comment="−−−"> < I d e n t i f i c a t i o n S t a n d a r d ="61499 −1"/ >
< V e r s i o n I n f o Date = " 1 0 / 0 1 / 2 0 1 2 " O r g a n i z a t i o n ="UDESC" Author ="LAPAS" V e r s i o n = " 0 . 0 " / > < Device Name="NOME_DO_DEVICE" Type ="DEVICE_TYPE" >
< R e s o u r c e Name="STEP−NC_DATA1" Type ="STEP−NC_DATA"/ > < R e s o u r c e Name="SETUP_FRANK" Type ="SETUP" dx ="50" dy ="50" >
< P a r a m e t e r Name=" Subl_8_SETUP . ID " Value = " [SETUP_FRANK , Subl_8_SETUP ] " / >
< P a r a m e t e r Name=" f i n i s h _ s e t u p . ID " Value = " [ STEP−NC_DATA1, Subl_3_OK_STEP−NC_DATA] " / > < P a r a m e t e r Name=" f i n i s h _ s e t u p . SD_1 " Value ="SETUP_FRANK"/ >
</ Resource >
< R e s o u r c e Name="NOME_DE_INSTANCIA_DO_RESOURCE" Type ="NOME_DO_TYPE_DO_RESOURCE" > < P a r a m e t e r Name="NOME_DO_FB . nome_do_parametro " Value ="VALOR"/ >
</ Resource >
< R e s o u r c e Name="NOME_DE_INSTANCIA_DO_RESOURCE" Type ="NOME_DO_TYPE_DO_RESOURCE" > . . .
. . .
< R e s o u r c e Name="COMMUNICATION_FRANK" Type ="COMMUNICATION" dx ="50" dy ="500" >
< P a r a m e t e r Name="Subl_1_COMM_FRANK . ID " Value = " [COMMUNICATION_FRANK, Subl_1_COMM_FRANK ] " / > < P a r a m e t e r Name=" f i n i s h _ m a c h i n i n g . ID " Value = " [ STEP−NC_DATA1, Subl_3_OK_STEP−NC_DATA] " / > </ Resource >
</ Device > </ System >
Fonte: produção do próprio autor
2. Arquivo Resource STEP-NC_DATA: este resource é o elemento central do arquivo system descrito anteriormente. Foi definido com a característica de conter a ordem dos executáveis, conforme listado na entidade workplan, e todas as informações provenientes do arquivo STEP-NC relacionados a cada executável. Todas as informações e a chamada dos resources serão provenientes deste resource STEP-NC_DATA. Este arquivo é constituído de FB de interface e um FB do tipo básico com a função de chaveamento. O bloco de chaveamento tem a função de selecionar, na ordem dada pelo arquivo STEP-NC, os FBs de comunicação (publisher) para envio dos dados e chamada das instâncias do resources dos executáveis. O FB de comunicação utilizado para o envio das informações STEP-NC e chamada do resourceé o publisher com comunicação local (somente PC). Para uma maior compreensão deste resource, pode ser observado um caso genérico apresentado na Figura 6.17.
O resource STEP-NC_DATA contém o FB de serviço de interface que inicializa a execução da aplicação, o bloco START. Ao iniciar a execução, o bloco START envia um evento para
6.2 Estrutura da Máquina-Ferramenta e CNC-C2 107
Figura 6.17: Exemplo de funcionamento do resource STEP-NC_DATA desenvolvido
Fonte: produção do próprio autor
o FB SWITCH que dispara um evento para o primeiro publisher do resource. Ao disparar o evento para o publisher, o subscribe do resource 2 é inicializado e recebe os dados publicados (transição T1). Com isso o resource 2 é executado e ao finalizar publica para o subscribedo STEP-NC_DATA a finalização do resource, passando uma string contendo o nome de instância do resource (transição T2). No STEP-NC_DATA, o FB SWITCH verifica a string recebida com suas condições do ECC e dispara o próximo evento. Assim como descrito, será executado até finalizar todos os resources existentes no system. 3. Arquivo FBType SWITCH: tem como função chavear em sequência os eventos para a
execução dos publishers contidos no resource STEP-NC_DATA. Essa sequência é pre- determinada pela sequência de executáveis listados na entidade WORKPLAN do arquivo STEP-NC. Baseado nesta sequência é gerado o arquivo XML que representa este FB. O ECC interno deste FB contém estados com os nomes das instâncias de todos os resources contidos no system gerado. Quando o evento INIT é chaveado, o FB chaveia o primeiro evento, o evento SETUP. Esse evento está conectado ao bloco publisher SETUP e con- sequentemente inicializa a execução do resource SETUP. Ao término da execução do resource SETUP, o FB subscribe contido no resource STEP-NC_DATA recebe uma String
6.2 Estrutura da Máquina-Ferramenta e CNC-C2 108
informando o nome da instância do resource que encerrou a execução. A string recebida é utilizada para seleção do próximo estado no ECC do bloco SWITCH. Com isso, o próximo resourceé inicializado e esse processo ocorre até o término de todos os resources contidos no modelo system gerado, sendo que o último resource será o COMMUNICATION que é responsável pelo envio das informações geradas pelos outros resources para o controlador de baixo nível. O bloco COMMUNICATION será melhor detalhado na seção 6.2.6.