353
Driver Modicon Modbus Nome do Arquivo Modbus.dll Fabricante Modicon Equipamentos Qualquer equipamento compatível com o protocolo Modbus v1.1b Protocolo Modbus v1.1b Versão 3.1.36 Última Atualização 17/03/2017 Plataforma Win32 e Windows CE (Pocket PC ARM, HPC2000 ARM, HPC2000 X86 e HPC2000 MIPS) Dependências Sem dependências Leitura com Superblocos Sim Nível 0

Driver Modicon Modbus · Elipse SCADA Topo Anterior Próximo Através do Organizer, selecione o item Drivers e clique em New (Novo). Adicionar novo Driver ao Elipse SCADA Na janela

  • Upload
    others

  • View
    40

  • Download
    0

Embed Size (px)

Citation preview

DriverModiconModbus

NomedoArquivo

Modbus.dll

Fabricante Modicon

Equipamentos QualquerequipamentocompatívelcomoprotocoloModbusv1.1b

Protocolo Modbusv1.1b

Versão 3.1.36

ÚltimaAtualização

17/03/2017

Plataforma Win32eWindowsCE(PocketPCARM,HPC2000ARM,HPC2000X86eHPC2000MIPS)

Dependências Semdependências

LeituracomSuperblocos

Sim

Nível 0

IntroduçãoEsteDriverimplementaoprotocoloModbus,permitindoaumaaplicaçãoElipse comunicar com qualquer equipamento escravo que implementeesteprotocolonosmodosASCII,RTUouTCP.EsteDriveratuasemprecomomestredeumaredeModbus.Sehouvernecessidadedecomunicarcomdispositivosmestre,énecessárioutilizaroDriverModbusSlavedaElipseSoftware,quepodeserbaixadonositedaempresa.O Driver Modbus, a partir da versão 2.00, passou a ser desenvolvidocom a biblioteca IOKit da Elipse. Esta biblioteca é responsável porimplementar o acesso ao meio físico (Serial, Ethernet, Modem ouRAS).ParaobterinformaçõessobreaconfiguraçãodoIOKit,consulteotópicoDocumentaçãodasInterfacesdeComunicação.Recomenda-se iniciar a leitura pelo tópico Guia de ConfiguraçãoRápida caso o equipamento seja perfeitamente aderente ao protocoloModbuspadrão,definidopelaOrganizaçãoModbus(modbus.org),esehouver apenas a necessidade de ler ou escrever bits e registros, nãonecessitandodosrecursosmaisavançadosdoDriver.Paraoentendimentomaisaprofundadodetodasas funcionalidadesdoDriver recomenda-se iniciar lendo, nesta ordem, os capítulosAdicionandooDriveremumaAplicaçãoElipseeConfiguração.Paraacriaçãodeaplicaçõesdegrandeporte,recomenda-setambémaleituradotópicoDicasdeOtimização.Casonãoconheçaoprotocolo,consulteosseguintestópicos:

OProtocoloModbus

SitesRecomendados

FunçõesSuportadas

FunçõesEspeciais

EstaseçãodadocumentaçãoajudouvocêaconfiguraresteDriver?

Sim Não

Comentários(opcional):

Restam150caracteres.Contato(opcional):

Limpar EnviarAcessetambémonossoKnowledgebaseparamaioresinformaçõessobrenossosprodutos

GuiadeConfiguraçãoRápida TopoAnteriorPróximo

Este tópico descreve os passos necessários para configurar o DriverModbusparaacomunicaçãocomequipamentosaderentesaoprotocolopadrãodefinidopelaOrganizaçãoModbus,considerandoasopçõesdeconfiguraçãomaiscomuns.Seoequipamentoéperfeitamenteaderenteaoprotocolopadrão,esedeseja-se apenas ler ou escrever registros ou bits, os três tópicos aseguirprovavelmentesãosuficientesparaaconfiguraçãodoDriver:

InserindooDriver

ConfigurandooDriver

ConfigurandoTagsdeComunicação

EstaseçãodadocumentaçãoajudouvocêaconfiguraresteDriver?

Sim Não

Comentários(opcional):

Restam150caracteres.Contato(opcional):

Limpar EnviarAcessetambémonossoKnowledgebaseparamaioresinformaçõessobrenossosprodutos

InserindooDriver TopoAnteriorPróximo

Se estiver utilizando o Elipse E3 ou o Elipse Power, leia o tópicoAdicionandooDriveremumaAplicaçãoElipse-ElipseE3eElipsePower.Se estiver utilizando o Elipse SCADA, leia o tópico Adicionando oDriveremumaAplicaçãoElipse-ElipseSCADA.Depois, leia o passo seguinte deste Manual, que ensina comoconfiguraroDriveremsua janeladeconfiguraçãoparaoscasosmaiscomuns.

EstaseçãodadocumentaçãoajudouvocêaconfiguraresteDriver?

Sim Não

Comentários(opcional):

Restam150caracteres.Contato(opcional):

Limpar EnviarAcessetambémonossoKnowledgebaseparamaioresinformaçõessobrenossosprodutos

Adicionando o Driver em umaAplicaçãodaElipseSoftware

TopoAnteriorPróximo

Esta seção descreve como adicionar oDriverModbus em aplicaçõesE3ouElipsePowereElipseSCADA.

E3ouElipsePower TopoAnteriorPróximo

No Organizer, clique com o botão direito do mouse no item ServerObjects - Drivers and OPC (Objetos de Servidor - Drivers e OPC),selecioneaopção Insert I/ODriver in (InserirDriverdeComunicaçãoem)eselecioneoprojetodesejado.

AdicionarumDriveraumaaplicaçãoE3ouElipsePower

Na janela que se abre, selecione o Driver (o arquivo deve serdescompactado em uma pasta no computador em uso) e clique emOpen(Abrir).

SelecionandooDriverAjaneladeconfiguraçõesdoDriverabre-seautomaticamente,conformemostradonafiguraaseguir.

JaneladeconfiguraçõesdodriverNo segundo passo do tópico Guia de Configuração Rápida éapresentadooprocedimentoparaaconfiguraçãobásicadoDriver,paraoscasosdeusomaiscomuns.NotópicoPropriedadesaconfiguraçãoéapresentadaemdetalhes.A janela de configuração do Driver pode sempre ser aberta,posteriormente,clicando-seemDriversettings(Configurarodriver) ,conformemostradonafiguraaseguir.

OpçãoDriversettings(Configurarodriver)Após a configuração das propriedades do Driver, clique emOK paraque se abra a janela do Tag Browser, permitindo inserir na aplicaçãoTags pré-definidos, com base nas configurações mais utilizadas. Afigura a seguirmostra a janela do Tag Browser. Para adicionar Tags,arraste-os da lista Tags available from driver (Tags disponibilizadospelo driver) para a lista Tags from current project (Tags do projetocorrente).

JanelaTagBrowserOsTagsdisponíveis noTagBrowser sãoTagsconfiguradosusandoStrings,novométodoquenãoutilizaoantigoconceitodeoperações.Insiraosmaisadequadosnaaplicação,editandooscamposconformeanecessidade.A janeladoTagBrowserpodeserabertaposteriormenteclicando-seemTagBrowser .

EstaseçãodadocumentaçãoajudouvocêaconfiguraresteDriver?

Sim Não

Comentários(opcional):

Restam150caracteres.Contato(opcional):

Limpar EnviarAcessetambémonossoKnowledgebaseparamaioresinformaçõessobrenossosprodutos

ElipseSCADA TopoAnteriorPróximo

AtravésdoOrganizer,selecioneoitemDriversecliqueemNew(Novo).

AdicionarnovoDriveraoElipseSCADANa janela que se abre, selecione o Driver (o arquivo deve serdescompactado em uma pasta no computador em uso) e clique emOpen(Abrir).

SelecionandoDriverODriveréentãoadicionadonaaplicação.

DrivernoOrganizer

Para queoDriver funcione corretamente, ainda é preciso configurá-loem sua janela de configuração. Para abrir esta janela, mostrada nafiguraaseguir,cliqueemExtra(Extras).

JaneladeconfiguraçãodoDriverO segundo passo doGuia de Configuração Rápida mostra comoconfigurar o Driver para os casos de uso mais comuns, paraequipamentosqueaderemaosrequisitosdoprotocoloModbuspadrão.No tópico Propriedades a configuração é descrita em detalhes,incluindoosrecursosavançadosdeconfiguração.

EstaseçãodadocumentaçãoajudouvocêaconfiguraresteDriver?

Sim Não

Comentários(opcional):

Restam150caracteres.

Contato(opcional):

Limpar EnviarAcessetambémonossoKnowledgebaseparamaioresinformaçõessobrenossosprodutos

ConfigurandooDriver TopoAnteriorPróximo

Após inserir o Driver na aplicação, deve-se abrir a sua janela deconfigurações,conformejáexplicadonostópicosElipseE3ouPowerouElipse SCADA. Com a janela de configuração aberta, siga estespassos:1. Configureacamadafísicadecomunicação:a. NaabaSetup,selecioneacamadafísica(Serial,Ethernet,ModemouRAS)aserutilizadanaconexãocomoequipamento.

b. Configure a camada física selecionada na aba correspondente(Serial,Ethernet,ModemouRAS).

c. Seprecisardemais informaçõessobreaconfiguraçãodacamadafísica, consulte o tópico Documentação das Interfaces deComunicação.

2. Na abaModbus, selecione o modo do protocolo (RTU, ASCII ouTCP) utilizado pelo equipamento. Como regra geral, deve-seselecionarRTU ouASC (para amaioria dos equipamentos éRTU)parameiofísicoSerialouModem,ouTCPparameiofísicoEthernetouRAS.Asdemaisopçõesemgeralpodemserdeixadascomsuasconfigurações padrão. Caso precise de mais informações sobre asopçõesdestaaba,consulteotópicoAbaModbus.

NOTAEm novas aplicações, recomenda-se fortemente evitar o uso deModbusRTU (modo RTU) encapsulado em meio Ethernet TCP/IP.Entretanto, se por algum motivo, para aplicações legadas, fornecessário usarModbusRTU encapsulado emTCP/IP, não deixe dehabilitar a opção Reconnect after Timeout, descrita no tópico AbaModbus.

3. Caso se esteja criando a aplicação em produtos mais recentes daElipseSoftwarecomooE3,ElipsePowerouElipseOPCServer,épossível utilizar a configuração de Tags por Strings (campos

Dispositivo e Item). Neste caso, vá para opasso seguinte desteguia.

4. Caso precise ainda utilizar a antiga configuração numérica(parâmetrosN/B),usadanoElipseSCADA,éimportanteexaminaraaba Operations. Observe as sete operações padrão já pré-configuradasnoDriver.Asoperaçõessãoconfiguraçõesdefunçõeseformatações de dados que são posteriormente referenciadas pelosTags da aplicação. Estas sete operações padrão, já disponíveisquandooDriveréabertopelaprimeiravez,sãoasmaiscomumentenecessárias.Avalieasfunçõesdeleituraeescritaeotipodedadosusado por cada operação e verifique quais delas são necessáriasparaaaplicação.Casoasoperaçõespré-definidasnãoseenquadremnas necessidades, é necessário editá-las ou mesmo criar novasoperações.Seforesteocaso,leiaotópicoAbaOperations.Atabelaaseguirlistaasseteoperaçõespré-definidas.

Operaçõespré-definidas

OPERAÇÃO FUNÇÃODE

LEITURA

FUNÇÃODE

ESCRITA

TIPODE

DADOS

FINALIDADE

1 3:ReadHoldingRegisters

16:WriteMultipleRegisters

Word Leituraeescritadeinteirosde16bitssemsinal

2 3:ReadHoldingRegisters

16:WriteMultipleRegisters

DWord Leituraeescritadeinteirosde32bitssemsinal

3 3:ReadHoldingRegisters

16:WriteMultipleRegisters

Int16 Leituraeescritadeinteirosde16bitscomsinal

4 3:ReadHoldingRegisters

16:WriteMultipleRegisters

Int32 Leituraeescritadeinteirosde32bitscomsinal

5 3:ReadHoldingRegisters

16:WriteMultipleRegisters

Float Leituradevalorescompontoflutuantede32bits

6 1:ReadMultipleCoils

15:WriteMultipleCoils

Bit Leituraeescritadebits

7 2:ReadDiscreteInputs

None Bit LeituradebitsdeumblocodedadosdeEntradasDiscretas(DiscreteInputs)

NOTAAsseteoperaçõespadrãoestãoconfiguradaspartindodoprincípioqueoequipamentosegueoordenamentodebytes (byteorder)padrãodoprotocolo Modbus, o padrão big endian, no qual os bytes maissignificativos vêm antes. Se o equipamento não segue este padrão,consulte o tópico Aba Operations para informações sobre comoconfiguraroperaçõesparadiferentesordenamentosdebytes.

Para informações detalhadas sobre a configuração do Driver, leia otópicoConfiguração.Opasso seguinte demonstra como configurar Tags deComunicaçãocombasenasoperaçõespré-definidas.

EstaseçãodadocumentaçãoajudouvocêaconfiguraresteDriver?

Sim Não

Comentários(opcional):

Restam150caracteres.Contato(opcional):

Limpar EnviarAcessetambémonossoKnowledgebaseparamaioresinformaçõessobrenossosprodutos

Configurando Tags deComunicação

TopoAnteriorPróximo

AseguirsãodescritasaconfiguraçãodosTagsdeComunicaçãonoE3,ElipsePowerenoantigoElipseSCADAparaosusosmaiscomuns.

ConfiguraçãodeTagsnoE3enoElipsePowerAconfiguraçãodeTagsnoE3 enoElipsePower pode ser realizadapelonovométododeconfiguraçãoporStringsoupeloantigométodode configuração numérica, compatível com o Elipse SCADA. Paranovos projetos, recomenda-se usar a configuração por Strings, quemelhoraalegibilidadedaaplicaçãoefacilitaamanutenção.A seguir estão descritos os procedimentos recomendados para aconfiguração por Strings e também para a antiga configuraçãonumérica,casosejanecessáriaparaaplicaçõeslegadas.

ConfiguraçãoporStringsParaadicionarTagsconfiguradosporStrings,ousuáriotemaopçãodeimportarmodelospré-definidosdoTagBrowser,conformeexplicadonotópicoAdicionandooDriveremumaAplicaçãodaElipseSoftware.Para isto,deve-semanteraopçãoShowOperationsinTagBrowserdesabilitadanaabaOperations,eabriroTagBrowserclicandoemTagBrowser .ParaadicionarumnovoTagàaplicaçãosemoTagBrowser,sigaestespassos:1. NoOrganizer,cliqueduasvezesnoDriver,selecioneaabaDesign,clique em Add (Adicionar) e selecione o item I/O Tag (Tag deComunicação),conformeafiguraaseguir.

AdicionarnovoTagdeComunicação2. Na janela Adding IOTag (Inserindo IOTag), configure o campoQuantity(Quantity)comovalor1(um)eespecifiqueumnomeparaoTagnocampoName(Nome).CliqueemOKparacriaronovoTag.

3. NacolunaDevice(Dispositivo),digiteovalornuméricodoSlaveIddoequipamentoacomunicar,seguidodedoispontos,comoporexemplo"1:"paraumSlaveIdiguala1(um).Noteque,emummeioEthernetTCP/IP,muitasvezesestevaloréignorado,sendoutilizadoapenasoendereçoIPeaportaconfiguradanaabaEthernet,quedeveconstarnadocumentaçãodoequipamento.

4. Na coluna Item, especifique o mnemônico do espaço deendereçamento (conjunto de funções Modbus de leitura e escrita)seguido do endereço do registro ou bit. Para Holding Registers, oespaço de endereçamento é "hr" ou "shr", onde este último nãopermite escrita em blocos, pois usa a função de escrita 06 (WriteSingle Register), enquanto o espaço de endereçamento "hr" usa afunçãodeescrita16(WriteMultipleRegisters).AmbosusamafunçãoModbusdeleitura03(ReadHoldingRegisters).ParaCoilsutilize"cl"ou"scl".Novamente,adiferençaéqueesteúltimo,queusaafunção05 (Force Single Coil), não escreve em blocos. A seguir sãofornecidosalgunsexemplosdeconfiguraçãodacolunaItem.a. LeituraouescritadoHoldingRegister150,usandoasfunções03e16(escritademúltiplosregistros):Itemdeveseriguala"hr150".

b. LeituraouescritadoHoldingRegister150,usandoasfunções03e06(escritaderegistrossimples):Itemdeveseriguala"shr150".

c. LeituraouescritadoCoildeendereçoFFF0h (65520),usandoasfunções01 e15 (escrita demúltiplos bits): Item deve ser igual a"cl65520" ou "cl&hFFF0" (o prefixo "&h" pode ser usado parafornecerendereçosemformatohexadecimal).

d. Leituraouescrita doCoil de endereçoFFF0h (65520) usando asfunções01e05 (escritadebitssimples,umaum): Itemdeveseriguala "scl65520"ou "scl&hFFF0" (oprefixo "&h"podeserusadoparafornecerendereçosemformatohexadecimal).

5. ParamaisinformaçõessobreosdemaisrecursosdaconfiguraçãoporStrings,comooutrasfunçõesModbus,funçõesespeciaisediferentestiposdedados,consulteotópicoConfiguraçãoporStrings.

6. O endereçamento dos Tags deve corresponder ao mapa deendereços Modbus do equipamento, que deve constar nadocumentação do fabricante. Em caso de dúvida, consulte o tópicoDicasdeEndereçamento.

ConfigurepreferencialmenteTagssimples (chamadosdeTagsPLCnoantigoElipseSCADA)aoinvésdeTagsBloco,mantendoorecursodeSuperblocoshabilitado(propriedadeEnableReadGroupingconfigurada

como Verdadeiro), deixando à aplicação e ao Driver a otimização doagrupamento. Para mais detalhes, veja o tópico Leitura porSuperblocos.A título de exemplo, a figura a seguir mostra Tags configurados porStrings.

ExemplodeTagsconfiguradosporStrings

ConfiguraçãoNuméricaNocasodoE3oudoElipsePower,épossívelusaroTagBrowserparacriar Tags com as operações pré-definidas, configuradasnumericamente.Paraisto,selecioneaopçãoShowOperationsinTagBrowsernaabaOperations.AjaneladoTagBrowser,mostradanafiguraaseguir,éabertaaoclicar-seemOKaofecharajaneladeconfiguraçõesdoDriver.

TagBrowserparaaconfiguraçãonuméricadeTagsParaadicionarumnovoTagàaplicação,sigaestespassos:1. Arraste os Tags da lista Tags available from driver (Tagsdisponibilizadospelodriver) para a listaTags fromcurrent project(Tagsdoprojetocorrente),conformedescritonotópicoE3ouElipsePower.Paramuitosequipamentos,aoperação1,amaiscomum, jádevesersuficiente,bastandoarrastarparaalistadosTagsdeprojetooTagOp1<word>.Noteque,supondoquesejamnecessáriosváriosTagscomamesmaoperação, oquegeralmenteéo caso, pode-searrastar o mesmo Tag diversas vezes (perceba que a aplicaçãoacrescentanúmerossequenciaisaonomepadrão).Pode-setambémacrescentarumTagdecadaoperaçãoecriarcópiasmais tarde,no

Organizer.2. Feche o Tag Browser e configure o parâmetroN4/B4 de cada Tagcomoendereçode registro oubit a ser lidoouescrito, conformeomapa de registradores do equipamento. Este mapa de endereçosdeve constar na documentação do fabricante. Em caso de dúvida,consulteotópicoDicasdeEndereçamento.

3. Configure tambémoparâmetroN1/B1decadaTagcomoendereçodo equipamento (Slave Id) a ser acessado em cada caso. Esteparâmetroemgeraléconfigurávelnoequipamentoe,paradeterminá-lo, consulte a documentação ou suporte do fabricante, em caso dedúvida.

4. Renomeie os Tags, se desejar, com um nome que seja maissignificativoparaaaplicação.

ConfigurepreferencialmenteTagssimples (chamadosdeTagsPLCnoantigoElipseSCADA)aoinvésdeTagsBloco,mantendoorecursodeSuperblocoshabilitado(propriedadeEnableReadGroupingconfiguradacomo Verdadeiro), deixando à aplicação e ao Driver a otimização doagrupamento. Para mais detalhes, veja o tópico Leitura porSuperblocos.

ConfiguraçãodeTagsnoElipseSCADAO Elipse SCADA não possui suporte ao Tag Browser, portanto énecessárioconfigurarmanualmenteosTagsdeComunicação.Deve-secriarTagscomaseguinteconfiguração:

N1/B1:EndereçodoEquipamento(SlaveId)

N2/B2:Códigodaoperação

N3/B3:Nãousado,deixarem0(zero)

N4/B4:EndereçodoregistroModbusoubitNote que, para esteDriver, os parâmetrosN dos Tags simples têm omesmo significado dos parâmetrosB dos Tags Bloco, e por isto sãodescritosemconjunto.Em caso de dúvida sobre qual valor atribuir ao parâmetro N4/B4,consulteotópicoDicasdeEndereçamento.Uma vez que o Elipse SCADA não possui suporte a Superblocos,recomenda-se priorizar a criação de Tags Bloco, agrupando registrosadjacentesoupróximos,deformaaleromáximoderegistrosnomenornúmeroderequisiçõesdoprotocolo.Note também que, uma vez que o equipamento suporte os limitespadrão do protocolo para o tamanho do frame de comunicação,devidoao recursodePartiçãoAutomáticadeBlocos, nãoéprecisosepreocuparemexcederotamanhomáximodeblocoqueoprotocolosuporta,poisoDriverjácriaassubdivisõesapropriadasnomomentodacomunicação.

ConsideraçõesFinaisSetudooqueseprecisaéutilizarasoperaçõespadrãodoDriver,eseo equipamento segue o protocolo padrão definido pela OrganizaçãoModbus, os três passos apresentados neste Guia de ConfiguraçãoRápidadevemsersuficientesparaconfiguraroDriver.Para aplicações de maior porte, recomenda-se também ler o tópicoDicasdeOtimização.Maiores detalhes sobre a configuração de Tags deComunicação sãofornecidosnotópicoConfigurandoumTagdeComunicação.

EstaseçãodadocumentaçãoajudouvocêaconfiguraresteDriver?

Sim Não

Comentários(opcional):

Restam150caracteres.Contato(opcional):

Limpar EnviarAcessetambémonossoKnowledgebaseparamaioresinformaçõessobrenossosprodutos

OProtocoloModbus TopoAnteriorPróximo

OProtocoloModbus foi desenvolvido inicialmente pela Modicon em1979,sendohojeumpadrãoaberto,mantidopelaOrganizaçãoModbus(modbus.org),tendosidoimplementadoporcentenasdefabricantesemmilharesdeequipamentos.ASchneiderElectric,atual controladoradaModicon,transferiuosdireitosdoprotocoloparaaOrganizaçãoModbusem abril de 2004, firmando o compromisso de manter o protocoloaberto. A especificação pode ser obtida gratuitamente no site daOrganização (www.modbus.org), e a utilização do protocolo é livre detaxasdelicenciamento.O protocolo é baseado em mensagens de comando e resposta,posicionado no nível 7 do modelo OSI (camada de aplicação), quepossibilita comunicação cliente e servidor entre equipamentosconectadosadiferentes tiposde redes.Ofereceserviçoscomfunçõesdefinidasporumcódigodeoitobits.Existemtrêscategoriasdecódigosdefunções:

Códigos de funções públicas: Funções bem definidas peloprotocolo, com garantia de unicidade, validadas pela comunidadeModbus e publicamente documentadas emMB IETF RFC. Podemassumirvaloresde1a64,de73a99ede111a127Códigos de funções definidas pelo usuário: Funções nãopadronizadas,quenãoprecisamdeaprovaçãodaModbus.org,semqualquer garantia de unicidade, podendo ser livrementeimplementadas.Podemassumirvaloresnasfaixasde65a72ede100a110Códigos de funções reservadas: Códigos com valores dentro dafaixadefunçõespúblicas,atualmenteusadosporalgunsfabricantesemprodutosantigos,enãomaisdisponíveisparausopúblico.Sãoexemplososcódigos9,10,13,14,41,42,90,91,125,126 e127.Para mais informações, consulte o Anexo A da especificação doprotocolo (versão 1.1b), que está disponível no site oficial doprotocolo

EsteDriverimplementa11das19funçõespúblicasprevistasnaversãoatual(1.1b)daespecificaçãodoprotocolo,bemcomoalgumasfunçõesespecíficas de fabricantes ou relacionadas a recursos específicos doDriver, denominadas Funções Especiais. As funções públicasimplementadas são descritas no tópico Funções Suportadas. Asseguintesfunçõespúblicasdoprotocoloaindanãosãosuportadas:

Função08:Diagnostic

Função11:GetComeventcounter

Função12:GetComEventLog

Função17:ReportSlaveID

Função22:MaskWriteRegister

Função23:Read/WriteMultipleRegisters

Função24:ReadFIFOqueue

Função43:ReadDeviceIdentification

Casoidentifiqueanecessidadedeimplementaralgumadestasfunções,entreemcontatocomodepartamentocomercialdaElipseSoftware.

EstaseçãodadocumentaçãoajudouvocêaconfiguraresteDriver?

Sim Não

Comentários(opcional):

Restam150caracteres.Contato(opcional):

Limpar EnviarAcessetambémonossoKnowledgebaseparamaioresinformaçõessobrenossosprodutos

SitesRecomendados TopoAnteriorPróximo

ODriverModbusestádisponívelparadownload(semcustos)nositedaElipseSoftware,naáreadedownloaddeDrivers.MaioresinformaçõesreferentesaoprotocoloModbuspodemserobtidasemwww.modbus.org,siteoficialdoprotocolo.O Elipse Modbus Simulator está disponível para download (semcustos)nositedaElipseSoftware,naáreadedownloaddoE3.OSimuladorModbusSlaveModsim,provavelmenteomaisconhecidoda categoria, pode ser adquirido em www.win-tech.com/html/modsim32.htm. Este software emula o equipamento,permitindoacomunicaçãocomoDriver.Existe também a alternativa gratuita Free Modbus PLC Simulator,disponívelparadownloadnositewww.plcsimulator.org.Outras alternativas de simuladores e outras ferramentas de softwarerelacionadas ao protocolo podem ser encontradas no site oficial doprotocolo.

EstaseçãodadocumentaçãoajudouvocêaconfiguraresteDriver?

Sim Não

Comentários(opcional):

Restam150caracteres.Contato(opcional):

Limpar EnviarAcessetambémonossoKnowledgebaseparamaioresinformaçõessobrenossosprodutos

FunçõesSuportadas TopoAnteriorPróximo

As funções do protocolo Modbus suportadas por este Driver estãodescritasaseguir.

FunçõesdeLeitura01:LeituradeBit(ReadCoilStatus-0x)

02:LeituradeBit(ReadInputStatus-1x)

03:LeituradeWords(ReadHoldingRegisters-4x)

04:LeituradeWords(ReadInputRegisters-3x)

07:LeituradeStatus(ReadExceptionStatus)

20:LeituradeRegistrodeArquivo(ReadFileRegister-6x)

FunçõesdeEscrita05:EscritadeBit(ForceSingleCoil-0x)

06:EscritadeWordSimples(PresetSingleRegister-4x)

15:EscritadeBits(ForceMultipleCoils-0x)

16:EscritadeWords(PresetMultipleRegisters-4x)

21:EscritadeRegistrodeArquivo(WriteFileRegister-6x)

Informações detalhadas sobre cada uma destas funções podem serobtidas na especificação do protocolo Modbus, disponível paradownloadnositedaOrganizaçãoModbus.Além das funções padrão do protocolo, como já referido, este Drivertambém implementa funções especiais, não definidas pelo protocolo,em geral relacionadas à leitura da memória de massa. A lista dasfunções especiais suportadas pode ser conferida no tópico FunçõesEspeciais. A configuração completa doDriver está descrita no tópicoConfiguração.Caso identifique a necessidadede adicionar suporte a alguma funçãonovanesteDriver,entreemcontatocomodepartamentocomercialdaElipseSoftware.

EstaseçãodadocumentaçãoajudouvocêaconfiguraresteDriver?

Sim Não

Comentários(opcional):

Restam150caracteres.Contato(opcional):

Limpar EnviarAcessetambémonossoKnowledgebaseparamaioresinformaçõessobrenossosprodutos

FunçõesEspeciais TopoAnteriorPróximo

Asfunçõesespeciaisde leituraeescritasãofunçõesdesteDriverquenãosãodefinidaspeloprotocoloModbuspadrão.Foramdesenvolvidaspara atender particularidades exclusivas de determinadosequipamentos, ou também para disponibilizar, de forma padronizadapelo Driver, recursos não disponíveis no protocolo padrão. O DriverModbus,naatualversão,incluiasseguintesfunçõesespeciais:

FunçõesdeLeitura65 03: Leitura da Memória de Massa (ABB MGE 144), vista emmaiores detalhes no tópico Leitura de Registros da Memória deMassadeMedidoresABBMGE144GE SOE: Leitura de eventos (GE PAC RX7 Systems), vista emmaiores detalhes no tópico Leitura de Buffer de Eventos emControladoresGEPACRX7SP SOE: Leitura de eventos (Relés Schneider Electric da sérieSEPAM), vista emmaiores detalhes no tópicoLeituradeEventosdeRelésSchneiderElectricSEPAM20,40e80GenSOE: Leitura de SOE com algoritmo genérico, implementadopelo software residente no equipamento escravo (CLP), vista emmaioresdetalhesnotópicoAlgoritmodeLeituradeSOEGenéricodaElipseSoftware

FunçõesdeEscrita65 01: Reinicializa (executa a operação de reset) o medidor deenergia (ABB MGE 144). Este comando é enviado como umcomandosimplesdeescrita(Write)doTag.OcampoValordoTagéignorado pelo Driver e pode ser deixado em 0 (zero). Para maisinformações,consulteomanualdoequipamento

6502:Zeraamemóriademáximosemínimos(ABBMGE144).Estecomandoéenviadocomoumcomandosimplesdeescrita(Write)doTag. O campo Valor do Tag é ignorado pelo Driver e pode serdeixadoem0 (zero).Paramais informações,consulteomanualdoequipamento

NotequeasfunçõesespeciaisnesteDriver,comexceçãodafunçãodeescrita65 01, estão relacionadas direta ou indiretamente à leitura deregistros de memória de massa dos respectivos equipamentos. Paramais informações, consulte o tópico Leitura de Memória de Massa.Para a descrição da configuração de operações e Tags usando estasfunções,leiaotópicoConfiguração.

EstaseçãodadocumentaçãoajudouvocêaconfiguraresteDriver?

Sim Não

Comentários(opcional):

Restam150caracteres.Contato(opcional):

Limpar EnviarAcessetambémonossoKnowledgebaseparamaioresinformaçõessobrenossosprodutos

Configuração TopoAnteriorPróximo

EstaseçãodescrevecomoconfiguraroDriverModbus.Sãoabordadososseguintestópicos:

Propriedades

ConfigurandoTags

LeituradeMemóriadeMassa

Propriedades TopoAnteriorPróximo

As propriedades do Driver podem ser configuradas em tempo deconfiguração (design time) ou em tempo de execução (runtime). Aconfiguraçãoemtempodeexecução(runtime) tambéméchamadadeConfiguraçãoemModoOfflineeédescritaemumtópicoespecífico.Emtempodeconfiguração,oDriverpodeserconfiguradopormeiodesuajaneladeconfiguração,mostradanafiguraaseguir.

JaneladeconfiguraçãodoDriverPara abrir a janela de configuração do Driver no E3 ou no ElipsePower, clique duas vezes no objeto Driver noOrganizer e clique emDriversettings(Configurarodriver) ,conformemostradonafiguraaseguir.

OpçãoConfigurarodriverJá no Elipse SCADA, a janela de configuração do Driver pode serabertaclicando-seemExtras,noOrganizerdaaplicação.A janela de configuração é dividida em várias abas, algumas para aconfiguraçãodoIOKiteoutrasespecíficasdoDriver.NocasodoDriverModbus,asabasModbus,OperationseGenSOEsãoespecíficas.AsdemaisabassãoparaconfiguraçãodoIOKitenãosãodescritasnestetópico.Paramaisinformaçõessobreaconfiguraçãodo IOKit,consulteotópicoDocumentaçãodasInterfacesdeComunicação.OstópicosaseguirdescrevemasabasespecíficasdoDriveretambéma configuração em tempo de execução, no chamadoModo Offline,utilizandoscripts.

AbaModbus

AbaOperations

AbaGenSOE

ConfiguraçãoemModoOffline

EstaseçãodadocumentaçãoajudouvocêaconfiguraresteDriver?

Sim Não

Comentários(opcional):

Restam150caracteres.Contato(opcional):

Limpar EnviarAcessetambémonossoKnowledgebaseparamaioresinformaçõessobrenossosprodutos

AbaModbus TopoAnteriorPróximo

AabaModbus permite a configuração de parâmetros doDriver e doprotocolo,conformeafiguraaseguir.

AbaModbusdajaneladeconfiguraçõesdoDriverAs seções a seguir descrevem as opções de configuração presentesnestaaba.

ProtocolOptionsEste grupo de opções reúne as opções referentes às variações nopadrãodoprotocolo,conformeatabelaaseguir.

OpçõesdeprotocolodisponíveisnaabaModbus

OPÇÃO DESCRIÇÃOModbusMode

Nessacaixadeseleçãoépossívelselecionaromododoprotocoloaserutilizado.Osmodosdoprotocolosãovariaçõesdefinidaspelanormaparamelhoradaptá-loadiferentesmeiosfísicos(Serial,EthernetTCP/IP,RAS,etc.).Sãotrêsasopçõesdisponíveis:ModoRTU:Modopadrãoparausoemcomunicaçãoserial.IncluiCRCde16bitsModoASCII:Tambémusadoemcomunicaçãoserial,éutilizadoemequipamentosmaissimples,quenãosuportamosrequisitosdomodoRTU.UtilizacaracteresASCIIparatransmissão,ondecadabytecontémdoiscaracteresASCII(umpornibble),eporistomenoseficientequeomodoRTUemaisraramenteencontradonomercado.UsaLRC(LongitudinalRedundancyChecking)paraaverificaçãodeerrosModoModbusTCP:UsadoparacomunicaçãoemmodoTCP/IP.Incluiumcampoparaverificaçãodetransaçõesenãopossuisistemadeverificaçãodeerros.Ocampodetransaçãopermitedescartarrespostasatrasadas,evitandoassimqueoDriverassumacomorespostaválidaparaocomandoatualosframesderespostaacomandosanteriores.EstasituaçãopodeocorrerseosmodosanterioresforemencapsuladosemTCP/IP

CustomizeMax.PDUSize

Sehabilitada,estaopçãopermitedefinirumtamanhomáximopersonalizadoparaoPDU(ProtocolDataUnit).OPDUéapartedoprotocoloquenãovariaentreosmodos(ModbusTCP,ASCIIeRTU)equecontémaáreadedados.Onúmerodebytesdedadossuportadosemcadacomunicaçãoédadoporestevalormenososbytesdo

cabeçalho,quedependemdafunçãoModbusutilizada.Seestaopçãoestádesabilitada,otamanhomáximoconsideradoéovalorpadrãodefinidopeloprotocoloModbusversão1.1b,de253bytes.Estaéaopçãorecomendadaparaamaioriadosequipamentos

EnableCMSAddressing

EstaopçãodeveserusadaapenasemequipamentosquesuportemoprotocoloTeleBUS.Sehabilitada,oDriverpassaaaceitarumWordde16bitscomoendereçodoescravo,ouseja,passaaserpossíveldefinirvaloresacimade255eabaixode65535comoendereçodoescravo.Nestecaso,oendereçodoescravopassaaserdefinidonoprotocoloportrêsbytes.Alémdisto,aopçãoDefaultSlaveAddresspassaanãofuncionarmais

DataAddressModelOffset

Estaopçãohabilitaoudesabilitaooffsetdedadospadrãodoprotocolo,deumaunidade.Asopçõesdisponíveissãoasseguintes:Dataisaddressedfrom1(padrão):Oendereçofornecido(endereçodocampoItemnaconfiguraçãoporStringsouoparâmetroN4/B4naconfiguraçãonumérica)édecrementadoem1(um)antesdeserenviadoaoequipamento.Esteoffsetéprevistonaespecificaçãodoprotocolo,eportantoestaéaopçãopadrãoDataisaddressedfrom0:Oendereçofornecidopelousuárioéusadonasrequisiçõesdoprotocolo,semalterações

Comoregrageral,selecioneaprimeiraopçãocasoomapaderegistradoresdoequipamentoinicieem1(um)easegundacasoinicieem0(zero).VerifiquetambémseofabricanteusaoffsetsadicionaisdaantigaModbusConvention.Paramaisinformações,consulteaseçãoaseguir

DICA

Evite usar omodoRTU do protocolo encapsulado emmeioEthernetTCP/IP. Caso seja necessário encapsular a comunicação serial deequipamentos que utilizem o Modbus RTU em TCP/IP, existemgateways disponíveis no mercado que não somente encapsulam acomunicação serial emEthernet TCP/IP, como também convertem oModbusRTU emModbus TCP. Em último caso, se for inevitável autilização deModbusRTU emmeioEthernet TCP/IP, não deixe dehabilitaraopçãoReconnectafterTimeout,descritanatabelaaseguir.

DataAddressModelOffsetEsta opção de configuração, descrita na tabela anterior, é fonte defrequentesdúvidasnoendereçamentodosTagsdeComunicação,poishá muitas variações na maneira como é implementada pelosfabricantes. A seguir apresentamos mais informações sobre esteendereçamento.Nomodelodedadospadrãodoprotocolo sãodefinidosquatroblocosdedados(ouespaçosdeendereçamento):DiscreteInputs,Coils, InputRegisterseHoldingRegisters.Emcadaumdestesblocososelementosde dados são endereçados iniciando em 1 (um). Por outro lado, aespecificação do frame de comunicação define um PDU contendoendereçosquepodemvariarentre0(zero)e65535.Arelaçãoentreoendereço fornecido no PDU e o endereço dos elementos de dados,portanto, possui um deslocamento (offset) de 1 (um), ou seja, se noPDU de uma requisição constar o endereço 0 (zero), o elemento dedadoacessadoéoendereço1(um).Comesta opção da abaModbus, o usuário pode escolher se desejaqueoDriverajusteovalorautomaticamente,deformaapermitirousodo endereço do elemento de dado nos Tags (opção padrão), ou sedeseja que o valor enviado noPDUseja omesmo valor fornecido naconfiguraçãodosTags(parâmetroN4/B4naconfiguraçãonumérica).ExistemequipamentosqueseguemopadrãoModbusemseusmapasdeendereços(iniciandoemum)eoutrosquemapeiamseusdadossemooffset padrão, usando diretamente o valor de endereço presente noframedecomunicação(iniciandoemzero).Alémdesteoffset unitário, existemaindaequipamentosqueutilizamoantigo padrão deoffsets utilizado pela Modicon, empresa criadora doprotocolo,padrãoconhecidocomoModbusConvention,detalhadonotópicoDicasdeEndereçamento.Consultenomanualdoequipamentoomapade registradoresparaverificaropadrãoutilizado.Emcasodedúvida,consulteosuportedofabricante.

