INÍCIO > Fórum > Informação do ambiente de desenvolvimento LogicLab > Diferença entre importação de biblioteca e importação de objeto
- Este tópico tem 5 respostas, 3 participantes e foi atualizado pela última vez 8 anos, 2 meses atrás da Sergio Bertana.
-
autorPublique
-
Julho 20, 2012 em 10: 10 am #35249Anônimoinativo
Estou fazendo meu primeiro programa com LogicLab e me vejo tendo que usar objetos (blocos de funções e funções) que estão presentes nas várias bibliotecas que são fornecidas. Acho difícil entender a diferença entre importar a biblioteca inteira e importar objetos individuais.
Qual técnica é melhor usar?
Julho 20, 2012 em 10: 40 am #37332Sergio BertanaAdministrador do fórumCom a instalação do LogicLab, também são instaladas bibliotecas que contêm objetos (funções e blocos de função) úteis no desenvolvimento do programa. Para utilizar os objetos presentes nas diversas bibliotecas, é possível inserir toda a biblioteca ou apenas os objetos utilizados no projeto (Extracto manual).
Algumas bibliotecas devem ser inseridas no projeto para utilizar os objetos presentes, isso porque a biblioteca, além dos objetos utilizados no programa e documentados no manual, também contém objetos e / ou estruturas de dados utilizados internamente, portanto não é possível importar apenas os objetos individuais. Na data atual, as bibliotecas deste tipo são:
eModemLib: Biblioteca de gerenciamento de modems.
ePLC1WireLib: Biblioteca de gerenciamento de dispositivos One-Wire.
eNMEALib: Biblioteca de gerenciamento de sequenciação de NMea.Julho 20, 2012 em 12: 05 pm #37333AnônimoinativoEu criei um programa de escada simples para testar o bloco de função flash BLINK, eu importei a biblioteca no meu projeto PLCUtyLib para poder dispor do FB. Ao completar o programa, eu tenho a seguinte mensagem.
Code generation .. aborted.
IEC62056_21Rd(187) – error A4107: MemSet => Target function not found
…
IEC62056_21Rd(241) – error A4107: MemSet => Target function not found
0 warnings, 4 errors.Queria saber como interpretar os erros, noutros casos a referência é feita ao bloco de programa onde está o erro, os números entre parêntesis indicam algo? Em caso afirmativo, como posso encontrá-los no programa?
Julho 20, 2012 em 12: 14 pm #37334Sergio BertanaAdministrador do fórumVocê se deparou com um dos problemas que podem surgir ao importar uma biblioteca inteira em vez de objetos individuais para o projeto. Neste caso, a biblioteca PLCUtyLib é um contêiner de objetos (funções e blocos de funções) de várias utilidades. Esta biblioteca nunca deve ser importada para o projeto, mas apenas os objetos que são usados devem ser importados da biblioteca.
Importando toda a biblioteca quando o projeto é compilado, o LogicLab também compila a biblioteca e se houver erros nos objetos da biblioteca (mesmo que o objeto com erro não seja usado no projeto) um erro é relatado. No seu caso, o erro surge do fato de que o bloco de funções IEC62056_21Rd usa a função dentro dele memset encontrado na biblioteca ePLCAuxLib.
Para cada linha do programa de origem onde a função MemSet é chamada, há um erro, 4 erros no total, em cada linha com erro o número da linha é retornado (entre colchetes). Como o bloco funcional IEC62056_21Rd é criptografado, clicando duas vezes no erro não é possível saltar para o programa fonte, o que aconteceria se fosse um bloco funcional livre.
Fevereiro 5, 2016 em 2: 53 pm #39343LucaparticipanteInfelizmente, a biblioteca eLLabUtyLib Tenho que usar, pois preciso da função “ModMaster”. Enfim sim, o problema era o formato do projeto, tentei salvá-lo no novo formato (.plcprj) e o problema foi resolvido.
Fevereiro 6, 2016 em 7: 28 am #39344Sergio BertanaAdministrador do fórumComo lhe contei os itens da biblioteca eLLabUtyLib eles podem ser usados individualmente sem conectar a biblioteca inteira. Você tem que usar o FB ModbusMasterbem, então em seu projeto você pode importar apenas aquele objeto e não conectar a biblioteca inteira.
A partir do menu Projeto escolher Importar objeto da biblioteca, então selecione a pasta onde as bibliotecas do LogicLab estão localizadas e escolha a biblioteca desejada. Clicar duas vezes abre a lista de todos os objetos presentes e você pode importar os objetos que lhe interessam para o seu projeto (Screenshot).
-
autorPublique
- Você deve estar logado para responder a este tópico.