INÍCIO > Fórum > controladores SlimLine e Netsyst (LogicLab) > Capacidade de carga e velocidade para a execução do ciclo
- Este tópico tem 3 respostas, 4 participantes e foi atualizado pela última vez 9 anos, 6 meses atrás da Massimo.
-
autorPublique
-
Abril 27, 2011 no 3: 14 pm #35001Alessandroparticipante
Queria saber se na linha de CLPs Slim Line existe um cartão para leitura das células de carga e se você gostaria de ter mais informações técnicas, tipo de conexão, filtros utilizados, etc. já que estou trabalhando em uma balança.
Também queria entender o desempenho da CPU, para este projeto tenho que fazer loops FOR, um em particular que mesmo se otimizado pode atingir e ultrapassar 35000 ciclos, dentro do loop alguma adição e comparação nada mais, para ser feito em alguns décimos de um segundo.
Abril 27, 2011 no 3: 23 pm #36717Sergio BertanaAdministrador do fórumIl Módulo de expansão de E / S analógico que possui entradas diferenciais com aquisição de 23 bits, em breve será atualizado com um novo firmware para leitura de extensômetro também. Mesmo que dado o elevado número de bits do convetor, já é possível adquirir os valores analógicos na saída da ponte de medição e adquirir o valor do peso.
No que diz respeito à filtragem do valor do peso adquirido, é possível implementar o algoritmo de filtragem da linguagem ST. Temos alguns exemplos de filtros que podemos fornecer mediante solicitação.
No que diz respeito ao loop FOR, 35000 loops são bastante, mas se não for possível realizar algoritmos de simplificação, o force play é para realizar o número necessário de loops. Eu criei um programa ST simples que executa 40000 ciclos com três somas e uma comparação interna, tudo em variáveis de 32 bits, e o tempo de execução é 56 ms.
PROGRAMA ST
VAR
i: UINT; {DE: "Contador auxiliar"}
AddArray: ARRAY [0..3] OF UDINT; {DE: "Adicionando matriz"}
END_VARPARA i: = 0 PARA 40000 DO
AddArray [0]: = AddArray [0] + 1;
AddArray [1]: = AddArray [1] + 1;
AddArray [2]: = AddArray [2] + 1;
IF (AddArray [2] = AddArray [3]) ENTÃO AddArray [3]: = AddArray [3] + 1; END_IF;
END_FOR;END_PROGRAM
Outubro 7, 2014 em 4: 48 pm #38447RobertoparticipanteUma pergunta rápida já que deveríamos enfrentar um sistema de pesagem: vi que o cartão cai para 17 bits com um sibilino (min) escrito ao lado. Como deve ser interpretado?
Segunda pergunta, vamos atrapalhar um pouco o sinal ou é possível usá-lo como unipolar usando todos os 130 KPoints?
Outubro 7, 2014 em 6: 02 pm #38448MassimoMediadorOs 17 bits (min) referem-se ao pior caso que é ao usar GAIN = 128. Para os outros ganhos, aqui estão as várias resoluções:
- AD_VIN_VREF_G_1: 19.5 bits
- AD_VIN_VREF_G_2: 18.5 bits
- AD_VIN_VREF_G_4: 19.0 bits
- AD_VIN_VREF_G_8: 19.0 bits
- AD_VIN_VREF_G_16: 18.5 bits
- AD_VIN_VREF_G_32: 18.5 bits
- AD_VIN_VREF_G_64: 18.0 bits
- AD_VIN_VREF_G_128: 17.0 bitsEstes são os bits reais, ou seja, já removendo o bit de sinal. Claramente, o ganho a ser escolhido depende das características do extensômetro. Mais informações em este tema.
-
autorPublique
- Você deve estar logado para responder a este tópico.