NOTAA opção Data Address Model Offset denominava-se Use Older

Addressnasversõesanterioresàversão2.03,ondeaopçãoDataisaddressed from 1 equivale à antiga opção Use Older Addresshabilitada,eaopçãoDataisaddressedfrom0equivaleàopçãoUseOlderAddressdesabilitada.

OutrasOpçõesAtabelaaseguirdescreveasdemaisopçõesdestaaba,referentesaocomportamentodoDriver.

OutrasopçõesdisponíveisnaabaModbus

OPÇÃO DESCRIÇÃODefaultSlaveAddress

Esterecursopermiteconfigurarumendereçopadrãodeescravosparaquenãosejanecessárioconfigurá-losemcadaTag.Parautilizaresterecurso,configureoSlaveId(parâmetroN1/B1naconfiguraçãonuméricaouocampoDispositivonaconfiguraçãoporStrings)em1000,ouseja,todososTagscomSlaveIdiguala1000têmestevalorsubstituídopelovalorconfiguradonacaixadeediçãoDefaultSlaveAddress.TambémépossívelforçarousodoendereçopadrãoemtodososTags,independentedovalordeSlaveIdconfigurado,selecionando-seaopçãoUseDefaultAddress

WaitSilenceonerror

Seestaopçãoestiverhabilitada,apóscadaerrodecomunicaçãooDriverpermaneceemloop,recebendodadosatéqueocorraumtime-out.Istolimpaocanalderecepçãoeimpedequeocorramproblemasemfuturascomunicaçõesdevidoàrecepçãodebytesatrasadosqueaindaestejamtrafegandonomomentodoerro,equepossamserconfundidoscomumarespostaaumnovocomando

ReconnectafterTimeout(Ethernetonly)

Comestaopçãohabilitada,apósqualquererrodetime-outnarecepçãodeframesdoequipamento,oDriverpromoveadesconexãoeareconexãodacamadafísica,limpandoaconexãodepossíveisframesatrasadosqueestejamemtráfegoequepossamafetarfuturasrequisições.EstaopçãodevesempreserhabilitadacasosejainevitávelousodeModbusRTUemmeioEthernetTCP/IPemsistemaslegados,umavezqueomodoRTUnãopossuicontroledetransação,portantonemsempreépossíveldistinguirumframederespostacorretodeumoutroframe

atrasadoresultantedeleituraanterior,possivelmentedeoutroendereço,equetenhafalhadoportime-out.Paranovosprojetos,recomenda-sefortementequeNÃOsejamutilizadososmodosModbusRTUouModbusASCemmeioEthernetTCP/IP.NotequeéprecisomanterhabilitadaaopçãoRetryfailedconnectioneverydaabaSetupdoIOKitparaqueoDriversereconecteapósotime-out.Casocontrário,otime-outapenasgeraumadesconexãoecabeàaplicaçãoogerenciamentodestanovaconexão

NOTAA antiga opção Swap Address Delay foi removida da janela deconfiguração na versão 2.08. O Driver ainda mantém suporte a estaopção em aplicações pré-existentes e permite habilitá-la por scripts(vejaotópicoConfiguraçãoemModoOffline).Paraaplicaçõesnovas,recomenda-se utilizar a opção Inter-frame Delay da aba Serial doIOKit,quesubstituiestaantigaopçãocomvantagens.

EstaseçãodadocumentaçãoajudouvocêaconfiguraresteDriver?

Sim Não

Comentários(opcional):

Restam150caracteres.Contato(opcional):

Limpar EnviarAcessetambémonossoKnowledgebaseparamaioresinformaçõessobrenossosprodutos

AbaOperations TopoAnteriorPróximo

Este tópico descrevea configuraçãodaabaOperations da janela deconfiguraçãodoDriver,ondesãodefinidasasoperaçõesutilizadasnosTagsdeComunicação,mostradanafiguraaseguir.A configuração de operações não émais usada naconfiguração deTags por Strings, sendo usada apenas na antiga configuraçãonumérica(parâmetrosN/B)doElipseSCADA.

AbaOperationsnajaneladeconfiguraçõesdoDriver

OperaçõesParaocorretofuncionamentodesteDriver,énecessáriodefinirquaisasfunçõesModbusde leituraouescrita sãoutilizadaspara cadaTagdeComunicação.Para isto, caso a configuração dosTags seja realizadaatravés dos antigos parâmetros numéricos N/B do Elipse SCADA,deve-seselecionaraabaOperationsnajaneladeconfigurações.Para este Driver, são chamadas Operações as configurações quedefinemcomocadaTagdeComunicaçãoexecutaa leituraeaescritadedadosnoequipamento.Uma operação nada mais é do que a definição de um par defunçõesdoprotocolo,umaparaescritaeoutraparaa leitura,eaespecificaçãodeconversõesadicionaisnoformatodosdadosquepodemserassociadosaosTagsdaaplicação.Emoutraspalavras,no Driver Modbus os parâmetros numéricos N ou B dos Tags deComunicação não referenciam diretamente as funções do protocolo,massimoperaçõespré-configuradas,queporsuaveznãosóinformamasfunções(nativasdoprotocolooumesmoespeciais)aseremusadasna comunicação, como também a forma como os dados nativos doprotocolodevemserinterpretados.A configuração dos parâmetros dos Tags de Comunicação é descritamais adiante no tópico Configurando um Tag de Comunicação. Aseguirédescritaaconfiguraçãodasoperações,quemaistardedevemserassociadasacadaTagdeComunicação.

NOTAAsoperações funcionamapenascomomodelos,ou templates,paraaconfiguração deTags de Comunicação, sendo possível, e em geralnecessário,atribuirumamesmaoperaçãoadiversosTags,quetêmemcomumomesmovaloremseusparâmetrosN2/B2.

FunçõesOprotocoloModbusdefinefunçõesdeleituraeescrita,asquaispodemacessar espaços de endereçamento distintos no equipamento, e comtiposdedadosespecíficos.As funções03e16porexemplo,asmaisusadas do protocolo, são responsáveis respectivamente pela leitura eescritadeHoldingRegisters,quenadamaissãodoquevaloresinteirossemsinalde16bits(Words).As funções do protocoloModbus padrão fornecem dados apenas emformatosbásicosdeBiteWord de 16 bits.Não existem formatos dedadosadicionaisnaespecificaçãodoprotocolo.A lista das funçõesModbus suportadas peloDriver, e que podem seratribuídas às operações configuradas, pode ser conferida no tópicoFunçõesSuportadas.Além das funções do protocolo, o Driver também contém algumasFunções Especiais que não fazem parte do protocolo padrão, deformato proprietário e utilizadas em geral para a leitura de eventos(SOE).

FormataçãodeDadosAlémdepermitiraassociaçãodasfunções(doprotocoloouespeciais)aTags específicos, as operações também permitem a definição deformataçãoadicionalaseraplicadaaosdados,possibilitandoosuporteatiposdedadosadicionais,nãoespecificadospeloprotocolo,comoporexemplovaloresdepontoflutuantede32bits(Float)e64bits(Double).OstiposdedadossuportadossãodescritosnotópicoTiposdeDadosSuportados.Éimportanteobservarque,quandotiposdedadosde32e64bitssãodefinidosnasoperações,énecessáriodefinirfunçõesdoprotocoloquetrabalhemcomregistrosde16bits.Destaforma,aleituradedadoscommaisde16bitsresultanaleituradeváriosregistrosModbusde16bitsdo equipamento, ou seja, para a leitura de um Tag associado a umaoperaçãoquedefinaotipodedadoFloatde32bits,oDriverprecisalerdoisregistrosconsecutivosde16bitsdoequipamento,concatená-loserealizaraconversãoparaoformatoFloat.Também é possível definir tipos de dados de oito bits (Byte, Int8 ouChar)nasoperações.Noteque,umavezqueasfunçõesdoprotocolonão permitem a leitura e escrita de bytes isolados, para cada doisElementosdeBlocodetiposdedadosdeoitobits,oDriveréobrigadoaacessarumregistrodistintode16bitsnoequipamento.Porestemotivo,oDrivernãopermiteaescritade tiposdedadosdeoitobitsemTags,emElementos isolados deBloco ou emBlocos de tamanho ímpar ouunitário. A escrita de tipos de dados de oito bits deve ser realizadasempreemBlocosdetamanhopar.

TiposdeDadosDefinidospeloUsuárioAlémdostiposdedadospré-definidos(tiposdedadosnativosoubuilt-in) descritos no tópico Tipos de Dados Suportados, este Driverpermite também tiposdedadosdefinidospelousuário.Estes tiposdedadosdevemserdeclaradosemjanelaespecífica,clicando-seemUserDefinedTypesnaparteinferiordaabaOperations.Taistiposdedadosconsistem em estruturas criadas a partir dos tipos de dados pré-definidos.Paramaisinformaçõessobreostiposdedadosdefinidospelousuário,consulteotópicoTiposdeDadosDefinidospeloUsuário.

ByteOrderAlémdas funções de leitura e escrita do protocolo e do tipo de dadoutilizado, cada operação permite também atribuir manipulaçõesadicionais aos bytes, relacionadas ao chamadobyte order, ou seja, aordem dos bytes dentro de cada valor. São as chamadas opções deswap (Swap Bytes, Swap Words e Swap DWords). Tais opçõessomentenecessitamserhabilitadasnocasodeequipamentosquenãorespeitemaordemdebytespadrãodoprotocolo.OprotocoloModbusdefinequeseusvaloresde16bitsutilizamsempreobyteorderchamadodebigendian,tambémconhecidocomoMotorola,porserutilizadoporestefabricante.Opadrãobigendiandefinesempreaordemdosbytesde tal formaqueobytemais significativode cadavalorvenhasempreantes.Destaforma,porexemplo,naleituradovalorhexadecimal 1234h, o equipamento envia primeiro o byte maissignificativo12helogoaseguiromenossignificativo,34h.Nocasodeequipamentosquenãoimplementemobyteorderpadrãodoprotocoloequeutilizemochamado littleendianouIntel,osdadossãoenviados com os bytes menos significativos antes. É preciso entãohabilitarasopçõesdeswapparainverteraordemdosbytes.Háaindaequipamentosqueusambyteordersdiferentespara tiposdedados de 32 e 16 bits. No caso, por exemplo, de equipamentos queusemobyteorderpadrãodoModbus(bigendian)paratiposdedadosde 16 bits, porém forneçam dados de 32 bits com oWord menossignificativovindoprimeiro(littleendian),énecessáriohabilitarapenasaopçãoSwapWords,deixandodesmarcadaaopçãoSwapBytes. Emsuma,pode-seterbasicamentetrêssituações:

Casooequipamento forneçadadosusandoobyteorderpadrãodoprotocolo Modbus (Motorola ou big endian), com os bytes maissignificativosvindoantes,deve-sedeixarasopçõesdeswap todasdesabilitadas.Estaéasituaçãomaiscomum

Casooequipamentouseoutropadrãodebyteorder,comosbytesmenossignificativosvindoantes(littleendian),énecessáriohabilitar-setodasasopçõesdeswap referentesaotipodedadosusado,ouseja,para tiposdedadosde16bits,habiliteaopçãoSwapBytes.

Para tipos de dados de 32 bits, habilite as opçõesSwapBytes eSwapWords. Para tipos de dados de 64 bits, as três opções deswapdevemserhabilitadas

No caso menos comum de equipamentos que usem byte ordersdiferentes para tamanhos de dados diferentes, fornecendo porexemplo o bytemais significativo de cadaWord primeiro, porémoWordmenossignificativodecadaDWordprimeiro,éprecisoavaliaremqualcasocadaopçãodeswapprecisaserhabilitada,deformaaconverter o valor retornado pelo equipamento para o formato bigendianpadrãodoprotocolo

NOTAAsopçõesdeswapcitadasnãotêmefeitopara tiposdedadosBitoupara tiposdedados com tamanhodeoito bits (Byte,Char e Int8). Apermutaocorredentrodecada tipodedados,ouseja,aopçãoSwapWords não tem efeito para tipos de dados de 16 bits, assim como aopçãoSwapDWordsnãotemefeitoparatiposdedadosde32bits.OstiposdedadosBCDtambémnãopermitemswaps.

Parasaberseoequipamentoutilizaalgumformatodiferenciadodebyteorder,consulteadocumentaçãodo fabricante.Casoa informaçãonãosejaencontradanadocumentação,osuportetécnicodofabricantedevesercontactado.OtópicoDúvidasMaisFrequentescontémdicasdeconfiguraçõesdebyte order para alguns equipamentos para os quais já se sabe sernecessárioutilizarasopçõesdeswap.

MáscaradeBitsAopçãoUseBitMaskéumrecursoavançado,utilizadaemcasosmaisespecíficoserarosemqueousuáriodesejalersomenteumbitdovalorretornado pelo equipamento,mas não é possível usar omapeamentodebitsdaaplicação.Para a maioria dos usuários, os campos de mapeamento de bits daaplicaçãosãoamelhoralternativaparaoacessoàmáscarasdebits,nãosendoprecisorecorreraesterecursodoDriver.Este recurso foi criado originalmente para permitir a leitura de bits deHoldingRegisters por bibliotecas especializadas doE3, em situaçõesqueimpediamousodomapeamentodebitsdaaplicação.Nestecaso,oDriverlênormalmenteovalordoequipamentoeentãoomascara, de forma a retornar ao campo Valor do Tag apenas o bitespecificado(0ou1). A definição do número do bit a ser retornadoéfeitanoparâmetroN3/B3doTagdeComunicação.AopçãoUseBitMasksomentepodeserutilizadacomtiposdedadosinteirosde16bitsoumais(Int16,Int32,WordouDWord).Alémdisto,operaçõesquehabilitamestaopçãopodemserutilizadasapenasparaaleitura.A funçãoModbusdeescrita (Write)deoperaçõesqueutilizamestaopçãodemáscarapodemserdefinidascomoNone(nenhuma).

OperaçõesPadrãodoDriverPor padrão, quando um novo Driver é adicionado à aplicação, esteDriver já é criado com sete operações padrão, descritas na tabela aseguir.

Operaçõespadrão

OPERAÇÃO FUNÇÃODE

LEITURA

FUNÇÃODE

ESCRITA

TIPODE

DADOS

FINALIDADE

1 3-ReadHoldingRegisters

16-WriteMultipleRegisters

Word Leituraeescritadeinteirosde16bitssemsinal

2 3-ReadHoldingRegisters

16-WriteMultipleRegisters

DWord Leituraeescritadeinteirosde32bitssemsinal

3 3-ReadHoldingRegisters

16-WriteMultipleRegisters

Int16 Leituraeescritadeinteirosde16bitscomsinal

4 3-ReadHoldingRegisters

16-WriteMultipleRegisters

Int32 Leituraeescritadeinteirosde32bitscomsinal

5 3-ReadHoldingRegisters

16-WriteMultipleRegisters

Float Leituraeescritadevaloresdepontoflutuantede32bits

6 3-ReadHoldingRegisters

15-WriteMultipleCoils

Bit Leituraeescritadebits

7 2-ReadDiscreteInputs

None Bit LeituradebitsdoblocodedadosdeEntradasDiscretas(DiscreteInputs)

Estas operações são as mais comumente usadas, sendo aoperação 1 (um) a mais comum. Para a maior parte dos

equipamentos, selecione as operações necessárias entre as jáfornecidasporpadrão,nãosendonecessáriocriarnovasoperaçõesoualteraraconfiguraçãodasoperaçõespadrão.

DefiniçãodeNovasOperaçõesParaadicionarumanovaoperaçãonoDriver,cliqueemAdd.

AdicionandoumanovaoperaçãoPara configurar a nova operação, selecione um número para estaoperação (este número é utilizado no parâmetroN2/B2 dos Tags deComunicação), qual função deseja utilizar para leitura e qual funçãodesejautilizarparaescrita,alémdeinformarotipodedadosqueélidoouescritopeloDriver.Noteque,aoclicaremAdd,oDriver jásugereumvalorqueaindanãoestejaemusoparaanovaoperação.Para mais informações sobre os tipos de dados suportados, veja otópico Tipos de Dados Suportados. Os demais campos devem serconfigurados conforme a necessidade. A tabela a seguir contém adescriçãodestescampos.

Opçõesdecamposparaoperações

OPÇÃO DESCRIÇÃOSize Deveserinformadootamanhoembytesdecadaelementodo

tipodedadosselecionado.Estecampoépreenchidoautomaticamenteparatiposdedadoscomtamanhofixo,comoByte,WordeInt16,devendoserpreenchidoparatiposdedadosStringeBCD.NocasodeStrings,estetamanhodefineexatamenteonúmerodebytesenviadosourecebidosparacadavalorString,istoé,paracadaTagouElementodeBloco.SeaStringlidaouescritatemumtamanhomenor,orestantedosbytesépreenchidocomzeros,deformaacompletarotamanhoconfigurado.OtipodedadosStringnesteDrivernãopossuiumlimitemáximodetamanhodefinido,estelimiteéomáximopermitidopeloprotocoloparaaáreadedadosdoframedeumadeterminadafunção

SwapBytes

IndicaqueoDriverdeveinverteraordemdosbytes,umaum,paraobterovalor

SwapWords

IndicaqueoDriverdeveinverteraordemdosbytes,doisadois(emWords),paraobterovalor

SwapDWords

IndicaqueoDriverdeveinverteraordemdosbytes,quatroaquatro(emDWords),paraobterovalor

UseBitMask

Habilitaomascaramentodebitsderegistradores,atravésdoparâmetroN3/B3.Estaopçãoafetaapenasaleituraepodeserusadaapenascomtiposdedadosinteiros,comousemsinal,compelomenos16bitsdetamanho(Int16,Int32,WordouDWord).Operaçõescomestaopçãohabilitadanãopodemserusadasparaescrita.Paraamaioriadosusuários,recomenda-seusaromapeamentodebitsdaaplicação,deixandoestaopçãodesmarcada(vejaaseçãoespecífica)

AsfunçõesdoprotocoloquepodemserconfiguradasnoscamposReadeWritedasoperaçõesestãodescritasnotópicoFunçõesSuportadas.Atabelaaseguirdescrevecadaumadasopçõesdisponíveis.

OpçõesdisponíveisnaabaOperations

OPÇÃO DESCRIÇÃO

ImportConfiguration

Estaopçãopermiteimportarconfiguraçõesdeoperaçõesdeversõesanterioresà2.0doDriverModbusMaster/Slave,quearmazenavamestasconfiguraçõesemumarquivomodbus.ini.EsteDrivernãoutilizamaisarquivosINIparaarmazenartaisconfigurações,queagorasãoarmazenadasnopróprioarquivodaaplicação.Paramaioresdetalhes,consulteotópicoImportaçãoeExportaçãodeOperações

ExportConfiguration

Estaopçãoexecutaaoperaçãoinversadaanterior,gerandoumarquivoINIcontendoasconfiguraçõesdeoperações,noformatoatualounomesmoformatodasversõesanterioresdesteDriver.Destaforma,épossívelguardaremumarquivoasconfiguraçõesdeoperaçõesdeumdeterminadoequipamento,quepodemserutilizadasemoutrasaplicações.Paramaioresdetalhes,consulteotópicoImportaçãoeExportaçãodeOperações

ShowOperationsinTagBrowser

Seestaopçãonãoestiverselecionada(padrão),sãomostradosmodelosdeTagsconfiguradosporStrings(camposDispositivoeItem)noTagBrowser.Seestiverselecionada,modelosdeTagsconfiguradosnumericamente(parâmetrosN/B),representandoasoperaçõesconfiguradas,sãomostradosnoTagBrowser.QuandonovasinstânciasdoDriversãocriadas,estaopçãovemdesmarcadaporpadrão.Emaplicaçõeslegadas,quandoaversãodoDriveréatualizadaapartirdeumaversãoanteriorà3.1,aopçãojávemselecionada,mantendoocomportamentodasversõesanteriores

Add Adicionaumanovaoperaçãoàlista

Edit Atualizaaoperaçãoselecionadanalista(equivaleaclicarduasvezesnoitem)

Remove Removeaoperaçãoselecionadanalista

NOTAAsopçõesSwapBytes,SwapWords eSwapDWords, conforme jáexplicado, foram acrescentadas para permitir compatibilidade comequipamentos que não seguem o padrão do protocolo Modbus nacodificaçãodosdados (byteorder).Seestasopçõespermaneceremdesabilitadas,ocomportamentodoDrivercorrespondeaopadrãodoprotocolo,sendoestaaopçãorecomendadaparaamaioriadosequipamentos.

EstaseçãodadocumentaçãoajudouvocêaconfiguraresteDriver?

Sim Não

Comentários(opcional):

Restam150caracteres.Contato(opcional):

Limpar EnviarAcessetambémonossoKnowledgebaseparamaioresinformaçõessobrenossosprodutos

TiposdeDadosSuportados TopoAnteriorPróximo

A tabela a seguir relaciona os tipos de dados nativos do Driver quepodemserdefinidosnaconfiguraçãodosTags.Conforme explicado nos tópicos Configuração por Strings e AbaOperations,oprotocoloModbusemsitemsuporteapenasaostiposdedados Bit e Word (16 bits) para as funções mais comunsimplementadas neste Driver (a exceção atualmente é a função 7).Todososdemais tiposdedadosdoDriversãoconvertidosparaWordno nível do protocolo, para a leitura ou escrita no equipamento oudispositivoescravo.Vale lembrar que este Driver também suporta os Tipos de DadosDefinidos pelo Usuário, definidos como estruturas com elementoscompostoscomostiposdedadosnativosdatabelaaseguir.Natabelaaseguir,ostiposdedadosusamasmesmasdenominaçõesdos mnemônicos para o campo tipo do dado, quando os Tags sãoconfigurados por Strings. Na configuração numérica, as mesmasdenominações são também utilizadas na coluna Data da janela deconfiguração do Driver (na Aba Operations). Em alguns casos,denominações alternativas frequentes são apresentadas entreparênteses.

Opçõesdisponíveisparatiposdedados

TIPO FAIXA DESCRIÇÃOChar -128a127 Palavradeoitobits,caractere.Aescritadeve

ocorrersempreemblocosdetamanhopar(Words)

Byte 0a255 Palavradeoitobitssemsinal.Aescritadeveocorrersempreemblocosdetamanhopar(Words)

Int8 -128a127 Palavradeoitobitscomsinal.Aescritadeveocorrersempreemblocosdetamanhopar(Words)

Int16 -32768a Inteirode16bitscomsinal

32767

Int32 -2147483648a2147483647

Inteirode32bitscomsinal

Word(ouUInt)

0a65535 Inteirode16bitssemsinal

DWord(ouULong)

0a4294967295

Inteirode32bitssemsinal(DoubleWord)

Float -3.4E38a3.4E38

Pontoflutuantede32bits(IEEE754)(quatrobytes:EXPF2F10)

Float_GE -1.427E+45a1.427E+45

Pontoflutuantede32bitsusadopelaGE,nãocompatívelcomIEEE754.ÉusadoemequipamentosGEGEDEUPS,comexpoentedeoitobits2[-128...+127]e24bitsdemantissa[-223...+(223-1)].(quatrobytes:EXPF2F1F0).Paramaisinformações,consulteadocumentaçãodoequipamento

Double(ouReal)

-1.7E308a1.7E308

Pontoflutuantede64bits(IEEE754)

String Nãoseaplica

TextoemformatoANSI,comnúmerodeterminadodecaracteresASCIIdeoitobits(Chars)

BCD Verdescrição

ValornuméricoBCD(Binary-CodedDecimalouDecimalCodificadoemBinário).Aoutilizarestetipodedados,aaplicaçãodevefornecerumvalordecimalpositivoeinteiro,aserenviadonoformatoBCD,respeitandootamanhoespecificado.OcampoSize,nocasodotipodedadosBCD,refere-seaonúmerodebytesaseremenviadospararepresentarovalor.UmavezquenacodificaçãoBCDcadaalgarismoéconvertidoemumnibble,tem-sequeosvalorespermitidosdevempossuirumnúmeromáximo

dealgarismosigualaodobrodovalorespecificadonocampoSize,ouseja,seforselecionadoovalordoisparaocampoSize,omáximovalorquepodeserenviadoé9999.JáseSizeéigualaquatro,ovalormáximoé99999999.OsvalorespermitidosparaocampoSizenocasodetiposdedadosBCDsãodois(Word)equatro(DoubleWord).ParamaisdetalhessobreacodificaçãoBCD,consulteotópicoCodificaçãoBCD

GE_eventsVerdescrição

Tipodedadosutilizadonaleituradobufferdeeventos(SOE)doCLPGEPACRX7.SuadefiniçãoépermitidaapenasemoperaçõesqueutilizemafunçãoespecialdeleituraGESOE.EsteseventossãoretornadoscomoblocosdedoisElementos,comtimestampsdefinidospelocontrolador.Paramaisinformações,vejaotópicoLeituradeBufferdeEventosemcontroladoresGEPACRX7

Bit 0(zero)ou1(um)

Estetipodedadoséselecionadoautomaticamentequandoumafunçãodeacessoabitséselecionada.Asfunçõesdeacessoabitssão01,02,05e15.OcampoSizenãoéusadoparatiposdedadosBit.Quandoestetipodedadoséusado,cadaTagouElementodeTagBlocopassaarepresentarumbit

SP_events Verdescrição

Tipodedadosutilizadonaleituradeeventos(SOE)derelésSchneiderElectricdassériesSEPAM20,40e80.SuadefiniçãosóépermitidaquandoaoperaçãoutilizarcomofunçãodeleituraafunçãoespecialSPSOE.EsteseventossãoretornadoscomoumBlocodetrêsElementos,comtimestampfornecidopeloequipamento.Paramaisinformações,vejaotópicoLeituradeEventosdeRelés

SchneiderElectricSEPAM20,40e80

GenTime 1/1/197000:00a31/12/203523:59:59.999(vernotaaseguir)

Tipodedadosdedataehoracompostoporumaestruturadeoitobytes,criadooriginalmenteparaserutilizadonaleituradeeventosqueusamoalgoritmodeSOEGenérico(GenSOE).EstetipodedadospodeserutilizadocomasdemaisfunçõesdoprotocoloModbus,alémdaGenSOE.ComoesteformatoélidointernamentecomoumaestruturadeWords,aúnicafunçãodeswapválidaparaestetipodedadoséSwapBytes.ArepresentaçãodestetipodedadosnamemóriadoCLPédescritanotópicoTipodeDadosGenTime.Paramaisinformaçõessobreestetipodedados,consulteotópicoAlgoritmodeLeituradeSOEGenéricodaElipseSoftware

Sp_time 1/1/197000:00a31/12/203523:59:59.999(vernotaaseguir)

Tipodedadosdedataehoracompostoporumaestruturadeoitobytes,utilizadoporrelésSchneiderElectricdassériesSEPAM20,40e80,geralmentepararepresentarumtimestamp.Paramaisinformações,consulteadocumentaçãodoequipamento

UTC64d 1/1/197000:00a31/12/203523:59:59.999(vernotaaseguir)

TipodedadosdedataehorarepresentadoemformatoDouble(IEEE75464bits),comossegundosdesde1/1/197000:00

UTC32 1/1/197000:00a31/12/203523:59:59.999(vernotaaseguir)

Tipodedadosdedataehorarepresentadoemformatointeirosemsinalde32bits(DWordouUInt),comossegundosdesde1/1/197000:00.Nesteformatonãosãorepresentadososmilissegundos,sendoconsideradossempre0(zero)

Int16_sm -32767a32767

Inteirode16bitscomsinal(sinaldemagnitude)

Int32_sm -2147483647a2147483647

Inteirode32bitscomsinal(sinaldemagnitude)

NOTAEmboraa representaçãoemsidos tiposdedadosdedataehoradatabela anterior possa representar datas superiores a 31/12/2035, estelimite é mostrado na tabela pelo fato de os aplicativos da ElipseSoftware não possuírem suporte, atualmente, para faixas de valoressuperioresaestelimiteemestampasdetempo(timestamps).

EstaseçãodadocumentaçãoajudouvocêaconfiguraresteDriver?

Sim Não

Comentários(opcional):

Restam150caracteres.Contato(opcional):

Limpar EnviarAcessetambémonossoKnowledgebaseparamaioresinformaçõessobrenossosprodutos

TipodeDadosGenTime TopoAnteriorPróximo

GenTime é um tipo de dados de data e hora definido e adicionadooriginalmenteaoDriverparausocomoAlgoritmodeLeituradeSOEGenéricodaElipseSoftware.Trata-seentretantodeumtipodedadosgenérico,quepodeserusadocompraticamentequalquerCLP,deformasimples.Na aplicação do supervisório, ou seja, nos valores dos Tags eElementosdeBlocodeTagsBloco,bemcomonocampoTimestampdos Tags, este tipo de dados, como aliás todos os demais tipos dedadosdedataehoradoDriver,érepresentadoporumtipodedadosdedata e hora nativo da aplicação. Para mais informações sobre osdemaistiposdedadosdedataehorasuportadospeloDriver,consulteotópicoTiposdeDadosSuportados.Paramais informaçõessobreostipos de dados de data e hora da aplicação, consulte o respectivomanualdousuário(existemalgumasdiferençasdoElipseSCADAparaoVBScriptutilizadonoE3eElipsePower).NoCLPoudispositivoescravo,este tipodedadosérepresentadoporumaestruturacompostaporquatroregistradoresde16bits(oitobytes),conformemostradonatabelaaseguir.

Estruturadosregistradores

OFFSET CONTEÚDO MAPADEBITS(16BITS)

FAIXA(DECIMAL)

0 Ano AAAAAAAAAAAAAAAAEntre0e65535

1 DiaeMês DDDDDDDDMMMMMMMM

Entre0e65535

2 HoraeMinuto HHHHHHHHMMMMMMMM

Entre0e65535

3 SegundoeMilissegundo

SSSSSSMMMMMMMMMM

Entre0e65535

Oendereçobase(offset0),aseratribuídonoparâmetroN4/B4doTagqueacessaodado,contémoano.Oregistroseguinte(offset1) temo

dia como o byte mais significativo e o mês como o byte menossignificativo. Já nooffset 2 tem-se a hora representada no bytemaissignificativoeosminutosnobytemenossignificativo.Oquartoregistrotem os quatro bits mais significativos do Word representando ossegundos,eosbitsrestantes(osdoismenossignificativosdobytemaissignificativo e o byte menos significativo do inteiro) representando osmilissegundos.NotequecadaTagquereferencieestetipodedadosforçaoDriveralerumblocodequatroregistrosModbusnoequipamentopararepresentarovalordecadaTagouElementodeBlocopararetornarumvalorválido.Asvantagensdestetipodedadossãosuasimplicidade(éfácildegerarno ladder do CLP), sua precisão de milissegundos e sua relativacompactação,nãonecessitandodesuportenativonoCLPoudispositivoescravo.

NOTAEmbora o tipo de dadosGenTime em si tenha um tamanho de oitobytes(quatroWords),aúnicaopçãodeswapquetemefeitosobreeleéSwapBytes. Isto porque, conforme visto neste tópico, este tipo dedados é estruturado namemória do CLP como tendo quatroWords,nãosendoelemesmoumtipodedadosnativodoequipamento,esimdo Driver. Mais informações sobre as opções de swap (byte order)podemserencontradasnotópicoAbaOperations.

EstaseçãodadocumentaçãoajudouvocêaconfiguraresteDriver?

Sim Não

Comentários(opcional):

Restam150caracteres.Contato(opcional):

Limpar EnviarAcessetambémonossoKnowledgebaseparamaioresinformaçõessobrenossosprodutos

Tipos de Dados Definidos peloUsuário

TopoAnteriorPróximo

Os tipos de dados definidos pelo usuário, ou estruturas, apósconfigurados na janela de configuraçãoUser Defined Types, podemserusadosnasoperaçõesdoDriverdamesmaformaqueos tiposdedadospré-definidos.Estestiposdedadossãonaverdadeestruturascujoselementospodemter tipos de dados nativos diferentes, ou seja, um tipo de dadosdefinidopelousuárionadamaisédoqueumaestruturadefinidaapartirdostiposdedadospré-definidospeloDriver(tiposdedadosnativosoubuilt-in), permitindo ao usuário configurar Tags Bloco onde cadaElementopodeterumtipodedadosnativodiferente.O usuário pode utilizar praticamente todos os tipos de dados pré-definidospeloDriveremsuasestruturas.SomentenãosãopermitidosostiposdedadosBit,ostiposdedadosdeoitobits,ostiposdedadosdetamanhovariável,comoStringeBCD,e tiposdedadosdeeventoassociadosàfunçõesespecíficasdeSOE.Umaveztendodefinidoumtipodedados,ousuáriopodeassociá-loaqualquer Tag, desde que ela utilize funções Modbus que suportemWords, ou seja, não é permitida a associação de um tipo de dadosdefinidopelousuárioaumaoperaçãoquedefinacomofunçãodeleitura(Read)afunção01,porexemplo,umavezqueestalêapenasbits.Além da definição dos elementos da estrutura, cujos valores sãoretornados emElementos de Bloco, o usuário pode também definir otipo de timestamp do Tag, bem como o endereço padrão para aestrutura, endereço que é usado para o parâmetro B4 dos TagsdisponíveisviaTagBrowserdoE3.

AplicaçõesOs tipos de dados definidos pelo usuário foram originalmenteimplementadosparausoemconjuntocomaRotinadeSOEGenéricodo Driver Modbus (Gen SOE), uma vez que esta rotina executa aleituradetabelasdeestruturasdedados.AlémdepoderserutilizadocomarotinagenéricadeSOE,esterecursopodetambémserusadoparaagrupartiposdedadosdiferentesemummesmoTagBloco, otimizandoa comunicaçãoemaplicações quenãocontam com o recurso de Superblocos, caso do Elipse SCADA, oucaso o equipamento em uso por algummotivo não permita o uso deSuperblocos(vejaotópicoLeituraporSuperblocos).

ConfiguraçãodeTiposdeDadosDefinidospeloUsuárioA configuração de tipos de dados definidos pelo usuário é realizada em janelaespecífica, clicando em User Defined Types na Aba Operations da janela deconfiguraçõesdoDriver,conformeafiguraaseguir.

AbaOperationsdajaneladeconfiguraçõesdoDriverAjaneladeconfiguraçãodostiposdedadosdefinidospelousuáriopermiteaediçãodo arquivo de configuração das estruturas. Ao abrir a janela pela primeira vez, émostrado o arquivo de configuraçãopadrão (comcomentários), e que define trêstipos de dados de exemplo, que aparecem comentados por comentários demúltiplaslinhas("/*"e"*/"),conformeexplicadoaseguir.Afiguraaseguirmostraajaneladeconfiguraçãodetiposdedadosdefinidospelousuário,comumpequenoarquivodefinindoostrêstiposdedadosdeexemplo.

ConfiguraçãodetiposdedadosdefinidospelousuárioNotequeoscomentáriosdelinhainiciamsemprecom"//",identificandotudooquevier à direita, na mesma linha, como comentário, seguindo o padrão doscomentáriosdelinhadalinguagemdeprogramaçãoC++,tambémusadoporoutraslinguagenscomoJavaeC#.Também são suportados comentários demúltiplas linhas, seguindo novamente amesmasintaxedoC++,iniciandopor"/*"eterminandocom"*/".NotequeoarquivoexemploquevemcomoDriverjáaplicaesteformatodecomentárioaseustiposdedados de exemplo, deixando-os comentados por padrão. Remova as linhasindicadaspor"/*Sampletypesentirelycommentedbydefault"e"*/"(semasaspas)paraqueostrêstiposdedadosdeexemplosestejamprontosparaouso.À medida que o texto do arquivo de configuração é alterado, a barra de status

mostra o resultado da análise sintática do arquivo, em tempo real. Esta barra destatusmostraamensagem"Status:OK!"senãoforemdetectadoserrosnoarquivo.Acadamomento,a linhaeacolunadaposiçãodocursornacaixadeediçãosãosempremostradasnoladodireitodabarradestatus.Oserrosmostradosnabarrade status sempre referenciam ao número da linha e da coluna onde ele foidetectado.Averificaçãopodeserfeitanaíntegratambémclicando-seemVerifye,emcasodeerro,ocursorjáéposicionadoautomaticamentenalinhadoerro.Adefiniçãodecadatipotemaseguintesintaxe(oselementosentrecolchetessãoopcionais):

struct<NomedoTipo>{[timestamp=<tipodataehora>;][DefaultAddress=<endereço>;]<tipo>[nomedoelemento1];<tipo>[nomedoelemento2];<tipo>[nomedoelemento3];[...]<tipo>[nomedoelementon];}

Onde:

struct: Palavra-chave, em letrasminúsculas, que inicia a definição do tipo dedadosdefinidopelousuário

<Nome do Tipo>: Nome pelo qual o novo tipo de dados é identificado peloDriver.EsteéonomemostradonacaixadeseleçãoData,naconfiguraçãodasoperações.Deveternomáximoseiscaracteres

timestamp: Campo opcional que indica que a estrutura tem umdefinidopelodispositivo,quedeveserretornadonocampoTimestampCadaestruturapodeternomáximoumtimestamp.Aordememqueaparecenaestrutura influencia a posiçãoemqueo campoé lidono frame retornado peloequipamento (note que nos Tags este valor é retornado somente no campoTimestamp). Podem ser definidos quaisquer tipos de dados de data e horasuportadospeloDriver.Naversãoatual,oDriversuportaos tiposdedadosdedataehoraGenTime,Sp_time,UTC64deUTC32.Paramaisinformaçõessobre

tiposdedados,consulteotópicoTiposdeDadosSuportadosDefaultAddress:Campoopcionalqueespecificaumvalordeendereçopadrão,usadoparapreencheroparâmetroB4dosTagsnoTagBrowserquereferenciemasoperaçõescontendoaestruturadefinida.Osvaloresdeendereçopodemserfornecidos em decimal ou em hexadecimal. Para usar este último, é precisoprecederonúmerocomoprefixo"0x"(porexemplo,usar"0x10"paracodificarovalordecimal16emhexadecimal)

