BR112019001650B1 - Sistema de produção ciber-físico e método implementado por computador para utilizar uma interface de habilidade para controlar uma unidade ciber-física em um sistema de produção ciber-físico - Google Patents

Sistema de produção ciber-físico e método implementado por computador para utilizar uma interface de habilidade para controlar uma unidade ciber-física em um sistema de produção ciber-físico Download PDF

Info

Publication number
BR112019001650B1
BR112019001650B1 BR112019001650-3A BR112019001650A BR112019001650B1 BR 112019001650 B1 BR112019001650 B1 BR 112019001650B1 BR 112019001650 A BR112019001650 A BR 112019001650A BR 112019001650 B1 BR112019001650 B1 BR 112019001650B1
Authority
BR
Brazil
Prior art keywords
skill
cyber
physical
unit
cppu
Prior art date
Application number
BR112019001650-3A
Other languages
English (en)
Other versions
BR112019001650A2 (pt
Inventor
Richard Gary Mcdaniel
Original Assignee
Siemens Aktiengesellschaft
Filing date
Publication date
Application filed by Siemens Aktiengesellschaft filed Critical Siemens Aktiengesellschaft
Priority claimed from PCT/US2016/046226 external-priority patent/WO2018031005A1/en
Publication of BR112019001650A2 publication Critical patent/BR112019001650A2/pt
Publication of BR112019001650B1 publication Critical patent/BR112019001650B1/pt

Links

Abstract

A presente invenção refere-se a um sistema de produção ciber-físico (100) que inclui várias unidades ciber-físicas configuradas para coletivamente produzirem um produto compreendendo uma ou mais peças de trabalho. Cada uma das unidades ciber-físicas compre-ende um ou mais dispositivos do sistema de automação, uma interface de rede e um processador. A interface de rede (300) está configurada para receber uma ou mais instâncias de perfil (305, 310). Cada instância de perfil proporciona uma solicitação independente da máquina para transformação de uma peça de trabalho pelo um ou mais dispositivos do sistema de automação. O processador é configurado para executar cada uma da uma ou mais instâncias de perfil pela aplicação de comportamentos que controlam os dispositivos do sistema de automação.

Description

CAMPO TÉCNICO
[001] A presente invenção refere-se em geral a uma interface de habilidade para aplicação industrial, junto com métodos, sistemas e aparelhos relacionados com a mesma. A tecnologia revelada pode ser aplicada, por exemplo, para vários ambientes de produção automatizados onde controladores programáveis são utilizados.
ANTECEDENTES
[002] Os processos de fabricação são altamente automatizados e podem ser divididos em várias camadas hierárquicas. Por exemplo, no nível mais elevado, o planejamento de recursos empresariais (ERP) acontece, o qual pode ser referido como uma camada comercial. Em níveis mais baixos, a implementação e o controle de hardware acontecem, os quais podem ser referidos como várias camadas de controle ou de unidade. Uma camada intermediária integra e conecta as camadas comerciais e de controle. Esta camada intermediária inclui um sistema de execução de fabricação (MES) que define um processo MES em termos de dados e interações entre as funções, tais como gerenciamento de recurso, alocação de recurso, despacho, coleta e aquisição de dados, gerenciamento de garantia de qualidade, gerenciamento de manutenção, análise de performance, programação de atividades, controle de documentos, gestão do trabalho, e rastreamento de material e da produção.
[003] Um desafio ao projetar aplicações industriais são as intera ções de máquina com máquina que são altamente dependentes de como o MES implementa os processos de aplicação industrial. Como resultado, a robustez do sistema como um todo é limitada. Quando a customização é requerida, ela deve ser executada manualmente. Por exemplo, um operador ou outro trabalhador em um ambiente industrial pode ler a ordem de serviço, apanhar os materiais de insumo para uma etapa particular do processo, levar estes materiais para as máquinas, e ativar as máquinas para realizar a etapa. Em alguns casos, máquinas tais como guindastes podem facilitar o transporte de itens; mas, em princípio, qualquer customização do sistema permanece dependente da interação humana com o sistema.
SUMÁRIO
[004] Concretizações da presente invenção endereçam e supe ram uma ou mais deficiências e desvantagens acima, pelo aprovisionamento de métodos, sistemas e aparelhos relacionados com uma interface de habilidade para aplicações industriais. As técnicas descritas neste documento definem o problema de intenção de comunicação entre vários dispositivos interagindo em uma aplicação de automação em termos de uma abstração chamados "habilidades". O propósito das habilidades é padronizar e simplificar o processo de configurar e executar processos na automação. Ele também é utilizado como o meio de comunicação entre máquinas em nível de sistema e para determinar quais operações executar para obter otimização. Uma habilidade está relacionado com um processo como seria encontrado em um MES, mas pode ser implementada em nível de unidade.
[005] De acordo com um aspecto da presente invenção, um sis tema de produção ciber-físico inclui várias unidades ciber-físicas configuradas para coletivamente produzir um produto compreendendo uma ou mais peças de trabalho. Em algumas concretizações, cada uma das unidades ciber-físicas compreende um controlador lógico programável. Cada uma das unidades ciber-físicas compreende um ou mais dispositivos do sistema de automação, uma interface de rede, e um processador. A interface de rede é configurada para receber instâncias de habilidade que proporcionam uma solicitação independente da máquina para transformação de uma peça de trabalho pelos dispositivos do sistema de automação. Em algumas concretizações, a interface de rede inclui uma interface de serviços da Rede que utiliza o protocolo de Transferência de Estado Representacional (REST) para receber as instâncias de habilidade. O processador é configurado para executar cada uma das instâncias de habilidade pela aplicação de comportamentos que controlam os dispositivos do sistema de automação. Em algumas concretizações do sistema de produção ciber-físico, pelo menos uma das unidades ciber-físicas corresponde a um sistema de transporte que facilita o transporte da peça de trabalho entre as outras unidades ciber-físicas incluídas no sistema.
[006] De acordo com algumas concretizações do sistema de produção ciber-físico mencionado acima, cada uma das unidades ci- ber-físicas ainda compreende uma fila de ordem da unidade configurada para armazenar as instâncias de habilidade antes da execução pelo processador. O processador pode ser ainda configurado para reordenar a fila de ordens da unidade baseado em uma sequência preferida após informar a instância de habilidade na fila de ordens da unidade. Ainda (ou alternativamente), o processador pode ser ainda configurado para executar as instâncias de habilidade na ordem, saltando as instâncias de habilidade que não podem ser executadas imediatamente. Em algumas concretizações do sistema de produção ciber-físico mencionado acima, o processador é ainda configurado para transmitir uma mensagem para o sistema de produção ciber- físico indicando conclusão de uma instância de habilidade quando da remoção da instância de habilidade da fila de ordens da unidade para execução. O processador também pode ser configurado para modificar um parâmetro de estado de habilidade de uma instância de habi- lidade quando da remoção da instância de habilidade da fila de ordens da unidade para execução.
[007] Em algumas concretizações, cada unidade ciber-física ain da compreende um dispositivo scanner configurado para ler uma etiqueta física na peça de trabalho. A etiqueta física especifica um Identificador Universal de Recurso (URI) correspondendo à peça de trabalho. O processador pode utilizar o URI para associar as instâncias de habilidade na fila de ordens da unidade com a peça de trabalho durante a execução. Por exemplo, em uma concretização, as instâncias de habilidade compreendem um valor de habilidade chave correspondendo ao URI correspondendo à peça de trabalho.
[008] De acordo com outro aspecto da presente invenção, um método implementado por computador para utilizar uma interface de habilidade para controlar uma unidade ciber-física inclui receber uma instância de habilidade proporcionando uma solicitação independente da máquina por transformação de uma peça de trabalho por um ou mais dispositivos do sistema de automação incluídos na unidade ciber- física. As instâncias de habilidade são informadas em uma fila de ordens da unidade compreendendo uma ou mais instâncias de habilidade adicionais. Uma vez que as instâncias de habilidade são informadas, a fila pode ser reordenada. Por exemplo, em uma concretização, o método inclui reordenar a fila de ordens da unidade baseado em uma sequência preferida após informar a instância de habilidade na fila de ordens da unidade. Então, cada instância de habilidade na fila de ordens da unidade é seletivamente executada pela aplicação de comportamentos que controlam os dispositivos do sistema de automação. Em algumas concretizações, as instâncias de habilidade na fila de ordens da unidade são executadas em ordem, saltando instâncias de habilidade que não podem ser executadas imediatamente. Quando da remoção de uma instância de habilidade da fila de ordens da unidade para execução, uma mensagem pode ser transmitida para um sistema de produção ciber-físico indicando a conclusão da instância de habilidade ou um parâmetro de estado de habilidade da instância de habilidade pode ser modificado.
[009] De acordo com outras concretizações da presente invenção, um sistema de produção ciber-físico inclui uma unidade ciber-física de transporte que compreende um sistema de transporte físico, uma interface de rede de transporte, e um processador. A interface de rede de transporte é configurada para receber instâncias de habilidade de transporte que proporcionam uma solicitação independente da máquina para transporte de uma peça de trabalho entre outras unidades ciber- físicas no sistema de produção. O processador é configurado para aplicar comportamentos de transporte para o sistema de transporte físico para implementar as instâncias de habilidade de transporte. Em algumas concretizações, o sistema de produção ciber-físico mencionado acima ainda compreende uma ou mais unidades ciber-físicas correspondentes. Cada unidade ciber-física correspondente inclui uma máquina física para fisicamente transformar a peça de trabalho, uma interface de rede de usinagem que é configurada para receber uma ou mais instâncias de habilidade de usinagem pelo aprovisionamento de uma solicitação independente de máquina para usinagem da peça de trabalho pela unidade ciber-física de usinagem, e um processador que é configurado para aplicar comportamentos de usinagem para as máquinas físicas para implementar as instâncias de habilidade de usinagem.
[0010] Aspectos e vantagens adicionais da invenção serão feitos aparentes a partir da descrição detalhada seguinte de concretizações ilustrativas que continuam com referência aos desenhos acompanhantes.
BREVE DESCRIÇÃO DOS DESENHOS
[0011] Os aspectos precedentes e outros aspectos da presente invenção são mais bem entendidos a partir da descrição detalhada seguinte quando lida em conexão com os desenhos acompanhantes. Para o propósito de ilustrar a invenção, são apresentadas nos desenhos concretizações que são atualmente preferidas, sendo entendido, entretanto, que a invenção não está limitada às instrumentalidades específicas reveladas. Nos desenhos estão incluídas as seguintes Figuras:
[0012] FIG.1 ilustra um Sistema de Produção Ciber-Físico (CPPS) ilustrativo que automaticamente transporta materiais entre máquinas autônomas, de acordo com algumas concretizações;
[0013] FIG. 2 proporciona uma vista de alto nível das Unidades de Produção Ciber-Físicas (CPPUs) e habilidades relacionados para o CPPS ilustrativo apresentado na FIG. 1, de acordo com algumas concretizações;
[0014] FIG. 3 proporciona um exemplo da composição de uma CPPU individual 300, de acordo com algumas concretizações;
[0015] FIG. 4 apresenta um cenário ilustrativo que inclui um con junto de três transportadores dispostos junto com outros sensores e um empurrador;
[0016] FIG. 5 é uma ontologia para uma CPPU, como ela pode ser implementada em algumas concretizações da presente invenção. A CPPU compreende comportamentos, componentes e habilidades;
[0017] FIG. 6 proporciona um exemplo de instâncias de habilidade adicionadas para a fila de ordens da unidade, de acordo com algumas concretizações;
[0018] FIG. 7 apresenta um exemplo de um identificador de código QR que identifica uma bandeja de trabalho;
[0019] FIG. 8 ilustra um exemplo da interface de habilidade onde uma linguagem de fluxo de dados é utilizada para implementar o com-portamento programado pela especificação de conexões internas entre habilidades e comportamentos; e
[0020] FIG. 9 proporciona um exemplo adicional de fluxo de dados ilustrando conexão de comportamento de habilidade mais complexa do que apresentada na FIG. 8.
DESCRIÇÃO DETALHADA
[0021] A descrição seguinte descreve a presente invenção de acordo com várias concretizações direcionadas para métodos, sistemas e aparelhos associados com uma interface de habilidade que facilita comunicações em processos autônomos. O termo "habilidade", como utilizado neste documento, se refere a uma descrição independente de máquina de como uma peça de trabalho ou material precisa ser transformado de modo que ele possa ser convertido finalmente para o produto final. O dispositivo que suporta uma interface de habilidade é referido neste documento como uma Unidade de Produção Ciber- Física (CPPU) e as atividades combinadas de várias CPPUs são controladas por um Sistema de Produção Ciber-Físico (CPPS).
[0022] A interface de habilidade descrita neste documento pode ser utilizada para controlar grupos de unidades para criar produtos co- laborativamente e de forma automática. Os produtos do trabalho podem ser direcionados para diferentes máquinas baseado, por exemplo, em custos otimizados ou alavancados para criar vários produtos com mesmo conjunto de unidades, talvez mesmo de forma simultânea. A interface de habilidade proporciona introspecção e seleção de modo que um sistema automatizado pode selecionar máquinas dinamicamente e contar com um caminho de produção fixo. Uma dada CPU pode suportar várias diferentes habilidades que poderiam ser aplicadas para diferentes produtos e diferentes CPPUs podem suportar uma habilidade comum de modo que o sistema pode escolher qual CPPU seria a mais eficaz para utilização.
[0023] A implementação da interface de habilidade envolve a defi nição da classe de uma habilidade. Isto pode incluir, por exemplo, um nome para a habilidade bem como um conjunto de parâmetros que descrevem como a peça de trabalho é para ser transformada. O CPPS pode criar uma instância de uma habilidade que descreve quais valores de parâmetro utilizar para uma peça de trabalho particular. A instância pode ser genérica e aplicável para qualquer peça de trabalho ou pode utilizar uma chave de identifica qual peça de trabalho afetar. Ins-tâncias são armazenadas em uma fila a partir da qual a unidade recupera as mesmas e analisa os parâmetros de habilidade. A unidade também pode olhar à frente na fila para selecionar uma habilidade para executar a seguir desde que nem todos as habilidades podem ser aplicados imediatamente. A unidade então executa a habilidade pela aplicação de seus parâmetros para os comportamentos que controlam os vários componentes, os dispositivos físicos e funcionais que realmente fazem o trabalho. Várias habilidades podem ser executados simultaneamente incluindo habilidades da mesma classe dependendo das limitações físicas da unidade. Quando habilidades estão completos, eles podem ser removidos da fila e sinalizados para o MES como aplicados.
[0024] As habilidades são a mídia utilizada para comunicar infor mação de produto entre conjuntos de unidades de produção semi- autônomas. Existem várias razões para empregar vários dispositivos semi-inteligentes para construir produtos ao invés de criar uma fábrica de somente um produto fixo fabricado manualmente. Por exemplo, se for desejado criar produtos altamente customizados ou criar vários produtos com tamanhos de lote pequenos, utilizar máquinas de propósito geral em configurações customizáveis pode ser de custo mais compensador devido ao custo fixo de construção de toda uma fábrica para um único produto ser removido.
[0025] A FIG. 1 ilustra um Sistema de Produção Ciber-Físico (CPPS) 100 ilustrativo que automaticamente transporta materiais entre máquinas autônomas, de acordo com algumas concretizações. Na FIG.1, um sistema de transporte carrega material e produtos de trabalho entre uma Estação de Carga / Descarga 105, uma Máquina de Perfuração 110, e uma Máquina de Fresar 115, cada uma das quais realizando processos que formatam as peças de trabalho em produtos.
[0026] O sistema de produção é dividido em unidades, cada uma das quais pode executar alguns aspectos do processo como um todo. A Máquina de Fresar 115, por exemplo, pode ser utilizada para formar o formato geral do produto. A Máquina de Perfurar 110 poderia ser utilizada para abrir furos no produto que são muito detalhados para a Máquina de Fresar 115 fazer. A Estação de Carga / Descarga 195 mantém mercadorias e materiais até que eles sejam necessários para ser implementados em outras máquinas. O sistema de transporte move os produtos de trabalho para e a partir das máquinas onde ocorre processamento. Os segmentos individuais do CPPS 100 são chamados de Unidade de Produção Ciber-Físicas (CPPUs). As CPPUs são autônomas e inteligentes de modo que a maior parte do trabalho que elas proporcionam pode ser executada sem supervisão ou instrução especial.
[0027] No exemplo da FIG. 1, observa-se que elementos do siste ma de transporte, tal como o dispositivo que transporta uma peça de trabalho a partir do transportador principal para a máquina de fresar, estão sendo considerados como parte da CPPU da Máquina de Perfurar 110. Eles podem ser facilmente apenas considerados parte da unidade de transporte. A divisão de trabalho entre máquinas potencialmente pode ser arbitrária, mas normalmente é determinada por vários fatores além do capricho do integrador do sistema. Por exemplo, o sistema de troca de peça para a Máquina de Perfurar 110 pode ser fisicamente conectado ou de outro modo conectado com a máquina de perfurar. Se o processo fosse para ser reconfigurado, podia não fazer sentido separar o carregador de peça de perfuração da broca devido ao carregador poder ser uma construção customizada e não poderia ser utilizado para qualquer outro propósito. Ainda, a combinação de broca com carregador pode tornar a Máquina de Perfurar 110 como um todo mais autônoma. Sem o carregador, a broca precisaria algum outro dispositivo ou pessoa para colocar o material dentro para ser perfurado.
[0028] Com as CPPUs determinadas, as metas do processo então podem ser comunicadas para os dispositivos que realizam as mesmas. As habilidades das CPPUs então são utilizados para comunicar quais ações empregar em relação às peças de trabalho.
[0029] A FIG. 2 proporciona uma vista geral de alto nível das CPPUs e das habilidades relacionados para o CPPS ilustrativo apresentado na FIG. 1, de acordo com algumas concretizações. Cada habilidade reflete operações que são aplicadas para os produtos de trabalho e os propósitos principais de cada unidade. Assim, a Estação de Carga / Descarga 105 implementa uma habilidade de Carga 205A e uma habilidade de Suprimento 205B. A Máquina de Perfurar 110 e a Máquina de Fresar 115 implementam uma habilidade de Perfurar 210 e uma habilidade de Fresar 215, respectivamente. Finalmente, o sistema transportador possui uma habilidade de Transporte 220. Para executar o processo os produtos de trabalho são movidos para as várias unidades via a habilidade de Transporte 220. Os produtos ficam formatados utilizando a habilidade de Fresar 215; produtos obtêm furos com a habilidade de Perfurar 210, e assim por diante. Um sistema de planejamento pode ser utilizado para enviar a informação de habilidade correta para as unidades corretas à medida que as mesmas são necessárias.
[0030] A FIG. 3 proporciona um exemplo da composição de uma CPPU individual 200, de acordo com algumas concretizações. A CPPU é onde a criação e modificações de produtos ocorrem. Ela é considerada cibernética devido à mesma ser controlada pelas habilidades aplicados para a mesma como parte do CPPS e geralmente ela é totalmente automatizada; no entanto, ter assistência humana também pode ser utilizado em algumas concretizações. Uma CPPU é pretendida para funcionar de forma autônoma pelo fato de que ela não requer ações a partir de outras CPPUs para funcionar fora do sistema de transporte que pode levar produtos de trabalho para dentro e para fora da unidade. Uma CPPU também deve ser inteligente pelo fato de que ela possui habilidade para interpretar a informação de produto desejado a partir das habilidades aplicados e estar apta a executar seus próprios comportamentos de modo a alcançar este resultado.
[0031] A CPPU apresentada na FIG. 3 compreende dois Compo nentes 315, 320 que compreendem recursos físicos que executam trabalho bem como dispositivos auxiliares que alimentam material, trocam ferramentas, borrifam produtos químicos, percebem posições, e quaisquer outras coisas que a unidade precise fazer. Estes itens são chamados componentes. O exemplo da FIG. 3 apresenta um robô, uma câmera, um motor, e uma correia transportadora como incluídos nos Componentes 315, 320; entretanto, deve ser entendido que quaisquer recursos físicos geralmente podem estar incluídos em um componente da CPPU.
[0032] As habilidades 305, 310 atuam como a interface para a CPPU 300. Na FIG.3, as habilidades 305, 310 são representadas com um símbolo de interface para indicar que ocorre comunicação a partir do exterior para aplicação da habilidade para a CPPU. O meio de comunicação poderia possivelmente ser um tipo de protocolo de interoperabilidade que permita mensagens arbitrárias e com comprimento variável. Por exemplo, mensagens enviando dados para e a partir de um servidor da Rede atenderiam a este tipo de protocolo.
[0033] Entre as habilidades 305, 310 que dizem para a máquina quais necessidades precisam ser obtidas e os Componentes 315, 320 que atuam para fazer o trabalho estão comportamentos que incluem todas as funções intrínsecas e programáticas que descrevem como realmente realizar o trabalho. O comportamento é definido como a atividade fundamental que os componentes executam. A atividade poderia ser física ou computacional. Por exemplo, um braço robô pode mover sua garra no espaço como um comportamento físico. Se a função para determinar o ponto final até o qual o robô se move também for considerada, então, este comportamento também é computacional à medida que este ponto precisa ser calculado. Apesar de ser possível diferenciar entre comportamento físico puro e comportamento compu-tacional abstrato, em princípio, a maior parte dos comportamentos da aplicação serão uma combinação de ambos. Assim, o comportamento pode ser definido como o que os componentes de produção fazem independentes de como isto pode afetar o estado do produto de trabalho. Por exemplo, um transportador pode ser ligado e desligado. Seu comportamento seria ativar a correia quando ele é ligado. Se acontecer de existir produto na correia, ele se moveria, mas o próprio comportamento do transportador não diz respeito a esta questão. O transportador está apto a funcionar se existir ou não um produto.
[0034] Obviamente, as atividades combinadas de componentes realmente afetam os produtos de trabalho. Permanecendo com o exemplo do transportador, o comportamento de um transportador é funcionar, e as coisas na parte de cima do transportador irão se mover. A FIG.4 apresenta um cenário ilustrativo que inclui um conjunto de três transportadores dispostos juntos com outros sensores e um em- purrador. O propósito desta aplicação pode ser classificar produtos que chegam. Se produtos forem introduzidos na localização da caixa cinza no lado direito do transportador IN, um sensor pode determinar se caixas devem ser enviadas para baixo do transportador A ou B (e para outros processos). O comportamento do empurrador é estender e retrair e se estendido na hora certa, ele irá empurrar uma caixa sobre o transportador B. Os comportamentos combinados destes componentes atuam para alterar o estado dos produtos de trabalho; as caixas vão de um estado não classificado para se tornarem classificadas. Assim, o "habilidade" desta aplicação é classificar caixas. Uma habilidade para este dispositivo pode ser formulada como "SORT (box_id, dest)" ou, em outras palavras, dada uma caixa particular, coloque a mesma em um transportador para destino particular. Uma instância deste habilidade poderia ser "SORT(box_id=1007), dest=B)" o que causa que a caixa número 1007 seja colocada sobre a correia B.
[0035] Outros tipos de habilidades poderiam afetar o produto de trabalho mais diretamente. Por exemplo, a peça de trabalho poderia ser alterada pelo corte, fresa, ou perfuração da mesma. Várias peças de trabalho podem ser montadas para formar uma peça combinada e elas podem ser coladas ou fixadas juntas. Em geral, habilidades determinam o propósito de uma unidade de produção no contexto do sistema de produção por declarar como ela irá modificar o produto de trabalho. Assim, uma habilidade é efetivamente uma diretiva que é exposta para o exterior que esclarece o que se supõe que a unidade faça.
[0036] A FIG.5 apresenta uma ontologia para uma CPPU, como ela pode ser implementada em algumas concretizações da presente invenção. A CPPU compreende comportamentos, componentes e habilidades. Os comportamentos são definidos como entidades que descrevem como o componente funciona bem como eles funcionam juntos. Assim, a lógica do programa aplicativo também é considerada comportamento junto com o comportamento físico de componentes. Os componentes também podem conter comportamento devido aos mesmos possuírem comportamento físico, mas também, eles podem conter funções mais complicadas que controla seu uso. Por exemplo, um robô pode possuir uma função de planejamento de movimento que pode ser utilizada para controlar seu comportamento com comandos de nível mais alto. Desde que um produto de trabalho é uma entidade física, ele também é considerado um tipo de componente. Observa-se que a própria peça de trabalho pode igualmente conter elementos computacionais como uma bandeja que detecta seu conteúdo ou determina seu próprio destino de direcionamento. Entretanto, mesmo uma peça de trabalho simples irá possuir comportamento físico e estado.
[0037] O comportamento de componentes causa que os produtos de trabalho se tornem modificados. Assim, apesar de um comportamento poder ocorrer mesmo quando nenhuma peça de trabalho está presente, ainda é a aplicação do comportamento do componente para uma peça de trabalho que faz uma máquina fazer alguma coisa. A CPPU oferece habilidades como as técnicas para descrever o que ela pode fazer e iniciar os comportamentos que realmente causam que estas coisas aconteçam. A própria habilidade descreve qual resultado se deseja obter em relação a um dado produto através de cadeias específicas de eventos que causam que o resultado aconteça e que são causados por comportamentos.
[0038] A CPPU oferece habilidades para os dispositivos externos. Estas habilidades iniciam ações incluídas no comportamento e descrevem o resultado que será aplicado para o produto. Desde que as habilidades podem ser distinguidas do comportamento, pode-se proporcionar uma interface de habilidade para uma CPPU sem ter que expor os comportamentos que realmente realizam a tarefa. Isto é conveniente devido a permitir que as habilidades sejam especificadas utilizando protocolos de interface comuns ao passo que o comportamento da unidade frequentemente irá precisar ser implementado em uma linguagem específica do domínio. Como resultado, implementar uma habilidade é uma questão de derivar a representação abstrata da habilidade que melhor corresponde à transformação da peça de trabalho que é desejada e então anexar a versão programática desta abstração para as funções comportamentais reais que realizam o trabalho.
[0039] É potencialmente confuso que uma palavra para habilidade não indique a maneira que ela é empregada em uma aplicação. Uma habilidade pode se referir à definição abstrata da tarefa isto - isto seria semelhante a sua classe ou ontologia. Uma habilidade também pode ser referir a uma instância desta abstração como aplicado para uma unidade particular. Por exemplo, "encha a bandeja com blocos vermelhos" seria uma instância de habilidade para uma tarefa específica envolvendo uma bandeja e blocos. Ainda, uma habilidade pode se referir à execução da habilidade na unidade. Habilidades são executados com comportamentos; entretanto, devido a existir uma relação de causa - efeito direta com uma instância de habilidade sendo estabelecida em uma unidade e os comportamentos correspondentes nesta unidade realizando ação para realizar a habilidade, pode ser considerado que a habilidade está sendo executado. Na presente descrição, estes diferentes significados para habilidade serão esclarecidos quando eles não forem óbvios a partir do contexto.
[0040] Uma CPPU pode ser implementada em um controlador ló gico programável ou em outro dispositivo de computação em nível de unidade estritamente acoplado com os componentes da CPPU. Em princípio, pode-se utilizar qualquer tipo de mídia controlada por computador para comunicar instâncias de habilidade a partir do CPPS para uma CPPU, mas um protocolo de interoperabilidade é provável de ser o mais direto. Os benefícios de um protocolo de rede tal como serviços da Rede inclui a habilidade de ser facilmente estendido e pode ser utilizado com equipamento de comunicação comum e com bibliotecas de programação. Um protocolo de rede também pode possuir comprimen- to de mensagem arbitrário com métodos bem entendidos para codificar e decodificar dados. Nos exemplos descritos neste documento, é assumido que a comunicação é realizada via uma interface de serviços da Rede utilizando protocolo de Transferência de Estado Repre- sentacional (REST) e utilizando marcas de Identificador Universal de Recurso (URI). Entretanto, deve ser entendido que tecnologias alternativas proporcionando funcionalidade similar podem ser empregadas em outras concretizações da presente invenção.
[0041] As habilidades podem ser implementadas por integradores de sistema e, assim, não podem ser antecipados baseados apenas no tipo de processo. As especificações de qualquer dado processo serão únicas à medida que os fabricantes aplicam suas próprias habilidades para adicionar valor único para seus produtos. Por esta razão, um protocolo simples de habilidades pode ser utilizado, o qual permita que o integrador reflita sua própria ideia do processo diretamente para a estrutura do código das unidades. Adicionar mais informações e semânticas para o conjunto de dados de habilidades é certamente possível, mas deve ser considerado adicional para a especificação principal e não um requerimento fundamental para desenvolver habilidades.
[0042] A definição básica de habilidade é um nome com um con junto de parâmetros. O nome pode ser tão simples como uma cadeia de texto para denotar qual habilidade na implementação de comportamento executar. O conjunto de parâmetros é mais interessante. Em geral, os nomes de parâmetro podem ser valores de cadeia de caracteres como o nome da habilidade. Os parâmetros poderiam ser opcionais e um dada habilidade pode ser sobrecarregada com diferentes conjuntos de parâmetros para diferentes casos de uso. Os valores de parâmetro poderiam ser valores constantes ou expressões constantes. Da mesma forma, os valores de parâmetro poderiam ser mantidos simples tais como número de ponto flutuante de uso único, Booleanos, ou números inteiros. Utilizar parâmetros simples mantém a instância de habilidade compacta e eficiente para comunicar para a unidade e armazenar na fila de habilidades (descrita abaixo).
[0043] Uma implementação de habilidade inclui um método para aplicar uma instância de habilidade para a unidade bem como métodos de reflexão para descobrir quais habilidades estão disponíveis. O termo "reflexão", como utilizado neste documento, se refere a uma habilidade da linguagem de programação em inspecionar e dinamicamente chamar classes, métodos, atributos, e outras informações relacionadas com o programa em tempo de execução sem precisar habilidade específico antecipado sobre os itens sendo inspecionados. A reflexão deve incluir pelo menos a lista de todos as habilidades e de seus parâmetros, e também poderia incluir informação de tipo para os parâmetros incluindo limites de valor, se um parâmetro é ou não opcional, unidades de engenharia, e outros critérios de restrição. A descoberta da habilidade provavelmente irá ocorrer no momento em que a unidade é primeiro ativada de modo que a lista de habilidades não deve ficar alterando frequentemente. A maior parte das unidades irá proporcionar o mesmo conjunto de habilidades através de seu funcionamento e não iria alterar a não ser que a unidade seja reprogramada ou o próprio sistema seja reconfigurado.
[0044] Devido à CPPU ser autônoma, as habilidades geralmente não seriam invocadas a partir do exterior como uma chamada funcional. A CPPU estaria apta a detectar seu próprio estado e a determinar as condições da peça de trabalho de acordo com suas próprias habilidades e não seria ostensivamente direcionada a partir do exterior. Quando as peças de trabalho e os componentes estão prontos pela própria inteligência da unidade, ela realiza sua função. Uma solução direta é tratar cada aplicação de habilidade como um tipo de ordem de serviço que é informada em uma fila de ordens na unidade.
[0045] A FIG. 6 proporciona um exemplo de instâncias de habili dade sendo adicionadas para a fila de ordens da unidade, de acordo com algumas concretizações. Quando uma instância de habilidade é adicionada para uma unidade, ela vai para a fila de ordens da unidade como apresentado na figura. Uma vez na fila, a unidade pode ver o conteúdo da instância de habilidade e qual tipo de habilidade ela é. Instâncias da habilidade põem ser ordenadas, de modo que habilidades são seguidos em uma sequência particular, ou uma unidade pode saltar instâncias que ela não pode executar imediatamente para estas posteriores na fila. Para uma implementação genérica de habilidade, a unidade poderia acessar os parâmetros da instância no início da fila. A unidade também poderia varrer a fila procurando instâncias que ela pode utilizar. Para fazer isso, a unidade repetiria através da fila utili-zando uma variável de índice. Por esta razão, tal habilidade é chamado de "Habilidade Indexado" devido à unidade poder coletar a instância de habilidade baseada em sua posição na fila. O início da fila poderia ser o índice zero. Quando a unidade tiver completado a ordem, ela pode remover a instância de habilidade da fila. A remoção da habilidade pode atuar como uma mensagem "feita" para o CPPS. Também é possível ter um retorno de chamada, mensagem do sistema, ou parâmetro mutável na habilidade que o CPPS observa para determinar o estado de habilidade.
[0046] Em algumas concretizações, o CPPS é configurado de modo que ele não aplica uma instância de habilidade para uma unidade que não poderia realmente executar a ação indicada. A partir da perspectiva do CPPS, enviar uma peça de trabalho para uma unidade que não pode funcionar com a mesa é planejamento ruim e seria impedido pelo próprio processo de planejamento. Em outras concretizações, um mecanismo de erro pode ser proporcionado quando uma instância de habilidade ruim é fornecida para uma unidade e o CPPS pode ser configurado para redirecionar os materiais de trabalho para diferentes unidades.
[0047] Uma situação similar ocorre quando uma unidade quebra, é desligada, ou de outro modo fica sem funcionar. Em tal circunstância, todas as instâncias de habilidade pendentes são eliminadas da unidade e a linha de comunicação da unidade vai para um estado de retorno de erro. O CPPS pode em algum ponto remover a entrada da unidade de sua base de dados e planejar mais uma vez sob a nova topologia. Apresentar falhas pode não ser uma habilidade da unidade por si, mas poderia ser um estado fundamental da unidade que precisa ser comunicado.
[0048] Um operador, engenheiro, ou outro integrador pode confi gurar a implementação para uma habilidade de vários modos diferentes, mas um caso comum é que o produto de trabalho (e normalmente o transportador do produto de trabalho) é identificado por algum tipo de marca física. Esta marca poderia ser um código de barras, código QR, etiqueta RFID, um número impresso, etc., o qual seria lido por um scanner ou dispositivo de leitura incluído na CPPU. Um exemplo de um identificador por código QR que identifica uma bandeja de trabalho é apresentado na FIG. 7. O valor do identificador pode ser, por exemplo, um número ou cadeia alfanumérica de caracteres. Em algumas concretizações, um "Habilidade Chave" é utilizada para especificar parâmetros para produtos de trabalho identificados por este tipo de marca. A habilidade Chave proporciona um parâmetro especial, a chave, cujo valor corresponderia ao identificador que a unidade recupera a partir da marca do produto de trabalho. Utilizando isto, a unidade pode rapidamente coletar a instância de habilidade que corresponde à peça de trabalho que ela tem em mãos. Ao utilizar este tipo de habilidade, o CPPS adicionaria todas as instâncias de habilidade que se aplicariam para a unidade assim que ela estivesse pronta e deixaria a unidade determinar qual aplicar em um dado tempo. Caracteres especiais ou outros esquemas de pesquisa geralmente conhecidos na técnica podem ser utilizados em algumas concretizações utilizadas para selecionar instâncias de habilidade por sua chave.
[0049] Como descrito acima, a programação interna da unidade é formada com comportamento. Assim, realizar a intenção de uma habilidade é executar comportamentos que manipulem os componentes para fazer o serviço. A programação de uma unidade pode ser realizada em linguagens diferentes; entretanto, em geral, qualquer linguagem de programação conhecida na técnica pode ser utilizada para definir uma classe de habilidade, selecionar uma instância de habilidade a partir da fila, e ler os parâmetros da instância a serem utilizados no restante do programa. Dentro da CPPU, uma mistura de linguagens de programação pode ser utilizada. Por exemplo, em algumas concretizações, a mesma linguagem de programação ou funções podem ser utilizadas para definir tanto as habilidades como os comportamentos. Em outras concretizações, a linguagem de programação ou função utilizada ao definir habilidades e comportamentos pode ser distinta.
[0050] A FIG. 8 ilustra um exemplo da interface de habilidade onde uma linguagem de fluxo de dados é utilizada para implementar o com-portamento programado pela especificação de conexões internas entre habilidades e comportamentos. No linguajar de fluxo de dados, valores de entrada são aplicados para um nó no gráfico. O nó executa cálculo e os resultados são exibidos nos valores de saída. As saídas então podem transportar para outros nós que fazem mais cálculos, e assim por diante. Neste exemplo, o nó de definição de habilidade utiliza dois valores de entrada e proporciona dois valores de saída. O primeiro valor de entrada é um indicador que, quando ativado, causa que o nó pesquise habilidades na fila. O nó define a configuração para o nome da habilidade e a lista de nomes de parâmetro que a habilidade utiliza. Neste caso, o nome da habilidade é "DumpTray", e ele possui um pa- râmetro da habilidade chamado "color" (não apresentado). A segunda entrada é um número inteiro que identifica qual instância de habilidade na fila deve ser selecionada. Para um tipo Key Skill, o segundo valor de entrada é o valor da chave para associar com a instância de habilidade. Se o nó encontrar uma habilidade, ele estabelece o primeiro valor de saída para verdadeiro e denota que o nó está ativo. Ele também coloca os valores do parâmetro da instância de habilidade na segunda saída listada na mesma ordem que na lista de parâmetros. O exemplo apresenta um nó de índice da matriz utilizado para selecionar o valor do primeiro parâmetro (o número "1") e ele é exibido em uma caixa de texto. Quando o programa estabelece o indicador de entrada do nó de qualidade para falso, o nó pode ser configurado para automaticamente apagar a habilidade que foi apresentada por último para suas saídas.
[0051] A FIG. 9 proporciona um exemplo adicional de fluxo de da dos ilustrando uma conexão de habilidade / comportamento mais complexa do que apresentada na FIG. 8. Este exemplo contém código para buscar a informação a partir da instância de habilidade, determinando se a unidade possui o material necessário para realizar a habilidade, e finalmente, ele direciona os outros comportamentos da unidade para executar ações. O comportamento para implementar uma habilidade em uma linguagem diferente provavelmente iria produzir atividades similares. A implementação de habilidade apresentada na FIG. 9 é suficiente para executar comportamento em nome de uma habilidade. Também seria apropriado adicionar realimentação adicional. Este exemplo indica conclusão quando a instância de habilidade é removida da fila. Em algumas concretizações, uma instância de habilidade é marcada como sendo utilizada e um valor expressa o quanto próximo da conclusão está o comportamento ao realizar a habilidade. Nestas implementações, se poderia proporcionar uma porta de entrada adicional para a porcentagem completada, apesar de ainda ser a im- plementação de comportamentos programada na unidade que geraria valores para esta porta.
[0052] Apesar de as técnicas descritas neste documento fazerem uso de várias técnicas comuns, a maneira na qual estas técnicas são realizadas difere dos métodos tradicionais. Por exemplo, a arquitetura como um todo para separar o CPPS da CPPU e definir os processos para comunicar operações do processo como modificações para o produto de trabalho não é encontrada nos sistemas convencionais. No método normal, as operações da máquina são descritas em termos do comportamento da máquina. Um transportador é ligado e desligado sem considerar como uma peça de trabalho é afetada. O novo foco como um todo altera o projeto do sistema a partir de várias instruções de código fixo para um conjunto de atores inteligentes que sabem seu papel e aplicam suas habilidades para a tarefa em mãos.
[0053] Em um nível mais técnico, um mecanismo de interface pa drão incorporado em um controlador normalmente irá atuar como uma chamada de procedimento remoto. Isto é como o acesso ao comportamento da máquina é exportado para o exterior. Uma chave para ligar e desligar a máquina pode ser exposta e algum controlador externo pode executar esta operação. O efeito é pretendido para ser imediato como uma chamada de função em uma linguagem de programação ou a gravação de um valor junto à memória compartilhada. A interface de habilidade não é direta. Os próprios habilidades atuam como ordens que são colocadas em uma fila. As próprias operações internas da máquina determinam onde e como aplicar as ordens para as peças de trabalho. A habilidade chave em relação à abstração de habilidade de índice é utilizado para o caso comum onde peças de trabalho podem ser identificadas por marcadores de modo que habilidades pertinentes são fáceis de localizar.
[0054] A interface de habilidade é útil para automação, mas tam- bém pode ser aplicada além disso para otimização e cálculo de custos. As habilidades podem ser utilizadas para comunicar intenções para sistemas de simulação que determinam se o processo é possível e como ele afetaria a máquina e os sistemas associados. Deste modo, a abstração de habilidade se torna integral com o processo de automação como um todo a partir dos dispositivos de programação de pro-gramação para programação de atividades e planejamento.
[0055] Vários dispositivos descritos neste documento incluindo, sem limitação, os dispositivos de camada de controle e a infraestrutura de computação relacionada, podem incluir pelo menos um meio ou memória legível por computador para manter instruções programadas de acordo com concretizações da invenção e para conter estruturas de dados, tabelas, registros, ou outros dados descritos neste documento. O termo "meio legível por computador" como utilizado neste documento se refere a qualquer meio que participe em proporcionar instruções para um ou mais processadores para execução. Um meio legível por computador pode assumir várias formas incluindo, mas não limitado a um meio não temporário, meio não volátil, meio volátil e meio de transmissão. Exemplos não limitativos de meio não volátil incluem discos óticos, unidades de estado sólido, disco magnéticos e disco magnético-óticos. Exemplos não limitativos de meio volátil incluem memória dinâmica. Exemplos não limitativos de meio de transmissão incluem cabos coaxiais, fios de cobre, e fibra ótica, incluindo fios que constituem um barramento do sistema. O meio de transmissão também pode assumir a forma de ondas acústicas ou de luz, tais como estas geradas durante comunicações de dados por ondas de rádio e por infravermelho.
[0056] Os dispositivos de camada de controle mencionados acima e a infraestrutura de computação relacionada podem incluir um ou mais processadores para implementar as técnicas descritas neste do- cumento. Os processadores descritos neste documento como utilizados pelos dispositivos de controle podem incluir uma ou mais unidade centrais de processamento (CPUs), unidades de processamento gráfico (GPUs), ou qualquer outro processador conhecido na técnica. Mais geralmente, um processador como utilizado neste documento é um dispositivo para executar instruções legíveis por máquina armazenadas em um meio legível por computador, para executar tarefas e pode compreende qualquer um ou uma combinação de hardware e firmware. Um processador também pode compreender memória armazenando instruções legíveis por máquina executáveis para executar tarefas. Um processador atua sobre a informação por manipular, analisar, modificar, converter ou transmitir informação para uso por um procedimento executável ou por um dispositivo de informação, e/ou por direcionar a informação para um dispositivo de saída. Um processador pode utilizar ou compreender as capacidades de um computador, controlador ou microprocessador, por exemplo, e ser condicionado utilizando instruções executáveis para executar funções de propósito especial não executadas por um computador de propósito geral. Um processador pode ser acoplado (eletricamente e/ou como compreendendo componentes executáveis) com qualquer outro processador permitindo interação e/ou comunicação entre os mesmos. Um processador ou gerador de interface com o usuário é um elemento conhecido compreendendo um sistema de circuitos eletrônicos ou software ou uma combinação de ambos para gerar imagens de vídeo ou partes das mesmas. Uma interface com o usuário compreende uma ou mais imagens de vídeo permitindo interação do usuário com um processador ou outro dispositivo.
[0057] Em algumas concretizações, partes da CPPU, incluindo a interface de habilidade, são implementadas utilizando um ou mais aplicativos executáveis. Um aplicativo executável, como utilizado neste documento, compreende código ou instruções legíveis por máquina para condicionar o processador para implementar funções predeterminadas, tais como estas de um sistema operacional, de um sistema de aquisição de dados, ou de outro sistema de processamento de informações, por exemplo, em resposta ao comando ou entrada do usuário. Um procedimento executável é um segmento de código ou instrução legível por máquina, sub-rotina, ou outra seção distinta de código ou parte de um aplicativo executável para executar um ou mais processos particulares. Estes processos podem incluir receber dados e/ou parâmetros de entrada, executar operações em relação aos dados de entrada recebidos e/ou executar funções em resposta aos parâmetros de entrada recebidos, e proporcionar dados de saída e/ou parâmetros resultantes.
[0058] As funções e etapas do processo neste documento podem ser executadas automaticamente, totalmente ou parcialmente, em resposta ao comando do usuário. Uma atividade (incluindo uma etapa) executada automaticamente é executada em resposta a uma ou mais instruções executáveis ou operação de dispositivo sem início direto pelo usuário da atividade.
[0059] O sistema e processos das figuras não são exclusivos. Ou tros sistemas, processos e menus podem ser derivados de acordo com os princípios da invenção para realizar os mesmos objetivos. Apesar de esta invenção ter sido descrita com referência a concretizações particulares, é para ser entendido que as concretizações e variações apresentadas e descritas neste documento são somente para propósito ilustrativo. Modificações para o projeto atual podem ser implementadas pelos versados na técnica, sem afastamento do escopo da invenção. Como descrito neste documento, os vários sistemas, subsistemas, agentes, gerenciadores, e processos podem ser implementados utilizando componentes de hardware, componentes de sof tware, e/ou combinações dos mesmos. Nenhum elemento de concretização é para ser construído sob as disposições do 35 U.S.C. 112, sexto parágrafo, a não ser que o elemento seja expressamente citado utilizando a frase "meio para".

Claims (15)

1. Sistema de produção ciber-físico (CCPS), compreendendo: uma pluralidade de unidades ciber-físicas (CPPU) configuradas para coletivamente produzir um produto compreendendo uma ou mais peças de trabalho, cada uma das unidades ciber-físicas (CPPU) compreendendo: uma máquina para realizar processos que transformam as peças de trabalho no produto; um ou mais dispositivos do sistema de automação (105; 110; 115), caracterizado por compreender ainda: uma interface de rede (305; 310) configurada para receber uma ou mais instâncias de habilidade (205A, 205B, 210, 215), cada instância de habilidade (205A, 205B, 210, 215) proporcionando uma descrição de como uma peça de trabalho deve ser transformada para conversão final em um produto final pelo um ou mais dispositivos do sistema de automação (105; 110; 115), uma fila de ordem da unidade, e um processador configurado para: executar comportamentos computacionais ou físicos dos dispositivos do sistema de automação (105; 110; 115) correspondendo a cada uma das uma ou mais instâncias de habilidade (205A, 205B, 210, 215), em que a fila de ordem da unidade é configurada para armazenar as uma ou mais instâncias de habilidade (205A, 205B, 210, 215) antes da execução pelo processador, em que cada CCPU é configurada para usar uma linguagem de fluxo de dados para implementar um comportamento programado pela especificação de conexões entre habilidades e comportamentos, a linguagem de fluxo de dados incluindo um gráfico com nós de gráfico configurados para receber valores de entrada, realizar computações e exibir resultados como valores de saída, em que os nós do gráfico incluem um nó de definição de habilidade usando dois valores de entrada e proporcionando dois valores de saída, o primeiro valor de entrada sendo um indicador que, quando ativado, faz o nó de definição de habilidade procurar habilidades na fila de ordem da unidade, e o segundo valor de entrada sendo um inteiro que identifica qual instância de habilidade (205A, 205B, 210, 215) na fila de ordem da unidade deve ser selecionada; em que uma habilidade descreve um resultado a ser alcançado no produto compreendendo a uma ou mais peças de trabalho, em que cadeias específicas de eventos fazem com que os resultados a acontecer sejam causados por comportamentos, os comportamentos fazendo com que o produto se torne modificado e compreendendo os comportamentos computacionais e físicos; e em que a implementação da habilidade corresponde a derivar, usando a linguagem de fluxo de dados, uma representação abstrata da habilidade que melhor se compatibiliza com uma transformação de peça de trabalho que é desejada e, depois, anexar uma versão programática da representação abstrata dos comportamentos que fazem com que o produto se torne modificado.
2. Sistema de produção ciber-físico (CCPS), de acordo com a reivindicação 1, caracterizado pelo fato de que a interface de rede (305, 310) de cada unidade ciber-física (CPPU) compreende uma interface de serviços da rede utilizando o protocolo de Transferência de Estado Representacional (REST) para receber uma ou mais instâncias de habilidade (205A, 205B, 210, 215).
3. Sistema de produção ciber-físico (CPPS), de acordo com a reivindicação 1, caracterizado pelo fato de que o processador é ainda configurado para reordenar a fila de ordem da unidade baseado em uma sequência preferida após entrar com a instância de habilidade (205A, 205B, 210, 215) na fila de ordem da unidade.
4. Sistema de produção ciber-físico (CPPS), de acordo com a reivindicação 1, caracterizado pelo fato de que o processador é ainda configurado para executar a uma ou mais instâncias de habilidade (205A, 205B, 210, 215) em ordem, saltando instâncias de habilidade (205A, 205B, 210, 215) que não podem ser executadas imediatamente.
5. Sistema de produção ciber-físico (CPPS), de acordo com a reivindicação 1, caracterizado pelo fato de que cada unidade ciber- físicas (CPPU) ainda compreende: um dispositivo scanner configurado para ler uma etiqueta física na peça de trabalho, a etiqueta física especificando um Identificador Universal de Recurso (URI) correspondendo à peça de trabalho, sendo que as uma ou mais instâncias de habilidade (205A, 205B, 210, 215) compreendem uma habilidade chave tendo um parâmetro de chave com um valor para corresponder o URI lido da etiqueta física na peça de trabalho, e sendo que o processador utiliza o URI para associar as uma ou mais instâncias de habilidade (205A, 205B, 210, 215) na fila de ordem da unidade com a peça de trabalho durante a execução.
6. Sistema de produção ciber-físico, de acordo com a reivindicação 1, caracterizado pelo fato de que o processador é ainda configurado para transmitir uma mensagem para o sistema de produção ciber-físico (100) indicando término de uma instância de habilidade (205A, 205B, 210, 215) quando da remoção da instância de habilidade (205A, 205B, 210, 215) da fila de ordem da unidade para execução.
7. Sistema de produção ciber-físico (CPPS), de acordo com a reivindicação 1, caracterizado pelo fato de que o processador é ainda configurado para modificar um parâmetro de estado de habilidade de uma instância de habilidade (205A, 205B, 210, 215) quando da remoção da instância de habilidade (205A, 205B, 210, 215) da fila de ordem da unidade para execução.
8. Sistema de produção ciber-físico (CPPS), de acordo com a reivindicação 1, caracterizado pelo fato de que compreende ainda um sistema de transporte para transportar peças de trabalho para as unidades ciber-físicas (CPPU), sendo que cada uma das unidades ciber-físicas (CPPU) trabalha autonomamente no fato de que ações de outras unidades ciber-físicas (CPPU) não são requeridas para funcionar fora do sistema de transporte trazendo peças de trabalho para dentro e fora da unidade ciber-física (CPPU).
9. Método implementado por computador para utilizar uma interface de habilidade para controlar uma unidade ciber-física (CPPU) em um sistema de produção ciber-físico (100), em que cada uma das unidades ciber-físicas (CPPU) compreende uma máquina para realizar processos que transformam as peças de trabalho em produtos, o método caracterizado pelo fato de compreender: receber uma instância de habilidade (205A, 205B, 210, 215) através de uma interface de rede (305, 310) proporcionando uma descrição independente da máquina de como uma peça de trabalho deve ser transformada para última conversão final em um produto final por um ou mais dispositivos do sistema de automação (105; 110; 115) incluídos na unidade ciber-física (CPPU); entrar com as instâncias de habilidade (205A, 205B, 210, 215) em uma fila de ordem da unidade compreendendo uma ou mais instâncias de habilidade (205A, 205B, 210, 215) adicionais; seletivamente executar comportamentos computacionais ou físicos dos dispositivos do sistema de automação (105; 110; 115) correspondendo a cada instância de habilidade (205A, 205B, 210, 215) na fila de ordem da unidade; em que cada CCPU é configurada para usar uma linguagem de fluxo de dados para implementar um comportamento programado pela especificação de conexões entre habilidades e comportamentos, a linguagem de fluxo de dados incluindo um gráfico com nós de gráfico configurados para receber valores de entrada, realizar computações e exibir resultados como valores de saída, em que os nós do gráfico incluem um nó de definição de habilidade usando dois valores de entrada e proporcionando dois valores de saída, o primeiro valor de entrada sendo um indicador que, quando ativado, faz o nó de definição de habilidade procurar habilidades na fila de ordem da unidade, e o segundo valor de entrada sendo um inteiro que identifica qual instância de habilidade (205A, 205B, 210, 215) na fila de ordem da unidade deve ser selecionada; em que uma habilidade descreve um resultado a ser alcançado no produto compreendendo a uma ou mais peças de trabalho, em que cadeias específicas de eventos fazem com que os resultados a acontecer sejam causados por comportamentos, os comportamentos fazendo com que o produto se torne modificado e compreendendo os comportamentos computacionais e físicos; e em que a implementação da habilidade corresponde a derivar, usando a linguagem de fluxo de dados, uma representação abstrata da habilidade que melhor se compatibiliza com uma transformação de peça de trabalho que é desejada e, depois, anexar uma versão programática da representação abstrata dos comportamentos que fazem com que o produto se torne modificado. es à peça de trabalho.
10. Método, de acordo com a reivindicação 9, caracterizado pelo fato de ainda compreender, reordenar a fila de ordem da unidade baseado em uma sequência preferida após entrar com a instância de habilidade (205A, 205B, 210, 215) na fila de ordem da unidade.
11. Método, de acordo com a reivindicação 9, caracterizado pelo fato de que as instâncias de habilidade (205A, 205B, 210, 215) na fila de ordem da unidade são executadas em ordem, saltando instâncias de habilidade (205A, 205B, 210, 215) que não podem ser executadas imediatamente.
12. Método, de acordo com a reivindicação 9, caracterizado pelo fato de ainda compreender, ler, por um dispositivo scanner, uma etiqueta física na peça de trabalho, a etiqueta física especificando um Identificador Universal de Recurso (URI) correspondendo à peça de trabalho, receber pelo menos uma instância de habilidade (205A, 205B, 210, 215) compreendendo uma habilidade chave possuindo um parâmetro de chave com um valor para corresponder o URI lido da etiqueta física na peça de trabalho, e utilizar o URI para associar a instância de habilidade (205A, 205B, 210, 215) com a peça de trabalho durante a execução.
13. Método, de acordo com a reivindicação 9, caracterizado pelo fato de ainda compreender, transmitir uma mensagem para um sistema de produção ciber-físico (CPPS) indicando término de uma instância de habilidade (205A, 205B, 210, 215) quando da remoção da instância de habilidade (205A, 205B, 210, 215) da fila de ordem da unidade para execução.
14. Método, de acordo com a reivindicação 9, caracterizado pelo fato de ainda compreender: modificar um parâmetro de estado de habilidade de uma instância de habilidade (205A, 205B, 210, 215) quando da remoção da instância de habilidade (205A, 205B, 210, 215) da fila de ordem da unidade para execução.
15. Método, de acordo com a reivindicação 9, caracterizado pelo fato de que o sistema de produção ciber-físico (100) compreende ainda um sistema de transporte para transportar peças de trabalho para as unidades ciber-físicas (CPPU), o método compreendendo ainda: cada uma das unidades ciber-físicas (CPPU) trabalha autonomamente no fato de que ações de outras unidades ciber- físicas (CPPU) não são requeridas para funcionar fora do sistema de transporte trazendo peças de trabalho para dentro e fora da unidade ciber-física (CPPU).
BR112019001650-3A 2016-08-10 Sistema de produção ciber-físico e método implementado por computador para utilizar uma interface de habilidade para controlar uma unidade ciber-física em um sistema de produção ciber-físico BR112019001650B1 (pt)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2016/046226 WO2018031005A1 (en) 2016-08-10 2016-08-10 Skill interface for industrial applications

Publications (2)

Publication Number Publication Date
BR112019001650A2 BR112019001650A2 (pt) 2019-05-07
BR112019001650B1 true BR112019001650B1 (pt) 2023-07-18

Family

ID=

Similar Documents

Publication Publication Date Title
US11054812B2 (en) Skill interface for industrial applications
US9134726B2 (en) Method for configuration SOA-based automation devices and for developing an orchestration machine, production method and production system in service-oriented architecture having embedded service orchestration engine
US20160239011A1 (en) Extending a Programmable Logic Controller with Apps
Profanter et al. A generic plug & produce system composed of semantic opc ua skills
Legat et al. Automatic generation of field control strategies for supporting (re-) engineering of manufacturing systems
EP3864480B1 (en) Object marking to support tasks by autonomous machines
Haskamp et al. Implementing an OPC UA interface for legacy PLC-based automation systems using the Azure cloud: An ICPS-architecture with a retrofitted RFID system
CN103197614B (zh) 基于plc控制的自动物料搬送系统及其控制方法
WO2018176025A1 (en) System and method for engineering autonomous systems
US20070198588A1 (en) Automatic Qualification of Plant Equipment
Barenji An RFID-based distributed control system for flexible manufacturing system
BR112019001650B1 (pt) Sistema de produção ciber-físico e método implementado por computador para utilizar uma interface de habilidade para controlar uma unidade ciber-física em um sistema de produção ciber-físico
Haben et al. Low-entry barrier multi-agent system for small-and middle-sized enterprises in the sector of automated production systems
Fan et al. Agent‐based architecture for manufacturing system control
Le et al. Multilayer Communication-Based Controller Design for Smart Warehouse Testbed
Harbs et al. CNC-C2: an ISO14649 and IEC61499 compliant controller
Mayr-Dorn et al. Designing Strongly-decoupled Industry 4.0 Applications Across the Stack: A Use Case
Ramasamy et al. Online Path Planning in a Multi-agent-Controlled Manufacturing System
Moctezuma et al. Knowledge-driven finite-state machines. Study case in monitoring industrial equipment
Chaplin et al. Deployment of a distributed multi-agent architecture for transformable assembly
Brecher et al. Production Control Technology
Mayrhofer et al. Dynamically wiring cpps software architectures
Shin et al. Rapid development of a distributed shop floor control system from an XML model-based control software specification
US11188061B2 (en) Configuration of an automation system
Sanderson et al. Affordable data integration approach for production enterprises