Twincat Moving Average
Contato e Coil Nearly In Control Tente isso para o tamanho: We8217ve sido automatizado por centenas de anos agora. A revolução industrial causou uma migração de trabalhadores da agricultura para as cidades para trabalhar em empregos na fábrica, e os trabalhadores deslocados pelas novas tecnologias encontrarão novos trabalhos que nem sequer existiam há alguns anos atrás. Eu suponho que se você está lendo este artigo que você está envolvido na automação de alguma forma, então você realmente quer acreditar nessa declaração, e argumentando contra o que alguém queria acreditar seria inútil. Vou fazê-lo mesmo assim. Essa afirmação é errada. Desta vez é realmente diferente. Para explicar isso, preciso que você considere o que motiva as pessoas aqui no 8220west8221. Basicamente, temos alguma forma de capitalismo regulamentado. Para ferver isso, significa que você pode possuir coisas, e você tem permissão para manter alguma fração dos rendimentos que são gerados a partir dessas coisas. Isso realmente se aplica a quase todos nós, mesmo que a maioria das pessoas não pensa nisso dessa forma. É evidente para um agricultor: você possui terra, edifícios e equipamentos, você cresce coisas e vendê-los, e depois de impostos você espera acabar com algum tipo de lucro. Ok, talvez a agricultura não seja um grande exemplo, porque há tantos subsídios governamentais envolvidos, mas o princípio é o mesmo com proprietários de pequenas empresas e até com funcionários. Empregados A maioria dos empregados não pensa em si mesmos como capitalistas porque eles não podem ver o capital que usam para gerar lucros, mas sim no espelho. Você é seu próprio capital. Desde a abolição, este é o capital que ninguém poderia tirar de você. É a primeira e principal rede de segurança social. Não importa o quão sem dinheiro você era, exceto doenças ou enfermidades, você tinha esse ovo básico de capital que você sempre poderia desenhar para arrancar sua vida. A maioria das pessoas confunde o capital com o dinheiro, e é por isso que elas não se vêem como capital. Afinal de contas, você pode gastar-se 8221, você pode realmente voltar centenas de anos, você poderia. A maioria dos escravos em torno do Mediterrâneo há centenas de anos eram escravos porque incorrem em dívidas que eles não podiam pagar, então eles se tornaram propriedade de quem eles deveriam a dívida, até que eles pudessem trabalhar fora de sua dívida. Se isso ajuda, pense no corpo humano como uma máquina que transforma comida em várias coisas úteis mais valiosas do que alimentos. Os agricultores transformam pequenas quantidades de alimentos em quantidades maiores de alimentos. Os carpinteiros transformam alimentos e madeira em casas ou móveis. Físicos quânticos transformam alimentos em transistores e lasers, e você, caro leitor, talvez seja uma máquina que transforma alimentos em programas de PLC. Por sua vez, trocamos essas coisas por várias coisas úteis que outras pessoas criaram. Capitalismo. Agora sou um fã do capitalismo regulamentado, porque é uma maneira eficiente de organizar muitas máquinas (nós) para produzir muitas coisas valiosas como carros, casas e episódios de Game of Thrones. Agora é a parte estranha. Existe um grande incentivo para usar seu capital para adquirir mais capital, que você pode usar para adquirir mais capital, e assim por diante, mas muito poucas pessoas fazem isso. Você pensaria que alguém que terminou 13 anos de escolaridade na idade de 18, trabalhou 47 anos e aposentou-se na idade de 65, fazendo, digamos, um salário modesto médio de 30.000 por ano em dólares atuais teria tido a Previsão para poupar alguns desses 1,4 milhões para a sua aposentadoria, mas é claro que muitos don8217t. Na verdade, há muitas pessoas com uma renda muito maior do que aquele que não só economizar qualquer, mas entrar em dívida significativa e declarar falência ou tornar-se escravos virtuais para empresas de cartão de crédito. É tão incrivelmente comum e tem um custo tão negativo para a sociedade que os governos realmente forçam os trabalhadores a poupar partes de seu salário todas as semanas em um programa de pensão do governo e depois pagam-lhes um salário quando se aposentam. I8217m não está familiarizado com a forma como isso funciona nos Estados Unidos, mas no Canadá isso é referido como o Plano de Pensões do Canadá, e it8217s complementado por algo chamado Old Age Security que chutes em alguns anos mais tarde. Isto é, apesar do fato de que qualquer pessoa que se preocupou em esquilo afastado 18 de seu salário líquido para toda a sua carreira em um plano de poupança tributária de aposentadoria e investido em fundos mútuos teria uma aposentadoria muito confortável muito mais confortável do que viver em uma pensão do governo . Agora, parte de mim pensa que isso é bom: você fez a sua cama, agora está nela. Mas isso afeta todos, até mesmo os mais ricos capitalistas. O mais básico dos serviços governamentais são os que as pessoas ricas precisam mais: militar, policial (direito penal) e a execução de contratos (direito civil). Estes três serviços de governo são o que dão às pessoas a capacidade de possuir coisas. Os militares a protegem das ameaças externas, a polícia a protege das pessoas dentro do país (ladrões e vândalos), ea lei civil resolve disputas sobre quem possui o quê. Continuamos ouvindo que a desigualdade da riqueza é uma coisa ruim, mas que não pode ser absolutamente verdade. Se o nosso sistema está funcionando, ele tem que recompensar as pessoas que fazem coisas mais valiosas com mais dinheiro, então a única maneira lá poderia ser a igualdade de renda é se todos estavam fazendo algo igualmente valioso, e não somos. Deve haver uma maneira para eu ganhar mais dinheiro trabalhando mais duro, mais esperto ou diferente do que eu sou agora. Esse é o incentivo para ser mais produtivo. Na verdade, isso é o que realmente importa: a pessoa média acredita que pode melhorar sua posição, porque se eles não se sentem revoltosos e fazem coisas loucas e loucas. Coisas que fazem as pessoas ricas desconfortável porque no oeste essas pessoas indisciplinadas podem realmente mexer com o governo que fornece todos os serviços militares, policiais e civis de que eles dependem. Imagine que você trabalha em uma fábrica no Centro-Oeste dos Estados Unidos que faz aparelhos de ar condicionado. As possibilidades são, você não pensa de si mesmo como uma máquina que transforma alimentos em condicionadores de ar. Você não está pensando em como tornar essa máquina mais eficiente, ou mais valiosa. Você já está trabalhando 6 dias por semana, e sua família nunca vê você. Tudo o que você sabe é que, mais cedo ou mais tarde, o cara que dirige o BMW elegante vai mudar o seu trabalho para outro país, ou substituí-lo por um robô, e como todas as outras plantas por aqui fecharam, talvez você não consiga enviar Seu filho para a faculdade. Como você se sentiria Talvez você esteja inclinado a votar em um político que prometeu punir as empresas que mudaram suas fábricas para o México. Acho que o cerne da questão é que esse trabalhador não sabe o que fazer. Os incentivos ainda estão lá: aprender uma nova habilidade, investir em si mesmo, ser mais produtivo. Mas poucas pessoas fazem isso, pela mesma razão que poucas pessoas economizam para sua própria aposentadoria. Passei alguns anos em torno de pessoas que estavam dirigindo pequenas empresas e tentaram prestar atenção. Levei anos para realmente entender que não havia nada de mágico em administrar um negócio. Isso porque, como quase todo mundo, eu fui criado com a idéia de que os gênios inovadores vêm com novas idéias brilhantes e empresas que começam a fazer bilhões de dólares. Fora de alguns pequenos casos, isso simplesmente não é verdade. Olhar duro o suficiente e você pode encontrar uma indústria that8217s na demanda e crescente. Se a demanda é alta, sempre haverá empresas naquela indústria que são mal executados, mas ainda fazer um lucro. Você pode ganhar dinheiro simplesmente fazendo a mesma coisa que todos os outros e simplesmente não ser o pior nisso. Isso explica como o capitalismo funciona 8211, dá-lhe incentivos para fornecer produtos e serviços que estão em demanda. Eu tenho um parente que foi demitido há muitos anos. Havia um programa de empregos onde eles lhe deram aulas sobre como iniciar um pequeno negócio. Ele aprendeu a manter livros, escrever uma fatura e como fazer seus impostos. Eles o engancharam com um empréstimo para pequenas empresas. Alguns meses mais tarde, ele dirigia seu próprio negócio e, um par de anos depois, contratou um empregado. Agora ele tem a oportunidade de investir em si mesmo, como comprar equipamentos melhores e melhorar suas habilidades. Vamos dizer que você é um programador de PLC. Sua empresa provavelmente paga-lhe mais de 50.000 por ano. Quanto eles gastaram em seu computador Será que eles barato para fora Faz todo o sentido desvantagem de um recurso de 50.000 um ano com um laptop barato Se você estava no negócio por si mesmo, você percebe rapidamente lá muitas coisas que você poderia investir em que faria Um programador de PLC mais eficiente ou valioso, mas um computador mais rápido é um não-brainer. A automação está aumentando a produtividade e com caminhões auto-dirigindo e sistemas de peritos que estão sendo desenvolvidos, a taxa de aumento da produtividade é ajustada para explodir. No entanto, estes são investimentos caros e não há maneira para os trabalhadores deslocados para tirar proveito desta automação. Se eu desse a um camionista um caminhão maior, eles produzem mais valor por quilômetro dirigido, mas se eu substituir o motorista por um computador, eles não têm valor algum. O aumento da produtividade deixou de produzir salários mais elevados no início da década de 70. Um caixa de banco faz o mesmo agora como eles fizeram naquela época (ajustado para a inflação), embora a maior parte do trabalho pesado tenha sido descarregada para ATMs. De fato, os caixas eletrônicos permitiram que os bancos abrissem filiais mais pequenas e a demanda por escrivães para equipar essas filiais aumentou o número total de caixas, mas apesar de automatizar as tarefas simples e aumentar a demanda por caixas, eles não fazem mais nada em salários. As mesmas pessoas que atualmente culpam a imigração e a terceirização por seus problemas logo vão perceber que a automação é o que realmente come o almoço. Ao contrário da revolução industrial em que os trabalhadores deslocados podiam participar nesta nova economia, passando da agricultura para o trabalho em fábricas, durante esta transição os trabalhadores perderão os seus postos de trabalho e terão de revalorizar completamente, ou na melhor das hipóteses manterão os seus postos de trabalho, Mais para sua produtividade aumentada. Isso porque a automação antiga tornou as pessoas mais valiosas, mas a nova automação parece torná-las menos valiosas. Isso significa que ele está desvalorizando o pouco de capital que eles têm. Isto é onde alguém geralmente sugere uma renda básica universal para que todos possam compartilhar o aumento da produtividade sem que todos contribuam para ele. Não estou convencido de que os números se somam. O que realmente precisamos é encorajar essa idéia de se ver como capital, não como um empregado. Um incentivo e uma rede de segurança para as pessoas começando uma pequena empresa deve ser menos caro e mais eficaz do que pagar as pessoas para se sentar em casa. Como sobre ensinar este material na escola (eu figura professores são consideravelmente à nora sobre começar um negócio). Como cerca de torná-lo mais fácil para iniciar um negócio do que ir em assistência social Como sobre fazer em-demanda habilidades de formação livre I8217m contente we8217re falando sobre isso, porque não importa. Muito disso está ligado com o que está acontecendo no mundo agora. Existe uma sensação geral de que a próxima geração não será tão boa quanto a geração de seus pais, e isso é praticamente sem precedentes. Essa promessa de que alguém poderia fazer algo de si mesmo está escorregando, e precisamos que back. Contact e bobina quase em controle TwinCAT 3 Tutorial: texto estruturado TwinCAT 3 inclui todos os cinco IEC-61131-3 idiomas: Diagrama Ladder, Texto Estruturado, Função Diagrama de blocos, diagrama de funções seqüenciais e lista de instruções. Se você vem do mundo de Allen-Bradley, então obviamente o Diagrama de Ladder será sua linguagem mais confortável, mas eu espero que você também queira fazer uso de Texto Estruturado. Na verdade, Beckhoff se apresentam tipicamente texto estruturado como a linguagem go-to para programação em TwinCAT 3. Eu prefiro escrever a maioria dos meus programas em Ladder Diagram para as razões óbvias: a facilidade de resolução de problemas ea habilidade dos eletricistas para entrar em linha com o Programa e depurá-lo. No entanto, podemos esquecer esse velho ditado, usar a ferramenta certa para o trabalho, 8221 e há momentos em que o Texto Estruturado é a ferramenta certa e o Diagrama Ladder não é. Texto Estruturado tem semelhanças com Pascal ou BASIC (pelo menos após ter removido o conceito de números de linha do BASIC). A característica mais aplicável do Texto Estruturado para nós é LOOP s. O FOR Loop Imagine por um momento que você tem uma matriz de mil valores de dados REAIS e deseja calcular a média desses valores. A fórmula é bastante simples: basta adicioná-los e dividir por 1000. Obviamente, isso apresenta alguma dificuldade no Diagrama Ladder, mas em Texto Estruturado, podemos apenas usar um loop FOR. Comece criando uma nova função. Chame-o AverageOf1000 e certifique-se de selecionar uma função com o tipo de retorno de REAL. E Texto Estruturado (ST) na caixa suspensa Language de Implementação: Clique em Abrir. Agora você terá uma função de Texto Estruturado vazia: Poderíamos passar a matriz como uma entrada, mas se você se lembrar da última seção, isso significaria copiar toda a matriz toda vez que essa função for chamada, o que poderia impactar negativamente o tempo de varredura. É melhor passar grandes estruturas de dados como esta por referência, o que significa que a declaramos como uma variável VARINOUT: Em seguida, declaramos algumas variáveis locais: uma para armazenar a soma dos valores e outra para ser um índice para manter onde we8217re apontando para A matriz. Agora podemos escrever nossa lógica, que consiste em um loop FOR e uma operação de divisão: Na linha 1 inicializa o valor da variável Sum para 0. Note que o operador: significa atribuição. Calcula a expressão à direita (o RValue) e armazena-a na variável à esquerda (o LValue). Observe também que cada instrução termina com um ponto-e-vírgula. Isto é importante e você obterá um erro de sintaxe se você não incluir (a exceção é o ponto e vírgula no final da linha 4, que é opcional, mas freqüentemente incluído em muitos exemplos de Texto Estruturado). As linhas 2 e 4 definem o loop FOR. A linha 2 define uma variável de índice de loop (chamada Índice neste caso), seguida por um símbolo de atribuição (:). Isso significa que a variável Index assumirá os valores de 1 a 1000 e BY 1 significa que ele será contado por 1. As linhas entre 2 e 4 são o que será executado com cada valor de Index. Se você assistir o tempo de execução executar essa lógica, o que você verá é (aproximadamente): Definir o índice para 1 Executar a linha 3 Definir o índice para 2 Executar a linha 3 Definir o índice para 3 Executar a linha 3 Definir o índice para 4 Executar a linha 3 Definir o índice 5 Execute a linha 3 8230 Definir o índice para 999 Executar a linha 3 Definir o índice para 1000 Executar a linha 3 Como você pode ver, os loops podem ter um impacto significativo no tempo de varredura, especialmente à medida que o número de iterações torna-se alto. Se você estiver executando o TwinCAT 3 em um PC moderno, então 1000 iterações não são muito ruins, mas executar um milhão de iterações em um PC de 2 GHz provavelmente vai demorar um mínimo de 0,5 milissegundos, e isso sem fazer nada no loop. Você tem que estar ciente disso e programar em conformidade. Se você estiver fazendo a média da lista das últimas 100 leituras de sensores, não se preocupe com isso, mas se você estiver fazendo cálculos matemáticos em milhares de pontos de dados, esteja ciente de que pode ser muito trabalho fazer em um tempo de varredura. A Linha 5 toma a Soma e divide por 1000, atribuindo o resultado ao valor de retorno da função. Observe que adicionei um ponto decimal ao valor 1000.0 e fiz isso para lembrar ao leitor que I8217m trata de números de ponto flutuante aqui. Esta é uma escolha de estilo. Você não precisa fazer isso. O WHILE Loop (e IFTHENELSE Blocks) Outro tipo de loop é o loop WHILE. Em vez de executar um número fixo de vezes como um loop FOR, ele pode executar enquanto uma condição for verdadeira. Por exemplo, let8217s dizer que queremos encontrar o primeiro índice em uma matriz onde o valor é maior que algum valor: O objetivo desta função é procurar uma matriz de 1000 valores e retornar o primeiro índice onde o valor é maior do que alguns Limiar . Se ele não encontrar quaisquer valores maiores que o Limiar, então retorna 0, que é um índice inválido. A linha 1 inicializa um sinalizador booleano, Encontrado. Para FALSE. Uma vez que esta é uma função, it8217s não é realmente necessário, porque o valor seria inicializado a falso cada vez que você chamar a função, mas se este era um bloco de função, então você deseja incluir essa linha porque o valor seria mantido de chamada para chamar . A linha 2 inicializa a variável de índice para o primeiro índice de matriz (1). As linhas 3 e 9 definem o loop WHILE. As linhas 4 a 8 serão executadas repetidamente, desde que a expressão na linha 3 retorna true. Como você pode ver, nós loop até que seja encontrá-lo, ou o índice passa o limite superior da matriz. As linhas 4 a 8 compreendem um bloco IFTHENELSE. Se a expressão na linha 4 for verdadeira, então ela executa a linha 5. Se a expressão na linha 4 for falsa, então ela executa a linha 7 em vez disso. Para demonstrar como isso funciona, suponha que os valores na matriz são 25, 50, 75, 100, 125, etc. Também assumem que Threshold é 80. Esperamos que a função devolva um valor de 4. Here8217s como a função executa: Line 2 define Index para 1 A linha 3 é avaliada como verdadeira porque Found é false e Index é 1 Line 4 é avaliada como false (25 não é maior que 80) Line 7 define Index para 2 Line 3 é avaliada como true porque Found é false eo Index é 2 Linha 4 é avaliada como falsa (50 não é maior que 80) Linha 7 é definida como falsa (75 não é maior que 80) Linha 7 define Índice para 4 Linha 3 é avaliada como verdadeira porque Found é falsa e Index é 4 Linha 4 é avaliada como verdadeira (100 é maior que 80) Linha 5 define Found to true A linha 3 é avaliada como falsa. Retorna o valor da função para 4 (porque o Índice tem o valor 4) Embora esta seja uma função perfeitamente razoável, th Há também alguns problemas com ele. Em primeiro lugar, o tempo de varredura é bastante variável. O pior caso de tempo de varredura é quando o valor isn8217t encontrado, e retorna 0. Neste caso itera através de toda a matriz. No melhor dos casos, retorna 1. Os tempos de varredura variáveis podem levar a problemas se o pior caso nunca for testado, ou se você tiver muitas funções como essa e houver algum caso diabólico em que todos eles tenham que executar o pior caso no Mesma varredura e você exceder o tempo de varredura permitido. Em segundo lugar, a lógica é complexa. Alguns de vocês podem estar rindo de mim por dizer isso. Se você é um programador de PC escrevendo código em C ou BASIC, então a função acima é realmente muito simples, mas na programação do PLC temos uma ênfase anormal na simplicidade. Nós queremos lógica que é obviamente correta quando olhamos para ela, ea função acima não é obviamente correta a menos que você lhe dê uma quantidade significativa de análise. Para analisá-lo você realmente tem que 8220play computer8221 e percorrer pelo menos 2 cenários diferentes: um onde o valor é encontrado, e um onde it8217s não encontrado. Mais cedo nesta seção eu falei sobre esperar eletricistas para ir em linha com os nossos programas e fazer a solução de problemas. Um eletricista pode entender o Diagrama de Ladder e, com um pouco de trabalho, eles provavelmente entenderão o exemplo do loop FOR acima, mas haverá muitas pessoas que não conseguirão entender este exemplo de um loop WHILE com blocos IFTHENELSE. Se você acredita que essas pessoas não têm qualquer negócio on-line com um PLC, então sugerir que você deve mudar sua atitude. A automação é um esporte de equipe e não temos espaço na equipe para grandes egos. Use a lógica mais simples que você possivelmente pode (não o mais curto). Se a máquina tiver 10 motores, não tente escrever a lógica de início do motor em texto estruturado com um loop FOR. Don8217t mesmo fazer um bloco de função e reutilizá-lo 10 vezes. Basta escrever 10 programas diferentes em Ladder Diagram e copiar a lógica. Claro que eles podem compartilhar alguma lógica comum, como uma bobina OkToRunMotors que fica definido em outro programa. Lembre-se que estes são 10 motores fisicamente diferentes e as condições para iniciar e parar-los são susceptíveis de mudar ao longo do tempo. Reconhecer isso e manter a lógica separada. Por outro lado, o Texto Estruturado é a ferramenta certa para o log de eventos e a lógica de manipulação de receitas de um programa. Um eletricista entrando no PLC para entender por que um motor não está começando a se preocupar com o módulo de registro de eventos. O Texto Estruturado também é a ferramenta certa para manipular dados, como um scan recebido de um scanner de código de barras ou um leitor RFID. Matemática complexa também é mais facilmente expressa em Texto Estruturado. Usar a ferramenta certa para o trabalho significa levar mais do que o próprio problema em consideração. Certifique-se de levar em conta as capacidades de sua equipe e as capacidades do cliente. Don8217t Loop em uma entrada Um programador novato vai escrever isso: Observe como we8217re looping em uma entrada. Uma entrada é uma entrada física real. Ele só muda quando uma varredura de IO acontece. Quando o tempo de execução executa esta lógica, ele entrará no loop e potencialmente nunca sairá, e nenhum do resto do seu programa será executado novamente. A máquina aparecerá para congelar, as saídas permanecerão em seu último estado, e coisas ruins acontecerão. Simplesmente, se você usar uma entrada como o condicional em um loop WHILE, então você não tem uma boa compreensão de como funciona o PLC runtime, e você precisa parar e voltar ao início. A maioria dos PLCs funciona lendo as entradas físicas na memória, executando a lógica do programa e copiando os novos valores das saídas para as saídas físicas reais (isso é uma simplificação e não é verdade para todos os PLCs, mas é um bom modelo para começar) E depois fazê-lo novamente e novamente. A quantidade de tempo que leva para fazer tudo o que é o seu tempo de digitalização, e queremos que o tempo de digitalização seja o mais curto possível. Causar o programa para entrar em um loop que espera por uma entrada para ativar essencialmente parar o programa. Em alguns casos, também impedirá que a varredura de IO aconteça, por isso é impossível que essa entrada mude de estado novamente. A máquina congelará para sempre. Ladder Diagram doesn8217t dar-lhe a opção de tiro-se no pé como este, mas estruturado texto faz. Fique longe de laços infinitos. Misturando Diagrama de Ladder e Texto Estruturado I8217ve mostrou a você como você pode escrever programas, funções e blocos de função no Texto Estruturado, mas às vezes é bom adicionar um pouco de Texto Estruturado no meio de seu programa de Diagrama de Ladder. Acontece que um programa pode incluir algo chamado Action (que é como um mini-sub-programa local que você pode chamar de seu programa) ea Action pode ser escrita em uma linguagem de implementação diferente do programa pai. Para adicionar uma ação. Clique com o botão direito do mouse em um programa existente (Diagrama de Ladder) e escolha Add-Action8230 no menu de contexto. Tudo o que tem de introduzir é um Nome e escolha uma Linguagem de Implementação. Escolha Texto Estruturado. A nova ação será exibida no Gerenciador de Soluções em seu programa. A Ação tem acesso a todas as declarações (entradas, saídas e variáveis locais) do programa pai ou POU. Você pode chamar a ação como qualquer outro programa: basta adicionar um bloco e digitar o nome da ação. Funções de String As funções de String podem ser usadas no Diagrama de Ladder e Texto Estruturado, mas quando você começa a fazer manipulação de seqüência complicada, então eu sugiro mover-se para o Texto Estruturado porque ele pode ser mais fácil de entender. Aqui estão suas típicas funções de seqüência de caracteres eo que elas fazem: LEN (s) 8211 retorna o número de caracteres na string s LEFT (s, n) 8211 retorna os n caracteres mais à esquerda da string s, ou retorna s se n LEN (s ) 8211 retorna n caracteres da seqüência s, começando na posição p (primeiro), e retorna n caracteres da seqüência s, ou retorna s se n LEN (s) (S1, s2, p) 8211 retorna uma nova seqüência formada pela inserção de s2 em s1 na posição p DELETE (s) (s1, s2, p) , N, p) 8211 o oposto de MID. (S1, s2, n, p) 8211 combina DELETE e INSERT 8211 remove n caracteres de s1 começando na posição p, e os substitui por s2 FIND (s1, s2) 8211 Retorna a posição da seqüência de caracteres s2 na seqüência de caracteres s1 ou 0 se não for encontrada e é sensível a maiúsculas e minúsculas Você pode, é claro, criar suas próprias funções de seqüência de caracteres. Por exemplo, pode ser útil ter uma função de substituição diferente que leva 3 strings: uma string para procurar, uma string para encontrar, uma string para substituir todas as instâncias da string encontrada com: Observe como as variáveis são declaradas como TMaxString em vez disso De STRING 8230 STRING Limitações Uma vez que as variáveis são estaticamente alocadas no TwinCAT 3, quando você define uma variável STRING você tem que declarar o comprimento. Implícitamente este é 80 caracteres, e usa até 81 bytes de memória (80 para os dados e um byte para um terminador nulo). Strings são limitadas a um comprimento de 255 caracteres. Há um tipo específico chamado TMaxString que é um alias para STRING (255). Tenha cuidado porque TwinCAT 3 irá truncar silenciosamente uma seqüência de caracteres para o comprimento máximo definido da seqüência de destino quando você faz uma atribuição. Quando você faz suas próprias funções de seqüência de caracteres, você deve usar TMaxString como o tipo de variável para certificar-se de que eles funcionam com qualquer seqüência de caracteres passada para eles. Se você don8217t, as variáveis de entrada e saída será silenciosamente truncado para o comprimento que você especificar. Conclusões O texto estruturado é uma ferramenta poderosa. Em alguns PLCs, como o Allen-Bradley ControlLogix linha, você tem que pagar extra para o editor de texto estruturado, mas com TwinCAT 3 você obtê-lo gratuitamente. (Na verdade, você começa o editor de Diagrama Ladder para free too8230) Com grande poder vem grande responsabilidade. Use seus novos poderes com sabedoria e moderação. Ao programar PLCs, a primeira prioridade é a correção ea segunda prioridade é a legibilidade. Ninguém recebe pontos por escrever menos linhas de código. Lembre-se disso. Comentários estão fechados.
Comments
Post a Comment