<tipodataehora>:Tiposdedadosdedataehorapré-definidospeloDriver,quepodemserutilizadoscomo timestamppelodispositivoescravo.NaatualversãodoDriver,sãoaceitosos tiposdedadosnativosGenTime,Sp_timeUTC64d<tipo>: Tipo de dados do elemento. Deve ser definido como um dos tipos dedadospré-definidospeloDriver,eescritodamesmaformaqueaparecenacaixade seleção Data, no frame de configuração dos parâmetros das operações,considerandoletrasmaiúsculaseminúsculas.NãosãopermitidostiposdedadosBit,tiposdedadosdeoitobitsenemtiposdedadosdetamanhovariável,comoBCDeString[nomedoelemento]:ParâmetroopcionalquedefineonomedecadaElementodo Bloco. Se definido, determina o nome dos Elementos de Bloco nos TagspresentesnoTagBrowserdoE3.Senãofordefinidonadeclaraçãodaestrutura,oDriver atribui nomes padrão aosElementos noTagBrowser, coma palavra-chave "Element" seguida do valor do índice do Elemento dentro do Bloco("Element1","Element2",etc.)

ImportaçãoeExportaçãoAs opções Import File eExport File permitem importar e exportar oarquivodeconfiguraçãode tiposdedadosdefinidospelousuárioparaarquivos texto em disco. Podem ser utilizados para a realização decópias de segurança do arquivo, ou para compartilhá-lo entre váriosDrivers.OarquivoésempregravadoelidonoformatoANSIpadrãodoWindows (CharsetWindows-1252). Futuras versões doDriver podemsuportaroutrosformatos.Alémdecopiaroarquivoparaodisco,pode-setambémusarasteclasdeatalhoCTRL+A(SelecionarTudo),CTRL+C(Copiar)eCTRL+V(Colar) para copiar e colar o conteúdodo arquivo emoutroEditor deTexto.A opçãoLoad Default Configuration carrega novamente no editor oarquivo padrão de configuração, o mesmo que já vem carregado noeditorquandoajaneladeconfiguraçãoéabertapelaprimeiravez.

NOTAAo clicar emCancel, todas as alterações realizadas no arquivo sãodescartadaspeloDriver.Clicando-seemOK,oarquivoéarmazenadonaaplicação.Estaoperaçãorealizaaverificaçãocompletadoarquivoe,seforidentificadoalgumerro,esteémostradoeajanelanãoéfechada.Seforprecisosalvaralteraçõescomerrosaindapendentes,exporteoarquivooucopie-oecole-oemoutroEditordeTextos.

Utilizando Tipos de Dados Definidos pelo Usuário naConfiguraçãoporStringsPode-sefornecernomesdetiposdedadosdefinidospelousuáriocomomnemônicosdocampoTipodocampoItem,comoocorrecomostiposdedadosnativosdoDriver,desdequeonometenhasidopreviamentedeclarado,comoexplicadoanteriormentenestetópico.

IMPORTANTEComo no E3 o campo Item não diferencia entre minúsculas emaiúsculas, para usar tipos de dados definidos pelo usuário nestecampo é necessário que os nomes dos tipos de dados definidos nãodifiramapenaspelacaixaaltaoubaixa,ouseja,nãosedevedefinir,porexemplo, um tipo de dados como nome "tipo1" e outro como nome"TIPO1".Casoistoocorra,nãoépossívelusartiposdedadosdefinidospelousuárionocampoItematéqueosnomessejamcorrigidos.

Paramais informaçõessobreaconfiguraçãodeTagsusandoStrings,consulteotópicoConfiguraçãoporStrings.Exemplo:

Leitura ou escrita de Holding Registers (funções 03 e 06) deendereço100doequipamentocom Id5, interpretadocomoumtipodedadosdefinidopelousuáriochamado"mytype",comSlaveIdnocampoItem:

Dispositivo:""(emptyString)

Item:"5:shr100.mytype"

NOTAAs opções de permuta (ordenamento de bytes) para tipos de dadosdefinidos pelo usuário têm efeito apenas nos elementos da estruturadefinida e não na estrutura inteira, ou seja, se a opçãoSwapWordsestá habilitada, todos os elementos com mais de 16 bits têm seusWords permutados. Os elementos de 16 bits, entretanto, não sãoalterados.

Utilizando TiposDefinidos peloUsuário naConfiguraçãoNuméricaApósadefiniçãodosnovostiposdedadosnoarquivodeconfiguraçãonajanelaUser-DefinedTypes,estes tiposdedadosestãodisponíveispara uso nas operações do Driver. Lembre-se que somente asoperaçõesqueutilizamfunçõesModbusparaacessoaregistradoresde16bits,comoporexemploas funções03,04,06e16,permitemtiposdedadosdefinidospelousuário.A figura a seguir mostra a configuração de uma nova operação queutilizaotipodedadosdefinidopelousuário(estrutura)denomeTYPE3,mostradonoexemploacima,apósousuárioclicaremAdd.

Adicionartipodedadosdefinidopelousuário

NOTAAsopçõesdepermutapara tiposdedadosdefinidospelousuário têm

efeito apenas nos elementos da estrutura definida e não na estruturainteira, ou seja, se a opção Swap Words está habilitada, todos oselementos com mais de 16 bits têm seus Words permutados. Oselementosde16bits,entretanto,nãosãoalterados.

Apósadefiniçãodanovaoperação,usandoonovotipoTYPE3,definaum Tag Bloco com omesmo tipo de dados e com tamanho igual aonúmero de elementos da estrutura, conforme mostrado na figura aseguir.

DeclaraçãodeTagsusandoestruturasnoE3ouElipsePower

Se foi definido o nome para cada elemento da estrutura, é possívelutilizaroTagBrowserdoE3paraincluirumTagBlocoreferenteaotipodedadosdesejadonaaplicação,semprecisardigitarnovamente.Parautilizaresterecurso,énecessárioselecionaraopçãoShowOperationsin Tag Browser na aba Operations. A figura a seguir ilustra oprocedimento.

UsodoTagBrowserparadefinirTagsusandoestruturas

Comoafigurasugere,cliqueem naabaDesigndoDriverparaabriro Tag Browser e arraste o tipo de dados desejado da lista TagsdisponibilizadospeloDriver (Tags available fromdriver) para a listaTagsdoprojetocorrente(Tagsfromcurrentproject).

LeituraReportadaaEventosOstiposdedadosdefinidospelousuárioouestruturassãocomumenteutilizadosparaadefiniçãodeeventosnamemóriadoCLP,podendoserusados com o Algoritmo de Leitura de SOE Genérico da ElipseSoftware. Se entretanto for necessário ler eventos organizados namemóriadoCLP,comoumasequênciadeestruturas,emumaoperaçãoque utilize apenas função pública de leitura do protocolo, ou seja,sem o emprego de funções especiais com algoritmo de SOE, talprocedimentopodeserrealizadodeduasformas:

LeituraemBloco:CrieumBlococomumnúmerodeElementosquesejamúltiplo do número de elementos das estruturas de dados dousuário. Por exemplo, um tipo de dados definido pelo usuário ouestrutura com dois elementos que represente eventos acumuladosem um arranjo na memória do CLP. Caso se deseje ler em blococinco eventos, é necessário definir um Tag Bloco contendo 10Elementos.Assim,umaúnicaleituranesteTagtraztodososeventosdeumasóvez

Leitura Reportada a Evento: Usa uma sequência de eventosOnReaddoTagparaleroblocodedados.Comisto,considerandooexemplo do item anterior, ao invés de criar um Tag com 10Elementos,ousuárioprecisacriarapenasumúnicoTagBlococomdoisElementos,configurandooparâmetroB3comovalor"5".Destaforma,aorealizaraleituradoTag,oE3chamacincovezesoeventoOnReaddoTag,eemcadachamadaosElementosepropriedadesdoTagBlococontêmdadosrelativosaumeventoespecífico.OusomaiscomumdosTagsreportadosaeventoéoarmazenamentodoseventos lidos diretamente na base de dados de histórico. Isto éfacilmente executado através do método WriteRecord do objetoHistóricopreviamenteassociadoaoTag,dentrodoeventoOnReaddoTagreportadoaevento.Paramaisinformações,consulteotópicosobreTagsReportadosaEventosnoManualdoUsuáriodoE3

Emoutraspalavras,todoTagdeComunicaçãoqueuseestruturasequeutilizeumafunçãopúblicadeleituradoprotocolo (esterecursonãofuncionaparafunçõesespeciaisdeSOE),torna-seumTagReportado

a Eventos se o seu parâmetroB3 for configurado com um valor nãonulo.No caso de funções especiais de SOE, como a funçãoGen SOE, oretorno reportado a eventos é definido pelo próprio algoritmoproprietáriodafunção.Para mais informações a respeito da configuração de Tags deComunicação, consulte o tópico Configurando um Tag deComunicação.

IMPORTANTEAolereventosdememóriademassaemTagsreportadosaeventosnoE3, desabilite a banda morta no Tag (propriedade EnableDeadBandconfigurada como Falso) e também no objeto Histórico associado(propriedadeDeadBand igual a zero), paraevitaraperdadeeventoscomvalorespróximos.Tambéméimportantedesabilitarohistóricoporvarredura (no E3, propriedade ScanTime igual a zero). Com isto,garante-sequenovoseventossósãoarmazenadosatravésdométodoWriteRecord, executado no evento OnRead do Tag, evitando aduplicaçãodeeventos.

EstaseçãodadocumentaçãoajudouvocêaconfiguraresteDriver?

Sim Não

Comentários(opcional):

Restam150caracteres.Contato(opcional):

Limpar EnviarAcessetambémonossoKnowledgebaseparamaioresinformaçõessobrenossosprodutos

Importação e Exportação deOperações

TopoAnteriorPróximo

A importação e exportação de operações deve ser realizada na abaOperationsdoDriver,clicandoemImportConfigurationouemExportConfiguration,conformemostradonafiguraaseguir.

OpçõesdeimportaçãoeexportaçãodeoperaçõesEstas opções tornam possível importar e exportar a configuração deoperaçõesmostradanoquadroModbusOperationsparaarquivosINI.Nas versões anteriores à 2.00 deste Driver, a configuração dasoperaçõeseraexecutadanoarquivomodbus.ini,queeracarregadonomomento da inicialização do objeto Driver. Os arquivos modbus.inidestasversõesantigasaindapodemsercarregadosnaversãoatualdoDriver,utilizandoaopçãodeimportação.

NOTAAs operações do Driver eram chamadas de Funções do Driver nasversões iniciais. Esta denominação foi posteriormente alterada paraOperações do Driver devido a casos observados em que haviaconfusãocomasFunçõesdoProtocolo.

ImportaçãoA importação de arquivos de configuração é bastante simples. Cliqueem Import Configuration e selecione o arquivo INI. O Driver devecarregarasconfiguraçõesdeoperações,queaparecemimediatamenteno quadroModbusOperations. Este Driver permite a importação dearquivosgeradospelassuasversõesanteriores.

ExportaçãoA exportação de arquivos de configuração de operações pode serrealizada para compartilhar a mesma configuração de operações emdiferentesobjetosDriver,bemcomoparaaeventualrealizaçãodecópiade segurança (backup) da configuração de operações de umdeterminadoequipamento.Outra possível utilidade é a exportação das configurações para umarquivo modbus.ini compatível com versões anteriores do Driver,permitindocarregarasconfiguraçõesnestaversãoanterior.Trata-sedeuma prática pouco recomendada mas que, caso seja inevitável emaplicaçõeslegadas,requerasconsideraçõesfeitasaseguir.Ao clicar em Export Configuration, abre-se uma janela com duasopções,conformeafiguraaseguir.

