Detalhes do programa XXX

Usado para registrar e compreender a lógica do programa de programas de PC

1. O papel do programa

De acordo com as instruções do autor original ( arquivo description.txt ), a principal função deste programa ( PC.py ) é extrair o arquivo de log gerado por um dispositivo em uma determinada pasta ( pode ser visto pelas informações na configuração que é Ag_T_8 ) e, em seguida , extraia alguns dos dados necessários, processe-os e coloque-os no banco de dados

A parte principal do arquivo é apenas o programa PC.py, e o resto é para ele. O autor original empacotou o arquivo .py em um arquivo .exe e o configurou para ser executado em segundo plano.

2. Principais bibliotecas envolvidas

  1. Mqtt: MQTT é um protocolo leve de transmissão de mensagens no modo de publicação-assinatura, especialmente projetado para aplicações IoT com baixa largura de banda e ambientes de rede instáveis. Pode-se entender que essa coisa é usada para comunicação entre diferentes softwares

    mqtt é dividido principalmente em três partes, ou seja, o corretor do servidor e vários clientes ( paho-mqtt é usado aqui ).O cliente precisa saber quatro informações sobre o cliente se quiser se conectar ao servidor, que são: servidor do corretor ① endereço; ② porta; ③ tópico e ④ ID do cliente. Essas quatro informações são definidas no arquivo config.json, correspondendo a mqtt_broker, mqtt_port, mqtt_topic, mqtt_client_id respectivamente.

Nota: O autor original comentou todo o conteúdo sobre o mqtt e não utilizou a comunicação mqtt. Porém, as informações de configuração do mqtt no config ainda precisam ser preenchidas, caso contrário um erro será relatado devido à leitura. Este deve ser o razão original. O desenvolvedor antes do autor o configurou para outros fins e pode ser ignorado aqui.

  1. pyodbc: Uma biblioteca usada para operações de banco de dados. O autor aqui usa pypyodbc (uma implementação python pura de pyodbc), que pode ser entendida como uma ferramenta para gravar arquivos lidos no banco de dados.
    O banco de dados pode ser considerado uma tabela do Excel. O pyodbc pode realizar operações como adições, exclusões, modificações e consultas nesta tabela. No entanto, ao contrário do Excel, o banco de dados é operado usando comandos linha por linha e uma conexão precisa ser ser feita antes do uso. A conexão requer Os parâmetros e os parâmetros correspondentes em config.json são: ①Endereço
    IP do banco de dados/ mssql_ip ;
    ②Número da porta do banco de dados/ mssql_port ;
    ③Login nome de usuário/ mssql_user ;
    ④Senha correspondente ao nome de usuário/ mssql_password ;
    ⑤Login nome do banco de dados/ mssql_db

  2. watchdog: Pense nisso como uma biblioteca usada para monitorar se os arquivos em uma pasta foram alterados.

3. Lógica de negócios

Todo o processamento de dados é encapsulado no FileHandler . Quando o programa for iniciado, a função de execução na classe FileWatcher será executada. Esta função de execução executará a classe FileHandler.
1. Quando houver um novo arquivo na pasta correspondente a "log_path" em config.json A geração do arquivo será registrada no arquivo de log logging.conf
2. Se o novo arquivo gerado não terminar com .dat, nenhuma operação será realizada.
3. Se terminar com .dat, leia o arquivo .dat e extraí-lo. Informações relacionadas
4. O autor original forneceu 6 casos de teste no registro de dados. Aqui pegamos o primeiro arquivo 1_2111001232800464_230719211823.dat como exemplo para explicar quais informações são extraídas dele.
5. Primeiro, a referência, sn, é extraída das duas primeiras linhas de todo o arquivo. start_time, end time e cycle_time, para a situação específica de extração, consulte: 6. Em seguida, faça uma visão geral de todo o texto a seguir. Se "|01"
Insira a descrição da imagem aqui
aparecer, significa que ocorreu um erro. Então observe linha por linha para descobrir onde essa coisa aparece. Em uma linha, o código de erro é extraído. "|01" . O código de erro extraído é , conforme mostrado na figura abaixo: 7. Se ocorrer um erro, o resultado será falha e o código de erro será o código de erro extraído acima. , se nenhum erro ocorrer, o resultado será aprovado e o código de erro será1%led1_color
Insira a descrição da imagem aqui
None

8. Além disso, existem dois parâmetros em config.json: "equipment_code" e "equipment_name" Esses dois valores correspondentes também serão registrados.

9. Os valores de todos os registros são mostrados abaixo:
Insira a descrição da imagem aqui
10. Foram obtidos um total de 10 parâmetros e todos foram gravados no banco de dados. Seus nomes no banco de dados são:
referência, sn, resultado_teste, código_erro, tempo_criação, nome_equipamento, código_equipamento, hora_inicial, hora_final, hora_do_ciclo. são escritos na forma de strings


outras instruções

Coisas que precisam ser configuradas:
Você só precisa definir o arquivo config.dat na pasta config. O significado de cada parâmetro é:
Insira a descrição da imagem aqui

Observação: para executar este programa, você precisa usar algumas outras bibliotecas e bancos de dados python. Você pode executar o arquivo .py diretamente ou empacotá-lo em um arquivo .exe para execução. Se quiser empacotá-lo, é outra coisa. O O arquivo .spec está relacionado ao empacotamento. As configurações não têm nada a ver com a lógica de execução deste programa. Se você quiser saber as operações relacionadas ao empacotamento, pode dar uma olhada na biblioteca pyinstaller.

Acho que você gosta

Origin blog.csdn.net/qq_41926099/article/details/132406913
Recomendado
Clasificación