PyQt no Acelerador de Partículas Brasileiro Gabriel Fedel gabriel.fedel@lnls.br Software de Operação das Linhas de Luz (SOL) Laboratório Nacional de Luz Síncrotron (LNLS) 20 de Agosto, 2017
Introdução Tópicos Principais: Partículas, Luz Síncrotron e Sirius Estrutura de Controle nas Estações Experimentais PyQt PyQt no LNLS (e Sirius) Próximos Desafios Conclusão Gabriel Fedel PyQt no Acelerador de Partículas Brasileiro 2/35
Fonte de Luz Síncrotron Figure: Luz síncrotron Gabriel Fedel PyQt no Acelerador de Partículas Brasileiro 3/35
Introdução Partículas, Luz Síncrotron e Sirius Controle nas Estações Experimentais PyQt (e PyDM) PyQt no LNLS Próximos Desafios Co Laboratório Nacional de Luz Síncrotron Figure: LNLS Gabriel Fedel PyQt no Acelerador de Partículas Brasileiro 4/35
Laboratório Nacional de Luz Síncrotron Primeira fonte de Luz Síncrotron do hemisfério sul (UVX) Única fonte da Amérca Latina Inaugurado em 1997 Faz parte do CNPEM Centro Nacional de Pesquisa em Energia e Materiais Organização social qualificada pelo Ministério da Ciência, Tecnologia, Inovações e Comunicações (MCTIC) Gabriel Fedel PyQt no Acelerador de Partículas Brasileiro 5/35
Gabriel Fedel PyQt no Figure: Acelerador Usuários de Partículas por Brasileiro região 6/35 Introdução Partículas, Luz Síncrotron e Sirius Controle nas Estações Experimentais PyQt (e PyDM) PyQt no LNLS Próximos Desafios Co Laboratório Nacional de Luz Síncrotron Recebe 1200 pesquisadores por ano Parcerias com indústria nacional Áreas de Pesquisa Meio Ambiente, Agricultura, Energia, Materiais, Saúde, entre outros
Estações Experimentais (Linhas de Luz) Diferentes faixas do espectro Diferentes experimentos 18 Estações Gabriel Fedel PyQt no Acelerador de Partículas Brasileiro 7/35
Sirius Maior e mais complexa infraestrutura científica já construída no Brasil Mais intensa fonte de luz síncrotron Gabriel Fedel PyQt no Acelerador de Partículas Brasileiro 8/35
Sirius Figure: Sirius Gabriel Fedel PyQt no Acelerador de Partículas Brasileiro 9/35
SOL Software para as Estações Experimentais Automação e interfaces de controle Gabriel Fedel PyQt no Acelerador de Partículas Brasileiro 10/35
Desafios de Controle Diversos equipamentos Diversos fabricantes Diversos softwares Gabriel Fedel PyQt no Acelerador de Partículas Brasileiro 11/35
EPICS Experimental Physics and Industrial Control System Sistema cliente-servidor distribuído usando Channel Access como protocolo de comunicação IOC Servidor de PVs (Variáveis de processo) Gabriel Fedel PyQt no Acelerador de Partículas Brasileiro 12/35
EPICS Figure: Epics Gabriel Fedel PyQt no Acelerador de Partículas Brasileiro 13/35
Necessidade de Interfaces Escrita/Leitura EPICS Experimentos (Python) Flexibilidade para desenvolvimento, pois novos experimentos são criados à todo momento Exemplo: Scan Gabriel Fedel PyQt no Acelerador de Partículas Brasileiro 14/35
Interface de usuários (hoje) Spec Linha de comando (Python) CS-Studio Gabriel Fedel PyQt no Acelerador de Partículas Brasileiro 15/35
CS-Studio - Pontos Positivos Open Source Acesso ao EPICS Usabilidade Simples Gabriel Fedel PyQt no Acelerador de Partículas Brasileiro 16/35
CS-Studio - Pontos Negativos Dificuldade de Modificação Dificuldade de integração com Python Mistura entre controle e visualização Alto uso de recursos Gabriel Fedel PyQt no Acelerador de Partículas Brasileiro 17/35
PyQt Bindig do Qt para Python Desenvolvido pela Riverbanking GPL (ou Licença Comercial) Última versão 5.9 e 4.12 Gabriel Fedel PyQt no Acelerador de Partículas Brasileiro 18/35
PyQt - Vantagens Framework intuitivo Estável Open source Python Desenvolvimento rápido Boa performance Base para outras ferramentas Orange, MXCube, PyMCA, PyDM Multiplataforma Gabriel Fedel PyQt no Acelerador de Partículas Brasileiro 19/35
PyQt - Vantagens Qt Designer Fácil desenvolvimento de widgets signal e slot Gabriel Fedel PyQt no Acelerador de Partículas Brasileiro 20/35
PyDM - https://github.com/slaclab/pydm Framework simples que integra PyQt + PyEPICS Fácil de estender Python Open Source Gabriel Fedel PyQt no Acelerador de Partículas Brasileiro 21/35
PyQt no LNLS Figure: Controle de Motor Gabriel Fedel PyQt no Acelerador de Partículas Brasileiro 22/35
PyQt no LNLS Figure: Configurações de motor Gabriel Fedel PyQt no Acelerador de Partículas Brasileiro 23/35
PyQt no LNLS Figure: Baking Gabriel Fedel PyQt no Acelerador de Partículas Brasileiro 24/35
PyQt no LNLS Figure: Tela da FAC Gabriel Fedel PyQt no Acelerador de Partículas Brasileiro 25/35
PyQt no LNLS Figure: Tela da FAC Gabriel Fedel PyQt no Acelerador de Partículas Brasileiro 26/35
PyQt no LNLS Figure: Ocean Gabriel Fedel PyQt no Acelerador de Partículas Brasileiro 27/35
PyQt no LNLS Figure: Tela de Scan Gabriel Fedel PyQt no Acelerador de Partículas Brasileiro 28/35
Código Tela de Scan https://github.com/gabrielfedel/scangui Gabriel Fedel PyQt no Acelerador de Partículas Brasileiro 29/35
Próximos Desafios Threads/Assícrono/IPC Threads Programação Assíncrona (co-rotinas) Comunicação Via Socket Comunicação Via DBus Definir padrões Controle de acesso Gabriel Fedel PyQt no Acelerador de Partículas Brasileiro 30/35
Concluindo Experimentem PyQt Venham nos visitar no LNLS (gabriel.fedel@lnls.br) Estamos com uma vaga no nosso grupo! http://bit.ly/vagasol Gabriel Fedel PyQt no Acelerador de Partículas Brasileiro 31/35
Agradecimentos Vocês Organização QtCon Braisl Grupos do LNLS SOL FAC TGM MX2 Gabriel Fedel PyQt no Acelerador de Partículas Brasileiro 32/35
After party Gabriel Fedel PyQt no Acelerador de Partículas Brasileiro 33/35
PyMCA Figure: PyMCA - http://pymca.sourceforge.net/ Gabriel Fedel PyQt no Acelerador de Partículas Brasileiro 34/35
Introdução Partículas, Luz Síncrotron e Sirius Controle nas Estações Experimentais PyQt (e PyDM) PyQt no LNLS Próximos Desafios Co MXCuBE Figure: MXCuBE - http://www.esrf.eu/mxcube2 Gabriel Fedel PyQt no Acelerador de Partículas Brasileiro 35/35