OpçõesdeexportaçãoNestajaneladeve-seselecionarentreexportarconformeonovopadrão(Newformatwith typemnemonics),comos tiposdedadosexibidossendodefinidoscomStrings(mnemônicos),ounoformatoantigo(Oldformatwith types'numericcodes), emqueos tiposdedadoseramidentificadosporumvalornumérico,correspondenteàposiçãoemqueapareciamnacaixadeseleçãoDatanaabaOperations.Oformatonovoémaislegível,facilitandoadepuração,eéutilizadonasversõesmaisrecentesdesteDriver,sendoaopçãomaisrecomendada.Jáoformatoantigodeveserselecionadosomenteseforimprescindívelexportarparaversõesanterioresàversão2.08desteDriver.Note que, para exportar com sucesso arquivos modbus.ini a seremcarregados em versões anteriores à versão 2.00, as operações nãopodem definir nenhum tipo de dados novo que não tenha sido

implementadopela versãodedestino,enem tampouco teroperaçõesque utilizem o parâmetroUse bitmask, caso contrário a importaçãopodefalhar.Demaneirageral, recomenda-seevitaraexportaçãodeconfiguraçõesparaversõesanteriores,priorizandosempreaatualizaçãodoDriver.

EstaseçãodadocumentaçãoajudouvocêaconfiguraresteDriver?

Sim Não

Comentários(opcional):

Restam150caracteres.Contato(opcional):

Limpar EnviarAcessetambémonossoKnowledgebaseparamaioresinformaçõessobrenossosprodutos

AbaGenSOE TopoAnteriorPróximo

O objetivo desta aba é concentrar opções de configuração para oAlgoritmodeLeituradeSOEGenéricodaElipseSoftware.Afiguraaseguirmostraaopçãodisponívelnestaaba.

AbaGenSOEA única opção de configuração atualmente disponível está descrita aseguir:

Enablecontrolanddataregistersgrouping(padrãoVerdadeiro):Habilitaoagrupamentoderegistrosdecontroleeregistrosdedados,de forma a realizar o mínimo de leituras possível. Se esta opçãoestiverhabilitada,oDriveriniciaaleituradetabelasjátentandoleromáximo de registros permitidos pelo protocolo, tanto registros decontrolecomodedados,esepossível já lendoa tabela inteiraemumaúnicaleitura.Talprocedimentoemgeralotimizaavarredurados

TagsdamesmaformaqueosSuperblocos,poisotempodemandadopara a leitura de blocos grandes é em geral bemmenor do que otemponecessáriopararealizarváriasleiturasdamesmaquantidadededados,emboraistopossadependerdoCLP.OsCLPsATOSnãopermitemaleituraagrupadadosregistrosdecontroleedeestruturasdedados,exigindoqueestaopçãosejadesabilitada.

EstaseçãodadocumentaçãoajudouvocêaconfiguraresteDriver?

Sim Não

Comentários(opcional):

Restam150caracteres.Contato(opcional):

Limpar EnviarAcessetambémonossoKnowledgebaseparamaioresinformaçõessobrenossosprodutos

ConfiguraçãoemModoOffline TopoAnteriorPróximo

AsconfiguraçõesdoDrivertambémpodemseracessadasemtempodeexecuçãoseoDriverfor iniciadonomodoOffline,conformeexplicadonotópicoDocumentaçãodasInterfacesdeComunicação,utilizando-seosparâmetrosdetipoStringmostradosnatabelaaseguir.

Parâmetrosdisponíveis

PARÂMETRO TIPODEDADOSModiconModbus.ModbusMode Inteiro:

0:ModbusRTU1:ModbusASCII2:ModbusTCP

ModiconModbus.Olderaddr Booleano(0ou1):0:Dadoéendereçadoapartirde0(zero)1:Dadoéendereçadoapartirde1(um)

ModiconModbus.UseDefaultSlaveAddress Booleano(0ou1)

ModiconModbus.DefaultSlaveAddress Inteirosemsinal

ModiconModbus.UseSwapAddressDelay Booleano(0ou1)

ModiconModbus.SwapAddressDelay Inteiro,comointervalodedelayemmilissegundos.NOTA:Opçãoobsoletaemantidaporcompatibilidade.Paraaplicaçõesnovas,useaopçãoInter-framedelaydaabaSerialdo

IOKitModiconModbus.WaitSilenceOnError Booleano(0ou1)

ModiconModbus.EnableCMSAddressing Booleano(0ou1)

ModiconModbus.EnCustomizeMaxPDUSize Booleano(0ou1)

ModiconModbus.MaxPDUSize Inteiro

ModiconModbus.ConfigFile StringcontendooarquivodeconfiguraçãocomasoperaçõesdoDriver.EstearquivopodeserexportadoeimportadonaabaOperationsdajaneladeconfiguraçõesdoDriver

ModiconModbus.EnableReconnectAfterTimeoutBooleano(0ou1):0:Otime-outnãogeradesconexãodomeiofísico1:Emcasodetime-out,quandoemmeiofísicoEthernet,oDriverpromoveadesconexãoereconexãodomeiofísico

ModiconModbus.UserTypesConfigFile Stringdeconfiguraçãodostiposdedadosdefinidospelousuário(estruturas).Trata-

sedomesmoarquivodeconfiguraçãoquepodeseracessadonajaneladeconfiguraçãodoDriver(User-DefinedDataTypes)

ModiconModbus.EnableGenSOERegGrouping Booleano(0ou1):0:Oalgoritmodeleituradeeventosprimeirolêosregistrosdecontroleeemseguidaosdadosdeeventos1:AleituradeSOEgenéricoéagrupadaaomáximo,comaprimeiraleituralendonãosóosregistradoresdecontrolemastambémomáximodeeventospossíveis

ModiconModbus.ShowOperationsInTagBrowser Booleano(0ou1):0:OTagBrowsermostraosmodelosdeTagsconfiguradosporStrings(comportamentopadrão)

1:OTagBrowsermostraosmodelosdeTagsconfiguradosnumericamente(comportamentolegado)

Para mais informações sobre a configuração Offline em tempo deexecução, consulte o tópico Documentação das Interfaces deComunicação.

EstaseçãodadocumentaçãoajudouvocêaconfiguraresteDriver?

Sim Não

Comentários(opcional):

Restam150caracteres.Contato(opcional):

Limpar EnviarAcessetambémonossoKnowledgebaseparamaioresinformaçõessobrenossosprodutos

ConfigurandoTags TopoAnteriorPróximo

Este tópico descreve a configuração dos diversos tipos de TagssuportadosporesteDriver.OsTagssãodivididosemduascategorias,descritasnosseguintestópicos:

ConfigurandoumTagdeComunicação

ConfigurandoTagsEspeciais

Configurando um Tag deComunicação

TopoAnteriorPróximo

Os Tags de Comunicação do Driver são os Tags que permitem acomunicaçãocomosequipamentos.OsTagsdeComunicaçãopermitemlereescreveremregistrosModbusnos equipamentos escravos, usando as funções do protocoloModbus,oumesmofunçõesespeciais.EsteDrivernão fazdistinçãoentreTagsBlocoeTagssimples,nocasodeTagsdeComunicação,ouseja, os Tags deComunicação funcionam damesma forma que TagsBlococomapenasumElemento.Osdadossão lidosdoequipamentoutilizandoos formatossuportadospeloprotocolo,ouseja,registrosdevaloresinteirosde16bits,bytesouconjuntos de bits, dependendo da função do protocolo utilizada. Paramaiores informações sobre as funções do protocolo, consulte aespecificaçãonositeoficialdoprotocolo.Estes Tags podem ser configurados de duas formas, descritas nostópicosaseguir:

ConfiguraçãoporStrings:Esteéométodomaisnovoquepodeserutilizado com oElipseE3,ElipsePower eElipse OPC Server erecomendado para novos projetos. Não funciona com o ElipseSCADAConfiguraçãoNumérica:MétodoantigoutilizadonoElipseSCADA

EstaseçãodadocumentaçãoajudouvocêaconfiguraresteDriver?

Sim Não

Comentários(opcional):

Restam150caracteres.Contato(opcional):

Limpar Enviar

AcessetambémonossoKnowledgebaseparamaioresinformaçõessobrenossosprodutos

ConfiguraçãoporStrings TopoAnteriorPróximo

A configuração por Strings de Tags de Comunicação é realizadausandooscamposDispositivoeItemdecadaTag.EstenovométododeconfiguraçãonãofuncionanoElipseSCADA,queusaoantigométododeconfiguraçãonumérica(parâmetrosNeB).Os parâmetrosN eB não são usados na configuração porStrings edevemserdeixadosem0(zero).AconfiguraçãoporStringstornaaconfiguraçãodosTagsmaislegível,facilitandoaconfiguraçãoemanutençãodasaplicações.

LeituraemBlocoOs Tags configurados por Strings podem ser Tags simples ou TagsBloco,comoscamposDispositivoeItemtendoamesmasintaxe.

NOTAOserviçodeagrupamentodeTags realizadopelosSuperblocos nãoestádisponívelparaosTagsqueutilizamaconfiguraçãoporStrings.Se houver necessidade de otimização através da leitura desuperblocos, os Tags da aplicação devem utilizar somente aConfiguraçãoNumérica.

CampoDispositivoNo campo Dispositivo, o Slave Id (endereço identificador doequipamento)deveserfornecidocomoumnúmeroentre1(um)e255seguidodedoispontos,comoporexemplo"1:","101:","225:",etc.Cabe lembrar que, no protocoloModbus, oSlave Id 255 é reservadopara broadcast, o que só faz sentido ser usado para operações deescrita,poisnãoháretornodosequipamentos,ouocorreriamconflitos.Opcionalmente, o Slave Id pode aparecer no início do campo Item,explicadoaseguir,enestecasoocampoDispositivodevesermantidovazio.Estaopçãoédetalhadaaseguir.

CampoItemNocampoItemdevemserfornecidastodasasdemaisinformaçõesdeendereçamentoedaoperaçãoaserrealizadapeloTag,comaseguinteasintaxe:

<espaçodeendereçamento><endereço>[.<tipo>[<tam.dotipo>]][.<byteorder>][/bit]

Ondeosparâmetrosentrecolchetessãoopcionais.Como já mencionado na seção anterior, pode-se opcionalmenteadicionar o Slave Id no início do campo Item, como no exemplo aseguir:

<slaveid>:<espaçodeendereçamento><endereço>[.<tipo>[<tam.dotipo>]][.<byteorder>][/bit]

Neste caso, como já explicado, deve-se deixar o campoDispositivovazio.Osexemplosaseguirmostramoscasosdeusomaiscomuns(notequeasaspasduplasnãodevemseradicionadasnosupervisório):1. LeituraouescritadeHoldingRegisters(funções03e16)deendereço100doequipamentocomId1ecomSlaveIdnocampoDispositivo:a. Dispositivo:"1:"b. Item:"hr100"

2. LeituraouescritadeHoldingRegister(funções03e16)deendereço120doequipamentocomId3ecomSlaveIdnocampoItem:a. Dispositivo:""(Stringvazia)b. Item:"3:hr120"

3. Leitura ou escrita de Coil (funções 01 e 15) de endereço 65535(FFFFh)comSlaveId4,aquiespecificadonocampoItem:a. Dispositivo:""(Stringvazia)b. Item:"4:cl&hFFFF"(ouopcionalmente"4:cl65535")

A figura a seguir mostra exemplos de Tags do Tutorial do E3configuradosporStrings.

TagsdoTutorialdoE3configuradosporStrings

CamposObrigatórioseOpcionaisOscamposobrigatóriosparatodososTagssãoenumeradosaseguiredetalhadosindividualmentemaisadiantenestemesmotópico:1. Espaço de endereçamento: Mnemônico que define o conjunto defunçõesde leituraeescritadoprotocoloautilizar (vejaa tabelaemseçãoespecífica,maisadiantenestemesmotópico).

2. Endereço: Valor numérico identificando o endereço do item(registrador ou bit) a ler ou escrever dentro do espaço deendereçamento definido. Os valores podem ser fornecidos emdecimal, hexadecimal ou octal. Para valores em decimal não épreciso adicionar prefixo, ou pode ser usado o prefixo "&d". Paravalores em hexadecimal, adicione o prefixo "&h" (por exemplo,"&hFFFF").Jáparaoctal,useoprefixo"&o"(porexemplo,"&o843").Este endereço pode ter um deslocamento (offset) em relação aoendereço realmente enviado no frame de comunicação, o quedependedaconvençãoutilizadapelofabricante.Emcasodedúvidassobreasconvençõesdeendereçamento,consulteotópicoDicasdeEndereçamento(ModbusConvention).Emespecial,verifiqueseoequipamentoimplementaooffsetpadrãodoDataModeldoprotocolo(vejaasopçõesdeDataAddressModelOffsetnaabaModbus).

Já os campos enumerados a seguir são opcionais, usados paraextensões ao protocolo padrão ou para compatibilidade comequipamentosquenãosejamplenamenteaderentesaoprotocolo (sãotambémmelhordetalhadosmaisadiante):1. Tipo: Define como os bytes da área de dados do frame decomunicaçãodevemserinterpretados.Seforomitido,sãousadosostipos padrão definidos pelo protocolo para as funções em uso, ouseja, Word para funções de acesso a registradores e Bit parafunçõesdeacessoadadosdigitais(CoilseDiscreteInputs).Consulteatabelademnemônicos dos tipos suportados,maisadiantenestetópico.

2. Tamanhodotipo:Énecessárioespecificarestecampoapenasparaostiposdetamanhovariável,comoBCDeString.Ovalornumérico

indicaotamanhodotipoembytes.3. Byte order: Mnemônico indicando o ordenamento dos bytes dosvaloresnuméricos.Seomitido,éusadoopadrãodoprotocolo, comosbytesmaissignificativosvindoprimeironoframedecomunicação,o chamado big endian. Veja mais informações na seção específicasobreestaopção,maisadiantenestetópico.

4. Bit: Permite retornar um bit específico de um valor inteiro, eobviamentesófazsentidoemfunçõesModbusqueretornemvaloresinteiros (Words). Em geral recomenda-se não usar este recurso,dando preferência ao mapeamento de bits do supervisório. O bit 1(um)éomenossignificativoe,quantomaiorovalor,maissignificativoéobit.Ovalormáximopermitidoobviamentedependedo tamanhodo tipo, sendoomáximoatualmentede64para tiposDouble.Estecampo corresponde à antiga opçãoUse BitMask da configuraçãonumérica.Mais informaçõessobreestaopçãopodemserobtidasnotópicoAbaOperations.

ExceçõesAs funções Modbus 20 e 21 do protocolo Modbus, que acessamarquivos, utilizam sintaxe ligeiramente diferente da mostradaanteriormente:

fr<arquivo>.<registro>[.<tipo>[<tam.dotipo>]][.<byteorder>][/bit]Exemplo:

Dispositivo:""(Stringvazia)

Item:"1:fr4.101"(leituradoregistro101doarquivo4noSlaveId1)

Especificamente para a função especial GenSOE (Elipse GenericSOE):

elsoe<N>.<end.inicial>[.<tipo>[<tam.dotipo>]][.<byteorder>][/bit]EspecificamenteparaafunçãoespecialSPSOE (SepamSOE), paraleituradetodososeventos:

spsoe<tipodoevento>.<end.inicial>[.<tipo>][.<byteorder>][/bit]EspecificamenteparaafunçãoespecialSPSOE(SepamSOE),paraaleituradeeventosdepontosespecíficos:

ptspsoe<tipodoevento>.<end.doevento>EspecificamenteparaafunçãoespecialGESOE(GEPACRX7SOE):gesoe<tipodotag+índicedoponto>.<end.basedapilha>

Consulte os tópicos específicos sobre as funções especiaismencionadas anteriormente para mais informações sobre aconfiguraçãodosrespectivosTagsusandoStrings.

EspaçodeEndereçamentoAoinvésdedefinirexplicitamenteasfunçõesModbusouespeciaisdeleituraeescrita a seremutilizadas, comoocorre na antigaconfiguraçãonuméricaseuconceitodeoperações,naconfiguraçãoporStringsousuáriodefineumespaçodeendereçamentoatravésdeumdosmnemônicoslistadosnatabelaaseguir, já associado a funções pré-definidas do protocolo e seus respectivostiposnativosdedados.

Espaçosdeendereçamentoemnemônicos

ESPAÇODEENDEREÇAMENTO

MNEMÔNICO TIPONATIVO

FUNÇÃO COMENTÁRIOS

HoldingRegister hr Word(16bits)

Funções03e16

Asfunções16sãoasmaisusadasdoprotocolo(Modbusclasse0)

SingleHoldingRegister

shr Word(16bits)

Funções03e06

Afunção06escrevenosmesmosregistradoresdafunção16,adiferençaéqueafunção16podeescreveremBlocos,enquantoafunção06escreveemapenasumregistroporvez,mascommenoroverhead

Coil cl Bit Funções01e15

SingleCoil scl Bit Funções01e05

Afunção05escrevenosmesmosregistrosdafunção15,porémnãopodeescreveremBlocos,portantocommenoroverhead

DiscreteInput di Bit Funções02eNone(somenteleitura)

InputRegister ir Word(16bits)

Funções04eNone(somenteleitura)

ExceptionStatus es Byte Funções07eNone(somenteleitura)

FileRegister fr Word(16bits)

Funções20e21

ABBMGE144-LeituradeMemóriadeMassa

abbmge Word(16bits)

Funções6503eNone(somenteleitura)

ABBMGE144-Reset

abbmge.rst Nãousado FunçãodeleituraNoneedeescrita6501

ABBMGE144-ZeraMemóriadeMáximoseMínimos

abbmge.rstmxmnNãousado FunçãodeleituraNoneedeescrita6502

GEPACRX7SOE-Leitura

gesoe GE_events FunçãodeleituraGESOEedeescritaNone

SEPAMSOEEvents

spsoe SP_events FunçãodeleituraSPSOEedeescritaNone

ColetadomedidoreretornaaoTagumaestrutura(tipoSP_eventscomeventosdequaisquerpontos(vejaotópicoSEPAMSOE)

SEPAMSOESinglePointEvents

ptspsoe Int32 FunçãodeleituraSPSOEedeescritaNone

ColetadomedidoreretornaaoTagumvalorinteirodocamporelativoaeventosdeumpontoespecífico(vejaotópicoSEPAMSOE

ElipseGenericSOE

elsoe Word(16bits)

FunçãodeleituraGenSOE(funçãoModbus

03comalgoritmosadicionais)edeescrita16

TiposdeDadosNa tabeladaseçãoanteriorsão listadosos tiposdedadosnativosdoprotocolo, conforme as funções Modbus utilizadas, bem como algunstiposdedadosespecíficosusadosemfunçõesespeciais (nãopadrãodoprotocolo).ParaTagsqueretornemestes tiposdedadosnativos,oparâmetroTipodeDadopodeseromitidodaStringdocampoItem.Casosejanecessáriointerpretarosdadosnativosdeoutraforma,algomuito comum entre os equipamentos que usam Modbus, deve-seespecificar o tipo de dados a ser usado, conforme explicado nestaseção.AlistaeodetalhamentodetodosostiposdedadossuportadosporesteDriverpodeserconsultadanotópicoTiposdeDadosSuportados.A tabelaaseguir listaosmnemônicosusadosnoparâmetro<tipo>docampo Item para cada tipo de dados suportado, nativo do Driver, etambémumaliasounomealternativo.

Tiposdedadossuportados

TIPO MNEMÔNICO ALIASChar char ch

Byte byte byouu8

Int8 int8 i8

Int16 int16 i16

Int32 int32 i32

WordouUInt word u16

DWordouULong dword u32

Float float f

Float_GE float_GE fge

DoubleouReal double d

String string s

BCD BCD bcd

GenTime GenTime gtm

Sp_time Sp_time sptm

UTC64d UTC64d -

UTC32 UTC32 -

TiposdeDadosCriadospeloUsuárioAlém dos tipos de dados listados na tabela anterior, usuários podemtambém fornecermnemônicos de tipos de dados criados pelo usuárioouestruturas(vejaotópicoTiposdeDadosDefinidospeloUsuário).Paraqueos tiposdedadosdefinidospelousuáriopossamserusadosno campo Item, entretanto, é preciso que os nomes destes tipos dedados não se diferenciem apenas pormaiúsculas eminúsculas, umavezqueocampo Itemnão levaemcontacaixaaltaoubaixa.Se istoocorrer, o Driver não permite o uso destes tipos de dados no campoItem(vejaotópicoTiposdeDadosDefinidospeloUsuário).

Exemplos1. LeituraouescritadeHoldingRegisters(funções03e16)deendereço100 do equipamento com Id 1, interpretado como umDWord, comSlaveIdnocampoDispositivo:a. Dispositivo:"1:"b. Item: "hr100.u32" ou "hr100.dword", ou se for conveniente usarhexadecimal,"hr&h64.u32"

2. LeituraouescritadeHoldingRegisters(funções03e16)deendereço150 do equipamento com Id 3, interpretado como um Float, comSlaveIdnocampoItem:a. Dispositivo:""(Stringvazia)b. Item:"3:hr150.f"ou"3:hr150.float"ouemhexadecimal"3:hr&h96.f"

3. LeituraouescritadeHoldingRegisters(funções03e16)deendereço1500doequipamentocom Id5, interpretadocomoumDouble, comSlaveIdnocampoItem:a. Dispositivo:""(Stringvazia)b. Item: "5:hr1500.d" ou "5:hr1500.double" ou ainda, se forconvenienteendereçaremhexadecimal,"5:hr&h5DC.d"

4. LeituraouescritadeHoldingRegisters(funções03e06)deendereço100 do equipamento com Id 5, interpretado como umWord, comSlaveIdnocampoItem:a. Dispositivo:""(Stringvazia)b. Item: "5:shr100" ou "5:shr100.u16" ou "5:shr100.word". Note que,porserumWord,otipodedadosnativodoprotocoloModbusparaHoldingRegisters,otipodedadospodeseromitido

5. LeituraouescritadeHoldingRegisters(funções03e06)deendereço100doequipamentocomId5,interpretadocomootipodedadosdousuáriochamado"mytype",comSlaveIdnocampoItem:a. Dispositivo:""(Stringvazia)b. Item:"5:shr100.mytype"

NOTAOespaçodeendereçamentodeHoldingRegistersnoprotocoloModbuscontémregistrosde16bits.Portanto,paraa leituradetiposdedadosde32bits,comoDWordouFloat,énecessário lerdoisendereçosde"hr"paracadaTagacessado.Damesmaforma,aleituradeumTagdotipoDoubleexigea leituradequatroendereçosdeHoldingRegisters.Pelosmesmosmotivos,aleituraeescritadeTagsde"hr"detipoBytesópode ser realizadaaospares.Noequipamento, cadaendereçodeHoldingRegistercontémsempredoisbytes.

TamanhodoTipodeDadosOs tipos de dados BCD e String, por possuírem tamanho variável,exigem a especificação do tamanho do tipo de dados (type size), embytes,logoapósotipo.Cabelembrarquesãoválidosapenasostiposdedados2e4(2e4bytesou4e8dígitos)paraostiposdedadosBCD.Exemplos:1. LeituraouescritadeHoldingRegisters(funções03e16)deendereço100doequipamentocom Id1, interpretadocomoumaStringde10bytes(cincoregistros"hr"),comSlaveIdnocampoDispositivo:a. Dispositivo:"1:"b. Item:"hr100.s10"

2. LeituraouescritadeHoldingRegisters(funções03e16)deendereço100doequipamentocomId1,interpretadocomoBCDdeoitodígitos(quatrobytesoudoisregistros"hr"),comSlaveIdnocampoItem:a. Dispositivo:""(Stringvazia)b. Item:"1:hr100.bcd4"

OrdenamentodeBytes(ByteOrder)Como mostrado nas sintaxes da seção anterior, pode-se adicionar oparâmetroopcionalbyteordernocampoItemdosTagsparaespecificaroordenamentodebytesparaequipamentosquenãoseguemopadrãodo protocolo. Se o equipamento segue o ordenamento padrão doprotocoloModbus,estecampopodeseromitido.Casoocorramleiturasdevaloresdistorcidos,oquepodeserobservadojá nos primeiros testes com o equipamento, e se estes valores,convertidos para hexadecimal, semostrarem corretos com a inversãodaposiçãodealgunsbytes,leiaestaseçãoatentamente.O protocoloModbus utiliza por padrão o formatobig endian, onde osvaloressãoformatadoscomosbytesmaissignificativosvindoprimeironosframesdecomunicação.EsteéoformatoqueesteDriverusacomopadrão. Existe, entretanto, um grande número de equipamentos nomercado que se utilizam de valores com outras combinações deordenamentodosbytes.Comoexemplo,seoDriver lêumvalor iguala"1234h"(ou"4660"emdecimal), por padrão oDriver espera que o dado seja enviado comasequência de bytes 12h e 34h. Se entretanto o equipamento usa opadrãoinverso,chamadodelittleendian,éenviadoprimeiroobyte34hedepoiso12h,eoDriverpodeinterpretá-locomo3412h,ou13330emdecimal,anãoserqueosdoisbytestenhamsuaordeminvertidaantesdesuainterpretação.No caso de valores de 32 bits pode também ocorrer de valores emWordpermutados(swapped), porémcomosbytesdentrodosvaloresemWordmantendoaordempadrão.Porexemplo,ovalor12345678hpode vir como 56781234h. E há vários outros casos, com inúmerascombinaçõesdiferentesdeordenamento.Parapermitiracomunicaçãocomestesequipamentosquenãoseguemo padrão do protocolo de ordenamento de bytes, o Driver permite aousuárioconfigurarTagsespecificandoopadrãoaserutilizado.O parâmetro byte order corresponde às opções de swap dasoperações,utilizadasantigamentenaconfiguraçãonumérica,epodeterosvalores"b0","b1","b2","b3","b4","b5","b6","b7","alias"ouainda

"alias2"(vejaatabelaaseguir).Seoparâmetrobyteorderforomitido,odadoéinterpretadoseguindoopadrãodoprotocolo,oqueequivaleaocódigo"b0".A tabela a seguir indica que operações de swap ou permutas (SwapBytes, Swap Words e Swap DWords) são realizadas para cadamnemônicodeordenamento(de"b0"até"b7").

Operaçõesdepermutaouswap

SWAPBYTES

SWAPWORDS

SWAPDWORDS

ALIAS ALIAS2(SWAPS)

ORDENAMENTO*

b0 msb - by7by6by5by4by3by2by1by0

b1X - sb by6by7by4by5by2by3by0by1

b2 X - sw by5by4by7by6by1by0by3by2

b3X X - sb.sw by4by5by6by7by0by1by2by3

b4 X - sdw by3by2by1by0by7by6by5by4

b5X X - sb.sdw by2by3by0by1by6by7by4by5

b6 X X - sw.sdw by1by0by3by2by5by4by7by6

b7X X X lsb sb.sw.sdw by0by1by2by3by4by5by6by7

*64bits(onde"by0"é"lsb"e"b7"é"msb")Ouseja,"b0"nãorealizanenhumaoperaçãodepermutanosbytesdedados, mantendo o ordenamento de bytes original recebido doequipamento, equivalente a não selecionar nenhuma opção depermutanaabaOperationsdaantigaconfiguraçãonumérica.Já"b1"realizaapermutadosbytes,doisadois,ouseja,aoreceberum

Word(inteirosemsinalde16bits)comovaloremhexadecimal0102h,o valor que é retornado ao Tag é 0201h, com os bytes trocados.EquivaleàantigaopçãoSwapBytes.Já o código "b2" realiza a permuta deWords, ou seja, de duplas debytes, dois a dois, o que obviamente só afeta dados de 32 bits oumaiores.TemomesmoefeitodeselecionaraopçãoSwapWords naconfiguraçãonumérica.Comoexemplo,seforrecebidodoequipamentoo valor 01020304h, o valor utilizado para os Tags da aplicação é03040102h.Já se for usado o código "b3", tem-se a troca de bytes e Words,equivalenteàsantigasopçõesSwapByteseSwapWordshabilitadassimultaneamente.Nestecaso,ovalor01020304hsetorna04030201h.Damesmaforma,ocódigo"b4"realizaatrocadeDWordsentresiemvalores de 64 bits, como a antiga opção Swap DWords daconfiguração numérica, ou seja, o valor 1122334455667788h éinterpretado como 5566778811223344h. E assim por diante para osdemaiscódigos.Asduasúltimascolunasdatabelaespecificamapelidosoualiasesqueo usuário pode usar para facilitar a legibilidade, ou seja, ao invés deusarocódigo "b0",podeserutilizado "msb".Ao invésdocódigo "b6",pode-seutilizaroapelido"sw.sdw",eassimpordiante.

ComoSelecionaraOpçãodeOrdenamentoCorreta?Emmuitos casos a documentação do equipamento especifica qual oordenamento utilizado, ou como configurá-lo (há equipamentos quepermitemestaconfiguração).Nos casos em que a documentação é omissa, deve-se contatar osuportedofabricante.Casonãosejapossívelobter-seinformaçõesconfiáveis,deve-setestarempiricamente, analisando os valores retornados, em hexadecimal,comparando com os valores esperados e observando se existeminversõesdeordenamentoquepossamexplicarasdiferenças.Podemocorrerbasicamentetrêssituações:1. CasooequipamentoforneçadadosusandooordenamentodebytespadrãodoprotocoloModbus(bigendianouMotorola),comosbytesmais significativos vindo antes, deve-se omitir este parâmetro, oudefini-locomo"b0".Estaéasituaçãomaiscomum.

2. Casooequipamentouseoutropadrãodeordenamentodebytes,comosbytesmenossignificativosvindoantes(littleendian),énecessáriohabilitar-setodasasopçõesdepermutareferentesaotipodedadosusado,oquecorrespondeaomnemônico"b7".

3. Nocasomenos comum, há equipamentos queusamordenamentosde bytes diferentes para tamanhos de dados diferentes, fornecendoporexemploobytemaissignificativodecadaWordprimeiro,porémoWord menos significativo de cada DWord primeiro. Portanto, épreciso avaliar em qual caso cada opção de permuta precisa serhabilitada,demaneiraaconverterovalorretornadopeloequipamentoparaoformatobigendianpadrãodoprotocolo.

NOTAAsopçõesdepermutacitadasnãotêmefeitoparatiposdedadosBitoutiposcom tamanhodeoitobits (Byte,Chare Int8).Apermutaocorredentrodecada tipodedado,ouseja,aopçãoSwapWordsnão temefeito para tipos de dados de 16 bits, assim como a opção SwapDWords não tem efeito para tipos de dados de 32 bits. Os tipos de

dadosBCDtambémnãopermitemoperaçõesdepermuta.

O tópicoDúvidasMaisFrequentes lista alguns casos conhecidos, jáobservadosnosatendimentosdesuporte.Exemplos:1. LeituraouescritadeHoldingRegisters(funções03e16)deendereço1500doequipamentocom Id 5, interpretadocomoumDouble seminversãodebytes,comSlaveIdnocampoItem:a. Dispositivo:""(Stringvazia)b. Item:"5:hr1500.d",ou"5:hr1500.double"ouainda"5:hr1500.d.b0"

2. LeituraouescritadeHoldingRegisters(funções03e16)deendereço1500doequipamentocomId5,interpretadocomoumDoublecomobytemenossignificativodecadaWordvindoantesecomSlaveIdnocampoItem:a. Dispositivo:""(Stringvazia)b. Item: "5:hr1500.d.b1" ou "5:hr1500.double.b1", ou ainda"5:hr1500.double.sb"

3. LeituraouescritadeHoldingRegisters(funções03e16)deendereço1500doequipamentocom Id 5, interpretadocomoumDouble comosbytesmenossignificativosvindoantes(littleendian)ecomSlaveIdnocampoItem:a. Dispositivo:""(Stringvazia)b. Item:"5:hr1500.d.b7"ououtrasvariações,como"5:hr1500.d.lsb"e"5:hr1500.d.sb.sw.sdw"

TagsEspeciaisdoDriverAlém dos Tags já descritos, pode-se configurar Tags Especiais doDriver usando Strings, descritos em mais detalhes em tópicosespecíficos(cliquenoitemdesejadoparamaisinformações).

Tagsespeciais

DEVICE ITEM OPERAÇÃO ForceWaitSilence Escrita

<slaveid>: LastExceptionCode Leituraouescrita

EstaseçãodadocumentaçãoajudouvocêaconfiguraresteDriver?

Sim Não

Comentários(opcional):

Restam150caracteres.Contato(opcional):

Limpar EnviarAcessetambémonossoKnowledgebaseparamaioresinformaçõessobrenossosprodutos

ConfiguraçãoNumérica TopoAnteriorPróximo

AconfiguraçãonuméricaérealizadaatravésdosparâmetrosNeBdosTagsdeComunicação,nãoutilizandooscamposDispositivoe ItemdisponíveisnoElipseE3ePower,quedevemserdeixadosembranco.EstemétododeconfiguraçãodeveserutilizadonoElipseSCADAeemaplicações legadas. Em aplicações utilizando produtos mais novos,comooElipseE3,ElipsePowerouElipseOPCServer,recomenda-seutilizaraconfiguraçãoporStrings.OsTagsdeComunicaçãoconfiguradosnumericamentereferenciamasoperaçõespreviamenteconfiguradasnajaneladeconfiguração.

OperaçõesConforme já explicado no tópico Aba Operations, o Driver possuisuporte a outros tipos de dados além dos tipos de dados nativos doprotocolo.Porestemotivo,foicriadooconceitodeOperaçãonoDriver.NasoperaçõesutilizandoasfunçõesModbusqueleemeescrevembits,comoas funções1,5 e15 do protocolo, o Driver mapeia sempre osvalores binários de cada bit para os Elementos de Bloco, onde cadaElementorepresentaovalordeumbitespecífico.As operações com tipos de dados de oito bits, comoo tipo de dadosByte, implicam sempre, obviamente, na leitura de pelo menos doisbytes(umregistroModbusde16bits).Paraprevenirsurpresasparaousuário,oDriverexigequeaescritadedadosdeoitobitssejarealizadasempreaospares,ouseja,comoescritasdeBlocoscomnúmeropardeElementos. As operações devem ser referenciadas através dosparâmetros N2/B2 dos Tags de Comunicação, conforme descrito aseguir.

ParâmetrosdeConfiguraçãodosTagsdeComunicaçãoAconfiguraçãoaseguirseaplicatantoaosparâmetrosNdosTagsdeComunicação quanto aos parâmetros B dos Tags Bloco deComunicação.

N1/B1:Endereçodoequipamentoescravo(CLP)narede(SlaveId).Esteendereçoéusadoem redesseriaisepodevariarde1a247.Pode-seaindaconfiguraresteparâmetrocomovalor0(zero).Comisto,esteTagtrabalhaemmodoBroadcast,enviandoamensagemparatodososequipamentosescravos(CLP)queestiveremnarede.EmEthernet(modoModbusTCP),oendereçogeralmenteutilizadoé apenas o endereço IP, porém oSlave Id pode ainda ser usadoquandooendereçoIPreferenciaumgateway ligadoaumarededeequipamentos (geralmente uma rede RS485, com Modbus RTU,usando gateway capaz de realizar a conversão deModbus TCPparaModbusRTU).

NOTANomodoBroadcast comN1 igual a 0 (zero) não é possível realizarleituras,apenasescritas.Nestemodo todososequipamentosna redesãoendereçados,recebendoovalorescritoenãoretornandoqualquerresposta,deformaaevitarconflitosnarede.

N2/B2: Código da operação. Referencia uma operação adicionadanajaneladeconfiguraçõesdoDriver(vejaotópicoAbaOperations).N3/B3:Parâmetroadicional.Esteparâmetroemgeralnãoéusadoepodeserdeixadoem0(zero).Sóéusadoemquatrosituações:

Funções Modbus 20 e 21: No caso de operações que utilizemestasfunçõesdeacessoaarquivo(funções20e21),oparâmetroN3/B3especificaoarquivoaseracessado.

Use BitMask: Para Tags referenciando operações com a opçãoUseBitMask habilitada, oparâmetroN3/B3 especifica o númerodobitaseracessado(vejaotópicoAbaOperations).

Tipos de Dados Definidos pelo Usuário: Para operações queusemestruturas,seoparâmetroB3formaiorque0(zero),defineoretorno de umarray de blocos reportado a eventos, pormeio deumasequênciadeeventosOnReaddoTag(vejaotópicoTiposdeDadosDefinidospeloUsuário).FunçãoEspecialGenSOE:Emoperaçõesqueutilizema funçãoespecialdeleituraGenSOE,oparâmetroN3/B3 indicaotamanhodatabelaassociadanamemóriadoCLPoudispositivoescravo,emnúmeromáximodeeventoscomportados(vejaotópicoAlgoritmodeLeituradeSOEGenéricodaElipseSoftware).

N4/B4: Endereço do registrador, variável ou bit no equipamento oudispositivo escravo (CLP) em que se deseja ler ou escrever,conforme o mapa de registradores do equipamento (verifique omanualdoequipamento).ÉimportanteajustarcorretamenteaopçãoDataAddressModelOffset(vejaotópicoAbaModbus)everificarse a documentação do fabricante não usa offsets utilizados porequipamentosModbusantigos,dachamadaModbusConvention.Tamanho/Índice (somenteTagsBloco): CadaElemento de Blocorepresentaovalordeumdadodetipodefinidonaoperaçãoutilizada(parâmetroN2/B2).Notequeoprotocolosósuporta tiposdedadosBitouWord.Destaforma,seaoperaçãoselecionarotipodedadosDWord(32bits)paracadaElementodeBloco,oDrivernecessitalerdoisregistrosconsecutivosdoequipamento.

TagsEspeciaisAlém dos Tags de Comunicação (Tags que referenciam operações),existem tambémTags especiais para executar funções específicas doDriver. Estes Tags são descritos no tópico Configurando TagsEspeciais.

EstaseçãodadocumentaçãoajudouvocêaconfiguraresteDriver?

Sim Não

Comentários(opcional):

Restam150caracteres.Contato(opcional):

Limpar EnviarAcessetambémonossoKnowledgebaseparamaioresinformaçõessobrenossosprodutos

Dicas de Endereçamento (ModbusConvention)

TopoAnteriorPróximo

NotópicoConfigurandoumTagdeComunicação,oendereçamentodos Tags (parâmetros N4/B4 na configuração numérica) é descritocombasenaespecificaçãomaisrecentedoprotocoloModbus(versão1.1b). Entretanto, há equipamentos que ainda utilizam a antigaconvenção de endereçamentos comoffsets conhecida comoModbusConvention, que acrescentaoffsets ao endereço. Este tópico explicacomoendereçarosTagscasoomapaderegistradoresdoequipamentoaindasigaestaconvençãoantiga,origináriadaespecificaçãoinicialdaModicon,nãomaisincluídanaespecificaçãoatual.O endereço fornecido no Tag é enviado no frame de requisição doprotocoloaoequipamento,acrescidoounãodooffsetpadrãode1(um),requerido pelo Modbus Data Model especificado pelo protocolo,conformeconfiguraçãodocampoDataModelOffset naabaModbusdajaneladeconfiguraçõesdoDriver.Alémdesteoffset padrão de 1 (um), definido na normaModbus atual(versão 1.1b), alguns fabricantes utilizam ainda o padrão antigo daModicon, conhecido comoModbus Convention, com um offset quepode ser acrescentado ao endereço, cujo valor depende da funçãoModbus utilizada, ou mais especificamente, de qual espaço deendereçamento (address space) esta função acessava originalmente.Esteoffsetadicionaldeveser ignoradoaodefiniroendereçodosTagsnesteDriver.Maisadiantesão fornecidosalgunsexemplos.A tabelaaseguirlistaosoffsetsutilizadospelopadrãoModbusConvention.

OffsetsdopadrãoModbusConvention

TIPODEDADOS(STANDARDDATAMODEL)

FUNÇÃOMODBUS OFFSET

Coils 01:ReadCoils(0x)05:WriteSingleCoil(0x)15:WriteMultipleCoils(0x)

00000

DiscreteInputs 02:ReadDiscreteInputs 10000

(1x)

InputRegisters 04:ReadInputRegisters(3x)

30000

HoldingRegisters 03:ReadHoldingRegisters(4x)06:WriteSingleRegister(4x)16:WriteMultipleRegisters(4x)

40000

FileRegister(antigaExtendedMemoryfile)

20:ReadGeneralReference(6x)21:WriteGeneralReference(6x)

60000

Se o mapa de registradores do equipamento utiliza esta convenção,deve-se seguir este procedimento para determinar os endereços aserem atribuídos aos Tags, no campo Item na configuração porStringsouaosparâmetrosN4ouB4naconfiguraçãonumérica:1. NaabaModbus,selecioneaopçãoDataisaddressedfrom1.2. Subtraiadoendereçomostradonomanual doequipamentoooffsetmostrado na tabela anterior para a funçãoModbus utilizada.DICA:Removaoquintodígitodadireitaparaaesquerda.

Noteque,emequipamentosqueutilizamestaantigaconvenção,pode-se determinar quais funçõesModbusdevemser usadas para acessarcadaregistrooubitatravésdooffsetempregadoemseuendereço.

Exemplos

ENDEREÇOCOMOFFSET(EQUIPAMENTO)

ENDEREÇONOTAG(ITEMOUN4/B4)

FUNÇÃOMODBUS

01234 1234 01:ReadCoils05:WriteSingleCoil

15:WriteMultipleCoils

11234 1234 02:ReadDiscreteInputs

31234 1234 04:ReadInputRegisters

41234 1234 03:ReadHoldingRegisters06:WriteSingleRegister16:WriteMultipleRegisters

45789 5789 03:ReadHoldingRegisters06:WriteSingleRegister16:WriteMultipleRegisters

65789 5789 20:ReadGeneralReference21:WriteGeneralReference

EstaseçãodadocumentaçãoajudouvocêaconfiguraresteDriver?

Sim Não

Comentários(opcional):

Restam150caracteres.Contato(opcional):

Limpar EnviarAcessetambémonossoKnowledgebaseparamaioresinformaçõessobrenossosprodutos

PartiçãoAutomáticadeBlocos TopoAnteriorPróximo

Apartirdaversão2.00,oDriverModbuspassaacontarcomorecursodePartiçãoAutomáticadeBlocos.Comesterecurso,oDriverpassaa gerenciar sozinho a divisão de blocos maiores que os limites doprotocolo. Assim, o usuário não precisa se preocupar em exceder olimitemáximodetamanhodeblocos,poisopróprioDriverseencarregade dividir os blocos nos tamanhos corretos no momento dacomunicação com o equipamento, caso algum Tag Bloco exceda otamanhomáximopermitido.Apartirdaversão2.01,oDriverpassoutambémasuportarLeituraporSuperblocos.Comesterecursohabilitado,ousuárionãoprecisamaisagruparvariáveisemTagsBlocoobjetivandomelhoriadedesempenho,sendo possível usar apenas Tags sem quaisquer prejuízos deperformance. E como o algoritmo de Superblocos já leva emconsideração o tamanho máximo de blocos permitido pelo protocolo,quandoesterecursoforutilizadooDrivertambémnãonecessitausarorecursodePartiçãoAutomática.Nos casos em que, devido à peculiaridades do equipamento (veja otópico Leitura por Superblocos), não seja possível habilitar apropriedade EnableReadGrouping no E3 ou Elipse Power(propriedadequehabilitaosSuperblocos),oucasoseestejautilizandoo antigo Elipse SCADA, que não possui o recurso de agrupamento(Superblocos), é preciso contar com aPartiçãoAutomática deBlocosparaquenãosejanecessárioobservaroslimitesdoprotocolo.

IMPORTANTETantooagrupamentodosSuperblocosnoE3enoElipsePowercomoa Partição Automática de Blocos do Driver requerem que oequipamentosuporteoslimitesestabelecidospeloModbuspadrão(vejaotópicoLimiteMáximoparaoTamanhodosBlocosSuportadopeloProtocolo). Há equipamentos, entretanto, que suportam limitesinferiores. Para que a divisão automática de blocos e o próprioagrupamentodosSuperblocosfuncionenestescasos,apartirdaversão2.03 o Driver permite personalizar o limite máximo suportado para o

PDU (Protocol Data Unit). Para isto, na janela de configurações doDriver, abaModbus, habilite a opção Customize Max. PDU Size econfigure o tamanho máximo de bytes suportado para o PDU peloequipamento.Casooequipamentopossualimitesdiferentesparacadafunção,podesernecessáriorealizaroagrupamentomanualmente(vejaotópicoLeituraporSuperblocos).

O artigoKB-23112 doElipse Knowledgebase apresenta um resumodasquestõesrelativasaoagrupamentodeTagsedimensionamentodeblocosnoDriverModbus,discutidasnesteeemoutrostópicos(vejaostópicosLeituraporSuperblocoseDicasdeOtimização).

EstaseçãodadocumentaçãoajudouvocêaconfiguraresteDriver?

Sim Não

Comentários(opcional):

Restam150caracteres.Contato(opcional):

Limpar EnviarAcessetambémonossoKnowledgebaseparamaioresinformaçõessobrenossosprodutos

Leitura por Superblocos(Agrupamento)

TopoAnteriorPróximo

Apartirdaversão2.01,oDriverpassaasuportarorecursodeLeiturapor Superblocos. Este recurso é suportado pelo E3 e pelo ElipsePower, podendo ser habilitado através da propriedadeEnableReadGrouping do objeto Driver no Organizer. Com estapropriedadeemVerdadeiro,ousuárionãoprecisasepreocuparcomodimensionamentodosblocos.Com este recurso, torna-se possível (e em geral recomendável) criaraplicações contendo apenas Tags simples (Tags PLC no ElipseSCADA) sem prejuízo de desempenho, pois a otimização doagrupamento na leitura é feita automaticamente no momento dacomunicação.A figura a seguirmostra a configuração da propriedadeEnableReadGroupingnoE3ouElipsePower.

PropriedadeEnableReadGrouping

OElipseSCADAnãopossuisuporteaSuperblocos.Ocomportamentoda leituradeTagsnoElipseSCADAé idênticoaodoE3 edoElipse

Power quando a opção EnableReadGrouping estiver configuradacomo Falso. Em ambos os casos, o Driver conta com a PartiçãoAutomática de Blocos, podendo dividir blocos com tamanhossuperioresaolimitedoprotocoloemblocosmenoresnomomentodacomunicação.Nestescasos,ousuárioprecisalevaremconsideraçãooagrupamentoaodefinirosTagsdaaplicação,comoévistomaisadiantenestetópico.

NOTASOagrupamentoautomáticoérealizadocombasenosTagsemadvisedaaplicação.SemprequenovosTagsentrarememadviseousaíremde advise, o algoritmo de Superblocos redefine o agrupamento, ouseja,osSuperblocosaseremlidosdeformaautomática,emtempodeexecução,incluindoapenasosTagsqueestiverememadviseSomente os Tags que utilizarem configuração numérica podem seragrupadas pelo serviço de Superblocos. Os Tags que utilizemconfiguração por Strings não são agrupados pelo serviço deSuperblocos

IMPORTANTETanto o agrupamento dos Superblocos no E3 como a PartiçãoAutomáticadeBlocosdoDriverrequeremqueoequipamentosuporteos limites estabelecidos pelo Modbus padrão (veja o tópico LimiteMáximoparaoTamanhodosBlocosSuportadopeloProtocolo).Háequipamentos, entretanto, que suportam limites inferiores.Para queadivisãoautomáticadeblocoseopróprioagrupamentodosSuperblocosfuncione nestes casos, a partir da versão 2.03, o Driver permitepersonalizar o limite máximo suportado para o PDU (Protocol DataUnit). Para isto, na janela de configurações do Driver, abaModbus,habilite a opção Customize Max. PDU Size e configure o tamanhomáximo de bytes suportado para o PDU pelo equipamento. Caso oequipamento suporte limites diferentes para cada tipo de função, énecessário realizar o agrupamento manual (veja mais adiante nestetópico),observandooslimitesdescritosnadocumentaçãodofabricante.

Identificação de Equipamentos que não SuportamAgrupamentoAutomático(Superblocos)O algoritmo de Superblocos leva em conta os limites e espaços deendereçamentodefinidospeloprotocoloModbuspadrão.Noscasosdeequipamentos que implementem o protocolo Modbus com pequenasvariações,podemsernecessáriasconfiguraçõesavançadasadicionaisparaquesejapossívelutilizarorecursodeSuperblocos,casoseuusosemostreviável.Nestescasos,énecessáriodesabilitaroagrupamentoautomático (propriedade EnableReadGrouping configurada paraFalso), realizando o agrupamento de forma manual. As seguintescondições podem tornar impossível a utilização de Superblocos, ourequererconfiguraçõesavançadasadicionais:

Equipamentos que definem limites máximos de tamanho de blocoinferioresaolimitepadrãodoprotocolo(limitede253bytesparaoPDU).Solução:AjusteaopçãoCustomizeMax.PDUSize,naabaModbus

NOTAHá equipamentos cujos limites de PDU variam conforme a funçãoModbus utilizada. Nesses casos, se for necessário usar funções comlimites diferentes, também é preciso desabilitar os Superblocos(propriedade EnableReadGrouping configurada para Falso),agrupandoosTagsmanualmente(vejamaisadiantenestetópico).

Equipamentos com descontinuidades (intervalos de endereços nãodefinidos intercalados com intervalos válidos) no mapa deregistradores. Solução: Uma vez que é impossível informar aoalgoritmodeSuperblocosquais intervalosnãopodemser inseridosemblocos,emgeralnãoépossívelusarSuperblocos.DesabiliteosSuperblocos (propriedade EnableReadGrouping configurada paraFalso)eagrupeosTagsmanualmente

Equipamentos que não suportam a leitura em blocos. Solução:Desabilite os Superblocos (propriedade EnableReadGrouping

configuradaparaFalso)edefinaTagssimples

Equipamentosquesópermitemadefiniçãodeblocosemendereçospré-determinados e com tamanhos fixos. Solução: Desabilite osSuperblocos (propriedade EnableReadGrouping configurada paraFalso) e defina Tags simples (Tags PLC no Elipse SCADA) ouBlocosdeacordocomoespecificadoparaoequipamento

AgrupamentoManualEm geral, quanto maior for o agrupamento das variáveis em blocos,menoréonúmeroderequisiçõesdeleituranecessáriasparacompletarociclodevarredura(scan)dosTagsdaaplicação,aumentandoassimavelocidade de atualização dos Tags. Por este motivo, se não forpossível usar o agrupamento automático (Superblocos), é preferívelcriar Tags Bloco contendo o maior número possível de variáveis aoinvésdecriarTagssimples(TagsPLCnoElipseSCADA).Noteque,devidoaorecursodePartiçãoAutomáticadeBlocos,nãoénecessário cuidar para que os limites máximos do protocolo sejamexcedidos, desde que o equipamento suporte os limites máximospadrão do protocolo. Se o equipamento não suportar estes limites,mas definir limites fixos, válidos para todas as funções Modbussuportadas,deve-seconfiguraraopçãoCustomizeMax.PDUSize,naabaModbus.Caso o equipamento suporte limites diferentes para cada funçãosuportada, pode ser inviável contar também com o particionamentoautomático.Nestescasos,odesenvolvedordaaplicaçãoprecisa levarem conta os limites do equipamento, e definir seus blocos cuidandopararespeitaresteslimites.Paraoagrupamentomanual,ousodeTiposdeDadosDefinidospeloUsuário pode ampliar as possibilidades de agrupamento, por permitirreunir em um mesmo Tag Bloco variáveis do mesmo espaço deendereçamento,ouseja,umamesmafunçãoModbus,porémcomtiposdedadosdiferentes(aestruturadefinidapodeterelementoscomtiposdedadosdiversos).Paramaisdicas,consulteotópicoDicasdeOtimização.OartigoKB-23112doElipseKnowledgebaseapresentaumresumodasquestõesrelativas ao agrupamento de Tags e dimensionamento de blocos noDriverModbus,discutidasnesteeemoutrostópicos.

EstaseçãodadocumentaçãoajudouvocêaconfiguraresteDriver?

Sim Não

Comentários(opcional):

Restam150caracteres.Contato(opcional):

Limpar EnviarAcessetambémonossoKnowledgebaseparamaioresinformaçõessobrenossosprodutos

ConfigurandoTagsEspeciais TopoAnteriorPróximo

AlémdosTagsdeComunicação,esteDriversuporta tambémalgunsTagsEspeciais que permitem à aplicação acionar recursos que nãoestão relacionadosà leituraeescritadedados.AocontráriodosTagsde Comunicação, os Tags Especiais não referenciam operações doDriver na configuração numérica. Os tópicos a seguir detalham osTagsEspeciaissuportados:

ForçarWaitSilence

LeituradoCódigodaÚltimaExceção

EstaseçãodadocumentaçãoajudouvocêaconfiguraresteDriver?

Sim Não

Comentários(opcional):

Restam150caracteres.Contato(opcional):

Limpar EnviarAcessetambémonossoKnowledgebaseparamaioresinformaçõessobrenossosprodutos

ForçarWaitSilence TopoAnteriorPróximo

Tag Especial utilizado para descartar todos os dados pendentes dacomunicação até encontrar um time-out, indicando que não há maisdadosaseremrecebidos.EstemesmoserviçopodeserconfiguradonaabaModbus,paraocorrersemprequealgumerrodecomunicação fordetectado.ComesteTag,entretanto, é possível executar o serviço a qualquer momento pelaaplicação.EsteTagEspecial éexecutadoatravésdeumcomandodeescritadeTag.Ovaloremsi,escritonoTag,éignorado.

ConfiguraçãoporStringsDispositivo:Nãousado,deve-sedeixarestecampovazio

Item:"ForceWaitSilence"

ConfiguraçãoNuméricaN1:Nãousado,podeserdeixadoemzero

N2:9001

N3:Nãousado,podeserdeixadoemzero

N4:Nãousado,podeserdeixadoemzero

Valor:Nãousado,podeserdeixadoemzero

EstaseçãodadocumentaçãoajudouvocêaconfiguraresteDriver?

Sim Não

Comentários(opcional):

Restam150caracteres.Contato(opcional):

Limpar EnviarAcessetambémonossoKnowledgebaseparamaioresinformaçõessobrenossosprodutos

Leitura do Código da ÚltimaExceção

TopoAnteriorPróximo

Conforme jámencionadonesteManual,osTagsEspeciaispara leituradocódigodaúltimaexceçãosãoutilizadospara leroúltimocódigodeexceçãoenviadoporumdeterminadoequipamentoescravo.Tais códigos são armazenados automaticamente pelo Driver emregistradores internos,quepodemseracessadospormeiodesteTag.Além disto, a cada comunicação bem sucedida com determinadoequipamento onde nenhuma exceção for retornada, o Driver zeraautomaticamenteoregistradorassociado.

CódigosdeExceçãoOscódigosdeexceçãosãousadospelodispositivoescravo(CLP)parainformar uma falha ao executar uma determinada função. Osdispositivosouequipamentosescravosnãoretornamexceçõesnocasode falhas de comunicação, situação em que estes simplesmente nãorespondem.Oscódigosdeexceçãosãoretornadospelosescravosemsituações em que a solicitação do mestre (no caso do Driver) foirecebida com sucesso, porém não pôde ser executada por algummotivo, como por exemplo a tentativa de ler ou escrever em umregistrador inexistente. Neste caso, o código de exceção retornadoindicaotipodeerroocorrido,ouseja,omotivopeloqualarequisiçãodoDriver,emborarecebidacorretamente,nãopôdeserexecutada.AespecificaçãodoprotocoloModbusdefinenovecódigosdeexceção.AlistadeexceçõespadrãodoprotocolopodeserconsultadanotópicoListadeExceçõesPadrãodoProtocolo.Alémdestescódigos,algunsfabricantes definem códigos adicionais, específicos de seusequipamentos.Taiscódigosdevemestardocumentadosnomanualdoequipamento. Caso não estejam documentados, deve-se consultar osuportedofabricante.

ConfiguraçãoporStringsDispositivo:ValornuméricodoIddoequipamento(SlaveId)seguidodedoispontos.Exemplo:"1:","2:","3:",etc.

Item:"LastExceptionCode"

ConfiguraçãoNuméricaB1:Endereçododispositivoescravo(SlaveId)

B2:9999

B3:Nãousado,deveserdeixadoemzero

B4:Nãousado,deveserdeixadoemzeroValoresdosElementosdeBlocoretornados:

Elemento 1 (índice 0): Código da exceção retornada peloequipamento (veja o tópico Lista de Exceções Padrão doProtocolo)Elemento 2 (índice 1): ParâmetroN2/B2 do Tag de Comunicaçãoquegerouaexceção

Elemento 3 (índice 2): ParâmetroN3/B3 do Tag de Comunicaçãoquegerouaexceção

Elemento 4 (índice 3): ParâmetroN4/B4 do Tag de Comunicaçãoquegerouaexceção

Elemento5(índice4):ParâmetroSizedoTagdeComunicaçãoquegerouaexceção

Elemento 6 (índice 5): Parâmetro Dispositivo do Tag deComunicaçãoquegerouaexceção

Elemento7(índice6):ParâmetroItemdoTagdeComunicaçãoquegerouaexceção

UtilizaçãodoTagEspecialAutilizaçãomaiscomumdesteTagduranteoscannormaldosTagsdefunções é através de um eventoOnRead do Tag de exceção. Nestecaso, o script deve antes de tudo rejeitar valores nulos, pois estesindicamonãorecebimentodeexceções.Emseguida,pode-setrataraexceçãoexecutandoosprocedimentosadequados,conformeocódigorecebido.Éumaboapráticazeraroregistradordeexceçãoaosairdoscript,deformaaindicarqueaexceçãojáfoitratada.Vejaoexemploaseguir,escritoemElipseBasic(ElipseSCADA)://EventoOnReaddoTagTagExc//Obs.:Paraesteexemplo,considereTagExc//comleituraeescritaautomáticahabilitadasIfTagExc==0ReturnEndIfIfTagExc==1...//Trataaexceção1ElseIfTagExc==2...//Trataaexceção2Else...//TrataasdemaisexceçõesEndIfTagExc=0//Zeraoregistradordeexceções

A seguir outro exemplo, escrito em VBScript (Elipse E3 e ElipsePower):'EventoOnReaddoTagTagExc'Obs.:Paraesteexemplo,considereTagExc'comleituraeescritaautomáticahabilitadasSubTagExc_OnRead()IfValue=0ThenExitSub

EndIfIfValue=1Then...'Trataaexceção1ElseIfValue=2Then...'Trataaexceção2Else...'TrataasdemaisexceçõesEndIfValue=0'ZeraoregistradordeexceçõesEndSub

Já nas operações de escrita por script, em que seja preciso testar oretorno de exceções logo após o envio do comando, deve-seprimeiramente zerar o registrador de exceções. Isto evita que umaeventualexceçãoprovocadapelocomandodeescritasejaconfundidacom outra pré-existente. Executa-se então a operação de escrita etesta-se o valor do Tag Especial, que deve retornar 0 (zero) casonenhumaexceçãotenhasidorecebida.Casoretorneumvalordiferentede0(zero),pode-seentãotratarapropriadamenteaexceçãorecebida.Vejaoexemploaseguir,escritoemElipseBasic(ElipseSCADA)://Obs:Paraesteexemplo,considereTagExc//comleituraeescritaautomáticahabilitadas//eTagValcomescritaautomáticadesabilitadaTagExc=0//ZeraoregistradordeexceçõesTagVal.WriteEx(10)//Escreveovalor10IfTagExc<>0...//TrataaexceçãoEndIf

A seguir outro exemplo, escrito em VBScript (Elipse E3 e ElipsePower):

'Obs:Paraesteexemplo,considereTagExc'comleituraeescritaautomáticahabilitadas'eTagValcomescritaautomáticadesabilitada'ZeraoregistradordeexceçõesApplication.GetObject("Tags.TagExc").Value=0'Escreveovalor10Application.GetObject("Tags.TagVal").WriteEx(10)IfApplication.GetObject("Tags.TagExc").Value<>0Then...'TrataaexceçãoEndIf

NOTAEste Tag Especial retorna, além do código da exceção (retornado noElemento zero), também os parâmetros do Tag cuja comunicaçãoprovocouaexceção.Casoestas informaçõesnão sejamnecessárias,pode-seperfeitamenteleromesmoregistroatravésdeumTagsimples(Tag PLC noElipseSCADA), sem necessidade de usar Tags Bloco.Nestecaso,osprocedimentosrecomendadospermanecemosmesmos.

EstaseçãodadocumentaçãoajudouvocêaconfiguraresteDriver?

Sim Não

Comentários(opcional):

Restam150caracteres.Contato(opcional):

Limpar EnviarAcessetambémonossoKnowledgebaseparamaioresinformaçõessobrenossosprodutos

LeituradeMemóriadeMassa TopoAnteriorPróximo

EsteDriverpermitedefinir,nasoperações,funçõesespeciaisdeleiturapara a coleta de memória de massa de dispositivos escravos. Taisfunções não existem no protocolo, e implicam no uso de algoritmosespecíficos de leitura de eventos dos equipamentos, que podemeventualmente ler ou escrever em diversos registros, utilizando-se deumaoumaisfunçõesdoprotocolo.

LeituraporCallbacksApartirdaversão2.08,esteDriverpassoua implementara leituraporcallbacks,recursodisponívelnoE3(apartirdaversão3.0)enoElipsePower, queotimizaodesempenhode leiturasdememóriademassa.Comesterecursodisponível,aaplicaçãodelegaaoDriveravarredurados Tags de leitura de eventos de memória de massa. Em outraspalavras, a aplicação não precisa mais interrogar constantemente oDriver a cada período de varredura.Ao invés disto, oDriver realiza averificaçãodenovoseventosnoequipamentoecoletaeventossempreque estiverem disponíveis, tomando a iniciativa de enviá-los àaplicação.

FunçõesEspeciaisparaLeituradeMemóriadeMassaNa atual versão do Driver, as seguintes funções de leitura desequênciasdeeventos(SOE)sãosuportadas:

GESOE:RealizaacoletadeeventosdeCLPsGEPACRX7.Paramais informações,consulteo tópicoLeituradeBufferdeEventosemControladoresGEPACRX7SPSOE:Coletaeventosde relésSchneiderElectricSEPAMséries20, 40 e 80. Paramais informações, consulte o tópicoLeitura deEventosdeRelésSchneiderElectricSEPAM20,40e80GenSOE: Esta função usa o algoritmo genérico criado pelaElipseSoftware,oElipseModbusSOE,quepodeserusadopelamaioriados controladores programáveis. Exige a criação de procedimentoanálogo na programação do CLP (ladder). Para mais informações,consulteotópicoAlgoritmodeLeituradeSOEGenéricodaElipseSoftware65 03: Função especial para a leitura de eventos de memória demassa de medidores ABB MGE 144. Para mais informações,consulteo tópicoLeituradeRegistrosdaMemóriadeMassadeMedidoresABBMGE144

EstaseçãodadocumentaçãoajudouvocêaconfiguraresteDriver?

Sim Não

Comentários(opcional):

Restam150caracteres.Contato(opcional):

Limpar EnviarAcessetambémonossoKnowledgebaseparamaioresinformaçõessobrenossosprodutos

Leitura de Buffer de Eventos emControladoresGEPACRX7

TopoAnteriorPróximo

Obufferdeeventospodeser lidoatravésde três tiposdeTags:Tagsreportadosporeventos,TagsreportadosporeventosporpontoeTagsdetemporeal.

TagsReportadosporEventosOsTagsreportadosporeventosretornam,acadaoperaçãode leitura,todososeventosacumuladosnobuffer internodoDriver,podendoserconfiguradosporStringsounumericamente.

ConfiguraçãoporStringsDispositivo:"<SlaveId>:"

Item:"gesoe0.<endereçobasedapilhadeeventos>"

ConfiguraçãoNuméricaPara a leitura do buffer de eventos do GE PAC RX7 usando aconfiguraçãonumérica,deveserdefinida,najaneladeconfiguraçãodoDriver, uma operação que use como função de leitura a funçãoespecialGESOE.OtipodedadosdeveserdefinidocomoGE_events.

B1:SlaveID

B2:CódigodaoperaçãodefinidacomafunçãoGESOE

B3:0(zero)

B4:EndereçobasedapilhadeeventosnoCLPAcadascannesteTag,oDriververificaseexistemeventosnobufferdocontrolador.Sehouvereventos,oDriveriniciaumathreaddeleituradeeventos, que é executada em segundo plano, não bloqueando avarredura dos demais Tags. Após o término da leitura do buffer peloDriver, este Tag reportado por eventos retorna o conjunto de eventoslidosnavarredura.OseventosretornadosgeramumasucessãodeeventosOnReadnesteTag.Paracadaeventolido,oE3atualizaoscamposdoTag(valoresdeElementose timestamp)comosvaloresdeumdeterminadoevento,eexecutaumavezoeventoOnRead.Oscriptdoeventoexecutadodeveserdefinidopelousuário,sendogeralmenteusadoparainserirosdadosdoTagnoHistórico.Cadaevento é representado por umBloco de doisElementos, comocampoTimestamplidodoequipamento.OscamposdorespectivoTagBlocodeleiturasãomostradosnatabelaaseguir.

CamposdoTagBloco

OFFSET SIGNIFICADO TIPODEDADOS FAIXADEVALORES0 Identificaçãodoponto Byte Entre0e15

1 Statusdoponto Byte Entre0e1

Paramais informações sobre Tags reportados por evento, consulte o

tópicoespecíficonoManualdoUsuáriodoE3.

IMPORTANTEAolereventosdememóriademassaemTagsreportadosaeventosnoE3, desabilite a banda morta do Tag (propriedade EnableDeadBandconfigurada para Falso) e também do objeto Histórico associado(propriedadeDeadBand igual a zero), paraevitaraperdadeeventoscomvalorespróximos.Tambéméimportantedesabilitarohistóricoporvarredura (no E3, propriedade ScanTime igual a zero). Com isto,garante-sequenovoseventossósãoarmazenadosatravésdométodoWriteRecord, executado no evento OnRead do Tag, evitando aduplicaçãodeeventos.

TagsReportadosporEventosporPontoApartirdaversão2.5doDriverépossívelutilizarumnovoTagparaodownloaddeeventosdeumpontoespecífico.Este Tag funciona de forma idêntica ao anterior, exceto pelo fato deretornarapenasoseventosdeumpontoespecífico.Aocontráriodoanterior,ovalorretornadopossuiapenasumElementocomovalordostatusdoponto,de formaquepode-seutilizarapenasumTag.EsteTagdeveserconfiguradodaseguinteforma:

ConfiguraçãoporStringsDispositivo:"<SlaveId>:"

Item: "gesoe<200 + Índice do ponto>.<endereço base da pilha deeventos>"

ConfiguraçãoNuméricaN1:SlaveID

N2:CódigodaoperaçãodefinidacomafunçãoGESOE

N3:200+Índicedoponto(porexemplo,paraoponto2,configureN3como202)

N4:EndereçobasedapilhadeeventosnoCLPParamais informações sobre Tags reportados por evento, consulte otópicoespecíficonoManualdoUsuáriodoE3.

TagsdeTempoRealEstes Tags retornam o evento mais recente já lido para um pontoespecífico. Estes eventos são armazenados na memória interna doDriver a cada leitura de eventos do CLP, com seus respectivostimestamps lidos do equipamento. Este Tag utiliza os seguintesparâmetros:

ConfiguraçãoporStringsDispositivo:"<SlaveId>:"

Item: "gesoe<100 + Índice do Ponto>.<endereço base da pilha deeventos>"

ConfiguraçãoNuméricaN1:SlaveID

N2:Códigodaoperação

N3:100+Índicedoponto

N4:EndereçobasedapilhadeeventosnoCLP

Valor:Statusdoponto

EstaseçãodadocumentaçãoajudouvocêaconfiguraresteDriver?

Sim Não

Comentários(opcional):

Restam150caracteres.Contato(opcional):

Limpar EnviarAcessetambémonossoKnowledgebaseparamaioresinformaçõessobrenossosprodutos

LeituradeEventosdeRelésSchneiderElectricSEPAM20,40e80

TopoAnteriorPróximo

Paraa leiturade relésSEPAM,omodelodeoffsetdeendereçamentodeve ser configurado como Data is addressed from 0, na abaModbus.AleituradeeventosérealizadacomautilizaçãodedoistiposbásicosdeTags:

Tag de coleta de todos os eventos da tabela (obrigatório):Realizaacoletadetodososeventosdatabeladeumadeterminadazonanamemóriadoequipamento.EsteTag,alémderetornartodososeventoslidosàaplicaçãoreportadosaevento,aindaacumulaoseventos lidos no buffer interno do Driver, para serem retiradosatravésde leiturasnosTagsde leituradeeventoúnico,descritosaseguir

Tag de leitura de evento único (opcional): Retorna eventosrecebidos do relé especificado, com determinado endereço, tipo ezona.EsteTagnãorealizaaleituradiretadoequipamento,massimretornaoseventosdobuffer internodoDriver,alimentadodurantealeituradoTagdecoletadetodososeventos,descritoanteriormente,ouseja,paraquesejapossívellereventoscomestetipodeTag,umTagdotipoColetadetodososeventosdevejáestarpreviamenteativo,comsuavarredura(scan)habilitada.EsteTagéútilquandoousuárioprecisaobtereventosdeumtipoedeumafonteespecíficas(relé, zona, endereço e tipo). Um exemplo de utilização é aassociação a objetos de Tela, mostrando o status de determinadoendereço de evento. Embora este Tag retorne as mesmasinformaçõesjáretornadaspeloTaganterior,seuusopoupaousuáriodeterqueimplementarfiltros,cláusulasSelectCaseemVBScriptoualgum outro método para separar os diversos tipos de eventosretornadospeloTagdecoletadetodososeventosporscriptnaaplicação

A aplicação deve necessariamente implementar um Tag de coleta detodososeventosparacada tabelaouzonadeeventosasercoletadaemcadarelé,poisédurantealeituradesteTagqueoseventosdefato

são coletados do equipamento. A seguir é descrita a configuraçãodestesdoisTags.

Tag de Coleta de Todos os Eventos da Tabela (Zona deEventos)EsteTagé reportadoa eventos.Suaaplicação típica é a inserçãodeeventos em um objeto Histórico associado, através do métodoWriteRecord do Histórico, executado no evento OnRead do Tag. Acadaleitura,ouseja,acadaperíododevarreduradoTag,oDriverpodecoletar até quatro novos eventos do equipamento. Este é o númeromáximodeeventos que cada zonadeeventosdo relé dispõea cadarequisiçãodeleitura.Como é durante a leitura deste Tag que os eventos são de fatocoletados do equipamento, mesmo que seus dados não sejamutilizados diretamente, ou seja, mesmo que não seja precisoarmazenar todos os eventos coletados em Histórico, suaimplementação é obrigatória para que os Tags de evento únicopossamretornardados.OTagdecoletadetodososeventosdeveserconfigurado como um Tag Bloco com três Elementos, da seguinteforma:

ConfiguraçãoporStringsDispositivo:"<SlaveId>:"

Item:"spsoe<ZonaouTabeladeEventos(1ou2)>"

Exemplo:ParaaleituradaZona1doEscravo1,Dispositivoéiguala"1:"e Itemé iguala "spsoe1".Alternativamente,Dispositivopodeserigual a "" (String vazia) e Item igual a "1:spsoe1" (veja o tópicoConfiguraçãoporStrings).

ConfiguraçãoNuméricaPara usar a configuração numérica deve ser definida, na abaOperations, umaoperaçãoqueusecomo funçãode leituraa funçãoespecialSPSOE.O tipo de dados é definido automaticamente comoSP_events,assimqueafunçãodeleituraSPSOEéselecionada.

B1:1000+Endereçodoescravo(relé)narede(entre1e247)

B2: Código da operação configurada com a função de leituraespecialSPSOEB3:0(zero)

B4:Zonaoutabeladeeventos(1ou2)A tabelaaseguirdescreveosignificadodos trêsElementosdeBloco,quetêmseusvaloresretornadoscomoreportadosaeventos.SignificadosdosElementosdeBloco(tipodedadosSP_events)

OFFSETSIGNIFICADO TIPODE

DADOS

FAIXADEVALORES

0 TipodeeventoWord De 0 a 65535 (800H para RemoteAnnunciation,InternalDataeLogicInput)

1 Endereço doevento

Word Referencia endereços de bits de1000Ha105FH

2 Borda desubida ou dedescida

Word 00:Bordadedescida01:Bordadesubida

Paramais informaçõessobreTagsreportadosaeventos,vejaotópicoTagsReportadosaEventosdoManualdoUsuáriodoE3.

IMPORTANTE

AolereventosdememóriademassaemTagsreportadosaeventosnoE3, desabilite a banda morta do Tag (propriedade EnableDeadBandconfigurada para Falso) e também no objeto Histórico associado(propriedadeDeadBand igual a zero), paraevitaraperdadeeventoscomvalorespróximos.Tambéméimportantedesabilitarohistóricoporvarredura (no E3, propriedade ScanTime igual a zero). Com isto,garante-sequenovoseventossósãoarmazenadosatravésdométodoWriteRecord, executado no evento OnRead do Tag, evitando aduplicaçãodeeventos.

TagdeLeituradeEventoÚnicoEsteTagé tambémreportadoaeventos,sendopossível tambémusarseueventoOnReadparaarmazenamentoemHistórico.Notequenadaimpede,entretanto,queeleseja tratadocomoumTagnormal (Tagdetempo real), caso só interesse o seu valor mais recente. Como esteDriver apenas lê um buffer interno, sugere-se definir um tempo devarredurabembaixo,atémenorqueodooutrotipodeTag.OconsumodeCPUdecadavarredurapodeserconsideradodesprezível.Sugere-se a metade do período de varredura do Tag de coleta de todos oseventos.Como já comentado, este Tag é utilizado para obter o status dedeterminado endereço de evento, sem precisar separar ou realizarfiltros nos eventos que chegam pelo Tag anterior, por script ou outromeio.UmaaplicaçãotípicaseriaaassociaçãoaobjetosdeTela.OTagdeleituradeeventoúnico,comojámencionado,nãofazaleiturade eventos do equipamento,mas sim de umbuffer interno doDriver,previamentepreenchidodurantealeituradoTagdecoletadetodososeventos. O Tag retorna apenas um Elemento, reportado a eventos,podendo ser configurado como Tag simples (não precisa ser um TagBloco).ODriveraceitanomáximooitoeventosacumuladosporpontode evento, ou seja, para cada combinação de relé, zona, tipo eendereçodoevento,emseubufferinterno.Seocorreroverflow,ouseja,semaisdeoitoeventosdeummesmopontoforemretornadossemquenenhumTagdeeventoúnicooscolete,oDriverpassaadescartaroseventosmaisantigos.Aconfiguraçãoadequadadotempodevarredurapodeevitaraperdadeeventos.

DICARecomenda-seconfiguraravarredura(scan)dosTagsdeeventoúnicocomumvalorequivalenteàmetadedoconfiguradoparaoTagdecoletadetodososeventosassociado,evitando-seassimaperdadeeventosporoverflowdobufferinternodoDriver.

Deveserconfiguradocomosseguintesparâmetros:

ConfiguraçãoporStringsDispositivo:"<SlaveId>:"

Item: "ptspsoe<Tipo do evento (0800H por padrão)>.<Event bitaddress+Eventszoneoffset*(vertabelaaseguir)>"

Exemplo:Paraaleituradeeventosdotipo800Hnoendereço1dazona2, Dispositivo deve ser igual a "1:" e Item deve ser igual a"ptspsoe&h800.&h8001".Alternativamente,Dispositivopodeseriguala""eItemiguala"1:ptspsoe&h800.&h8001"(vejaotópicoConfiguraçãoporStrings).

ConfiguraçãoNuméricaN1:Endereçodoescravo(relé)narede(entre1e247)

N2:Código da operação configurada com a função especialSPSOEN3:Tipodoevento (0800Hporpadrão, segundodocumentaçãodofabricante)

N4:Endereçodoevento (Event bit address) +Events ZoneOffset,conformedescritonatabelaaseguir

Opçõesparaoendereçodoevento(EventsZoneOffset)

ZONADEEVENTOS EVENTSZONEOFFSET1 0

2 8000H(8000emhexadecimal)

Exemplos:

EndereçodoEvento:102FH,ZonadeEvento=1®N4=102FH+0=102FH

EndereçodoEvento:102FH,ZonadeEvento=2®N4=102FH+8000H=902FH

NOTAPara representar valores em formato hexadecimal noElipseE3 e noElipsePower,deve-seusaroprefixo"&H"(porexemplo,&H10=16).NoElipseSCADA, use o sufixo "h" (por exemplo, 10h = 16). NesteManual, entretanto, é usado o sufixo "H" para denotar valores noformatohexadecimal.

Valor:Retornaa bordade subidaoudescida, conformea tabela aseguir

OpçõesdisponíveisparaValor

VALOR SIGNIFICADO00 Bordadedescida

01 Bordadesubida

Timestamp:ApropriedadeTimestamp representa a data e a horaemqueoeventofoidefatolidodorelé,durantealeituradoTagdeleituradetodososeventosdescritoanteriormente

Paramaioresinformaçõessobreoseventosdorelé,seussignificadoseendereçamento, consulte a documentação do fabricante. Para maisinformações sobre Tags reportados a eventos, veja o tópico TagsReportadosaEventosdoManualdoUsuáriodoE3.

EstaseçãodadocumentaçãoajudouvocêaconfiguraresteDriver?

Sim Não

Comentários(opcional):

Restam150caracteres.Contato(opcional):

Limpar EnviarAcessetambémonossoKnowledgebaseparamaioresinformaçõessobrenossosprodutos

Algoritmo de Leitura de SOEGenéricodaElipseSoftware

TopoAnteriorPróximo

OprotocoloModbusnãodefineummétodopadrãodeleituradeeventosdo equipamento. Por este motivo, é comum fabricantes criarem seusprópriosalgoritmosdeleituradeeventosemequipamentoscomsuporteaoprotocoloModbus.O algoritmo de Sequenciamento de Eventos (SOE, Sequencing ofEvents) genérico desteDriver (ElipseModbusSOE) foi desenvolvidopelaElipseSoftwarecomoobjetivodeproverumaalternativapadrãopara a leitura de eventos de controladores programáveis que nãocontemcomesterecursodeformanativa,desdequeestesatendamaalguns requisitos básicos de espaço de memória e recursos deprogramação, permitindo criar as tabelas e registros de controledescritosaseguir.Este algoritmo permite armazenar e ler eventos de praticamentequalquer controlador programável, de forma otimizada, valendo-se derecursosjáimplementadosevalidadosnoDriverModbus.A leituradeeventosnoDriverModbus segueoprocedimentopadrão,definidopelaElipseSoftware,lendoeventosdetabelasmontadasnamemória do CLP ou de dispositivos escravos pelo seu softwareresidenteouaplicativo(ladder).Para utilizar este algoritmo é preciso definir Tags com a funçãoespecialGenSOEdoDriver,oquepodeserrealizadotantoatravésdaantiga configuração numérica (parâmetros N e B) como pelo novométododeconfiguraçãoporStrings (camposDispositivoe Item).AconfiguraçãodosTagsédescritamaisadiantenotópicoProcedimentodeAquisiçãonaAplicação.Duranteoprocessodeleituradeeventos,afunçãoespecialGenSOEusasemprea funçãoModbus03 (ReadHoldingRegister) para leiturade registros do equipamento. Já para a escrita na atualização dosregistros de controle, é usada por padrão a função16 (WriteMultipleRegisters).Naconfiguraçãonuméricaépossívelselecionarafunçãodeescrita06 (WriteSingleRegisters), parao caso rarodeequipamentos

quenãosuportemafunção16(ocontrárioémaiscomum),atravésdocampoWritedaoperação,naabaOperations.O software residente do CLP (ladder ou equivalente) deve manteratualizadosos registradoresdecontroleque fornecem informaçõesaoDriver, como o número de eventos disponíveis para a leitura e oendereçodoúltimoregistroaler.O equipamento pode manter mais de uma tabela de eventos, emdiferentesendereçosdememória,contendo tiposdedadosdiferentes.Cada tabeladeveserprecedidapelosseus respectivos registradoresdecontrole,emendereçosadjacentes.Atabelaemsiéconstituídaporumbuffercircularemendereçoscontíguos,acumulandooseventosoudados a serem coletados pelo Driver a cada procedimento de coleta(downloaddeeventos).Ousuáriopodedefinirformatosdistintosdedados(eventos)paracadauma das tabelas definidas, os quais são geralmente definidos comouma estrutura de dados, podendo conter o campo de estampa detempodoevento(timestamp).OseventospodemtambémserdefinidosusandoumtipodedadosnativodoDriver.Nestecaso,nãoépossíveldefinirumcampoTimestampnoCLP(otimestampvemcomadatadaleitura),eoeventotemsomenteumcampo,podendoserrepresentadoporumTagsimples(TagPLCnoElipseSCADA).

NOTAOalgoritmodeSOEsempreusaafunção03(ReadHoldingRegisters)doprotocoloModbusparaaleituraderegistrosdoequipamento.Paraaescrita de registros é usada por padrão a função 16 (Write MultipleRegisters). Também é possível selecionar a função 06 (Write SingleRegister)naconfiguraçãonuméricaapenas,atravésdocampoWritedarespectivaoperação,naabaOperations.

Os tópicos a seguir descrevem de forma detalhada o algoritmo, suaimplementaçãonosoftwaredoCLP(ladder)ecomorealizarsualeiturausandoosTagsdoDriver:

TabeladeEventos

ProcedimentodeAquisiçãonoCLP

ProcedimentodeAquisiçãonaAplicação

EstaseçãodadocumentaçãoajudouvocêaconfiguraresteDriver?

Sim Não

Comentários(opcional):

Restam150caracteres.Contato(opcional):

Limpar EnviarAcessetambémonossoKnowledgebaseparamaioresinformaçõessobrenossosprodutos

TabeladeEventos TopoAnteriorPróximo

Como já mencionado no tópico Algoritmo de Leitura de SOE Genérico daElipse Software, cada tabela de eventos mantém os eventos em umcircular.Obuffercirculardecada tabelaédefinidopeloseuendereço inicial,ouendereçobase,contíguoaosregistradoresdecontrole,eporseunúmeromáximoderegistros,quedefineseulimitefinal.Atabelaaseguirilustraadisposiçãodoseventosdentrodobuffercirculardeumatabela.

Disposiçãodeeventosdobuffercircular

EVENTOTIMESTAMPELEMENTO1ELEMENTO2ELEMENTO3 ... ELEMENTON1

2

3

4

5

...

N

Cada linha da tabela anterior representa um evento armazenado, normalmenterepresentadoporumaestrutura,ouporTiposdeDadosDefinidospeloUsuárioNote que, no exemplo da tabela anterior, o primeiro elemento da estrutura doseventoséotimestamp.Estecampo,cujapresençanãoéobrigatória,equenãonecessariamente precisa aparecer na primeira posição, define a propriedadeTimestamp do Tag, não sendo retornado em seus Elementos (para maisinformações,vejaotópicoTiposdeDadosDefinidospeloUsuário).É possível também definir eventos com tipos de dados nativos do Driverneste caso tem-se apenas um Elemento de dado em cada evento, semtimestamp.Os eventos devem ser inseridos no buffer circular em ordem crescente,retornandoaoendereçobaseapósatingiro limitesuperiordobuffercircular.Osseguintesregistrosdecontroledevemserdefinidosparacadatabela:

Statusdatabela:DevesermantidopeloCLP,indicandoonúmerodeeventosdisponíveisparaaleituranobuffercircular.Deveseratualizadopelodispositivosempre que novos eventos forem adicionados ao buffer circular, ou após aconclusãodacoletadeeventospelaaplicação,oquepodeserdetectadopeloStatusdaaquisiçãoPonteirodegravação:Estevalorindicaoíndice,começandoem0(zero),daposição onde o dispositivo deve inserir o próximo evento. Deve serincrementado pelo dispositivo a cada nova inserção de eventos nocircular,voltandoaoendereçobaseapósalcançaro limitesuperiordoNote que este valor não deve ser fornecido em unidades de registradoresModbus,massimemposiçõesdeeventos,devendoserincrementadoemumaunidade a cada novo evento inserido, independente do número deregistradoresModbusocupadosparacadaeventonobuffercircular.Comisto,o valor máximo permitido para este ponteiro pode ser dado pela fórmulaMaxWritePtr = (Tamanho do buffer circular / Tamanho da estrutura deevento)-1Statusdaaquisição:IndicaonúmeroderegistrosjálidospeloDriveracadaleituraindividualdeeventos.Apóscadaleitura,oDriverescrevenesteregistroo número de registros que conseguiu ler. O aplicativo residente no escravo(ladder) deve então imediatamente subtrair o valor escrito pelo Driver doStatusdatabelaeentãozeraroStatusdaaquisiçãoReservado:Este registrador atualmentenãoéutilizado.Pode ser usadoemfuturasversõesdoDriver,podendoserdeixadoem0(zero)naversãoatual

Conformejámencionado,oendereçobasedobuffercircular,ouseja,oendereçoondeiniciaatabeladeeventos,devesercontíguoaosregistradoresdecontrole.Já os registradores de controle devem estar dispostos também em endereçoscontíguos,naordemapresentadaanteriormente,permitindosua leituraemumaúnicaoperação,ouseja,supondo-sequeoendereçobasedosregistradoresdecontroleparaumadeterminada tabelaseja100, tem-seosseguintesendereçosparaosdemaisregistradores:

Endereçosderegistradores

REGISTRADOR ENDEREÇOStatusdaTabela 100

PonteirodeGravação 101

StatusdaAquisição 102

Reservado 103

EndereçoBasedoBufferCircular 104

No tópico Procedimento de Aquisição no CLP é descrito passo a passo oprocedimento ou algoritmo de aquisição sob o ponto de vista do equipamentoescravo(CLP).Notópicoseguinte,ProcedimentodeAquisiçãonaAplicaçãodiscute-secomoconfiguraraaplicaçãoparaaaquisiçãodoseventosdatabela.

EstaseçãodadocumentaçãoajudouvocêaconfiguraresteDriver?

Sim Não

Comentários(opcional):

Restam150caracteres.Contato(opcional):

Limpar EnviarAcessetambémonossoKnowledgebaseparamaioresinformaçõessobrenossosprodutos

Procedimento de Aquisição noCLP

TopoAnteriorPróximo

Nestetópicodiscute-seoalgoritmodecoletadeeventossobopontodevista do CLP ou dispositivo escravo. O objetivo é deixar claro aodesenvolvedoroqueéprecisoserimplementadonosoftwareresidentedoCLP(ladder).Odispositivodeveiniciarainserçãodoseventosnosentidocrescente,apartirdoendereçobasedatabela,ouseja,dobuffercircular.Acadanovoevento inserido,oPonteirodeGravaçãodeveser incrementado,passandoaapontarparaapróximoposiçãodisponíveldobuffer.ODriverrealizaaleituradoeventomaisantigoparaomaisrecente.OendereçodoiníciodaleituraécalculadopeloDriveratravésdovalordoPonteirodeGravaçãoedoStatusdaTabela.Seonúmerodeeventosdisponíveisformaiorqueomáximopermitidoem um único frame de comunicação do protocolo, o Driver realizamúltiplasleiturasembloco,atualizandoapósaconclusãodoprocessoovalordoStatusdaAquisiçãocomonúmerototaldeeventoslidos.

NOTACasooequipamentonãorespeiteo limitepadrãode253bytesparaoPDU,éprecisoconfiguraraopçãoCustomizeMax.PDUSize,naabaModbus, de acordo com os limites suportados, que devem estardescritosnadocumentaçãodofabricante.

Ao detectar um valor não nulo escrito pelo Driver no Status daAquisição, o aplicativo do dispositivo ou CLP deve imediatamentesubtrairovalordoStatusdaAquisiçãodovalordoStatusdaTabelaeem seguida zerar o Status da Aquisição. Com o Status da Aquisiçãonovamente zerado, o Driver pode iniciar nova aquisição a qualquermomento.O CLP pode inserir novos eventos na tabela durante o processo deaquisiçãopeloCLP,desdequenãoocorraoverflowdobuffercircular,ou

seja, desde que o ponteiro de escrita não ultrapasse o de leitura,incrementandooStatusdaTabela.Oprocedimentodecoletaoudownloaddeeventoséconcluídoquandoo Status da Tabela for zerado. Os eventos coletados são entãodisponibilizados à aplicação por meio de Tags reportados a evento,procedimentovistonotópicoaseguir.A seguir é apresentado um pequeno fluxograma, em formato deDiagramadeAtividadeUML, com sugestão de implementação para alógica do CLP. Note que são possíveis algumas variações, como porexemplo descartar o evento mais antigo em caso de overflow, quepodemseravaliadaspelodesenvolvedor,dependendodocontexto.

DiagramadeAtividadeUML(CLP)

EstampadeTempoConforme jámencionado, cada evento é composto por uma estruturacontendo um ou mais elementos de dados (geralmente, porém nãonecessariamente, representados porTiposdeDadosDefinidospeloUsuário).Se foremusadasestruturas (tiposdedadosdefinidospelousuário), épossível associar a cada evento uma estampa de tempo (timestamp)fornecidapeloCLP.Nestecaso,ovalordocampoTimestampdeveserfornecidoemumcampodaestrutura,namemóriadoCLP,naordememqueédeclaradonoarquivodeconfiguração,eseuvalornãoémostradoem nenhum Elemento de Bloco, sendo retornado apenas napropriedadeTimestampdoTagassociado.Conforme explicado no tópico Tipos de Dados Definidos peloUsuário,qualquer tipodedadosdedataehorasuportadopeloDriverpode ser usado. O tipo de dados GenTime, entretanto, foi criadoespecialmenteparausocomoElipseModbusSOE,devidoàfacilidadededefiniçãonosoftwareresidente(ladder)doCLP.Casonãosejanecessáriaumaprecisãodemilissegundos,outraopçãoaconsideraréotipodedadosUTC32doDriver,representadocomouminteiro de apenas 32 bits (quatro bytes) com os segundos desde1/1/1970,semarepresentaçãodosmilissegundos,consideradoscomo0(zero).No tópico seguinte, Procedimento de Aquisição na Aplicação,descreve-secomoconfigurarosupervisórioparaacoletadoseventosacumuladosnoCLPoudispositivoescravoprogramável.

EstaseçãodadocumentaçãoajudouvocêaconfiguraresteDriver?

Sim Não

Comentários(opcional):

Restam150caracteres.Contato(opcional):

Limpar EnviarAcessetambémonossoKnowledgebaseparamaioresinformaçõessobrenossosprodutos

Procedimento de Aquisição naAplicação

TopoAnteriorPróximo

Neste tópico é detalhada a configuração da aplicação do supervisóriopara a aquisição dos eventos acumulados no CLP ou dispositivoescravoprogramável.AleituradoseventosnosupervisórioérealizadapormeiodeTagsqueusama funçãoespecial de leituraGenSOE.O tipo de dados doTagdefineaestruturadoseventosarmazenadosnatabeladoequipamento.SefordefinidoumtipodedadosnativodoDriver(built-intype),cadaevento temapenasumelementodeste tipodedados, sem timestampfornecidopeloCLP(o timestamp representaomomentodacoletadoseventos). Por outro lado, se foremusados tipos de dados definidospelousuário, é possível definir estruturas para os eventos, incluindotimestamps,comovistomaisadiantenestetópico.AseguirédescritaaconfiguraçãodosTagstantonanovametodologiade configuração por Strings (camposDispositivo e Item), como naantigaconfiguraçãonuméricadoElipseSCADA(parâmetrosNeB).

ConfiguraçãoporStringsDispositivo:"<SlaveId>:"

Item:"elsoe<N>.<end.inicial>[.<tipo>[<tam.dotipo>]][.<byteorder>][/bit]"

Onde:

N:Tamanhodatabelanodispositivo,emnúmeromáximodeeventoscomportados

end. inicial: Endereço do primeiro registro de controle, usando ovalordefinidonatabelaexemplodotópicoTabeladeEventostipo: Tipo de dados nativo ou do usuário usado para cada evento(vejaotópicoConfiguraçãoporStrings)tam. do tipo: Usado apenas para tipos de dados de tamanhovariável(vejaotópicoConfiguraçãoporStrings)byte order: Ordenamento de bytes. Deve ser omitido paraequipamentosqueseguemplenamenteopadrãodoprotocolo(vejaoitem Byte Order no tópico Configuração por Strings para maisinformações). Quando são usadas estruturas, afeta apenas seuselementosindividuais(vejaotópicoTiposdeDadosDefinidospeloUsuário)bit:Mascaramento de bits. Em geral pode ser omitido, dificilmenteseria usado aqui (veja o campo Bit no tópico Configuração porStrings)

Exemplo:

Dispositivo:"1:"

Item:"elsoe150.&h101.TYPE3"

O tipoTYPE3 está definido da seguinte forma no arquivo padrão deexemplo do Driver (veja o tópico Tipos de Dados Definidos pelo

Usuário)://ThistypehasanUTC32-typetimestamp//andafewnamedelementsstructTYPE3{DefaultAddress=0x101;timestamp=UTC32;floatVa;floatVb;floatVc;floatIa;floatIb;floatIc;}

Trata-se,portanto,deumtipodedadosEstruturacomseiscamposdedados e timestamp. Daí deduz-se que o Tag deve ser umBloco comseisElementospararepresentaraestrutura.Noteque,conforme jáexplicado,ovalordo timestamp,emboraocuperegistrosnoCLP,nãonecessitadeElementosdeTagBloco,pois seuvaloréretornadonocampotimestampdoTag.

NOTAO parâmetroN informa o tamanho da tabela em númeromáximo deeventos suportados, e não em registrosModbus. Em conjunto com oparâmetroEndereço Inicial, informa indiretamente o endereço final oulimite superior da tabela. O tamanho da área de dados da tabela,portanto, em número de registros Modbus, é o produto de N pelotamanhodecadaeventoemnúmeroderegistrosModbus,ouseja,emWordsde16bits.

ConfiguraçãoNumérica(ParâmetrosNeB)Para configurarTagsde leitura deElipseSOEusandoa configuraçãonumérica, é necessário configurar uma operação naabaOperations,usandoafunçãoespecialGenSOE.AfiguraaseguirmostraumexemplodeadiçãodeoperaçãoutilizandoafunçãoespecialGenSOEcomotipodedadosWord.

FunçãoespecialGenSOENoteque foi selecionadaa função16 (WriteMultipleRegisters) comofunçãodeescrita,queéafunçãomaiscomum.Noentanto,recomenda-se o uso da função 06 (Write Single Register) sempre que ela forsuportadapeloequipamento.A figura a seguir mostra a mesma operação com o tipo de dadosdefinidopelousuárioTYPE3(vejaotópicoTiposdeDadosDefinidospelo Usuário), que é um tipo de dados definido no arquivo deconfiguração exemplo, disponível com o Driver e que é usado como

exemplonestetópico.

ConfiguraçãocomafunçãoGenSOEeumtipodedadosdefinidopelousuário

OtipodedadosTYPE3estádefinidodaseguinte formanoarquivodeexemplodoDriver:

//ThistypehasanUTC32-typetimestamp//andafewnamedelementsstructTYPE3{DefaultAddress=0x101;timestamp=UTC32;floatVa;floatVb;floatVc;floatIa;floatIb;

floatIc;}

Trata-se,portanto,deumtipodedadosEstruturacomseiscamposdedados e timestamp, e com endereço padrão (parâmetro B4 do Tag)igual a "101H" (257emdecimal).Para sua leitura, portanto, éprecisodefinirumTagBlocodeseisElementoscomaseguinteconfiguração:

B1:Endereçododispositivoescravo(CLP)narede(SlaveId)

B2: 8 (operação definida anteriormente com a função especialGenSOE)B3: N (tamanho da tabela no dispositivo, em número máximo deeventoscomportados)

B4: 100 (endereçodoprimeiro registro de controle, usandoo valordefinidonatabelaexemplodotópicoTabeladeEventos)Size:6

NOTAOparâmetroB3 informao tamanhoda tabelaemnúmeromáximodeeventos suportados, e não em registrosModbus. Em conjunto com oparâmetroB4,informaindiretamenteoendereçofinaloulimitesuperiordatabela.Otamanhodaáreadedadosdatabela,portanto,emnúmeroderegistrosModbus,éoprodutodeB3pelo tamanhodecadaeventoemnúmeroderegistrosModbus,ouseja,emWordsde16bits.

Noteque,casooTagBrowserdoE3sejausadopara inseriroTagnaaplicação, comoexplicadono tópicoTiposdeDadosDefinidospeloUsuário, Elementos doTag já são nomeados conformeo nomedadoaoselementosdaestruturaemsuadeclaração.OTagBrowserpodeserabertoclicando-seem naabaDesigndoDriver.

UtilizaçãoUma vez tendo definido o Tag (ou Tags) apropriado, habilite suavarreduraedeixeaoDriveratarefadecoletaroseventosdarespectivatabela,semprequenovoseventosforemdetectados.TagsassociadosàfunçãoGenSOE(elsoenaconfiguraçãoporStrings)sãosemprereportadosaeventos.Istosignifica,conformejáexplicadonotópicoTiposdeDadosDefinidospeloUsuário,queépossívelaoDriver retornar vários eventos em uma única operação de leitura, ouseja,emumúnicointervalodavarreduradoTag.Isto significa que oDriver retorna o conjunto de eventos (no caso doexemplo anterior, conjuntos de blocos com seis campos de dados etimestamp) de uma só vez, o que produz uma sequência de eventosOnRead no Tag, um para cada evento (bloco com seis campos dedadosetimestamp)retornadopeloDriver.Para instruções detalhadas sobre a maneira correta de tratar Tagsreportadosaeventos,consulteo tópicoTagsReportadosporEventonoManualdoUsuáriodoE3.OManualdoUsuáriodoElipseSCADAtambémpossuiumtópicoanálogo.Emsuma,a formausualde tratarTags reportadosaeventosé inserirem seu evento OnRead o métodoWriteRecord do objeto Históricopreviamente associado, garantindo assim a gravação de todos oseventos que cheguem ao Histórico. Neste caso, o Histórico deve serconfiguradosembandamorta (propriedadeDeadBand igual a zero) edesabilitandoohistóricoporscan(noE3,propriedadeScanTimeigualazero). A propriedade EnableDeadBand do Tag também deve serconfiguradaparaFalso.

IMPORTANTEAolereventosdememóriademassaemTagsreportadosaeventosnoE3, desabilite a banda morta do Tag (propriedade EnableDeadBandconfigurada como Falso) e também no objeto Histórico associado(propriedadeDeadBand igual a zero), paraevitaraperdadeeventoscomvalorespróximos.Tambéméimportantedesabilitarohistóricoporvarredura (no E3, propriedade ScanTime igual a zero). Com isto,

garante-sequenovoseventossósãoarmazenadosatravésdométodoWriteRecord, executado no evento OnRead do Tag, evitando aduplicaçãodeeventos.

OtimizaçãoeCompatibilidadeAlgunsequipamentos,comoosCLPsdamarcaATOS,nãosuportamaleituraemblocosdetiposdedadosdeestruturasdiferentes.Naprática,istoimpedequeoDriverleiaemumblocoúnicodadosderegistradoresde controle e de eventos. Para coletar eventos de CLP com estasrestrições, é preciso desabilitar a opção Enable Control and DataRegistersGroupingnaabaGenSOE.

EstaseçãodadocumentaçãoajudouvocêaconfiguraresteDriver?

Sim Não

Comentários(opcional):

Restam150caracteres.Contato(opcional):

Limpar EnviarAcessetambémonossoKnowledgebaseparamaioresinformaçõessobrenossosprodutos

Leitura de Registros da Memória deMassadeMedidoresABBMGE144

TopoAnteriorPróximo

Para a leitura de registros dememória demassa demedidores ABBMGE144,deve-seconfigurarTagsusandoafunçãoespecialdeleitura6503,conformedescritonestetópico.Afunçãoespecial6503éproprietáriadaABBeépraticamenteidênticaà função padrão 03 do protocolo (Read Holding Registers), diferindoapenas nos dados retornados, referentes à memória de massa domedidorABB.Os dados são retornados em umWord (como na função 03), com obyteorderpadrãodoprotocolo(bigendian).Comisto,nãoénecessáriohabilitarqualquerumadasfunçõesdeswap(SwapBytes,SwapWordsouSwapDWords).O mapa dos registradores do medidor, especificando os dados quepodem ser lidos, bem como sua correta configuração, deve serconsultadonomanualdomedidorfornecidopelofabricante.Este Driver também conta com duas funções especiais de escritaespecíficas deste medidor, as funções 65 01 e 65 02. Para maisinformaçõessobreestasfunçõesespeciaisdeescrita,consulteotópicoFunçõesEspeciaisetambémomanualdoequipamento.

ConfiguraçãoporStringsDispositivo:"<slaveid>:"

Item: "abbmge<endereço>[.<tipo>[<tam. do tipo>]][.<byte order>][/bit]"

Onde:

Endereço:EndereçodoregistradorModbusaler

Tipo:Tipodedados.Seomitido,assumeopadrãoWord.Paramaisinformações,consulteotópicoConfiguraçãoporStringsTam. do tipo: Usado somente em tipos de dados de tamanhovariável.Paramaisinformações,consulteotópicoConfiguraçãoporStringsByteorder:Ordenamentodosbytes.Seomitido,assumeopadrãodo protocolo. Para mais informações, consulte o tópicoConfiguraçãoporStringsBit: Máscara de bits. Normalmente omitido (prefira utilizar asmáscarasdebitdosupervisório).Paramaisinformações,consulteotópicoConfiguraçãoporStrings

ConfiguraçãoNumérica(ParâmetrosNouB)N1/B1:SlaveId

N2/B2:Códigodaoperaçãoconfiguradacomafunção6503(vejaaseguir)

N3/B3:Nãousado,deixarem0(zero)

N4/B4:EndereçodoregistradorParaaconfiguraçãodeTagsnumericamente,éprecisoantesadicionarumanovaoperaçãocomafunção6503naabaOperationsda janeladeconfiguraçõesdoDriver,comomostradonafiguraaseguir.

Criaçãodeumaoperaçãocomafunçãoespecial6503

EstaseçãodadocumentaçãoajudouvocêaconfiguraresteDriver?

Sim Não

Comentários(opcional):

Restam150caracteres.Contato(opcional):

Limpar EnviarAcessetambémonossoKnowledgebaseparamaioresinformaçõessobrenossosprodutos

Apêndice TopoAnteriorPróximo

Esteapêndicecontémosseguintestópicos:

DicasdeOtimização

DúvidasMaisFrequentes

ListadeEquipamentosqueComunicamcomoModbus

ListadeExceçõesPadrãodoProtocolo

Limite Máximo para o Tamanho dos Blocos Suportado peloProtocoloCodificaçãoBCD

DicasdeOtimização TopoAnteriorPróximo

Estetópicoenumeraalgumasdicasdeotimizaçãoparaacomunicaçãocomosdispositivosescravos.

Dicas de Configuração do Driver para o E3 e o ElipsePower

UseSuperblocossemprequepossível,dandopreferênciaàcriaçãode Tags simples (Tags PLC noElipse SCADA) ao invés de TagsBloco(vejaotópicoLeituraporSuperblocos).Se não for possível usar Superblocos, dê preferência à criação deTags Bloco, agrupando o maior número possível de variáveis nomenornúmerodeblocos(vejaotextosobreoagrupamentomanualnotópicoLeituraporSuperblocos).ConsidereasrecomendaçõesdoartigoDicasdePerformanceparaoE3,noElipseKnowledgebase.No caso de redes com alta latência, banda reduzida ou perda depacotes, leia também o artigo Configurações de rede do E3 pararedescomaltalatência,bandareduzidae/ouperdadepacotes.

Em redes de alta latência, configure time-outs mais elevados,levandoemconta a latência esperada. Lembre-se queo tempodetime-out só tem efeito no caso de atrasos, não interferindo nodesempenhoemsituaçõesnormaisdeuso.

DicasdeConfiguraçãodoDriverparaoElipseSCADADêpreferênciaàcriaçãodeTagsBloco,agrupandoomaiornúmeropossíveldevariáveisnomenornúmerodeblocos(vejaotextosobreoagrupamentomanualnotópicoLeituraporSuperblocos).LeveemconsideraçãoasrecomendaçõesdoartigoDesenvolvendoaplicativosparaquetenhamomelhordesempenhopossível,tambémdisponívelnoElipseKnowledgebase.Emredesdealtalatência,configuretime-outsmaisaltos,levandoemconta a latência esperada. Lembre-se que o tempo de time-out sótemefeitonocasodeatrasos,não interferindonodesempenhoemsituaçõesnormaisdeuso.

Dicas para a Configuração ou Programação doEquipamento

Sepossível, agrupeas variáveis definidas pela aplicação residente(ladder) que possuam menor tempo de varredura (scan), emendereçoscontíguosnamemóriadoCLP.Otempototaldevarredurados Tags depende muito da capacidade de agrupamento dasvariáveisemblocosdecomunicação.

EstaseçãodadocumentaçãoajudouvocêaconfiguraresteDriver?

Sim Não

Comentários(opcional):

Restam150caracteres.Contato(opcional):

Limpar EnviarAcessetambémonossoKnowledgebaseparamaioresinformaçõessobrenossosprodutos

DúvidasMaisFrequentes TopoAnteriorPróximo

Particularidades conhecidas do equipamento Twido daempresaSchneider

AaplicaçãoestátentandolerumvalordotipoFloat,porémnãoestáconseguindo.OvalormostradonoCLPestátotalmentediferentedomostradonaaplicaçãoparaomesmoendereço.

Resposta:EsteCLPnãoutilizaoordenamentodebytespadrãodoprotocolo(bigendian).Deve-seconfiguraroordenamentodebytesexecutando o swap (permuta) deWords, o que corresponde àopção"b2"naconfiguraçãoporStrings,ouaselecionaraopçãoSwapWords nas configurações das operações daconfiguraçãonumérica(vejaotópicoAbaOperations).

A aplicação está tentando ler as entradas e saídas doCLP, porémnãoestáconseguindo.

Resposta: Este equipamento não permite leitura ou escrita nasvariáveis de entrada e saída, sendo necessário utilizar variáveisinternasaoCLPpararealizarestaleitura,istoé,cria-seumespelhodasentradasesaídasemumaáreaondeoDriverconsigaacessar.Deve-se ainda ter o cuidado de criar uma rotina no CLP paraverificar quando o valor de uma saída for alterada pela aplicaçãoparaqueelasejarealmenteativadaoudesativadanoCLP.

ParticularidadesconhecidasdoequipamentoMPC6006daempresaAtos-Schneider

AaplicaçãoestátentandolerumvalordotipoDWord,porémovalorcorretonãoestáchegando.AaplicaçãoapresentavaloresdiferentesdaquelesqueconstamnoCLP.

Resposta: Consulte o artigo Utilizando drivers Modbus Master(ASC/RTU/TCP) com controladores ATOS no ElipseKnowledgebase. Se estiver usando a nova configuração porStrings (campos Dispositivo e Item), consulte também o itemByte Order do tópico Configuração por Strings. Caso estejautilizando a antiga configuração numérica (parâmetros N/B),consultetambémotópicoAbaOperations,sobretudooitemByteOrder.

Como juntar dois valores do tipo Int16 (no CLP) em umvalordotipoInt32(naaplicação)?

Existe um número de 32 bits que está armazenado em doisregistradoresde16bitscadaumnoCLP.Comofazerparamostrarnateladaaplicaçãoestenúmerocomoumúnicoregistrode32bits?

Resposta:Deve-secriarTagsutilizandotiposdedadosde32bits,comopor exemplo os tipos dedadosFloat,DWord ou Int32.NaconfiguraçãodoTagdeComunicação,deve-seinformaroprimeiroendereçodecadavariávelnoCLP(vejaotópicoConfigurandoumTagdeComunicação).Comisto,oDriverunedoisregistrosde16bits do equipamento em um único valor de 32 bits, retornado nocampo Valor do Tag ou no Elemento do Tag Bloco. Se estiverusandoa configuraçãoporStrings (camposDispositivo e Item),informeotipodedadosdesejadologoapósoendereçodoregistro(vejaotópicoConfiguraçãoporStrings).Casoestejautilizandoaantiga configuração numérica (parâmetros N/B), é necessáriodefinir operações com tipos de dados de 32 bits. Note que, najaneladeconfiguração(AbaOperations),ostiposdedadosde32bits sãosempremostradoscom tamanho (campoSize) de quatrobytes(vejaotópicoTiposdeDadosSuportados).

Aaplicação jáestádesenvolvida,porémépreciso juntarosvaloresdedoisWordsemumúnicoTag.Resposta:Épossívelrealizarestauniãoatravésdousodescripts,criando um inteiro de 32 bits sem sinal. Para isto, deve-semultiplicar oWord que contém a parte mais alta da palavra por65536 e então somar oWord que contéma partemais baixa dapalavra.Porexemplo,UInt32=(HighWord×65536)+LowWord.

Aaplicaçãoprecisa lervaloresdo tipoFloat.A funçãode leitura foiconfiguradacomosendo03eescrita16comotipodedadosFloat.Porém,aaplicaçãoE3 ouElipsePowermostra um valor que nãocondizcomovalorqueestánoequipamento.

Resposta:OprotocoloModbusoficialusaoordenamentodebytes(byteorder)nopadrãobigendian,comosbytesmaissignificativosde cada valor vindo antes. Se o Driver estiver lendo valores

absurdos,mesmocomaconfiguraçãocorretadoendereço,émuitoprovável que o equipamento utilize um byte order diferente dopadrãodoprotocolo.Nestecaso,énecessárioconfigurarasopçõesdepermuta(swap).SeestiverusandoaconfiguraçãoporStrings(camposDispositivoeItem)consulteoitemByteOrderdotópicoConfiguração por Strings. Caso esteja utilizando a antigaconfiguração numérica (parâmetros N/B), consulte o item ByteOrder do tópico Aba Operations para mais informações sobrecomoutilizarasopçõesdeswap.

ComofazerparacomunicarcommaisdeumequipamentoemumarededecomunicaçãoSerial?

Existe mais de um equipamento na rede serial, cada um comendereçoúnico.Comofazerparacomunicarcomcadaumdeles?

Resposta:Deve-setercuidadoapenascomoSlaveIddecadaTagde Comunicação, pois é neste campo que deve-se indicar comqual equipamento deseja-se comunicar. Em redes seriais RS485,todos os equipamentos escutamaomesmo tempo as requisiçõesdoDriver(háumbarramentoúnico),porémapenasoquepossuiroSlaveIdcorrespondente respondeà requisição (nãopodemhavermúltiplos equipamentos com o mesmo Id). Na configuração porStrings, este valor pode ser fornecido no campoDispositivo, ouno início do campo Item (consulte mais informações no tópicoConfiguraçãoporStrings).Nocasodaconfiguraçãonumérica,estevaloréfornecidonosparâmetrosN1/B1decadaTag.Pode-seusarasmesmasoperaçõesparaTagsdediversosequipamentos.UmaboareferênciaparamaioresinformaçõessobreainstalaçãoemanutençãoderedesseriaiséolivroSerialPortComplete,deJanAxelson.

Existemaisdeumaportaserial nocomputador.ComoconfiguraroDriverpara comunicar comosequipamentosqueestão ligadosemcadaumadasportas?

Resposta: Neste caso, como existe mais de um meio físicodiferente(Serial1,Serial2,etc.),sãonecessáriostantosDriversdeComunicaçãoquantasportasexistirem.AsconfiguraçõesdosTagsdoDriverpodemserasmesmasparatodososobjetos(instâncias)doDriver.AúnicadiferençaéqueumDriverdeveserconfiguradopara comunicar pela portaSerial 1, outroDriver configurado paracomunicarpelaportaSerial2,eassimpordiante.Asconfiguraçõesda porta a ser usada são realizadas na abaSerial da janela deconfiguraçõesdoDriver(vejaotópicoPropriedades).

Comocomunicar commaisdeumequipamento emumarededecomunicaçãoSerialcomconversorparaRS485?

UmaredeRS485temváriosequipamentoscomunicandoatravésdeumconversorRS232-RS485pelaportaSerial.Sempreocorreatrocadeendereço(SlaveID),ouseja,quandooDrivervaisolicitardadosdeoutro equipamento, ocorreum time-out. Após retentar amesmamensagem, o equipamento responde normalmente. Existe algumaformadeevitarestetime-outduranteatrocadoendereço(SlaveID)?

Resposta: Alguns conversores RS232-RS485 requerem umintervalode tempoparachavearem,ouseja,comutaremdomodode transmissãopara recepção,ouvice-versa.Paracontornarestalimitação,pode-seutilizaraopçãoInter-framedelaynaabaSerialdo IOKit, disponível na janela de configurações. Este campodefine um intervalo de tempoentremensagens.O valor exato dointervalo depende do conversor utilizado mas, em caso deincerteza, recomenda-se iniciar experimentando valores entre 50mse300ms.

NOTAAopçãoInter-framedelaydoIOKitpodetrazersignificativoprejuízodeperformance em algumas aplicações, devendo ser utilizada apenasquando absolutamente necessário. Certifique-se de que o conversorestáemboascondições,eseeledefatoexigeautilizaçãodestedelay.Senecessário,contateosuportedofabricante.

ComofazerparacomunicarcommaisdeumequipamentoemumarededecomunicaçãoEthernet?

ExistemaisdeumequipamentoligadoemumaredeEthernet,cadaum comendereço IP único.Como fazer para comunicar com cadaumdeles?

Resposta:Atualmente,paracadaendereçoIP,énecessáriotantosDrivers de Comunicação quantos endereços IP deseja-secomunicar.AconfiguraçãoreferenteaosTagsdoDriverpodeseramesmapara todososDrivers.Aúnicadiferençaé queumDriverdeve ser configurado para comunicar com o endereço IP 1 (um),outro Driver configurado para comunicar com o endereço IP 2(dois), e assim por diante. O parâmetroSlave Id pode ainda serutilizado em modo Modbus TCP para diferenciar equipamentosconectados a um gateway Modbus Ethernet / RS485 no mesmoendereço IP. Note que este gateway não apenas deve permitir ainterconexãoentreredesEtherneteseriais,mastambémconverterframes ModbusTCP para os modos seriais suportados pelosequipamentos(ModbusRTUouModbusASC).OendereçoIPdeveser configurado na aba Ethernet do IOKit, na janela deconfiguraçõesdoDriver.

DICAEvite usar o modoRTU ouASC do protocolo encapsulado em meioTCP/IP. Caso seja necessário encapsular a comunicação serial deequipamentos que utilizem o Modbus RTU em TCP/IP, existemgateways disponíveis no mercado que não somente encapsulam acomunicaçãoserialemEthernetTCP/IP(camadasfísica,deredeedetransporte),comotambémconvertemoModbusRTUemModbusTCP(camadadeaplicação).Emúltimocaso,seforinevitávelautilizaçãodeModbusRTUemmeioEthernetTCP/IP,nãodeixedehabilitaraopçãoReconnectafterTimeout,descritanotópicoAbaModbus.

SoftwareSimuladorModbusExistealgumsoftwarequesimuleoprotocoloModbusequepossaserutilizadoparatestesjuntocomoDriver?

Resposta: Sim, existem diversas alternativas. A Elipse Softwaredisponibiliza em seu site uma versão gratuita (demo) do ElipseModbusSimulator, que permite simular os recursosmais básicosdoprotocolo.HátambémapossibilidadedeusaroDriverModbusSlavedaElipseSoftware comoemulador.OutrapossibilidadeéosoftwareModsim,umadasmaisantigaseconhecidasalternativasparaemularumdispositivoModbusescravo.Estesimuladorpodeser adquirido em http://www.win-tech.com/html/modsim32.htm.Além dele, existe também a alternativa gratuita doFreeModbusPLCSimulator,disponívelemwww.plcsimulator.org.ExistemaindaoutrasopçõeseumalistadeoutrossoftwarespodeserencontradanositedaModbus.org.

Como configurar o parâmetro N4/B4 dos Tags deComunicação?

QualendereçoutilizarnoparâmetroN4/B4doTagdeComunicação?

Resposta:Esteendereçovariadeequipamentoparaequipamento.Parasaberqualoendereçoexatoaserutilizado,consulteomanualdo equipamento ou entre em contato com o suporte técnico. OtópicoDicas de Endereçamento deste manual contém algumasdicasdeconvençõescomunsusadaspormuitosfabricantes.

QuandoutilizaroscontrolesdeRTSeDTR(queaparecemnaabaSerialdajaneladeconfiguraçõesdoDriver)?

OequipamentoestácomunicandodiretamentenaportaserialRS232docomputador.ComodevoconfiguraroscontrolesRTSeDTR?Resposta:Deve-seconsultaradocumentaçãodoequipamentoouosuportedofabricanteparasaberaconfiguraçãocorreta.

OequipamentoestácomunicandoatravésdeumconversorRS232-RS485ligadoàportaserialRS232docomputador.ComoconfiguraroscontrolesRTSeDTR?Resposta: Na comunicação com equipamentos usandoconversores RS232-RS485, tais configurações dependem doconversor.Oequipamento(Slave)nãoteminfluência, jáqueestessinaissóexistemnoladoserialRS232,nãotendoequivalentesnomeio serial RS485. O controle RTS é geralmente utilizado emconversoresmaisantigosparaochaveamentoentreosmodosdetransmissão e recepção (oRS485 éhalf-duplex), devendo nestescasos emgeral ser configurado nomodoToggle (existemalgunsrarosequipamentosqueexigemoutrasconfigurações).Namaioriados conversores mais recentes, entretanto, o chaveamento entretransmissãoerecepçãoéautomático,eestessinaisemgeralnãosão mais usados, podendo ser ignorados. Em caso de dúvidas,consulteomanualdoconversorouosuportedofabricante.

Quando utilizar as funções Swap Bytes, Swap Words eSwapDWords?Estasopçõesdevemserusadaspara tiposdedadosde16,32ou64bits, cuja ordem dos bytes do valor fornecido pelo equipamento nãocorrespondeàordempadrãodoprotocoloModbus,ondeosbytesmaissignificativosvêmsempreantes (padrãobigendian, tambémchamadoMotorola). Se o Driver está lendo valores absurdos ou diferentes dosvaloresarmazenadosnoCLP,épossívelqueestejautilizandoumbyteorderdiferentedopadrãodoprotocolo.Paramaisinformações,consulteoitemByteOrderdotópicoConfiguraçãoporStrings,oucasoestejausando a antiga configuração numérica (parâmetrosN/B), consulte oitemByte Order do tópicoAba Operations. Também recomenda-seconsultaradocumentaçãodoequipamento.

A aplicação está tentando ler um valorWord, porém o valor vemdiferentedoqueestáconfiguradonoCLP.SenoCLPéconfiguradoovalor"1"(um),naaplicaçãoapareceovalor"256".

Resposta:Ovalor1(um)emhexadecimalé0001Heovalor256emhexadecimalcorrespondea0100H.Oequipamentopossuiumbyte order diferente do padrão do protocolo. Deve-se habilitar aopçãoSwapBytes(opção"b1"naconfiguraçãoporStrings)paralerovalorcorreto.

AaplicaçãotemumTagconfiguradoparalerumvalorDWord,masovalorlidopelaaplicaçãoédiferentedovalorarmazenadonoCLP.Aoatribuirovalor"258",porexemplo,aoregistronoCLP,naaplicaçãoapareceovalorabsurdo"16908288".

Resposta: O valor 258 em hexadecimal é 00000102H e o valor16908288 em hexadecimal corresponde a 01020000H. Oequipamento possui um byte order diferente do padrão doprotocolo,ondeoWordmenossignificativovemantes.Nestecaso,deve-se habilitar a opção Swap Words (opção "b2" naconfiguraçãoporStrings)paralerovalorcorreto.

Como ler corretamente tipos de dados Float em CLPsWEGTPW-03?

Resposta: Na configuração dos Tags de Comunicação, deve-sehabilitar a opção de ordenamento de bytes Swap Words,correspondente à opção "b2" na configuração por Strings. Casoesteja usando a antiga configuração numérica (parâmetros N/B),consulteoitemByteOrderdotópicoAbaOperations.

ParticularidadesconhecidasdosequipamentosdafamíliaABB Advant Controller 31 Series 90 (por exemplo, ABB07KT97)

AaplicaçãonoE3ounoElipsePowerestátentandolerregistrosoubitsdoCLP,massempreocorremerros.

Resposta: Os equipamentos desta série não permitem o uso deSuperblocosdoE3oudoElipsePowerpordoismotivos:

Existemdescontinuidadesnomapadeendereçosderegistradoresdosequipamentos,comintervalosdeendereçosnãodefinidos.

O tamanho máximo do PDU é diferente do estabelecido pelopadrão do protocolo, sendo definido como um tamanho quesuporte96WordsouBits.Umavezqueoprotocoloagrupaoitobitsemcadabytededados,istoresultaemtamanhosmáximosdePDUdiferentesparaasfunçõesdeleituradeBitseWords,oqueimpossibilitaousodacustomizaçãodotamanhomáximodoPDUpermitidapeloDriver,quenãopermiteconfigurarlimitesdiferentesparacadafunçãodoprotocolo.

Solução:Sigaestespassos:1. Desabilitea leituraporSuperblocos,configurandoapropriedadeEnableReadGroupingdoDriverparaFalso.

2. Dê preferência à definição de Tags Bloco, agrupando o maiornúmero possível de variáveis no menor número de Blocos,respeitandoolimitedoequipamentode96Wordsou96Bitsemcada Bloco (para mais informações, leia a seção sobreAgrupamentoManualnotópicoLeituraporSuperblocos).

NOTAPode ainda ser possível utilizar o agrupamento automático(Superblocos) se não for preciso lerWords eBits no mesmo objetoDriver, dependendo obviamente do intervalo de endereços que seprecise ler (mais especificamente, se este intervalo possui ou nãodescontinuidades). Neste caso, de qualquer forma, é necessário

configurarapropriedadeCustomizeMax.PDUSizenaAbaModbus,deacordocomolimitede96Words(96×2=192bytes)ou96Bits(96÷8=12bytes).Talpossibilidadepodeseravaliadacomcuidado,casoacaso,pelodesenvolvedordaaplicação.

A aplicação está tentando ler valores do tipo de dadosFloat e a seguintemensagem aparece no log do Driver:"Warning:denormalized floatnumber!Returningzero".Oquefazer?

Resposta: O aparecimento desta mensagem não indica erro decomunicação ou de configuração. Recomenda-se apenas que ousuário verifique na programação do CLP por que ele estáretornandovaloresnãonormalizados.

InformaçõesAdicionais:Talmensagem indicaqueoequipamentoenviouaoDriverumvalordepontoflutuante(Float)noformatoIEEE754, porém não normalizado. Tais valores podem resultar deoperações aritméticas com resultados que extrapolem aspossibilidades de representação deste formato, comoas condiçõesdeoverflow,underflow, +∞e−∞,etc.Osvaloresnãonormalizadosestão previstos na norma IEEE 754, não devendo em tese gerarproblemas para oDriver ou para a aplicação. Entretanto, devido àdetecçãodeerrosnopassadorelacionadaahardwaresespecíficos,o Driver passou a retornar 0 (zero) para a aplicação ao recebervalores não normalizados do equipamento, registrando estamensagememlog.

EstaseçãodadocumentaçãoajudouvocêaconfiguraresteDriver?

Sim Não

Comentários(opcional):

Restam150caracteres.Contato(opcional):

Limpar EnviarAcessetambémonossoKnowledgebaseparamaioresinformaçõessobrenossosprodutos

Lista de Equipamentos queComunicamcomoModbus

TopoAnteriorPróximo

A tabela a seguir contém uma lista de equipamentos, separados porfabricante,paraosquais jáexistealgumaexperiêncianacomunicaçãocomoprotocoloModbus.Para uma lista mais completa de equipamentos já validados com oprotocolo, consulte o Modbus Device Directory, mantido pelaOrganizaçãoModbus.

EquipamentosquecomunicamcomoModbus

FABRICANTE EQUIPAMENTOABB ETE30

MGE144KT97KT98

Altus PraticamentetodososequipamentosdaAltuspossuemModbus,excetoalgunsmodelosdalinhaPiccolo

Areva MiCOMP127ReléP632

Atos OsCLPsATOSsuportamoprotocoloModbusRTUcompequenasvariaçõesrelativasaotamanhomáximodosframesebyteorder.Paramaisinformaçõessobreasvariações,consulteoartigoUtilizandoodriverModbusMastercomcontroladoresATOS,noElipseKnowledgebase

BCM BCM1088BCM1086BCM-GP3000BCM2085

CiberBrasil

MedidorMultivariáveldeGrandezaselétricasUDP200MedidorMultivariáveldeGrandezaselétricasUDP600

Contemp CPM45

DeepSea DSE5210DSE5310DSE5310MDSE5320DSE5510DSE5510MDSE5520DSE7310DSE7320

Embrasul MedidorMD4040

Eurotherm 2500IntelligentDataAcquisitionandPrecisionMulti-LoopPIDControl

Fatek FB-14MCU

GE GEPACRX7GEGEDEUPS

Gefran CLPGefranGilogkIIGefran600RDR21

Hitachi HitachiHDL17264

Honeywell PLCHC-900

HornerAPG EquipamentosdasérieXLe/XLtall-in-onecontroldevices

Koyo CLPCPU260

Kron MedidorMKM-120

LG DMT40U

LG/LSIS LGMasterK120SLGXGB-XBM

Moeller XC100-PortaSerial232XC200-PortaSerial232/422/485(módulodecomunicaçãoXIO-SER)ePortaEthernetXV200-PortaSerial232ePortaEthernetXVH300-PortaSerial232ePortaEthernetXV400-PortaSerial232ePortaEthernet

Novus N1100N1500N2000N3000

Schneider TwidoA340CLPM340SériePremiumConversoresdefrequênciaesoftstarterDisjuntoresdeMTeBTRelésdeproteçãodeBTeMTRelésSEPAMSéries20,40e80

Telemecanique ControladoresZelioLogiccomfinal"BD"

Unitronics V120

Weg TP03Clic02

Yaskawa V1000

EstaseçãodadocumentaçãoajudouvocêaconfiguraresteDriver?

Sim Não

Comentários(opcional):

Restam150caracteres.Contato(opcional):

Limpar EnviarAcessetambémonossoKnowledgebaseparamaioresinformaçõessobrenossosprodutos

Lista de Exceções Padrão doProtocolo

TopoAnteriorPróximo

Atabelaaseguirlistaasexceçõespadrão,definidaspelaespecificaçãodoprotocoloModbus(versão1.1b).AsexceçõessãoregistradasnologdoDriver,semprequedetectadas,epodem ser lidas pela aplicação através da Leitura do Código daÚltimaExceção.Noteque,alémdasexceçõeslistadasaqui,oequipamentopodedefiniroutras exceções proprietárias. Neste caso, espera-se que estasexceções sejam descritas na documentação do fabricante doequipamento.

CódigosdeexceçãopadronizadospeloprotocoloModbus

CÓDIGO(EMHEXADECIMAL)

NOME SIGNIFICADO

01 ILLEGALFUNCTION

Ocódigodefunçãorecebidonãoéválido. Isto pode indicar que afunção não está implementada ouqueoEscravoencontra-seemumestado inadequado para processá-la

02 ILLEGAL DATAADDRESS

Oendereçodedadosrecebidonãoé um endereço válido. Maisespecificamente, a combinação doendereço de referência e aquantidade de dados a seremtransferidoséinválida

03 ILLEGAL DATAVALUE

O valor presente na requisição doMestrenãoéválido.Istoindicaumafalha na estrutura de dadosremanescente de uma requisiçãocomplexa,comoquandootamanhoinformado para o bloco de dadosnãoestácorreto.Estaexceçãonão

indica que os valores submetidosparaescritaestejamforadoescopoesperado pela aplicação, uma vezque tal informaçãonãoéacessívelaoprotocolo

04 SLAVE DEVICEFAILURE

Ocorreu um erro irrecuperávelduranteoprocessamentodafunçãosolicitada

05 ACKNOWLEDGEUsado com comandos deprogramação.OEscravoaceitouamensagem e a está processando,masesteprocessamentodemandaum longo tempo. Esta exceçãoprevine um time-out no Mestre. Ofim da requisição deve ser testadoporumprocessodepolling

06 SLAVE DEVICEBUSY

Usado com comandos deprogramação.IndicaqueoEscravoestá processando um outrocomandodelongaduraçãoequeasolicitação deve ser retransmitidamais tarde, quando o Escravoestivernovamentedisponível

08 MEMORYPARITYERROR

Usadoemconjuntocomasfunções20 e 21, reference type 6, paraindicar que a área estendida dearquivos falhou em um teste deconsistência. O equipamentoEscravo pode estar precisando demanutenção

0A GATEWAY PATHUNAVAILABLE

Usadoemconjuntocomgateways,para indicarqueogatewaynão foicapaz de alocar um caminhointerno para o processamento dasolicitação. Geralmente indica que

ogateway está desconfigurado ousobrecarregado

0B GATEWAYTARGETDEVICE FAILEDTORESPOND

Usadoemconjuntocomgateways,para indicar que não foi recebidanenhumarespostadoequipamentode destino. Geralmente indica queo equipamento não está presentenarede

EstaseçãodadocumentaçãoajudouvocêaconfiguraresteDriver?

Sim Não

Comentários(opcional):

Restam150caracteres.Contato(opcional):

Limpar EnviarAcessetambémonossoKnowledgebaseparamaioresinformaçõessobrenossosprodutos

Limite Máximo para o Tamanho dosBlocosSuportadopeloProtocolo

TopoAnteriorPróximo

Nestetópicosãoapresentadososlimitesmáximosdetamanhodeblocosuportados pelo protocolo Modbus, na atual versão 1.1b de suaespecificação(vejaaespecificaçãonositeoficialdoprotocolo).Noteque,devidoaosrecursosdeLeituraporSuperblocosePartiçãoAutomática de Blocos, presentes na versão atual do Driver,dificilmente o usuário necessita levar em conta estes limites em umaaplicação, uma vez que o Driver já realiza automaticamente asotimizaçõesnecessáriasnomomentodacomunicação.Entretanto, uma vez que existemequipamentos que não suportamoslimites padrão estabelecidos pelo protocolo, pode ser necessário aousuárioconheceros limitesdoprotocolo,esobretudosaberavaliaroslimitesdoequipamento,casosejaobrigadoarealizaroagrupamentodeformamanual(vejaotópicoLeituraporSuperblocos).Nestescasos,ainformaçãodestetópicopodesemostrarútil.

LimitesSuportadospeloProtocoloOprotocoloModbusdefineumaunidadededadossimplesdenominadaPDU (Protocol Data Unit), que se mantém inalterada nos diversosmodosdoprotocoloenasdiversascamadasdecomunicação.O frame de comunicação completo, incluindo a PDU e os demaiscampos adicionais de cabeçalho, é chamado ADU (Application DataUnit).

LimitessuportadospeloprotocoloSegundoaespecificaçãodoprotocolo,oframeModbuscompleto(ADU)podeterumaPDUcomtamanhomáximode253bytes.Sendo assim, dependendo do tipo de dado ou funçãoModbus que éutilizadonacomunicação,oprotocoloimpõeoslimitesdeelementosdoblocoemcadacomunicaçãodescritosnatabelaaseguir.

LimitesdeElementosdeBloco

FUNÇÃOMODBUS

DESCRIÇÃO LIMITE

03,04 Leiturademúltiplosregistrosde16bits 125registros(250bytes)

16 Escritademúltiplosregistrosde16bits(HoldingRegisters)

123registros(247bytes)

01,02 Leiturademúltiplosbits 2000bits(250bytes)

15 Escritademúltiplosbits 1968bits(247bytes)

20 Leituraderegistrosdearquivo 124registros

(248bytes)

21 Escritaderegistrosdearquivo 122registros(244bytes)

Maisinformaçõespodemserobtidasnositeoficialdoprotocolo.O artigo KB-23112: Tamanho ideal de um Bloco de Comunicaçãousando o Driver Modbus no Elipse Knowledgebase apresenta umasíntese das questões relativas ao agrupamento de Tags edimensionamentodeblocosnesteDriver,discutidasnesteeemoutrostópicos.

EstaseçãodadocumentaçãoajudouvocêaconfiguraresteDriver?

Sim Não

Comentários(opcional):

Restam150caracteres.Contato(opcional):

Limpar EnviarAcessetambémonossoKnowledgebaseparamaioresinformaçõessobrenossosprodutos

CodificaçãoBCD TopoAnteriorPróximo

ACodificaçãoBCD(Binary-CodedDecimalouDecimalCodificadoemBinário)foioriginalmenteconcebidaparacontornarlimitaçõesquantoaonúmero máximo de dígitos passíveis de serem representados nosformatos mais tradicionais de armazenamento de valores. Formatoscomoarepresentaçãodenúmerosreaisempontoflutuantemostram-senormalmenteaceitáveisparacálculosmatemáticosecientíficos.Porém,errosdeaproximaçãocausadospelaexistênciadealgarismosquenãopossam ser representados por problemas de overflow ou underflowpodem não ser admissíveis em certas aplicações, como emprocedimentos financeiros. Para superar este tipo de limitação, foidesenvolvida a codificação BCD, que permite a representação denúmerosatéoúltimoalgarismo.Nessa representação, cada algarismo decimal é representadoisoladamente em formato binário, sem limitações no que se refere aonúmerodealgarismos.A tabela a seguir mostra os algarismos decimais e seus valorescorrespondentesemBCD(valoresembinário).

AlgarismosdecimaisemcodificaçãoBCD

DECIMAL BCD DECIMAL BCD0 0000b 5 0101b

1 0001b 6 0110b

2 0010b 7 0111b

3 0011b 8 1000b

4 0100b 9 1001b

Afimdemelhoraraeficiênciadestacodificação,écomumrepresentar-se dois algarismos por byte. Note que, na tabela acima, cada dígitodecimal requer apenas quatro bits, ou meio byte, para a suarepresentação.Tal representaçãocomdoisdígitosemcadabyteéchamadadeBCD

Comprimido (Packed BCD), e é a representação utilizada por esteDriver,ouseja,ospacotesenviadosporesteDrivercomvaloresBCDutilizamumbytededadosparacadadoisalgarismosdovalordecimalrepresentado.PoristoocampoSize,nocasodetiposdedadosBCD,deve ser definido como a metade do número máximo de algarismosrepresentadosnosvaloresaseremlidosouescritos.

ExemploComoexemplo,suponhaquesepretendaenviarovalor84emdecimal(0x54emformatohexadecimal),usandoacodificaçãoBCDcomprimidoemumbyte,oformatousadoporesteDriver.O primeiro passo é separar os dois dígitos decimais que compõem ovaloremsuarepresentaçãodecimal:

Dígito1:8

Dígito2:4SefossemosenviarovaloraoequipamentosemacodificaçãoBCD,ovalor enviado ao protocolo seria o próprio valor 84, que seriarepresentado em formato hexadecimal pelo valor 0x54, ou ainda01010100bemformatobinário.Usando o formato BCD comprimido, entretanto, representaremos osdois dígitos decimais separadamente em cada metade, ou nibble, dobyteaserenviado:

BCD:0x84ou10000100bNoteque,seinterpretássemosporenganoestevalor0x84emformatoBCDcomoumvalorem formatohexadecimal semestacodificação,eestevalor fosseconvertidoparadecimal,obteríamosovalor132,semsignificadoalgum.Atabelaaseguirapresentamaisalgunsexemplosdevaloresdecimaisentre0(zero)e99esuasrespectivasrepresentaçõesnoformatoBCDComprimido em um byte, apresentados nos formatos hexadecimal ebinário.

AlgarismosdecimaisemcodificaçãoBCDComprimido

DECIMAL HEXADECIMAL BCD(HEXADECIMAL) BCD(BINÁRIO)10 0x0A 0x10 00010000b

0 0x00 0x00 00000000b

99 0x63 0x99 10011001b

81 0x51 0x81 10000001b

45 0x2D 0x45 01000101b

EstaseçãodadocumentaçãoajudouvocêaconfiguraresteDriver?

Sim Não

Comentários(opcional):

Restam150caracteres.Contato(opcional):

Limpar EnviarAcessetambémonossoKnowledgebaseparamaioresinformaçõessobrenossosprodutos

Documentação das Interfaces deComunicação

TopoAnteriorPróximo

Esta seção contém a documentação das Interfaces de ComunicaçãoreferentesaoDriverModbus.

ConfiguraçõesdoDriver TopoAnteriorPróximo

AconfiguraçãodasInterfacesdeComunicaçãoérealizadanacaixadediálogodeconfiguraçãodoDriver.ParaacessaraconfiguraçãodacaixadediálogonoE3(versão1.0),sigaestespassos:1. CliquecomobotãodireitodomousenoobjetoDriver(IODriver).2. SelecioneoitemPropriedadesnomenucontextual.3. SelecioneaabaDriver.4. CliqueemOutrosparâmetros.NoE3 versão 2.0 ou posterior, clique emConfigurar o driver nabarradeferramentasdoDriver.NoElipseSCADA,sigaestespassos:1. AbraoOrganizer.2. SelecioneoDrivernaárvoredoOrganizer.3. CliqueemExtrasnaabaDriver.Atualmente,as InterfacesdeComunicaçãopermitemqueapenasumaconexão seja aberta para cada Driver. Isto significa que, se fornecessário o acesso a duas portas seriais, é preciso adicionar doisDrivers na aplicação e configurar cada um destes Drivers para cadaportaserial.

EstaseçãodadocumentaçãoajudouvocêaconfiguraresteDriver?

Sim Não

Comentários(opcional):

Restam150caracteres.Contato(opcional):

Limpar EnviarAcessetambémonossoKnowledgebaseparamaioresinformaçõessobrenossosprodutos

Caixa de Diálogo deConfiguração

TopoAnteriorPróximo

AcaixadediálogodasInterfacesdeConfiguraçãopermitemconfigurara conexão de I/O que é utilizada pelo Driver. Esta caixa de diálogocontémasabasSetup,Serial,Ethernet,ModemeRAS,descritasnostópicos a seguir. Se um Driver não implementa uma conexão de I/Oespecífica, a respectiva aba não está disponível para configuração.Alguns Drivers podem conter abas adicionais (específicas para cadaDriver)nacaixadediálogodeconfiguração.

EstaseçãodadocumentaçãoajudouvocêaconfiguraresteDriver?

Sim Não

Comentários(opcional):

Restam150caracteres.Contato(opcional):

Limpar EnviarAcessetambémonossoKnowledgebaseparamaioresinformaçõessobrenossosprodutos

AbaSetup TopoAnteriorPróximo

AabaSetupcontémaconfiguraçãogeraldoDriver.Aabaédivididaemtrêspartesdistintas:

Configuraçõesgerais: Configurações da camada física do Driver,time-outemododeinicialização

Connection management: Configurações de como a Interface deComunicaçãomantém a conexão e qual a política de recuperaçãoemcasodefalha

Loggingoptions:Controlaageraçãodosarquivosdelog

AbaSetupOpçõesgeraisdaabaSetup

OPÇÃO DESCRIÇÃOPhysicalLayer

Selecioneainterfacefísicaemumalista.AsopçõessãoSerial,Ethernet,ModemeRAS.Ainterfaceselecionadadeveserconfiguradanasuaabaespecífica.

Timeout Configureotime-out,emmilissegundos,paraacamadafísica.EstaéamedidadetempoqueainterfacedeI/Oaguardaparaarecepçãodeumbyte(qualquerbytedobufferderecepção).

StartdriverOFFLINE

SelecioneestaopçãoparaqueoDriverinicieemmodoOffline(parado).IstosignificaqueainterfacedeI/OnãoécriadaatéqueseconfigureoDriveremmodoOnline(utilizando-seumTagnaaplicação).EstemodopossibilitaaconfiguraçãodinâmicadainterfacedeI/Oemtempodeexecução.VejaotópicoTrabalhandoemModoOfflineparamaioresdetalhes.

OpçõesparaogrupoConnectionmanagement

OPÇÃO DESCRIÇÃOMode Selecionaomododegerenciamentodeconexão.

SelecionaraopçãoAutomaticpermitequeoDrivergerencieaconexãoautomaticamente,comoespecificadonasopçõesseguintes.SelecionaraopçãoManualpermitequeaaplicaçãogerencieaconexãocompletamente.VejaotópicoEstadosdoDriverparamaioresdetalhes.

Retryfailedconnectionevery...seconds

SelecioneestaopçãoparahabilitararetentativadeconexãodoDriveremumdeterminadointervalo,emsegundos.SeaopçãoGiveupafterfailedretriesnãoestiverselecionada,oDrivercontinuaretentandoatéqueaconexãosejaefetuada,ouqueaaplicaçãosejaparada.

Giveupafter...failedretries

Habiliteestaopçãoparadefinirumnúmeromáximoderetentativasdeconexão.Quandoonúmeroespecificadodetentativasconsecutivasdereconexãoforatingido,oDrivervaiparaomodoOffline,assumindoqueumproblemadehardwarefoidetectado.SeoDriverestabeleceumaconexãocomsucesso,onúmeroderetentativassemsucessoézerado.Seestanovaconexãoéperdida,entãoocontadorderetentativasiniciadozero.

DisconnectHabiliteestaopçãoparaforçaroDriverasedesconectar

ifnon-responsivefor...seconds

senenhumbytechegouàinterfacedeI/Onotime-outespecificado,emsegundos.Estetime-outdevesermaiorqueotime-outconfiguradonaopçãoTimeout.

OpçõesparaogrupoLoggingOptions

OPÇÃO DESCRIÇÃOLogtoFile

Habiliteestaopçãoeconfigureonomedoarquivoondeologéescrito.Arquivosdelogpodemserbemextensos,portantoutilizeestaopçãoporcurtosperíodosdetempo,apenasparaopropósitodetestesedepurações.Casoseutilizeamacro%PROCESS%nonomedoarquivodelog,estaésubstituídapeloIDdoprocessoatual.EstaopçãoéparticularmenteútilaoseutilizarváriasinstânciasdomesmoDrivernoE3,permitindoassimquecadainstânciagereumarquivoseparadodelog.Porexemplo,aoconfigurarestaopçãocomoc:\e3logs\drivers\sim_%PROCESS%.log,gera-seoarquivoc:\e3logs\drivers\sim_00000FDA.logparaoprocesso0FDAh.Pode-setambémutilizaramacro%DATE%nonomedoarquivo.Nestecasoégeradoumarquivodelogpordia(noformatoaaaa_mm_dd).Porexemplo,aoconfigurarestaopçãocomoc:\e3logs\drivers\sim_%DATE%.log,gera-seoarquivoc:\e3logs\drivers\sim_2005_12_31.lognodia31dedezembrode2005eoarquivoc:\e3logs\drivers\sim_2006_01_01.lognodiaprimeirodejaneirode2006.

EstaseçãodadocumentaçãoajudouvocêaconfiguraresteDriver?

Sim Não

Comentários(opcional):

Restam150caracteres.Contato(opcional):

Limpar EnviarAcessetambémonossoKnowledgebaseparamaioresinformaçõessobrenossosprodutos

AbaSerial TopoAnteriorPróximo

UtilizeestaabaparaconfigurarosparâmetrosdaInterfaceSerial.

AbaSerialOpçõesgeraisdaabaSerial

OPÇÃO DESCRIÇÃOPort Selecioneaportaserialapartirdalista(deCOM1até

COM4)oudigiteonomedaportaserialnoformatoCOMn(porexemplo,"COM15").Aodigitaronomedaportamanualmente,acaixadediálogoaceitaapenasnomesdeportascomeçandocomaexpressão"COM".

Baudrate Selecioneobaudrateapartirdalista(1200,2400,4800,9600,19200,38400,57600ou115200)oudigiteobaudratedesejado(porexemplo,600).

Databits Selecione7ou8bitsdedadosapartirdalista.

Parity Selecioneaparidadeapartirdalista(None,Even,

Odd,MarkouList).Stopbits Selecioneonúmerodestopbitsapartirdalista(1,1.5

ou2stopbits).Enable'ECHO'supression

HabiliteestaopçãopararemoveroecorecebidoapósaInterfacedeComunicaçãoenviardadospelaportaserial.Seoeconãoforigualaosbytesrecémenviados,aInterfacedeComunicaçãoabortaacomunicação.

Inter-bytedelay(microseconds)

DefineumaesperaentrecadabytetransmitidopelaInterfacedeComunicação,emmilionésimosdesegundo(1000000igualaumsegundo).Estaopçãodeveserutilizadacomesperaspequenas(menosdeummilissegundo).

Inter-framedelay(milliseconds)

DefineumaesperaentrepacotesenviadosourecebidospelaInterfacedeComunicação,emmilésimosdesegundo(1000igualaumsegundo).EstaesperaéaplicadacasoaInterfacedeComunicaçãoenviedoispacotesconsecutivos,ouentreumpacoterecebidoeopróximoenvio.

OgrupoHandshakingconfiguraousodossinaisRTS,CTSeDTRnoprocessodehandshaking(controlarquandoodadopodeserenviadoourecebido através da linha serial). Na maioria das vezes, configurar aopção DTR control para ON e a opção RTS control para Togglefunciona tanto com linhas seriais RS232 quanto com linhas seriaisRS485.

OpçõesdisponíveisnogrupoHandshaking

OPÇÃO DESCRIÇÃODTRcontrol

SelecioneONparadeixarosinalDTRsempreligadoenquantoaportaserialestáaberta.SelecioneOFFparadesligarosinalDTRenquantoaportaserialestáaberta.AlgunsequipamentosexigemqueosinalDTRestejaligadoparapermitiracomunicação.

RTScontrol

SelecioneONparadeixarosinalRTSsempreligadoenquantoaportaserialestáaberta.SelecioneOFFparadesligarosinalRTSenquantoaportaserialestáaberta.SelecioneToggleparaligarosinalRTSenquantoseenviaosbytesatravésdaportaserial,edesligá-loquandonãoseestáenviandobytese,portanto,habilitandoarecepção.

WaitforCTSbeforesend

DisponívelapenasquandoaopçãoRTScontrolestáconfiguradaparaToggle.UtilizeestaopçãoparaforçaroDriveraverificarosinalCTSantesdeenviarosbytesatravésdaportaserial,apósligarosinaldeRTS.NestemodoosinalCTSétratadocomoumflagdepermissãoparaenvio.

CTStimeout

Determinaotempomáximo,emmilissegundos,queoDriveraguardapelosinaldeCTSdepoisdeligarosinaldeRTS.SeosinaldeCTSnãoélevantadodentrodestetime-out,oDriverfalhaacomunicaçãoatualeretornaerro.

Delaybeforesend

AlgunshardwaresdeportaserialdemoramahabilitarocircuitodeenviodedadosdepoisqueosinalRTSéligado.ConfigureestaopçãoparaaguardarumadeterminadaquantidadedemilissegundosdepoisdeligarosinalRTSeantesdeenviaroprimeirobyte.IMPORTANTE:Estaesperadeveserutilizadacommuitocuidado,poisconsome100%dosrecursosdaCPUenquantoaguarda.Aperformancegeraldosistemasedegradaconformeestevaloraumenta.

Delayaftersend

TemomesmoefeitoqueaopçãoDelaybeforesend,masnestecasoaesperaéefetuadadepoisqueoúltimobyteéenviado,antesdedesligarosinalRTS.

EstaseçãodadocumentaçãoajudouvocêaconfiguraresteDriver?

Sim Não

Comentários(opcional):

Restam150caracteres.Contato(opcional):

Limpar EnviarAcessetambémonossoKnowledgebaseparamaioresinformaçõessobrenossosprodutos

AbaEthernet TopoAnteriorPróximo

Utilize esta aba para configurar os parâmetros da InterfaceEthernet.Estesparâmetros (todosexcetoasconfiguraçõesdaporta)devemsertambémconfiguradosparausonaInterfaceRAS.

AbaEthernetOpçõesdisponíveisnaabaEthernet

OPÇÃO DESCRIÇÃOTransport SelecioneTCP/IPparaumsocketTCP(stream).

SelecioneUDP/IPparautilizarumsocketUDP(connectionlessdatagram).

Listenforconnectionsonport

UtilizeestaopçãoparaaguardarpornovasconexõesemumaportaIPespecífica(comumemDriversEscravos).Casoestaopçãopermaneçadesmarcada,oDriverseconectaaoendereçoeportaespecificadosnaopçãoConnectto.

Connectto EstasopçõesconfiguramoendereçoIPeaportado

dispositivoremoto.IP:DigiteoendereçoIPdodispositivoremoto.Pode-seusartantooendereçoIPseparadoporpontosquantoumaURL(nocasodeumaURL,oDriverusaoserviçodeDNSdisponívelparamapearaURLparaumendereçoIP).Porexemplo,"192.168.0.13"ou"Server1"Port:DigiteaportaIPdodispositivoremoto(de0até65535)Specifylocalport:Selecioneestaopçãoparautilizarumaportalocalfixaaoconectaraoendereçoprincipal

Backupaddress

HabilitaoendereçodebackupseodispositivodispõedeumendereçodeIPalternativo(nocasodoprimeiroendereçofalhar):IP:DigiteoendereçoIPalternativododispositivoremoto.Pode-seusartantooendereçoIPseparadoporpontosquantoumaURLPort:DigiteaportaIPalternativadodispositivoremoto(de0até65535)Specifylocalport:Selecioneestaopçãoparautilizarumaportalocalfixaaoconectaraoendereçodebackup

PINGbeforeconnecting

Habiliteestaopçãoparaexecutarumcomandoping(verificarseodispositivopodeserencontradonarede)nodispositivoantesdetentarumaconexãocomosocket.Estaéumamaneirarápidadedeterminarumaconexãobemsucedidaantesdetentarabrirumsocketcomodispositivo(otime-outdeumaconexãocomumsocketpodeserbemalto):Timeout:Especifiqueonúmerodemilissegundosdeesperaporumarespostadocomandoping.Deve-seusarocomandopingparaverificarotemponormalderesposta,configurandoestaopçãoparaumvaloracimadestamédia.Normalmentepode-seconfigurarumvalorentre1000e4000milissegundos(entreumequatro

segundos)Retries:Númeroderetentativasdocomandoping(nãocontaatentativainicial).Setodosastentativasfalharem,entãoaconexãocomosocketéabortada.

Enable'ECHO'suppression

Habiliteestaopçãoparaeliminaroecodosdadosrecebidos.Oecoéumacópiadosdadosqueforamenviados,quepodeserretornadaantesdamensagemderesposta.

EstaseçãodadocumentaçãoajudouvocêaconfiguraresteDriver?

Sim Não

Comentários(opcional):

Restam150caracteres.Contato(opcional):

Limpar EnviarAcessetambémonossoKnowledgebaseparamaioresinformaçõessobrenossosprodutos

AbaModem TopoAnteriorPróximo

Utilize esta aba para configurar os parâmetros da InterfaceModem.Algumas opções da aba Serial afetam a configuração do modem,portantoéinteressantenãoesquecerdeconfiguraraInterfaceSerial.

AbaModemAInterfaceModemutilizaosmodemsTAPIinstaladosnocomputador.

OpçõesdisponíveisnaabaModem

OPÇÃO DESCRIÇÃOSelectthemodemtouse

Selecioneummodemapartirdalistademodemsdisponíveisnocomputador.Casoselecione-seaopçãoDefaultmodem,entãooprimeiromodemdisponíveléutilizado.Selecionarestaopçãoérecomendadoespecialmentequandoaaplicaçãoéutilizadaemoutrocomputador.

Modemsettings

Cliqueparaabrirajaneladeconfiguraçãodomodemselecionado.

Dial Digiteonúmeropadrãoparadiscagem(estevalorpodeser

Number modificadoemtempodeexecução).Pode-seutilizarocaracterewpararepresentarumapausa(esperapelotomdediscagem).Porexemplo,"0w33313456"(discaonúmerozero,esperaeentãodiscaonúmero"33313456").

Acceptincomingcalls

HabiliteestaopçãoparaqueoDriveratendaotelefonequandoreceberumachamadaexterna.ParautilizarestaopçãoénecessárioconfiguraraopçãoConnectionmanagementnaabaSetupparaManual.

EstaseçãodadocumentaçãoajudouvocêaconfiguraresteDriver?

Sim Não

Comentários(opcional):

Restam150caracteres.Contato(opcional):

Limpar EnviarAcessetambémonossoKnowledgebaseparamaioresinformaçõessobrenossosprodutos

AbaRAS TopoAnteriorPróximo

Use esta aba para configurar os parâmetros da Interface RAS. ÉnecessáriotambémconfiguraraabaEthernet.AInterfaceRASabreumaconexãosocketcomumdispositivoRAS.OdispositivoRASéumservidordemodemsacessívelatravésdeTCP/IP,aguardandoporconexõessocketemumaportaIP.Paracadaconexãoaceitanestaportatem-seacessoaummodem.Ao conectar-se a um dispositivo RAS, primeiramente a Interface deComunicação conecta ao socket no endereço IP e na portaconfigurados na aba Ethernet. Depois que o socket é aberto, osseguintespassosdeinicializaçãooudeconexãosãoefetuados:1. Limpezadosocket(removequalquermensagemdesaudaçãoTELNETrecebidadodispositivoRAS).

2. EnviodocomandodediscagemAT(emASCII)nosocket.3. AguardapelarecepçãodeumarespostaCONNECT.4. Casootime-outexpire,aconexãoéabortada.5. SearespostaCONNECTérecebidadentrodotime-out,osocketestádisponívelparacomunicaçãocomodispositivo(aconexãofoiestabelecida).

Se o passo 5 é efetuado com sucesso, então o socket comporta-secomoumsocketnormal,comodispositivoRASfuncionandocomoumroteador entre oDriver e o dispositivo.Os bytes enviados peloDriversão recebidos pelo dispositivo RAS e enviados para o dispositivo dedestinoutilizandoummodem.OsbytesrecebidospelodispositivoRASdomodemsãoenviadosdevoltaaoDriverutilizandoomesmosocket.Depois que a conexão é estabelecida, a Interface RAS monitora osdados recebidos pelo Driver. Caso uma String "NO CARRIER" sejaencontrada,osocketéfechado.SeodispositivoRASnãoenviaosinalNO CARRIER, a Interface RAS não consegue detectar quando aconexão modem entre o dispositivo RAS e o dispositivo final de I/Ofalha.Pararecuperaçãodetalfalhaéfortementerecomendadoqueseja

habilitadaaopçãoDisconnectifnon-responsivenaabaSetup.

AbaRASOpçõesdisponíveisnaabaRAS

OPÇÃO DESCRIÇÃOATcommand

UmaStringcomocomandoATcompletousadoparadiscarparaodispositivodedestino.Porexemplo,"ATDT33313456"(discagemportomparaonúmero"33313456").

Connectiontimeout

NúmerodesegundosaaguardarporumarespostaCONNECTdomodem,apósoenviodocomandoAT.

EstaseçãodadocumentaçãoajudouvocêaconfiguraresteDriver?

Sim Não

Comentários(opcional):

Restam150caracteres.Contato(opcional):

Limpar EnviarAcessetambémonossoKnowledgebaseparamaioresinformaçõessobrenossosprodutos

ConfiguraçõesGerais TopoAnteriorPróximo

Esta seção contém informações sobre a configuração dos Tags deComunicação e as Propriedades gerais das Interfaces deComunicação.

TagsdeComunicação TopoAnteriorPróximo

TagsgeraisdasInterfacesdeComunicação(N2/B2=0)OsTagsdescritosaseguirsãofornecidosparatodasasInterfacesdeI/Osuportadas.OsTagsdisponíveisnestaseçãosãoosseguintes:

IO.IOKitEvent

IO.PhysicalLayerStatus

IO.SetConfigurationParameters

IO.WorkOnline

IO.IOKitEvent TopoAnteriorPróximo

TipodeTag TagBloco

TipodeAcesso SomenteLeitura

ParâmetroB1 -1

ParâmetroB2 0

ParâmetroB3 0

ParâmetroB4 1

PropriedadeSize 4

PropriedadeParamItem IO.IOKitEvent

Este Bloco retorna eventos de Driver gerados por várias fontes nasInterfaces de Comunicação. A propriedade TimeStamp do Blocorepresenta o momento em que o evento ocorreu. Os Elementos deBlocosãoosseguintes:

Elemento0:Tipodeevento

0:Informação

1:Advertência

2:Erro

Elemento1:Fontedoevento

0:Driver(específicodoDriver)

-1:IOKit(eventosgenéricosdaInterfacedeComunicação)

-2:InterfaceSerial

-3:InterfaceModem

-4:InterfaceEthernet

-5:InterfaceRAS

Elemento2:Númerodoerro(específicodecadafontedeevento)

Elemento 3: Mensagem do evento (String, específica de cadaevento)

NOTAODrivermantémumnúmeromáximode100eventosinternamente.Seeventosadicionaissãoreportados,oseventosmaisantigossãodescartados.

EstaseçãodadocumentaçãoajudouvocêaconfiguraresteDriver?

Sim Não

Comentários(opcional):

Restam150caracteres.Contato(opcional):

Limpar EnviarAcessetambémonossoKnowledgebaseparamaioresinformaçõessobrenossosprodutos

IO.PhysicalLayerStatus TopoAnteriorPróximo

TipodeTag TagdeComunicação

TipodeAcesso SomenteLeitura

ParâmetroN1 -1

ParâmetroN2 0

ParâmetroN3 0

ParâmetroN4 2

ConfiguraçãoporString IO.PhysicalLayerStatus

EsteTagindicaoestadodacamadafísica.Seuspossíveisvaloressãoosseguintes:

0:Camadafísicaparada(oDriverestáemmodoOffline,acamadafísicafalhouaoinicializarouexcedeuonúmeromáximodetentativasdereconexão)

1:Camadafísicainiciadamasnãoconectada(oDriverestáemmodoOnline, mas a camada física não está conectada. Se a opçãoConnection management estiver configurada para Automatic, acamadafísicapodeestarconectando,desconectandoouesperandopor uma tentativa de reconexão. Se a opção Connectionmanagement estiver configurada para Manual, então a camadafísicapermanecenesteestadoatéserforçadaaconectar)

2: Camada física conectada (a camada física está pronta para serusada). Isto NÃO significa que o equipamento esteja conectado,apenasqueacamadadeacessoestáfuncionando

EstaseçãodadocumentaçãoajudouvocêaconfiguraresteDriver?

Sim Não

Comentários(opcional):

Restam150caracteres.Contato(opcional):

Limpar EnviarAcessetambémonossoKnowledgebaseparamaioresinformaçõessobrenossosprodutos

IO.SetConfigurationParameters TopoAnteriorPróximo

TipodeTag TagBloco

TipodeAcesso SomenteLeitura

ParâmetroB1 -1

ParâmetroB2 0

ParâmetroB3 0

ParâmetroB4 3

PropriedadeSize 2

PropriedadeParamItem IO.SetConfigurationParameters

UseesteTagparamodificarqualquerpropriedadedacaixadediálogodeconfiguraçãodoDriveremtempodeexecução.EsteTagfuncionasomenteenquantooDriverestiveremmodoOffline.Para iniciaroDriveremmodoOffline, selecioneaopçãoStartdriverOFFLINEnacaixadediálogodeconfiguraçãodoDriver.Pode-setantoescreveremumTagPLCouemumTagBlococontendoosparâmetrosa seremmodificados (escritas de Elementos de Bloco individuais nãosãosuportadas,oBlocointeiroprecisaserescritodeumavezsó).NoElipseSCADAénecessáriousarumTagBloco.CadaparâmetroaserconfiguradoutilizadoisElementosdeBloco.Porexemplo,casosejanecessárioconfigurartrêsparâmetros,entãootamanhodoBlocodeveser6(3*2).OprimeiroElementoéonomedapropriedade(comoumaString)eosegundoElementoéovalordapropriedade.VejaestescriptnoElipseSCADA://'Block'deveserumTagBlockcomleituraautomática,//leituraporvarreduraeescritaautomáticadesabilitadas.//ConfiguraosparâmetrosBlock.element001="IO.Type"//Parâmetro1Block.element002="Serial"Block.element003="IO.Serial.Port"//Parâmetro2Block.element004=1

Block.element005="IO.serial.BaudRate"//Parâmetro3Block.element006=19200//EscreveoBlockinteiroBlock.Write()

Ao usar o E3, a habilidade de criar arrays em tempo de execuçãopermite o uso tanto de um Tag de Comunicação quanto de um TagBloco. Pode-se utilizar o método Write do Driver para enviar osparâmetrosdiretamenteparaoDriver,semanecessidadedecriarumTag.Vejaestesexemplos:

Dimarr(6)'Configuraoselementosdoarrayarr(1)="IO.Type"arr(2)="Serial"arr(3)="IO.Serial.Port"arr(4)=1arr(5)="IO.serial.BaudRate"arr(6)=19200'Hádoismétodosdeenviarosparâmetros'Método1:UsandoumTagdeComunicaçãotag.WriteExarr'Método2:SemutilizarumTagDriver.Write-1,0,0,3,arr

Umavariaçãodoexemploanteriorusaumarraybidimensional:

Dimarr(10)'Configuraoselementosdoarray.Notequeoarrayfoiredimensionado'para10elementos.ElementosvaziosdoarraysãoignoradospeloDriver.arr(1)=Array("IO.Type","Serial")arr(2)=Array("IO.Serial.Port",1)arr(3)=Array("IO.serial.BaudRate",19200)Driver.Write-1,0,0,3,arr

ODrivernãovalidanomesdeparâmetrosouvalorespassados,poristotenha cuidado ao escrever parâmetros e valores. O comandoWritefalha se o array de configuração é criado incorretamente. Pode-se

consultar o log doDriver ou usar o parâmetrowriteStatus dométodoWriteExparadescobriracausaexatadoerro:Dimarr(10),strErrorarr(1)=Array("IO.Type","Serial")arr(2)=Array("IO.Serial.Port",1)arr(3)=Array("IO.serial.BaudRate",19200)IfNotDriver.WriteEx-1,0,0,3,arr,,,strErrorThenMsgBox"FalhaaoconfigurarosparâmetrosdoDriver:"+strErrorEndIf

EstaseçãodadocumentaçãoajudouvocêaconfiguraresteDriver?

Sim Não

Comentários(opcional):

Restam150caracteres.Contato(opcional):

Limpar EnviarAcessetambémonossoKnowledgebaseparamaioresinformaçõessobrenossosprodutos

IO.WorkOnline TopoAnteriorPróximo

TipodeTag TagdeComunicação

TipodeAcesso LeituraouEscrita

ParâmetroN1 -1

ParâmetroN2 0

ParâmetroN3 0

ParâmetroN4 4

ConfiguraçãoporString IO.WorkOnline

EsteTag informaoestadoatualdoDriverepermite iniciaroupararacamadafísica.

0-DriverOffline:Acamadafísicaestáfechada(parada).Estemodopermite uma configuração dinâmica dos parâmetros do DriveratravésdoTagIO.SetConfigurationParameters1 - Driver Online: A camada física está aberta (em execução).Enquanto estiver em modo Online, a camada física pode serconectadaoudesconectada(seuestadoatualpodeserconferidonoTagIO.PhysicalLayerStatus)

No exemplo a seguir (utilizando oE3), oDriver é colocado emmodoOffline, sua porta COM é modificada e então é colocado em modoOnlinenovamente:'ConfiguraoDriveremmodoOfflineDriver.Write-1,0,0,4,0'MudaaportaparaCOM2Driver.Write-1,0,0,3,Array("IO.Serial.Port",2)'ConfiguraoDriveremmodoOnlineDriver.Write-1,0,0,4,1

OmétodoWrite pode falhar quando estiver configurando oDriver emmodoOnline(escrevendoovalorum).Nestecaso,oDriverpermanece

emmodoOffline.Acausadafalhapodeser:Tipo de camada física configurada incorretamente (provavelmenteumvalorinválidofoiconfiguradoparaapropriedadeIO.Type)ODriverpodeterficadosemmemória

A camada física pode ter deixado de criar seu thread de trabalho(procurenoarquivodelogpelamensagem"Failedtocreatephysicallayerthread!")

Acamadafísicanãoconseguiuinicializar.Acausadafalhadependedo tipo de camada física. Pode ser um número de porta serialinválida,falhaaoinicializaroWindowsSockets,falhaaoinicializaroTAPI(modem),etc.Acausaégravadanoarquivodelog

IMPORTANTEMesmo que a configuração do Driver para o modoOnline seja bemsucedida,istonãosignificanecessariamentequeacamadafísicaestejapronta para uso (pronta para executar operações de entrada e saídacom um equipamento externo). O Tag IO.PhysicalLayerStatus deveserverificadoparaassegurarqueacamada físicaestejaconectadaepreparadaparaacomunicação.

EstaseçãodadocumentaçãoajudouvocêaconfiguraresteDriver?

Sim Não

Comentários(opcional):

Restam150caracteres.Contato(opcional):

Limpar EnviarAcessetambémonossoKnowledgebaseparamaioresinformaçõessobrenossosprodutos

Propriedades TopoAnteriorPróximo

Estas são as propriedades gerais de todas as Interfaces de I/Osuportadas.Aspropriedadesdisponíveisnestaseçãosãoasseguintes:

IO.ConnectionMode

IO.GiveUpEnable

IO.GiveUpTries

IO.InactivityEnable

IO.InactivityPeriodSec

IO.RecoverEnable

IO.RecoverPeriodSec

IO.StartOffline

IO.TimeoutMs

IO.Type

IO.ConnectionMode TopoAnteriorPróximo

ControlaomododegerenciamentodaConexão:

0:Modoautomático(oDrivergerenciaaconexão)

1:Modomanual(aaplicaçãogerenciaaconexão)

EstaseçãodadocumentaçãoajudouvocêaconfiguraresteDriver?

Sim Não

Comentários(opcional):

Restam150caracteres.Contato(opcional):

Limpar EnviarAcessetambémonossoKnowledgebaseparamaioresinformaçõessobrenossosprodutos

IO.GiveUpEnable TopoAnteriorPróximo

Quando configuradaparaVerdadeiro, defineumnúmeromáximodetentativas de reconexão. Se todas as reconexões falharem, o DriverentraemmodoOffline. Se configuradaparaFalso, oDriver tenta atéqueumareconexãosejabem-sucedida.

EstaseçãodadocumentaçãoajudouvocêaconfiguraresteDriver?

Sim Não

Comentários(opcional):

Restam150caracteres.Contato(opcional):

Limpar EnviarAcessetambémonossoKnowledgebaseparamaioresinformaçõessobrenossosprodutos

IO.GiveUpTries TopoAnteriorPróximo

Númerodetentativasdereconexãoantesqueestasejaabortada.Porexemplo,seovalordestapropriedadeé iguala1 (um),oDriver tentaapenasumareconexãoquandoaconexãoéperdida.Seestafalhar,oDriverentraemmodoOffline.

EstaseçãodadocumentaçãoajudouvocêaconfiguraresteDriver?

Sim Não

Comentários(opcional):

Restam150caracteres.Contato(opcional):

Limpar EnviarAcessetambémonossoKnowledgebaseparamaioresinformaçõessobrenossosprodutos

IO.InactivityEnable TopoAnteriorPróximo

ConfigureemVerdadeiroparahabilitareemFalsoparadesabilitaradetecção de inatividade. A camada física é desconectada se estiverinativaporumcertoperíodode tempo.Acamadafísicaéconsideradainativaapenasseécapazdeenviardadosmasnãode recebê-losdevolta.

EstaseçãodadocumentaçãoajudouvocêaconfiguraresteDriver?

Sim Não

Comentários(opcional):

Restam150caracteres.Contato(opcional):

Limpar EnviarAcessetambémonossoKnowledgebaseparamaioresinformaçõessobrenossosprodutos

IO.InactivityPeriodSec TopoAnteriorPróximo

Númerodesegundosparaaverificaçãodeinatividade.Seacamadafísicaestiverinativaporesteperíododetempo,elaédesconectada.

EstaseçãodadocumentaçãoajudouvocêaconfiguraresteDriver?

Sim Não

Comentários(opcional):

Restam150caracteres.Contato(opcional):

Limpar EnviarAcessetambémonossoKnowledgebaseparamaioresinformaçõessobrenossosprodutos

IO.RecoverEnable TopoAnteriorPróximo

ConfigureemVerdadeiroparahabilitaroDriverarecuperarconexõesperdidaseemFalsoparadeixaroDriveremmodoOfflinequandoumaconexãoéperdida.

EstaseçãodadocumentaçãoajudouvocêaconfiguraresteDriver?

Sim Não

Comentários(opcional):

Restam150caracteres.Contato(opcional):

Limpar EnviarAcessetambémonossoKnowledgebaseparamaioresinformaçõessobrenossosprodutos

IO.RecoverPeriodSec TopoAnteriorPróximo

Tempodeesperaentreduastentativasdeconexão,emsegundos.

NOTAAprimeira reconexãoéexecutada imediatamenteapósaconexãoserperdida.

EstaseçãodadocumentaçãoajudouvocêaconfiguraresteDriver?

Sim Não

Comentários(opcional):

Restam150caracteres.Contato(opcional):

Limpar EnviarAcessetambémonossoKnowledgebaseparamaioresinformaçõessobrenossosprodutos

IO.StartOffline TopoAnteriorPróximo

ConfigureemVerdadeiroparainiciaroDriveremmodoOfflineeemFalsoparainiciaroDriveremmodoOnline.

NOTANãofazsentidomodificarestapropriedadeemtempodeexecução, jáque ela só pode sermodificada quando o Driver já estiver emmodoOffline. Para configurar o Driver em modo Online em tempo deexecução,escrevaovalor1(um)noTagIO.WorkOnline.

EstaseçãodadocumentaçãoajudouvocêaconfiguraresteDriver?

Sim Não

Comentários(opcional):

Restam150caracteres.Contato(opcional):

Limpar EnviarAcessetambémonossoKnowledgebaseparamaioresinformaçõessobrenossosprodutos

IO.TimeoutMs TopoAnteriorPróximo

Defineotime-outdacamadafísica,emmilissegundos(umsegundoéiguala1000milissegundos).

EstaseçãodadocumentaçãoajudouvocêaconfiguraresteDriver?

Sim Não

Comentários(opcional):

Restam150caracteres.Contato(opcional):

Limpar EnviarAcessetambémonossoKnowledgebaseparamaioresinformaçõessobrenossosprodutos

IO.Type TopoAnteriorPróximo

Define o tipo de interface física utilizada pelo Driver. Os valorespossíveissãoosseguintes:

NouNone:Nãoutilizauma interface física (oDriverdeve fornecerumainterfacepersonalizada)

SouSerial:Utilizaumaportaseriallocal(COMn)

MouModem:Utilizaummodemlocal(internoouexterno)acessadoviaTAPI(TelephonyApplicationProgrammingInterface)

EouEthernet:UtilizaumsocketTCP/IPouUDP/IP

R ou RAS: Utiliza uma InterfaceRAS (Remote Access Server). ODriver conecta-se ao equipamento RAS através da InterfaceEtherneteentãoemiteumcomandoAT(dial)

EstaseçãodadocumentaçãoajudouvocêaconfiguraresteDriver?

Sim Não

Comentários(opcional):

Restam150caracteres.Contato(opcional):

Limpar EnviarAcessetambémonossoKnowledgebaseparamaioresinformaçõessobrenossosprodutos

ConfiguraçãodeEstatísticas TopoAnteriorPróximo

Esta seção contém informações sobre a configuração dos Tags deComunicação e asPropriedades das estatísticas das Interfaces deComunicação.

TagsdeComunicação TopoAnteriorPróximo

Tags de estatísticas das Interfaces de Comunicação(N2/B2=0)Os Tags descritos a seguir mostram estatísticas para todas asInterfaces deComunicação.Os Tags disponíveis nesta seção são osseguintes:

IO.Stats.Partial.BytesRecv

IO.Stats.Partial.BytesSent

IO.Stats.Partial.TimeConnectedSeconds

IO.Stats.Partial.TimeDisconnectedSeconds

IO.Stats.Total.BytesRecv

IO.Stats.Total.BytesSent

IO.Stats.Total.ConnectionCount

IO.Stats.Total.TimeConnectedSeconds

IO.Stats.Total.TimeDisconnectedSeconds

IO.Stats.Partial.BytesRecv TopoAnteriorPróximo

TipodeTag TagdeComunicação

TipodeAcesso SomenteLeitura

ParâmetroN1 -1

ParâmetroN2 0

ParâmetroN3 0

ParâmetroN4 1101

ConfiguraçãoporString IO.Stats.Partial.BytesRecv

EsteTagretornaaquantidadedebytesrecebidosnaconexãoatual.

EstaseçãodadocumentaçãoajudouvocêaconfiguraresteDriver?

Sim Não

Comentários(opcional):

Restam150caracteres.Contato(opcional):

Limpar EnviarAcessetambémonossoKnowledgebaseparamaioresinformaçõessobrenossosprodutos

IO.Stats.Partial.BytesSent TopoAnteriorPróximo

TipodeTag TagdeComunicação

TipodeAcesso SomenteLeitura

ParâmetroN1 -1

ParâmetroN2 0

ParâmetroN3 0

ParâmetroN4 1100

ConfiguraçãoporString IO.Stats.Partial.BytesSent

EsteTagretornaaquantidadedebytesenviadosnaconexãoatual.

EstaseçãodadocumentaçãoajudouvocêaconfiguraresteDriver?

Sim Não

Comentários(opcional):

Restam150caracteres.Contato(opcional):

Limpar EnviarAcessetambémonossoKnowledgebaseparamaioresinformaçõessobrenossosprodutos

IO.Stats.Partial.TimeConnectedSecondsTopo

AnteriorPróximo

TipodeTag TagdeComunicação

TipodeAcesso SomenteLeitura

ParâmetroN1 -1

ParâmetroN2 0

ParâmetroN3 0

ParâmetroN4 1102

ConfiguraçãoporString IO.Stats.Partial.TimeConnectedSeconds

EsteTagretornaonúmerodesegundosqueoDriverestáconectadonaconexãoatualou0(zero)seoDriverestádesconectado.

EstaseçãodadocumentaçãoajudouvocêaconfiguraresteDriver?

Sim Não

Comentários(opcional):

Restam150caracteres.Contato(opcional):

Limpar EnviarAcessetambémonossoKnowledgebaseparamaioresinformaçõessobrenossosprodutos

IO.Stats.Partial.TimeDisconnectedSecondsTopo

AnteriorPróximo

TipodeTag TagdeComunicação

TipodeAcesso SomenteLeitura

ParâmetroN1 -1

ParâmetroN2 0

ParâmetroN3 0

ParâmetroN4 1103

ConfiguraçãoporString IO.Stats.Partial.TimeDisconnectedSeconds

Este Tag retorna o número de segundos que o Driver estádesconectado desde o término da última conexão ou 0 (zero) se oDriverestáconectado.

EstaseçãodadocumentaçãoajudouvocêaconfiguraresteDriver?

Sim Não

Comentários(opcional):

Restam150caracteres.Contato(opcional):

Limpar EnviarAcessetambémonossoKnowledgebaseparamaioresinformaçõessobrenossosprodutos

IO.Stats.Total.BytesRecv TopoAnteriorPróximo

TipodeTag TagdeComunicação

TipodeAcesso SomenteLeitura

ParâmetroN1 -1

ParâmetroN2 0

ParâmetroN3 0

ParâmetroN4 1001

ConfiguraçãoporString IO.Stats.Total.BytesRecv

EsteTagretornaaquantidadedebytesrecebidosdesdequeoDriverfoicarregado.

EstaseçãodadocumentaçãoajudouvocêaconfiguraresteDriver?

Sim Não

Comentários(opcional):

Restam150caracteres.Contato(opcional):

Limpar EnviarAcessetambémonossoKnowledgebaseparamaioresinformaçõessobrenossosprodutos

IO.Stats.Total.BytesSent TopoAnteriorPróximo

TipodeTag TagdeComunicação

TipodeAcesso SomenteLeitura

ParâmetroN1 -1

ParâmetroN2 0

ParâmetroN3 0

ParâmetroN4 1000

ConfiguraçãoporString IO.Stats.Total.BytesSent

EsteTagretornaaquantidadedebytesenviadosdesdequeoDriverfoicarregado.

EstaseçãodadocumentaçãoajudouvocêaconfiguraresteDriver?

Sim Não

Comentários(opcional):

Restam150caracteres.Contato(opcional):

Limpar EnviarAcessetambémonossoKnowledgebaseparamaioresinformaçõessobrenossosprodutos

IO.Stats.Total.ConnectionCount TopoAnteriorPróximo

TipodeTag TagdeComunicação

TipodeAcesso SomenteLeitura

ParâmetroN1 -1

ParâmetroN2 0

ParâmetroN3 0

ParâmetroN4 1004

ConfiguraçãoporString IO.Stats.Total.ConnectionCount

EsteTagretornaaquantidadedeconexõesqueoDriverjáestabeleceu,comsucesso,desdequefoicarregado.

EstaseçãodadocumentaçãoajudouvocêaconfiguraresteDriver?

Sim Não

Comentários(opcional):

Restam150caracteres.Contato(opcional):

Limpar EnviarAcessetambémonossoKnowledgebaseparamaioresinformaçõessobrenossosprodutos

IO.Stats.Total.TimeConnectedSecondsTopo

AnteriorPróximo

TipodeTag TagdeComunicação

TipodeAcesso SomenteLeitura

ParâmetroN1 -1

ParâmetroN2 0

ParâmetroN3 0

ParâmetroN4 1002

ConfiguraçãoporString IO.Stats.Total.TimeConnectedSeconds

Este Tag retorna o número de segundos que o Driver permaneceuconectadodesdequefoicarregado.

EstaseçãodadocumentaçãoajudouvocêaconfiguraresteDriver?

Sim Não

Comentários(opcional):

Restam150caracteres.Contato(opcional):

Limpar EnviarAcessetambémonossoKnowledgebaseparamaioresinformaçõessobrenossosprodutos

IO.Stats.Total.TimeDisconnectedSecondsTopo

AnteriorPróximo

TipodeTag TagdeComunicação

TipodeAcesso SomenteLeitura

ParâmetroN1 -1

ParâmetroN2 0

ParâmetroN3 0

ParâmetroN4 1003

ConfiguraçãoporString IO.Stats.Total.TimeDisconnectedSeconds

Este Tag retorna o número de segundos que o Driver permaneceudesconectadodesdequefoicarregado.

EstaseçãodadocumentaçãoajudouvocêaconfiguraresteDriver?

Sim Não

Comentários(opcional):

Restam150caracteres.Contato(opcional):

Limpar EnviarAcessetambémonossoKnowledgebaseparamaioresinformaçõessobrenossosprodutos

Propriedades TopoAnteriorPróximo

Atualmente,nãoexistempropriedadesdefinidasespecificamenteparamostrar as estatísticas das Interfaces de Comunicação em tempo deexecução.

Configuração da InterfaceEthernet

TopoAnteriorPróximo

Esta seção contém informações sobre a configuração dos Tags deComunicaçãoeasPropriedadesdaInterfaceEthernet.

TagsdeComunicação TopoAnteriorPróximo

TagsdaInterfaceEthernet(N2/B2=4)OsTagsdescritos a seguir permitemcontrolar e identificar a InterfaceEthernet em tempo de execução (também são válidos quando aInterfaceRASestiverselecionada).

IMPORTANTEEstesTagsestãodisponíveisSOMENTEenquantooDriverestiveremmodoOnline.

OsTagsdisponíveisnestaseçãosãoosseguintes:

IO.Ethernet.IPSelect

IO.Ethernet.IPSwitch

EstaseçãodadocumentaçãoajudouvocêaconfiguraresteDriver?

Sim Não

Comentários(opcional):

Restam150caracteres.Contato(opcional):

Limpar EnviarAcessetambémonossoKnowledgebaseparamaioresinformaçõessobrenossosprodutos

IO.Ethernet.IPSelect TopoAnteriorPróximo

TipodeTag TagdeComunicação

TipodeAcesso LeituraouEscrita

ParâmetroN1 -1

ParâmetroN2 0

ParâmetroN3 4

ParâmetroN4 0

ConfiguraçãoporString IO.Ethernet.IPSelect

IndicaoendereçoIPativo.Osvalorespossíveissãoosseguintes:

0:OendereçoprincipaldeIPestáselecionado

1:Oendereçoalternativo(backup)deIPestáselecionadoSe a InterfaceEthernet (ouRAS) estiver conectada, este Tag indicaqualdosdoisendereçosIPconfiguradosestáemuso.SeaInterfacefordesconectada, este Tag indica qual endereço IP é usado primeiro napróximatentativadeconexão.Durante o processo de conexão, se o endereço IP ativo não estiverdisponível, a Interface de Comunicação tenta conectar-se usando ooutro endereço IP. Se a conexão com o endereço IP alternativofuncionar, este é configurado como o endereço IP ativo (switchoverautomático).Para forçarumswitchovermanual,escrevaovalor1 (um)ou0 (zero)nesteTag. Isto forçaa reconexãocomoendereço IPespecificado (0:Endereçoprincipalde IPou1:Endereçoalternativode IP)seoDriverestiver atualmente conectado. Se o Driver estiver desconectado, esteTagconfiguraoendereçoIPativoparaapróximatentativadeconexão.

EstaseçãodadocumentaçãoajudouvocêaconfiguraresteDriver?

Sim Não

Comentários(opcional):

Restam150caracteres.Contato(opcional):

Limpar EnviarAcessetambémonossoKnowledgebaseparamaioresinformaçõessobrenossosprodutos

IO.Ethernet.IPSwitch TopoAnteriorPróximo

TipodeTag TagdeComunicação

TipodeAcesso SomenteEscrita

ParâmetroN1 -1

ParâmetroN2 0

ParâmetroN3 4

ParâmetroN4 1

ConfiguraçãoporString IO.Ethernet.IPSwitch

Qualquer valor escrito neste Tag força um switchover manual. Se oendereçoprincipaldeIPestiverativo,entãooendereçoalternativodeIP(backup)éativado,evice-versa.IstoforçaareconexãocomoendereçoIPespecificado se oDriver estiver atualmente conectado.Se oDriverestiver desconectado, este Tag configura o endereço IP ativo para apróximatentativadeconexão.

EstaseçãodadocumentaçãoajudouvocêaconfiguraresteDriver?

Sim Não

Comentários(opcional):

Restam150caracteres.Contato(opcional):

Limpar EnviarAcessetambémonossoKnowledgebaseparamaioresinformaçõessobrenossosprodutos

Propriedades TopoAnteriorPróximo

EstaspropriedadescontrolamaconfiguraçãodaInterfaceEthernet.

NOTAAInterfaceEthernettambéméusadapelaInterfaceRAS.

Aspropriedadesdisponíveisnestaseçãosãoasseguintes:

IO.Ethernet.AcceptConnection

IO.Ethernet.BackupEnable

IO.Ethernet.BackupIP

IO.Ethernet.BackupPort

IO.Ethernet.ListenPort

IO.Ethernet.MainIP

IO.Ethernet.MainPort

IO.Ethernet.PingEnable

IO.Ethernet.PingTimeoutMs

IO.Ethernet.PingTries

IO.Ethernet.Transport

EstaseçãodadocumentaçãoajudouvocêaconfiguraresteDriver?

Sim Não

Comentários(opcional):

Restam150caracteres.Contato(opcional):

Limpar Enviar

AcessetambémonossoKnowledgebaseparamaioresinformaçõessobrenossosprodutos

IO.Ethernet.AcceptConnection TopoAnteriorPróximo

ConfigureemFalsoseoDrivernãodeveaceitarconexõesexternas(oDriver se comporta como mestre) ou configure em Verdadeiro parahabilitararecepçãodeconexões(oDriversecomportacomoescravo).

EstaseçãodadocumentaçãoajudouvocêaconfiguraresteDriver?

Sim Não

Comentários(opcional):

Restam150caracteres.Contato(opcional):

Limpar EnviarAcessetambémonossoKnowledgebaseparamaioresinformaçõessobrenossosprodutos

IO.Ethernet.BackupEnable TopoAnteriorPróximo

Configure em Verdadeiro para habilitar o endereço IP de reserva(backup). Se a tentativa de reconectar com o endereço IP principalfalhar, o Driver tenta utilizar o endereço IP de reserva. Configure emFalsoparadesabilitarsuautilização.

EstaseçãodadocumentaçãoajudouvocêaconfiguraresteDriver?

Sim Não

Comentários(opcional):

Restam150caracteres.Contato(opcional):

Limpar EnviarAcessetambémonossoKnowledgebaseparamaioresinformaçõessobrenossosprodutos

IO.Ethernet.BackupIP TopoAnteriorPróximo

EndereçoIPalternativo(backup)doequipamentodedestino.Pode-seutilizar tanto o endereço numérico como o nome de host doequipamento,comoporexemplo"192.168.0.7"ou"SERVER2".

EstaseçãodadocumentaçãoajudouvocêaconfiguraresteDriver?

Sim Não

Comentários(opcional):

Restam150caracteres.Contato(opcional):

Limpar EnviarAcessetambémonossoKnowledgebaseparamaioresinformaçõessobrenossosprodutos

IO.Ethernet.BackupPort TopoAnteriorPróximo

Número da porta do endereço IP alternativo do equipamento dedestino(usadojuntamentecomapropriedadeIO.Ethernet.BackupIP).

EstaseçãodadocumentaçãoajudouvocêaconfiguraresteDriver?

Sim Não

Comentários(opcional):

Restam150caracteres.Contato(opcional):

Limpar EnviarAcessetambémonossoKnowledgebaseparamaioresinformaçõessobrenossosprodutos

IO.Ethernet.ListenPort TopoAnteriorPróximo

NúmerodaportaIPutilizadapeloDriverparaescutarconexões.

EstaseçãodadocumentaçãoajudouvocêaconfiguraresteDriver?

Sim Não

Comentários(opcional):

Restam150caracteres.Contato(opcional):

Limpar EnviarAcessetambémonossoKnowledgebaseparamaioresinformaçõessobrenossosprodutos

IO.Ethernet.MainIP TopoAnteriorPróximo

Endereço IP do equipamento de destino. Pode-se utilizar tanto oendereço numérico como o nome dehost do equipamento, como porexemplo"192.168.0.7"ou"SERVER2".

EstaseçãodadocumentaçãoajudouvocêaconfiguraresteDriver?

Sim Não

Comentários(opcional):

Restam150caracteres.Contato(opcional):

Limpar EnviarAcessetambémonossoKnowledgebaseparamaioresinformaçõessobrenossosprodutos

IO.Ethernet.MainPort TopoAnteriorPróximo

Número da porta IP no equipamento de destino (usado juntamentecomapropriedadeIO.Ethernet.MainIP).

EstaseçãodadocumentaçãoajudouvocêaconfiguraresteDriver?

Sim Não

Comentários(opcional):

Restam150caracteres.Contato(opcional):

Limpar EnviarAcessetambémonossoKnowledgebaseparamaioresinformaçõessobrenossosprodutos

IO.Ethernet.PingEnable TopoAnteriorPróximo

ConfigureemVerdadeiroparahabilitaroenviodeumcomandopingpara o endereço IP do equipamento de destino, antes de tentarconectar-seaosocket.O time-outdeconexãodosocketnãopodesercontrolado,poristooenviodeumcomandopingantesdeconectar-seéumamaneirarápidadedetectarseaconexãovaifalhar.ConfigureemFalsoparadesabilitarocomandoping.

EstaseçãodadocumentaçãoajudouvocêaconfiguraresteDriver?

Sim Não

Comentários(opcional):

Restam150caracteres.Contato(opcional):

Limpar EnviarAcessetambémonossoKnowledgebaseparamaioresinformaçõessobrenossosprodutos

IO.Ethernet.PingTimeoutMs TopoAnteriorPróximo

Tempo de espera por uma resposta de um comando ping, emmilissegundos.

EstaseçãodadocumentaçãoajudouvocêaconfiguraresteDriver?

Sim Não

Comentários(opcional):

Restam150caracteres.Contato(opcional):

Limpar EnviarAcessetambémonossoKnowledgebaseparamaioresinformaçõessobrenossosprodutos

IO.Ethernet.PingTries TopoAnteriorPróximo

Númeromáximodetentativasdecomandosping.Ovalormínimoé1(um),incluindooprimeirocomandoping.

EstaseçãodadocumentaçãoajudouvocêaconfiguraresteDriver?

Sim Não

Comentários(opcional):

Restam150caracteres.Contato(opcional):

Limpar EnviarAcessetambémonossoKnowledgebaseparamaioresinformaçõessobrenossosprodutos

IO.Ethernet.Transport TopoAnteriorPróximo

Define o protocolo de transporte. Os valores possíveis são osseguintes:

TouTCP:UtilizaoprotocoloTCP/IP

UouUDP:UtilizaoprotocoloUDP/IP

EstaseçãodadocumentaçãoajudouvocêaconfiguraresteDriver?

Sim Não

Comentários(opcional):

Restam150caracteres.Contato(opcional):

Limpar EnviarAcessetambémonossoKnowledgebaseparamaioresinformaçõessobrenossosprodutos

Configuração da InterfaceModem

TopoAnteriorPróximo

Esta seção contém informações sobre a configuração dos Tags deComunicaçãoeasPropriedadesdaInterfaceModem(TAPI).

TagsdeComunicação TopoAnteriorPróximo

TagsdaInterfaceModem(N2/B2=3)OsTagsdescritosaseguirpermitemcontrolarediagnosticaraInterfaceModem(TAPI)emtempodeexecução.

IMPORTANTEEstesTagsestãodisponíveisSOMENTEenquantooDriverestiveremmodoOnline.

OsTagsdisponíveisnestaseçãosãoosseguintes:

IO.TAPI.ConnectionBaudRate

IO.TAPI.Dial

IO.TAPI.ModemStatus

IO.TAPI.PhoneNumber

IO.TAPI.HangUp

IO.TAPI.IsModemConnected

IO.TAPI.IsModemConnecting

EstaseçãodadocumentaçãoajudouvocêaconfiguraresteDriver?

Sim Não

Comentários(opcional):

Restam150caracteres.Contato(opcional):

Limpar EnviarAcessetambémonossoKnowledgebaseparamaioresinformaçõessobrenossosprodutos

IO.TAPI.ConnectionBaudRate TopoAnteriorPróximo

TipodeTag TagdeComunicação

TipodeAcesso SomenteLeitura

ParâmetroN1 -1

ParâmetroN2 0

ParâmetroN3 3

ParâmetroN4 5

ConfiguraçãoporString IO.TAPI.ConnectionBaudRate

Indicaovalordebaudratedaconexãoatual.Seomodemnãoestiverconectado,retornaovalor0(zero).

EstaseçãodadocumentaçãoajudouvocêaconfiguraresteDriver?

Sim Não

Comentários(opcional):

Restam150caracteres.Contato(opcional):

Limpar EnviarAcessetambémonossoKnowledgebaseparamaioresinformaçõessobrenossosprodutos

IO.TAPI.Dial TopoAnteriorPróximo

TipodeTag TagdeComunicação

TipodeAcesso SomenteEscrita

ParâmetroN1 -1

ParâmetroN2 0

ParâmetroN3 3

ParâmetroN4 1

ConfiguraçãoporString IO.TAPI.Dial

Escreva qualquer valor neste Tag para forçar a Interface Modem ainiciarumachamada.Estecomandoéassíncrono,apenas iniciandooprocesso de chamada. Pode-se monitorar o TagIO.TAPI.IsModemConnected para detectar quando a chamada éestabelecida.

EstaseçãodadocumentaçãoajudouvocêaconfiguraresteDriver?

Sim Não

Comentários(opcional):

Restam150caracteres.Contato(opcional):

Limpar EnviarAcessetambémonossoKnowledgebaseparamaioresinformaçõessobrenossosprodutos

IO.TAPI.ModemStatus TopoAnteriorPróximo

TipodeTag TagdeComunicação

TipodeAcesso SomenteLeitura

ParâmetroN1 -1

ParâmetroN2 0

ParâmetroN3 3

ParâmetroN4 2

ConfiguraçãoporString IO.TAPI.ModemStatus

Retorna uma String com o estado atual do modem. Os valorespossíveissãoosseguintes:

"No status!": A Interface Modem ainda não foi aberta ou já foifechada

"Modem initialized OK!": A InterfaceModem foi inicializada comsucesso

"Modemerroratinitialization!":ODrivernãoconseguiuinicializaralinha do modem. Confira o arquivo de log do Driver para maioresdetalhes

"Modemerroratdial!":ODrivernãoconseguiucomeçarouaceitarumachamada

"Connecting...":ODriveriniciouumachamadacomsucesso,eestáatualmenteprocessandoestachamada

"Ringing...": Indica que o modem está recebendo uma chamadaexterna,masaindanãoaaceitou

"Connected!": O Driver conectou-se com sucesso (completou ouaceitouumachamadaexterna)

"Disconnecting...":ODriverestádesligandoachamadaatual

"DisconnectedOK!":ODriverdesligouachamadaatual

"Error:nodial tone!":ODriverabortouachamadaporqueosinaldelinhadisponívelnãofoidetectado

"Error: busy!": O Driver abortou a ligação porque a linha estavaocupada

"Error: no answer!": O Driver abortou a chamada porque nãorecebeurespostadooutromodem

"Error: unknown!": A chamada atual foi abortada por um errodesconhecido

EstaseçãodadocumentaçãoajudouvocêaconfiguraresteDriver?

Sim Não

Comentários(opcional):

Restam150caracteres.Contato(opcional):

Limpar EnviarAcessetambémonossoKnowledgebaseparamaioresinformaçõessobrenossosprodutos

IO.TAPI.PhoneNumber TopoAnteriorPróximo

TipodeTag TagdeComunicação

TipodeAcesso LeituraouEscrita

ParâmetroN1 -1

ParâmetroN2 0

ParâmetroN3 3

ParâmetroN4 0

ConfiguraçãoporString IO.TAPI.PhoneNumber

EsteTagéumaStringquelêoumodificaonúmerodotelefoneutilizadopelo Tag IO.TAPI.Dial. Ao modificar este Tag, o novo valor é usadoapenasnopróximocomandoDial.

EstaseçãodadocumentaçãoajudouvocêaconfiguraresteDriver?

Sim Não

Comentários(opcional):

Restam150caracteres.Contato(opcional):

Limpar EnviarAcessetambémonossoKnowledgebaseparamaioresinformaçõessobrenossosprodutos

IO.TAPI.HangUp TopoAnteriorPróximo

TipodeTag TagdeComunicação

TipodeAcesso SomenteEscrita

ParâmetroN1 -1

ParâmetroN2 0

ParâmetroN3 3

ParâmetroN4 4

ConfiguraçãoporString IO.TAPI.HangUp

QualquervalorescritonesteTagdesligaachamadaatual.

NOTAUseestecomandoapenasquandoestivergerenciandoacamadafísicamanualmente, ou se estiver explicitamente tentando forçar o Driver areiniciar a comunicação. Se a camada física estiver configurada parareconexão automática, o Driver imediatamente tenta restabelecer aconexão.

EstaseçãodadocumentaçãoajudouvocêaconfiguraresteDriver?

Sim Não

Comentários(opcional):

Restam150caracteres.Contato(opcional):

Limpar EnviarAcessetambémonossoKnowledgebaseparamaioresinformaçõessobrenossosprodutos

IO.TAPI.IsModemConnected TopoAnteriorPróximo

TipodeTag TagdeComunicação

TipodeAcesso SomenteLeitura

ParâmetroN1 -1

ParâmetroN2 0

ParâmetroN3 3

ParâmetroN4 3

ConfiguraçãoporString IO.TAPI.IsModemConnected

EsteTag indicaoestadodaconexãodomodem.Osvalorespossíveissãoosseguintes:

0: O modem não está conectado, mas pode estar realizando ourecebendoumachamadaexterna

1:OmodemestáconectadoeoDrivercompletouou recebeuumachamada externa com sucesso. Enquanto estiver neste estado, acamadafísicaconsegueenviaroureceberdados

EstaseçãodadocumentaçãoajudouvocêaconfiguraresteDriver?

Sim Não

Comentários(opcional):

Restam150caracteres.Contato(opcional):

Limpar EnviarAcessetambémonossoKnowledgebaseparamaioresinformaçõessobrenossosprodutos

IO.TAPI.IsModemConnecting TopoAnteriorPróximo

TipodeTag TagdeComunicação

TipodeAcesso SomenteLeitura

ParâmetroN1 -1

ParâmetroN2 0

ParâmetroN3 3

ParâmetroN4 6

ConfiguraçãoporString IO.TAPI.IsModemConnecting

EsteTagindicaoestadodeconexãodomodem,commaisdetalhesdoque o Tag IO.TAPI.IsModemConnected.Os valores possíveis são osseguintes:

0:Omodemnãoestáconectado

1: O modem está conectando (realizando ou recebendo umachamadaexterna)

2: O modem está conectado. Enquanto estiver neste estado, acamadafísicaconsegueenviaroureceberdados

3:Omodemestádesconectandoachamadaatual

EstaseçãodadocumentaçãoajudouvocêaconfiguraresteDriver?

Sim Não

Comentários(opcional):

Restam150caracteres.Contato(opcional):

Limpar EnviarAcessetambémonossoKnowledgebaseparamaioresinformaçõessobrenossosprodutos

Propriedades TopoAnteriorPróximo

Estas propriedades controlam a configuração da Interface Modem(TAPI).Aspropriedadesdisponíveisnestaseçãosãoasseguintes:

IO.TAPI.AcceptIncoming

IO.TAPI.ModemID

IO.TAPI.PhoneNumber

IO.TAPI.AcceptIncoming TopoAnteriorPróximo

ConfigureemFalsoseomodemnãopodeaceitarchamadasexternas(o Driver se comporta comomestre) e configure em Verdadeiro parahabilitararecepçãodechamadas(oDriversecomportacomoescravo).

EstaseçãodadocumentaçãoajudouvocêaconfiguraresteDriver?

Sim Não

Comentários(opcional):

Restam150caracteres.Contato(opcional):

Limpar EnviarAcessetambémonossoKnowledgebaseparamaioresinformaçõessobrenossosprodutos

IO.TAPI.ModemID TopoAnteriorPróximo

Éonúmerodeidentificaçãodomodem.EsteIDécriadopeloWindowseéusadointernamenteparaidentificaromodemdentrodeumalistadeequipamentosinstaladosnocomputador.EsteIDpodenãopermanecerválidocasoomodemsejareinstaladoouaaplicaçãosejaexecutadaemoutrocomputador.

NOTARecomenda-se que esta propriedade seja configurada em 0 (zero),indicandoqueoDriverdeveutilizaroprimeiromodemdisponível.

EstaseçãodadocumentaçãoajudouvocêaconfiguraresteDriver?

Sim Não

Comentários(opcional):

Restam150caracteres.Contato(opcional):

Limpar EnviarAcessetambémonossoKnowledgebaseparamaioresinformaçõessobrenossosprodutos

IO.TAPI.PhoneNumber TopoAnteriorPróximo

O número de telefone utilizado em comandos Dial. Por exemplo,"0w01234566" (ocaractere "w" forçaomodemaesperarporumsinaldechamada).

EstaseçãodadocumentaçãoajudouvocêaconfiguraresteDriver?

Sim Não

Comentários(opcional):

Restam150caracteres.Contato(opcional):

Limpar EnviarAcessetambémonossoKnowledgebaseparamaioresinformaçõessobrenossosprodutos

ConfiguraçãodaInterfaceRAS TopoAnteriorPróximo

Esta seção contém informações sobre a configuração dos Tags deComunicaçãoeasPropriedadesdaInterfaceRAS.

TagsdeComunicação TopoAnteriorPróximo

TagsdaInterfaceRAS(N2/B2=5)Atualmente,nãoexistemTagsdefinidosespecificamenteparagerenciaraInterfaceRASemtempodeexecução.

EstaseçãodadocumentaçãoajudouvocêaconfiguraresteDriver?

Sim Não

Comentários(opcional):

Restam150caracteres.Contato(opcional):

Limpar EnviarAcessetambémonossoKnowledgebaseparamaioresinformaçõessobrenossosprodutos

Propriedades TopoAnteriorPróximo

EstaspropriedadescontrolamaconfiguraçãodaInterfaceRAS.

NOTAA Interface RAS utiliza a Interface Ethernet, que por este motivotambémdeveserconfigurada.

Aspropriedadesdisponíveisnestaseçãosãoasseguintes:

IO.RAS.ATCommand

IO.RAS.CommandTimeoutSec

EstaseçãodadocumentaçãoajudouvocêaconfiguraresteDriver?

Sim Não

Comentários(opcional):

Restam150caracteres.Contato(opcional):

Limpar EnviarAcessetambémonossoKnowledgebaseparamaioresinformaçõessobrenossosprodutos

IO.RAS.ATCommand TopoAnteriorPróximo

Comando AT a ser enviado através do socket para forçar oequipamento RAS a realizar uma ligação usando o canal RAS atual.Exemplo:"ATDT6265545".

EstaseçãodadocumentaçãoajudouvocêaconfiguraresteDriver?

Sim Não

Comentários(opcional):

Restam150caracteres.Contato(opcional):

Limpar EnviarAcessetambémonossoKnowledgebaseparamaioresinformaçõessobrenossosprodutos

IO.RAS.CommandTimeoutSec TopoAnteriorPróximo

Tempo de espera pela mensagem CONNECT em resposta aocomandoAT,emsegundos.

EstaseçãodadocumentaçãoajudouvocêaconfiguraresteDriver?

Sim Não

Comentários(opcional):

Restam150caracteres.Contato(opcional):

Limpar EnviarAcessetambémonossoKnowledgebaseparamaioresinformaçõessobrenossosprodutos

Configuração da InterfaceSerial TopoAnteriorPróximo

Esta seção contém informações sobre a configuração dos Tags deComunicaçãoeasPropriedadesdaInterfaceSerial.

TagsdeComunicação TopoAnteriorPróximo

TagsdaInterfaceSerial(N2/B2=2)Atualmente,nãoexistemTagsdefinidosespecificamenteparagerenciaraInterfaceSerialemtempodeexecução.

EstaseçãodadocumentaçãoajudouvocêaconfiguraresteDriver?

Sim Não

Comentários(opcional):

Restam150caracteres.Contato(opcional):

Limpar EnviarAcessetambémonossoKnowledgebaseparamaioresinformaçõessobrenossosprodutos

Propriedades TopoAnteriorPróximo

Estas propriedades controlam a configuração da InterfaceSerial. Aspropriedadesdisponíveisnestaseçãosãoasseguintes:

IO.Serial.Baudrate

IO.Serial.CTSTimeoutMs

IO.Serial.DataBits

IO.Serial.DelayAfterMs

IO.Serial.DelayBeforeMs

IO.Serial.DTR

IO.Serial.InterbyteDelayUs

IO.Serial.InterframeDelayMs

IO.Serial.Parity

IO.Serial.Port

IO.Serial.RTS

IO.Serial.StopBits

IO.Serial.SuppressEcho

IO.Serial.WaitCTS

IO.Serial.Baudrate TopoAnteriorPróximo

Especificaataxadebaudsdaportaserial,comoporexemplo9600.

EstaseçãodadocumentaçãoajudouvocêaconfiguraresteDriver?

Sim Não

Comentários(opcional):

Restam150caracteres.Contato(opcional):

Limpar EnviarAcessetambémonossoKnowledgebaseparamaioresinformaçõessobrenossosprodutos

IO.Serial.CTSTimeoutMs TopoAnteriorPróximo

TempodeesperapelosinalCTS,emmilissegundos.ApósosinalRTSser ligado (ON), um temporizador é iniciado para esperar pelo sinalCTS. Se este temporizador expirar, o Driver aborta o envio de bytesatravés da porta serial. Disponível apenas quando a propriedadeIO.Serial.RTS está configurada em Toggle e a propriedadeIO.Serial.WaitCTSestáconfiguradaemVerdadeiro.

EstaseçãodadocumentaçãoajudouvocêaconfiguraresteDriver?

Sim Não

Comentários(opcional):

Restam150caracteres.Contato(opcional):

Limpar EnviarAcessetambémonossoKnowledgebaseparamaioresinformaçõessobrenossosprodutos

IO.Serial.DataBits TopoAnteriorPróximo

Especifica o número de bits de dados para a configuração da portaserial.Osvalorespossíveissãoosseguintes:

5:Cincobitsdedados

6:Seisbitsdedados

7:Setebitsdedados

8:Oitobitsdedados

EstaseçãodadocumentaçãoajudouvocêaconfiguraresteDriver?

Sim Não

Comentários(opcional):

Restam150caracteres.Contato(opcional):

Limpar EnviarAcessetambémonossoKnowledgebaseparamaioresinformaçõessobrenossosprodutos

IO.Serial.DelayAfterMs TopoAnteriorPróximo

Número de milissegundos de atraso após o último byte ter sidoenviado através da porta serial, mas antes de desligar (OFF) o sinalRTS. Disponível apenas quando a propriedade IO.Serial.RTS estáconfigurada em Toggle e a propriedade IO.Serial.WaitCTS estáconfiguradaemFalso.

EstaseçãodadocumentaçãoajudouvocêaconfiguraresteDriver?

Sim Não

Comentários(opcional):

Restam150caracteres.Contato(opcional):

Limpar EnviarAcessetambémonossoKnowledgebaseparamaioresinformaçõessobrenossosprodutos

IO.Serial.DelayBeforeMs TopoAnteriorPróximo

NúmerodemilissegundosdeatrasoapósosinalRTS tersido ligado(ON),masantesdosdadosseremenviados.Disponívelapenasquandoa propriedade IO.Serial.RTS está configurada em Toggle e apropriedadeIO.Serial.WaitCTSestáconfiguradaemFalso.

EstaseçãodadocumentaçãoajudouvocêaconfiguraresteDriver?

Sim Não

Comentários(opcional):

Restam150caracteres.Contato(opcional):

Limpar EnviarAcessetambémonossoKnowledgebaseparamaioresinformaçõessobrenossosprodutos

IO.Serial.DTR TopoAnteriorPróximo

IndicaomodocomooDriverlidacomosinalDTR:OFF:SinalDTRsempredesligado

ON:SinalDTRsempreligado

EstaseçãodadocumentaçãoajudouvocêaconfiguraresteDriver?

Sim Não

Comentários(opcional):

Restam150caracteres.Contato(opcional):

Limpar EnviarAcessetambémonossoKnowledgebaseparamaioresinformaçõessobrenossosprodutos

IO.Serial.InterbyteDelayUs TopoAnteriorPróximo

Tempo de espera, em milissegundos (1/1000000 de um segundo),paracadadoisbytesenviadospelaInterfaceSerial.

EstaseçãodadocumentaçãoajudouvocêaconfiguraresteDriver?

Sim Não

Comentários(opcional):

Restam150caracteres.Contato(opcional):

Limpar EnviarAcessetambémonossoKnowledgebaseparamaioresinformaçõessobrenossosprodutos

IO.Serial.InterframeDelayMs TopoAnteriorPróximo

Tempodeespera,emmilissegundos,antesdeenviarumpacoteapósoúltimopacoteenviadoourecebido.

EstaseçãodadocumentaçãoajudouvocêaconfiguraresteDriver?

Sim Não

Comentários(opcional):

Restam150caracteres.Contato(opcional):

Limpar EnviarAcessetambémonossoKnowledgebaseparamaioresinformaçõessobrenossosprodutos

IO.Serial.Parity TopoAnteriorPróximo

Especificaaparidadeparaaconfiguraçãodaportaserial.Osvalorespossíveissãoosseguintes:

EouEven:Paridadepar

NouNone:Semparidade

OouOdd:Paridadeímpar

MouMark:Paridadedemarca

SouSpace:Paridadedeespaço

EstaseçãodadocumentaçãoajudouvocêaconfiguraresteDriver?

Sim Não

Comentários(opcional):

Restam150caracteres.Contato(opcional):

Limpar EnviarAcessetambémonossoKnowledgebaseparamaioresinformaçõessobrenossosprodutos

IO.Serial.Port TopoAnteriorPróximo

Númerodaportaseriallocal:

1:UtilizaaportaCOM1

2:UtilizaaportaCOM2

3:UtilizaaportaCOM3

n:UtilizaaportaCOMn

EstaseçãodadocumentaçãoajudouvocêaconfiguraresteDriver?

Sim Não

Comentários(opcional):

Restam150caracteres.Contato(opcional):

Limpar EnviarAcessetambémonossoKnowledgebaseparamaioresinformaçõessobrenossosprodutos

IO.Serial.RTS TopoAnteriorPróximo

IndicacomooDriverlidacomosinalRTS:OFF:SinalRTSsempredesligado

ON:SinalRTSsempreligado

Toggle:Liga(ON)osinalRTSquandoestiver transmitindodadosedesliga(OFF)osinalRTSquandonãoestivertransmitindodados

EstaseçãodadocumentaçãoajudouvocêaconfiguraresteDriver?

Sim Não

Comentários(opcional):

Restam150caracteres.Contato(opcional):

Limpar EnviarAcessetambémonossoKnowledgebaseparamaioresinformaçõessobrenossosprodutos

IO.Serial.StopBits TopoAnteriorPróximo

Especificaonúmerodebitsdeparadaparaaconfiguraçãodaportaserial.Osvalorespossíveissãoosseguintes:

1:Umbitdeparada

2:Umbitemeiodeparada

3:Doisbitsdeparada

EstaseçãodadocumentaçãoajudouvocêaconfiguraresteDriver?

Sim Não

Comentários(opcional):

Restam150caracteres.Contato(opcional):

Limpar EnviarAcessetambémonossoKnowledgebaseparamaioresinformaçõessobrenossosprodutos

IO.Serial.SupressEcho TopoAnteriorPróximo

Utilizeumvalordiferentede0(zero)parahabilitarasupressãodeecoou0(zero)paradesabilitá-la.

EstaseçãodadocumentaçãoajudouvocêaconfiguraresteDriver?

Sim Não

Comentários(opcional):

Restam150caracteres.Contato(opcional):

Limpar EnviarAcessetambémonossoKnowledgebaseparamaioresinformaçõessobrenossosprodutos

IO.Serial.WaitCTS TopoAnteriorPróximo

ConfigureemVerdadeiroparaforçaroDriveraesperarpelosinalCTSantes de enviar bytes quando o sinal RTS estiver ligado (ON).Disponível apenas quando a propriedade IO.Serial.RTS estáconfiguradaemToggle.

EstaseçãodadocumentaçãoajudouvocêaconfiguraresteDriver?

Sim Não

Comentários(opcional):

Restam150caracteres.Contato(opcional):

Limpar EnviarAcessetambémonossoKnowledgebaseparamaioresinformaçõessobrenossosprodutos

HistóricodeRevisõesdoDriver TopoAnterior

VERSÃO DATA AUTOR COMENTÁRIOS3.1.36 17/03/2017C.

MelloAdicionadosuporteparainteiroscomsinaldemagnitude(Case22091).

3.1.31 10/07/2016F.Englert

ResolvidoumGPFquepoderiaocorrereventualmentenaleituradohistóricodeerrosdoDriver(B2=9998)casoocorresseaomesmotempoalgumerrodecomunicação(Case21637).

3.1.30 01/04/2016C.Mello

CorrigidoafaltadevaloresdasTagsconfiguradosporStringsquandooserviçodeSuperblocosestáativado(Case20754).

3.1.28 28/01/2016A.Quites

ImplementadonovoTagBrowsercomtemplatesdeTagsconfiguradosporStrings(Case20460).

3.1.27 27/01/2016A.Quites

ImplementadaumaopçãodeendereçamentodeTagsporStringsnosparâmetrosItemeDevice(Case19119).CorrigidoerronaleituradeTagsdetemporealdeeventosdoequipamentoGEPACRX7porcallbacks(Case20374).

3.1.26 20/01/2016A.Quites

CorrigidoumerropeloqualarotinaElipseSOEnãoretornavavaloresreportadosaeventosparatiposdedadosnativos,nãoestruturados(Case20364).

3.1.25 19/01/2016A.Quites

ImplementadaaconfiguraçãoporStringsparatiposdedadosdousuário

(Case19807).

3.1.24 18/01/2016A.Quites

AdicionadaverificaçãoparaproibiradefiniçãodetiposdedadosdousuáriocomnomesqueconflitemcomtiposdedadosnativosdoDriver(Case19816).CorrigidoerronaleituradetiposdedadosUTC32emBloco,queretornavaloreserradosapartirdosegundoElementodoBloco(Case19819).

3.1.23 14/01/2016A.Quites

Adicionadavalidaçãoparaevitarerrodousuárioaoatribuirtiposdedadosdedataehoraaelementosdaestruturadetiposdedadosnativos(Case20415).

3.1.15 22/12/2015A.Quites

CorrigidaaescritaemblocodeTagsBlococomtipodedadosDouble(Case20053).

3.1.13 02/12/2015A.Quites

CorrigidoerronaexportaçãodearquivosINIemformatocompatívelcomaversão1.0doDriver,comostiposdedadossendoespecificadospornúmerosenãoporStrings,comopassouaocorrerapartirdaversão2.8(Case20203).CorrigidoerrodebyteordernaescritadetiposdedadosBCDdeoitodígitosetamanhodequatrobytes(Case20204).

3.1.9 01/10/2015A.Quites

HabilitadooarmazenamentodeúltimasexceçõesparaTagsdecomunicaçãoconfiguradosporStrings(Case19808).

3.1.8 28/09/2016A.Quites

CorrigidoerronaleituraeescritadetiposdedadosBCDdeoitodígitose

quatrobytessuperioresa9999999,queprovocavamafinalizaçãodoprocesso(Case19733).

3.0.11 29/05/2015A.Quites

Driveralteradoparaevitarpossívelcomportamentoestranhonareconexãoapóstime-outemTagsdecallback(SOE),comaopçãoReconnectafterTimeout(Ethernetonly)habilitada.Podemocorrer,porexemplo,duasconexõessimultâneasseguidasdeduasdesconexões(Case14775).CorrigidoerronagravaçãodeoperaçõesnajaneladeconfiguraçãodoDriver,naabaOperações,quefaziacomqueaoremoveroperaçõesnofinaldalista,eventualmentevoltassemàlistaquandoajanelaerafechadaclicandoemOKereabertalogoemseguida(Case14874).CorrigidoproblemaquepoderiageraraperdadeinformaçõesdeúltimaexceçãoemcasosrarosemquesãorecebidosframesválidoscomCRCcorreto,porémquenãosedestinavamàrequisiçãoatual.PodeocorrerquandoseutilizaModbusRTUemmeioEthernetTCP/IPemredeslentas(Case15314).SolucionadovazamentodehandledothreaddedownloaddememóriademassadoGEPACRX7(Case16404).CorrigidoerroemqueoDriverpoderiaignorarosúltimoscaracteresdeStringslidasdoequipamentoquandoalgumadasopçõesdeswapestavam

configuradasnaoperação(Case16744).CorrigidoerronaleituradeoperaçõescomaopçãoUsebitmaskhabilitadaquandousadacomapropriedadeEnableReadGroupingdoDriverhabilitada(Case18340).ResolvidoerrodevalidaçãoemTagsespeciaisdoDriver(Case16433).

3.0.8 31/07/2014A.Quites

CorrigidoerroquepoderiagerarGPFsoucomportamentosinesperadosaoexecutarmúltiplasinstânciasdoDriveremummesmoIOServer,sobretudoseessasinstânciaspossuíssemconfiguraçõesdiferentesnasabasModbuseOperationsdajaneladeconfiguraçõesdoDriver(Case14856).

3.0.6 12/06/2014A.Quites

DriverportadoparaoIOKit2.0(Case13891).

2.8.17 19/10/2012A.Quites

AdicionadosostiposdedadosouestruturasdefinidospelousuáriocomopartedaimplementaçãodorecursodeSOEGenérico(Case12038).ImplementadaleituradeSOEecomandosparaasincronizaçãodorelógiopararelésSchneiderElectricsériesSEPAM20,40e80(Case12106).OpçãoReverseFrameremovidadacaixadediálogodeconfiguraçãodasoperaçõesdoDriver,porobsolescência.Aopçãocontinuasendosuportadaemaplicaçõeslegadascomoconfiguraçãooffline

apenas(Case12443).AdicionadaleituraporcallbacksparaTagsdeleituradeSOE(Case12464).Adicionadaopçãodereconexãoemcasodeocorrênciadetime-outnarecepçãodeframesaousaracamadafísicaEthernet(Case12537).OpçãoSwapAddressDelayremovidadajaneladeconfiguraçãodoDriver.Estaopção,tornadaobsoletapelaopçãoInter-framedelaydoIOKit,continuadisponívelcomoconfiguraçãooffline,mantendocompatibilidadecomaplicaçõeslegadas(Case13285).Solucionadoerronaescritadevaloresfloat_GE(Case12298).SolucionadoerroaocarregararquivodeconfiguraçãonoWindowsCEARMHPC2000(Case12352).SolucionadoerroemquealeituradeStringsdetamanhoímparpoderiavirsemoúltimocaractere(Case12466).

2.7.1 30/06/2010A.Quites

ImplementadorecursodetornaroDriverimunearuídosantesdereceberoframeemmodoRTU(Case11394).

2.6.1 26/11/2009 A.Quites

DriverportadoparaoWindowsCE(Case10914).Driverreportaumfalsoerronologaolerumendereçoderegistroemzero(Case10654).Optimizadaaleituradebitsusandooagrupamentodeleituras,ouSuperblocos(Case10971).

C.Mello

AopçãoWaitSilencenãofuncionaparatodososerros(Case10850).

2.5.1 30/06/2009A.Quites

AtualizadootamanhomáximodoPDUparaoDriverModbus(Case10274).CorrigidoerroaolerafunçãoModbus20,ReadFileRecord(Case10312).CorrigidoerronoTagEspecialpararetornodaúltimaexceção.OTagpoderianãoreportaralgumasexceções(Case10337).EventosGESOEcomodiaatualretornavamoanoerrado(Case10382).Endereçodeswapnãofuncionava(Case10425).

M.Ludwig

CriadoumnovoTagparareceberumalistadeeventosdepontosespecíficosnoGESOE(Case10370).

2.4.1 17/02/2009A.Quites

Adicionadasfunçõesdeleituraeescritaporpadrão(Case9185).DriverModbuscomEventosGE,leituradeúltimoeventoporpolling(Case10178).Erroaolerblocosdebitscom

agrupamentosdeleituras,ouSuperblocos,habilitados(Case10100).

2.3.1 02/09/2008A.Quites

ImplementadoorecursoCMSExtendedDeviceAddressing(Case8665).ImplementadaaconfiguraçãodetamanhomáximodosSuperblocos(Case9154)ODriveraceitaenviarumDWordde

ODriveraceitaenviarumDWordde32bitsusandoafunçãoModbus6(Case8663).Revisãodefunçõesnãopadrãooupoucoutilizadas:07,20,21,6501,6502e6503(Case8730).AopçãoSwapbytenãofuncionacorretamentecomSuperblocos(Case9220).ConfiguraçãoemmodoofflinedoparâmetroModiconModbus.ModbusMode(Case9831).

2.2.1 11/05/2007 A.Quites

UsarotipodedadosInt16paraaleituradeblocosretornasomenteoprimeiroelemento(Case8243).

2.1.1 23/01/2007A.Quites

ImplementadososSuperblocos(Case6185).OMestreModiconModbusnãotestacorretamenteaconsistênciadoparâmetroN2/B2(Case7714).ErrodeoffsetaolerblocosdetiposdedadosBCDcomotamanhodotipodedadosiguala4(Case7728).LeituradeblocosdeStringsnãoestavafuncionandocorretamente(Case7804).

2.0.1 14/09/2005A.Quites

DriverportadoparaoIOKit(Case2050).

1.3.1 19/12/2006C.Mello

DrivercomunicandocommaisdeumendereçoIPmudaosvaloreslidos(Case7191).PossibilidadededefinirumaportaTCPlocal(Case7109).

CorrigidoerrodeoffsetaolerblocosdetiposdedadosBCDcomotamanhodotipodedadosiguala4(Case7729).DrivernãotestavaaconsistênciadosparâmetrosN2/B2corretamente(Case7735).

1.2.1 15/12/2005C.Mello

AjustesparacomunicaçãocomCorretoresdeVazãodaICP(Case4979).Corrigidovazamentodehandlesseocomandopingfalha(Case6497).

1.1.1 22/12/2004C.Mello

AdicionadasretentativasaoDriver(Case3365).AdicionadaafunçãoBroadcast(Case4045).AdicionadaaopçãoHALTaoDriver(Case4429).CorrigidoerronaleituraeescritadeStrings(Case4386).Corrigidasasconfiguraçõesincompatíveiscomversõesanteriores(Case4431).