Date and Time com Driver MProt

Olá,
Estou com problemas relacionados a utilização do driver MProt.
Como realizar leitura de dados em formato configurado como DATE_AND_TIME e STRING no PLC S7-300. Os dados estão disponíveis em um DB.

Outra solicitação seria quanto ao procedimento detalhado para utilizar endereçamento simbólico nos tags de comunicação.

Desde já agradeço.

Diego,

O driver não tem suporte ao tipo DATE_AND_TIME. A alternativa é usar o tipo DWORD (N2=509) e depois formatar o valor no E3.

Para a leitura de STRINGS você pode usar o N2=809.

Quanto ao endereçamento simbólico, não sei qual é a dúvida , mas você deve utilizar os parâmetros ‘Dispositivo’ (Device) e ‘Item’ em vez dos parâmetros N/B, conforme consta no manual.

Ok Paulo Gustavo,

Existe alguma função pronta no Elipse que fornecendo os parâmetros Ano, mês, dia, Hora, minuto, segundos e milissegundos realiza a formatação para tipo datetime?

Obrigado.

Você pode usar as funções DateSerial e TimeSerial. Por exemplo:

dim datetime
datetime = DateSerial(ano, mes, dia) + TimeSerial(hora, minuto, segundo)

Bom dia Gustavo,

Testei a leitura de string e consegui ler apenas string com 32 bytes, não é possível reduzir o tamanho da leitura? Preciso ler apenas strings com limite entre 10 e 20 caracteres, o que reduz tamanho ocupado no S7.

Alexandre,

A configuração dos Tags com parâmetros sintáticos permite definir o tamanho da String através da seguinte sintaxe:

DB< NumeroDB >:DBS< Endereço ><[Tamanho máximo]>

Veja mais detalhes no Manual do Driver, no tópico “Configuração por Parâmetros Sintáticos”.

Valeu! Resolveu!

Aproveitando para tirar uma dúvida não relacionada: é possível fazer aquisição de uma tag através do nome simbolico do PLC?

Sim, conforme a sintaxe descrita no Manual do Driver.

O nome simbolico do PLC não é o número do DB e sim o nome do DB. O manual menciona apenas no número.

Ex.: meu DB500 tem o nome INST_DB e o bit 1.1 nome ON, no PLC e no WinCC eu endereço como “INST_DB”.ON.

Gostaria de saber se é possível utilizar de alguma forma esse sintaxe no E3.
Isto ajuda pois estou criando uma DB com strings e ainda não definir os número máximo de caracteres, e alterar esse numero muda o endereço dos bits de comunicação mas não muda o endereço simbólico do PLC.

Agora eu compreendi, Alexandre!

Infelizmente o driver não suporta esse tipo de configuração.

Só para confirmar mesmo!

Obrigado pela atenção!

1 Like