TatianaResend / PSA_Proj_UR_Fagor

2 stars 0 forks source link

PLC -siemens S7-1200 #6

Open TatianaResend opened 2 years ago

TatianaResend commented 2 years ago

Ler dados - feito Problema: Sensor a ler os dados em loop;

Falta: -Conseguir registar dados direitinhos no DataBlock

TatianaResend commented 2 years ago

Explicação de cada bloco (Leitura dos códigos QR e DataMatrix)

IniciarDados: -Este bloco reset todos os dados dentro do array de 1 a 10. Defenindo:

Registo de dados: -Contador do nº atual de dados; -Definição da variável i correspondente ao número atual de dados; -Guardar o número de dados de acordo com número atual de dados; -Definição da variável temp como a leitura de data e hora local; -Transição do código registado para o código lido; -Desligar DL300_start_com e o DL300_Ready_Ok;

DL300_Interface: -Inicialização + tempo de ON/OFF;

Arquivo de dados - onde está os dados arquivados

DadosLidos - byte 27.0 que muda (31-peca1;32-peca2;33-peca3)

DataTypes: Foram criados dois tipos de dados: -Dados (com NDados, Data_Hour, e Code) -DataMatrixInput (array de 1 a 25 bytes)

Main: -Network 3: Interface com DL300 -Network 4: Inicialização dos dados_Reset -Network 5: Set da variavél Read_OK atráves do pulso da leitura OK -Network 6: Registo de dados Leitura Ok - true; Move os dados do DL300_NDados para o Datablock DadosLidos; Converte os dados que vêm em chars (caracteres) para strings; Passar essas strings para o registo de dados;

TatianaResend commented 2 years ago

Variáveis: NDados - nº do próprio registo; NDadosAtual - nº total de registos feito

I/O Datalogic: i256.4 - Setup Good (DL300_Read Ok) i258.0 - DL300_NDados do tipo DataMatrixInput q256.7 - Device trigger (DL300_Out_Trigger)

I auxiliares (HMI posteriormente): -I0.1 - (DL300_Iniciar) Reset do registo de dados -I0.0 - (DL300_start_com) Começar o setup do ready

TatianaResend commented 2 years ago

A fazer: -Guardar os dados a partir de 10 substituindo o valor -DL300_start_com associar ao sensor do tapete o Quando a peça intercetar o sensor fotoelétrico o tapete para, a peça é lida (DL300_start_com acionado, sendo desligada após o registo de 1 dado) o Só volta a ligar (DL300_start_com) quando a peça for recolhida e receber uma nova peça (intercetanto o sensor fotoelétrico). -Criar uma HMI com botões DL300_start_com e DL300_Iniciar;

TatianaResend commented 2 years ago

NDados vai no máximo até 9 (em vez de 10), pois o nosso depósito tem no máximo 9 lugares, ou seja, NDados [1,9]. Assim faz reset ao NDados quando o depósito é novo. No início verificar que o NDadosAtual não é superior a 9. Se for levar as principais variáveis de leitura a Falso para não ler nada. Eventualmente se for necessário parar o tapete também se coloca a variável do tapete. NDadosTotal, lê continuamente NDadosAtual, lê só até 9 Quando lê o 10 código volta a contagem a 1 De resto, tudo igual, NDados = NDadosAtual

Dados Data type já tem as duas novas variaveis booleanas. FlagPLC e Flag PC Coloquei a FlagPLC aqui com o Read_OK. Faz reset no final do Registo de dados. Não sei se aqui está bem, é uma questão de se testar

Falta a implementação da FlagPC no código