PyQt no Acelerador de Partículas Brasileiro · 2019-12-24 · PyQt no Acelerador de Partículas...
Transcript of PyQt no Acelerador de Partículas Brasileiro · 2019-12-24 · PyQt no Acelerador de Partículas...
PyQt no Acelerador de PartículasBrasileiro
Gabriel [email protected]
Software de Operação das Linhas de Luz (SOL)Laboratório Nacional de Luz Síncrotron (LNLS)
20 de Agosto, 2017
Introdução Partículas, Luz Síncrotron e Sirius Controle nas Estações Experimentais PyQt (e PyDM) PyQt no LNLS Próximos Desafios Concluindo
Introdução
Tópicos Principais:
I Partículas, Luz Síncrotron e SiriusI Estrutura de Controle nas Estações ExperimentaisI PyQtI PyQt no LNLS (e Sirius)I Próximos DesafiosI Conclusão
Gabriel Fedel PyQt no Acelerador de Partículas Brasileiro 2/35
Introdução Partículas, Luz Síncrotron e Sirius Controle nas Estações Experimentais PyQt (e PyDM) PyQt no LNLS Próximos Desafios Concluindo
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 Concluindo
Laboratório Nacional de Luz Síncrotron
Figure: LNLS
Gabriel Fedel PyQt no Acelerador de Partículas Brasileiro 4/35
Introdução Partículas, Luz Síncrotron e Sirius Controle nas Estações Experimentais PyQt (e PyDM) PyQt no LNLS Próximos Desafios Concluindo
Laboratório Nacional de Luz Síncrotron
I Primeira fonte de Luz Síncrotron do hemisfério sul(UVX)
I Única fonte da Amérca LatinaI Inaugurado em 1997I Faz parte do CNPEM
Centro Nacional de Pesquisa em Energia e MateriaisOrganizaçã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
Introdução Partículas, Luz Síncrotron e Sirius Controle nas Estações Experimentais PyQt (e PyDM) PyQt no LNLS Próximos Desafios Concluindo
Laboratório Nacional de Luz Síncrotron
I Recebe 1200 pesquisadores por anoI Parcerias com indústria nacionalI Áreas de Pesquisa
Meio Ambiente, Agricultura, Energia, Materiais, Saúde, entreoutros
Figure: Usuários por regiãoGabriel Fedel PyQt no Acelerador de Partículas Brasileiro 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 Concluindo
Estações Experimentais (Linhas de Luz)
I Diferentes faixas do espectroI Diferentes experimentosI 18 Estações
Gabriel Fedel PyQt no Acelerador de Partículas Brasileiro 7/35
Introdução Partículas, Luz Síncrotron e Sirius Controle nas Estações Experimentais PyQt (e PyDM) PyQt no LNLS Próximos Desafios Concluindo
Sirius
I Maior e mais complexa infraestrutura científica jáconstruída no Brasil
I Mais intensa fonte de luz síncrotron
Gabriel Fedel PyQt no Acelerador de Partículas Brasileiro 8/35
Introdução Partículas, Luz Síncrotron e Sirius Controle nas Estações Experimentais PyQt (e PyDM) PyQt no LNLS Próximos Desafios Concluindo
Sirius
Figure: Sirius
Gabriel Fedel PyQt no Acelerador de Partículas Brasileiro 9/35
Introdução Partículas, Luz Síncrotron e Sirius Controle nas Estações Experimentais PyQt (e PyDM) PyQt no LNLS Próximos Desafios Concluindo
SOL
I Software para as Estações ExperimentaisI Automação e interfaces de controle
Gabriel Fedel PyQt no Acelerador de Partículas Brasileiro 10/35
Introdução Partículas, Luz Síncrotron e Sirius Controle nas Estações Experimentais PyQt (e PyDM) PyQt no LNLS Próximos Desafios Concluindo
Desafios de Controle
I Diversos equipamentosI Diversos fabricantesI Diversos softwares
Gabriel Fedel PyQt no Acelerador de Partículas Brasileiro 11/35
Introdução Partículas, Luz Síncrotron e Sirius Controle nas Estações Experimentais PyQt (e PyDM) PyQt no LNLS Próximos Desafios Concluindo
EPICS
I Experimental Physics and Industrial Control SystemI Sistema cliente-servidor distribuído usando ChannelAccess como protocolo de comunicação
I IOCServidor de PVs (Variáveis de processo)
Gabriel Fedel PyQt no Acelerador de Partículas Brasileiro 12/35
Introdução Partículas, Luz Síncrotron e Sirius Controle nas Estações Experimentais PyQt (e PyDM) PyQt no LNLS Próximos Desafios Concluindo
EPICS
Figure: Epics
Gabriel Fedel PyQt no Acelerador de Partículas Brasileiro 13/35
Introdução Partículas, Luz Síncrotron e Sirius Controle nas Estações Experimentais PyQt (e PyDM) PyQt no LNLS Próximos Desafios Concluindo
Necessidade de Interfaces
I Escrita/Leitura EPICSI Experimentos (Python)
Flexibilidade para desenvolvimento, pois novos experimentossão criados à todo momentoExemplo: Scan
Gabriel Fedel PyQt no Acelerador de Partículas Brasileiro 14/35
Introdução Partículas, Luz Síncrotron e Sirius Controle nas Estações Experimentais PyQt (e PyDM) PyQt no LNLS Próximos Desafios Concluindo
Interface de usuários (hoje)
I SpecI Linha de comando (Python)I CS-Studio
Gabriel Fedel PyQt no Acelerador de Partículas Brasileiro 15/35
Introdução Partículas, Luz Síncrotron e Sirius Controle nas Estações Experimentais PyQt (e PyDM) PyQt no LNLS Próximos Desafios Concluindo
CS-Studio - Pontos Positivos
I Open SourceI Acesso ao EPICSI Usabilidade Simples
Gabriel Fedel PyQt no Acelerador de Partículas Brasileiro 16/35
Introdução Partículas, Luz Síncrotron e Sirius Controle nas Estações Experimentais PyQt (e PyDM) PyQt no LNLS Próximos Desafios Concluindo
CS-Studio - Pontos Negativos
I Dificuldade de ModificaçãoI Dificuldade de integração com PythonI Mistura entre controle e visualizaçãoI Alto uso de recursos
Gabriel Fedel PyQt no Acelerador de Partículas Brasileiro 17/35
Introdução Partículas, Luz Síncrotron e Sirius Controle nas Estações Experimentais PyQt (e PyDM) PyQt no LNLS Próximos Desafios Concluindo
PyQt
I Bindig do Qt para PythonI Desenvolvido pela RiverbankingI GPL (ou Licença Comercial)I Última versão 5.9 e 4.12
Gabriel Fedel PyQt no Acelerador de Partículas Brasileiro 18/35
Introdução Partículas, Luz Síncrotron e Sirius Controle nas Estações Experimentais PyQt (e PyDM) PyQt no LNLS Próximos Desafios Concluindo
PyQt - Vantagens
I Framework intuitivoI EstávelI Open sourceI PythonI Desenvolvimento rápidoI Boa performanceI Base para outras ferramentas
Orange, MXCube, PyMCA, PyDMI Multiplataforma
Gabriel Fedel PyQt no Acelerador de Partículas Brasileiro 19/35
Introdução Partículas, Luz Síncrotron e Sirius Controle nas Estações Experimentais PyQt (e PyDM) PyQt no LNLS Próximos Desafios Concluindo
PyQt - Vantagens
I Qt DesignerI Fácil desenvolvimento de widgetsI signal e slot
Gabriel Fedel PyQt no Acelerador de Partículas Brasileiro 20/35
Introdução Partículas, Luz Síncrotron e Sirius Controle nas Estações Experimentais PyQt (e PyDM) PyQt no LNLS Próximos Desafios Concluindo
PyDM - https://github.com/slaclab/pydm
I Framework simples que integra PyQt + PyEPICSI Fácil de estenderI PythonI Open Source
Gabriel Fedel PyQt no Acelerador de Partículas Brasileiro 21/35
Introdução Partículas, Luz Síncrotron e Sirius Controle nas Estações Experimentais PyQt (e PyDM) PyQt no LNLS Próximos Desafios Concluindo
PyQt no LNLS
Figure: Controle de Motor
Gabriel Fedel PyQt no Acelerador de Partículas Brasileiro 22/35
Introdução Partículas, Luz Síncrotron e Sirius Controle nas Estações Experimentais PyQt (e PyDM) PyQt no LNLS Próximos Desafios Concluindo
PyQt no LNLS
Figure: Configurações de motor
Gabriel Fedel PyQt no Acelerador de Partículas Brasileiro 23/35
Introdução Partículas, Luz Síncrotron e Sirius Controle nas Estações Experimentais PyQt (e PyDM) PyQt no LNLS Próximos Desafios Concluindo
PyQt no LNLS
Figure: Baking
Gabriel Fedel PyQt no Acelerador de Partículas Brasileiro 24/35
Introdução Partículas, Luz Síncrotron e Sirius Controle nas Estações Experimentais PyQt (e PyDM) PyQt no LNLS Próximos Desafios Concluindo
PyQt no LNLS
Figure: Tela da FAC
Gabriel Fedel PyQt no Acelerador de Partículas Brasileiro 25/35
Introdução Partículas, Luz Síncrotron e Sirius Controle nas Estações Experimentais PyQt (e PyDM) PyQt no LNLS Próximos Desafios Concluindo
PyQt no LNLS
Figure: Tela da FAC
Gabriel Fedel PyQt no Acelerador de Partículas Brasileiro 26/35
Introdução Partículas, Luz Síncrotron e Sirius Controle nas Estações Experimentais PyQt (e PyDM) PyQt no LNLS Próximos Desafios Concluindo
PyQt no LNLS
Figure: Ocean
Gabriel Fedel PyQt no Acelerador de Partículas Brasileiro 27/35
Introdução Partículas, Luz Síncrotron e Sirius Controle nas Estações Experimentais PyQt (e PyDM) PyQt no LNLS Próximos Desafios Concluindo
PyQt no LNLS
Figure: Tela de Scan
Gabriel Fedel PyQt no Acelerador de Partículas Brasileiro 28/35
Introdução Partículas, Luz Síncrotron e Sirius Controle nas Estações Experimentais PyQt (e PyDM) PyQt no LNLS Próximos Desafios Concluindo
Código Tela de Scan
I https://github.com/gabrielfedel/scanGui
Gabriel Fedel PyQt no Acelerador de Partículas Brasileiro 29/35
Introdução Partículas, Luz Síncrotron e Sirius Controle nas Estações Experimentais PyQt (e PyDM) PyQt no LNLS Próximos Desafios Concluindo
Próximos Desafios
I Threads/Assícrono/IPCThreadsProgramação Assíncrona (co-rotinas)Comunicação Via SocketComunicação Via DBus
I Definir padrõesI Controle de acesso
Gabriel Fedel PyQt no Acelerador de Partículas Brasileiro 30/35
Introdução Partículas, Luz Síncrotron e Sirius Controle nas Estações Experimentais PyQt (e PyDM) PyQt no LNLS Próximos Desafios Concluindo
Concluindo
I Experimentem PyQtI Venham nos visitar no LNLS
([email protected])I Estamos com uma vaga no nosso grupo!
http://bit.ly/VagaSOL
Gabriel Fedel PyQt no Acelerador de Partículas Brasileiro 31/35
Introdução Partículas, Luz Síncrotron e Sirius Controle nas Estações Experimentais PyQt (e PyDM) PyQt no LNLS Próximos Desafios Concluindo
Agradecimentos
I VocêsI Organização QtCon BraislI Grupos do LNLS
SOLFACTGMMX2
Gabriel Fedel PyQt no Acelerador de Partículas Brasileiro 32/35
Introdução Partículas, Luz Síncrotron e Sirius Controle nas Estações Experimentais PyQt (e PyDM) PyQt no LNLS Próximos Desafios Concluindo
After party
Gabriel Fedel PyQt no Acelerador de Partículas Brasileiro 33/35
Introdução Partículas, Luz Síncrotron e Sirius Controle nas Estações Experimentais PyQt (e PyDM) PyQt no LNLS Próximos Desafios Concluindo
PyMCA
Figure: PyMCA - http://pymca.sourceforge.net/
Gabriel Fedel PyQt no Acelerador de Partículas Brasileiro 34/35