Componentes
Software: MasterTool IEC XE versão 3.50
CLP: XP340
Servidor FTP: FileZilla Server 1.7.2
Seções do Tutorial
1. ARQUITETURA
2. DESENVOLVIMENTO
2.1. Download do Servidor FTP
2.2. Instalação e conexão de um administrador ao Servidor FTP
2.2.1. Criando um usuário no FileZilla
2.3. Liberando acesso no Firewall
2.4. MasterTool
2.4.1. Criando projeto
2.4.2. Passagem do arquivo a ser transmitido
2.4.3. Instalando as bibliotecas "NETWORK" e "OSCAT_BASICS"
2.4.4. Instanciando a função FTP Client
3. TRANSFERINDO E TESTANDO A APLICAÇÃO NO CLP
1. ARQUITETURA
A arquitetura proposta nesse tutorial é conectar o CLP ao computador que estiver executando o Servidor FTP. Lembrando que os dois devem estar na mesma faixa de rede para que seja possível realizar a comunicação.
2. DESENVOLVIMENTO
Neste guia será apresentado os procedimentos necessários para que seja possível configurar o bloco do Servidor FTP no MasterTool. Além disso, você vai aprender como instalar no FileZilla e configurar este servidor.
2.1. Download do Servidor FTP
O primeiro passo que você deve realizar é o download de um Servidor FTP. Neste tutorial foi utilizado o FileZilla Server.
Link do site FileZilla: https://filezilla-project.org/
Ao entrar no link acima, você será direcionado para a página inicial do FileZilla. Neste momento, você deve clicar na opção que está escrito "Download FileZilla Server" e em seguida na opção que indica o download da versão mais atual do FileZilla Server.
2.2. Instalação e conexão de um administrador ao Servidor FTP
Ao realizar o download, o seguinte arquivo deve ser executado:
As informações padrões de instalação podem ser mantidas, basta avançar clicando em "I Agree" e nas próximas telas clicando em "Next >".
Atenção: Na tela "Server Setting" é onde você DEVE definir uma senha para o administrador, a qual será utilizada para configurar o servidor FTP futuramente. Neste exemplo estaremos utilizando a senha "admin", mas você pode colocar qualquer senha de sua preferência.
Escolha sua senha e confirme no segundo campo. Por fim, clique em "Next >" para seguir com a instalação.
Nesta próxima tela, finalizamos a instalação clicando em "Install".
A seguinte mensagem deve ser mostrada após a instalação, basta clicar em "OK" e fechar o instalador.
Em seguida, a tela será aberta conforme a imagem abaixo. Essa é a interface de configuração do servidor FTP, aqui devemos clicar no botão principal "Connect to FileZilla" ou "Connect to FileZilla FTP Server".
Nesta tela, você deve inserir a senha criada para o administrador anteriormente, neste tutorial foi usado a senha "admin". Clique em "OK".
A seguinte tela com a mensagem indicando sucesso na conexão será mostrada.
2.2.1. Criando um usuário no FileZilla
Para se conectar ao Servidor FTP como um Client, o CLP precisa apontar para as credenciais de um usuário válidas na URL de conexão. Neste passo, iremos criar um usuário e disponibilizar uma pasta exclusiva para ele onde as trocas de arquivos serão feitas.
Para configurar um usuário, devemos clicar em "Server" seguido por "Configure".
Nos menus de configurações devemos selecionar a opção "Users" e clicar em "Add" para adicionar um novo usuário. Neste tutorial, o nome desse usuário foi definido como "Altus".
Uma senha para o usuário "Altus" será definida, e neste tutorial foi definida uma senha simples "123".
Após criar o usuário, devemos criar um diretório para ele, será nessa pasta onde os arquivos serão enviados pelo CLP. A pasta pode se encontrar em qualquer ambiente do Windows, para facilitar, foi criada no próprio diretório C:.
Ao criar a pasta, devemos acessá-la e copiar o seu caminho no Windows. Neste tutorial, o caminho está definido como "C:\FTP SERVER".
De volta nas configurações de usuário no FileZilla, devemos adicionar um novo "Mount Point" e colar o caminho da pasta criada anteriormente na coluna "Native Path" e inserir uma "/" na coluna "Virtual Path". Feito isso, nosso usuário Altus com a senha 123 está devidamente criado, basta clicar em "Apply" e "OK" para finalizar a criação.
2.3. Liberando acesso no Firewall
Para que o CLP acesse o servidor FTP rodando em nosso computador, uma nova regra de entrada no firewall deve ser criada.
Para acessar as configurações do firewall podemos pesquisar por "Windows Defender Firewall" ou "Firewall do Windows" na barra de pesquisa do Windows.
Para criar uma nova regra de entrada, clique em "Configurações Avançadas" e em seguida "Regras de Entrada".
Dentro das regras de entrada, clique em "Nova Regra" no menu a direita.
Marque a opção "Programa" e clique em "Avançar >".
Nesta tela, clique em "Procurar" e navegamos até a pasta "C:\Program Files\FileZilla Server" e selecionamos o arquivo executável "filezilla-server" e clique em "Abrir".
Em seguida é só avançar mantendo as configurações padrões. Na aba "Nome" definimos o nome para a nossa regra de entrada e finalizamos clicando em "Concluir".
Feito isso, nosso Servidor FTP está configurado e pronto para uso.
2.4. MasterTool
Neste tópico, você irá ver os passos a ser seguidos para a configuração no MasterTool IEC XE.
2.4.1. Criando novo projeto
Com o MasterTool aberto, crie um novo projeto apontando para o modelo do CLP que será utilizado. Neste tutorial, utilizamos o XP340.
Para saber mais detalhes de como criar o projeto no MasterTool, você pode acessar o tutorial Nexto Xpress - Primeiros Passos.
2.4.2. Passagem do arquivo a ser transmitido
Com o projeto devidamente criado, vamos criar um arquivo e alocar dentro da memória interna do CLP para testar a transmissão com o servidor. O objetivo é que o arquivo seja enviado do CLP para a pasta criada no Servidor FTP.
Para acessar os arquivos da memória interna do CLP, navegamos até o menu "Device" e mapeamos nossa rede, dessa forma encontrando o CLP que iremos utilizar e definimos ele como o caminho ativo da aplicação.
Para inserir um arquivo dentro da memória do CLP, primeiro devemos criar esse arquivo usando os recursos do Windows.
Foi criado um arquivo de texto chamado "TESTE" dentro da área de trabalho. Esse é o arquivo que iremos passar para a memória interna do CLP.
Para acessar os arquivos internos do CLP, ainda dentro do menu "Devices", navegamos até a aba "Arquivos", onde do lado esquerdo serão mostrados os arquivos do seu computador local, e na direita após clicar no botão "Refresh" será mostrado os arquivos internos do CLP.
Dentro dos arquivos do CLP, foi criado uma nova pasta clicando na opção "Novo Diretório". Essa pasta foi nomeada de "FTP".
O arquivo "TESTE" foi carregado dentro da pasta FTP. Para carregar o seu arquivo, você deve localizar o caminho da sua área de trabalho (ou do local que você salvou) nos diretórios do computador a esquerda. O caminho padrão que pode ser inserido na aba "Host" é o "C:\Users\SEU_USUÁRIO\Desktop", após localizar o arquivo, basta selecioná-lo e clicar no botão ">>" para passar o arquivo para a pasta do CLP.
2.4.3. Instalando as bibliotecas "NETWORK" e "OSCAT_BASICS"
Para utilizar a função FTP_Client devidamente, deve ser adicionado as bibliotecas "NETWORK" e "OSCAT_BASICS" ao projeto. Essas bibliotecas podem ser baixadas gratuitamente pelo site da Codesys pelos links abaixo.
OSCAR BASIC: https://store.codesys.com/en/oscat-basic.html
OSCAR NETWORK: https://store.codesys.com/en/oscat-network.html
Após baixar, os arquivos devem ser "Extraídos" pelo 7-Zip nativo do Windows.
Ao extrair, as seguintes pastas serão geradas.
Com as pastas extraídas, devemos adicionar as bibliotecas no MasterTool através do menu "Ferramentas" e "Repositório de Bibliotecas".
Na tela seguinte, clique em "Instalar" e busque pelos arquivos .library dos arquivos extraídos mudando a extensão dos arquivos para "Arquivos de biblioteca".
Repita o procedimento para as duas bibliotecas.
Neste caso, o caminho é "OSCATBasic\Component\Library".
Neste segundo caso, o caminho é "OSCATNetwork\Component\Library 3".
Com essas bibliotecas adicionadas no repositório de bibliotecas, selecione a opção "Library Manager" na árvore do projeto.
No Library Manager, clique em adicionar biblioteca, pesquise pelo nome "Basic" e adicione a biblioteca "BASIC" selecionando-a e clicando no "OK". Repita o procedimento buscando a biblioteca "NETWORK".
Atenção: Ao digital a palavra Network duas bibliotecas com o nome Network serão relacionadas, a correta é a biblioteca com as letras em maiúsculo "NETWORK".
2.4.4. Instanciando a função FTP Client
Após instalar as bibliotecas corretamente poderemos usar livremente a função FTP_Client disponibilizada pela biblioteca OSCAT_NETWORK.
Dentro da POU UserPrg adicionamos uma caixa com EN/ENO e invocamos o Function Block "FTP_Client".
A variável FTP do tipo FTP_Client foi usada para instanciar o bloco.
O bloco de função pode ser parametrizado da seguinte forma:
Os parâmetros "DNS_IP4" e "PLC_IP4" são variáveis do tipo DWORD resultados das seguintes funções:
Basta adicionar uma caixa EN/ENO onde a variável DNS_IP4 deve refletir o endereço IP DNS do Servidor FTP (caso exista algum) e o PLC_IP4 é o próprio endereço IP do CLP, ambos estão separados em 4 bytes por octeto formando na saída uma variável de 32 bits.
Ao final, a função deve estar parametrizada dessa forma:
ONDE:
ENTRADAS
- ACTIVATE = Ativa a requisição FTP (BOOL);
- FILENAME = Nome do arquivo a ser passado para o Servidor FTP. Este é o arquivo carregado dentro da pasta FTP criada anteriormente (STRING);
- FTP_URL = URL de conexão com o Servidor FTP. O formato padrão dessa URL é ftp://usuário:senha@IP_DA_MÁQUINA_RODANDO_O_SERVIDOR (STRING);
- FTP_DOWNLOAD = Define se o arquivo será enviado pelo CLP, ou se o CLP irá fazer o download do arquivo do servidor (FALSE = UPLOAD, TRUE = DOWNLOAD). Nesse exemplo utilizamos a opção FALSE, envio de arquivo do CLP para o servidor (BOOL);
- FTP_ACTIVE = Define se o Client FTP se irá se comportar de maneira passiva ou ativa (FALSE = passivo, TRUE = ativo). Em nosso exemplo será FALSE, ou seja, o modo será passivo (BOOL);
- FILE_DELETE = Define se o arquivo será deletado logo depois de ser enviado ao servidor (FALSE = não será deletado, TRUE = será deletado). Iremos utilizar como FALSE (BOOL).
- TIMEOUT = Define um tempo de timeout (TIME);
- DNS_IP4 = Endereço IP do DNS do servidor, caso exista algum (DWORD);
- PLC_IP4 = IP do CLP (DWORD).
SAÍDAS
- DONE = Status de que a requisição foi feita com sucesso (BOOL);
- BUSY = Status de que o CLP está ocupado realizando a requisição (BOOL);
- ERRO_C = Código de erro, o número 0 simboliza que não houve erros durante o transporte do arquivo (DWORD);
- ERRO_T = Tipo do erro (DWORD).
3. TRANSFERINDO E TESTANDO A APLICAÇÃO NO CLP
Para testar a aplicação, basta realizar o login no CLP para passar o programa desenvolvido.
Ao realizar o login no CLP, preparamos e escrevemos o valor de TRUE na variável AtivaFTP criada anteriormente para iniciar a requisição e o envio do arquivo para o servidor.
Em seguida, podemos conferir por meio do bit DONE que a requisição foi feita com sucesso, e também por meio da tela do Administration Interface do FileZilla.
Por último, constatamos que o arquivo de texto "TESTE" foi enviado corretamente para a pasta FTP SERVER.
Comentários
0 comentário
Por favor, entre para comentar.