O que é EPL
A sigla EPL significa "Entry Point Logix", através deste recurso é possível criar no Logix um ponto de entrada para a execução de uma rotina específica.
Quando o cliente identifica a necessidade de customizar um determinado ponto do sistema, ele deve entrar em contato com a Fábrica de Software e solicitar a criação deste ponto de entrada (mediando a realização de um orçamento).
Após a aprovação, a Fábrica de Software irá alterar o programa Padrão do Logix e colocar a chamada da função especifica.
Segue exemplo de como deve ser realizada a chamada da EPL no Logix.
IF LOG_existe_epl("tst0003y_epl_teste") THEN
CALL tst0003y_epl_teste()
END IF
Uma vez criado o ponto de entrada no programa padrão, fica a cargo do cliente definir quem irá desenvolver o código específico, finalizado o desenvolvimento basta que o fonte seja compilado para que a rotina fique disponível no RPO do Logix.
Tipos de fontes no Logix
As chamadas de funções EPLs podem estar presentes em qualquer fonte do sistema. No Logix podemos classificar os fontes como MAINSOURCE ou SOURCE
MAINSOURCE é o programa principal, aquele que esta cadastrado no menu do sistema.
SOURCE são os fontes que possuem somente definições de funções.
Podemos pegar como exemplo o FIN10049 (MAINSOURCE) que internamente chama a função FIN85129 (SOURCE).
Por padrão todas as chamadas de EPL estão ativadas no sistema, para desativa-las existem algumas chaves de profile que precisam ser alteradas.
⚠️ Para que os controles de ativação/desativação de EPLs sejam realizados, é necessário que no fonte LOGIX seja utiliza a função LOG_existe_epl
Para exemplificar este cenário foram criados 3 fontes:
tst0001.4gl é um programa principal (MAINSOURCE)
tst0002.4gl é um fonte somente com definições de funções (SOURCE)
tst0003.4gl fonte específico (EPL)
Desativando EPLS
Segue abaixo lista das chaves que podem ser incluídas no arquivo de profile do Logix para desativar a execução das EPLS
LOGIX.EPL.ENABLE = 0
Desabilita todas as chamas de EPL no sistema. Independente do fonte em que ela esteja sendo chamada
LOGIX.EPL.MAINSOURCE.tst0001.ENABLE = 0
Desabilita todas as chamas de EPL identificas a partir da execução do programa principal
LOGIX.EPL.SOURCE.tst0001.ENABLE = 0
LOGIX.EPL.SOURCE.tst0002.ENABLE = 0
Desabilita todas as chamas de EPL somente do fonte que foi definido na chave.
LOGIX.EPL.FUNCTION.tst0003y_epl_teste.ENABLE = 0
Desabilita somente a função EPL que foi definida na chave
Exemplos
Segue exemplo utilizando cada uma das chaves
LOGIX.EPL.ENABLE = 1
Todas as EPLS liberadas
| *** [FRAMEWORK] INICIO ***
|
| [FRAMEWORK] Entrou na funcao - tst0001_inicia_processamento
| [FRAMEWORK] Teste execucao EPL [MAINSOURCE]
| [EPL] Chamada função TST0003Y_EPL_TESTE() [source: TST0001.4GL line: 41 function: TST0001_INICIA_PROCESSAMENTO()]
|
| >>> [EPL][FRAMEWORK] Entrou na funcao - tst0003y_epl_teste <<<
|
| [FRAMEWORK] Entrou na funcao - tst0002_function_logix
| [FRAMEWORK] Teste execucao EPL [FUNCTION]
| [EPL] Chamada função TST0003Y_EPL_TESTE() [source: TST0002.4GL line: 21 function: TST0002_FUNCTION_LOGIX()]
|
| >>> [EPL][FRAMEWORK] Entrou na funcao - tst0003y_epl_teste <<<
|
| *** [FRAMEWORK] FIM ***
LOGIX.EPL.ENABLE = 0
Todas as EPLS desabilitadas
| *** [FRAMEWORK] INICIO ***
|
| [FRAMEWORK] Entrou na funcao - tst0001_inicia_processamento
| [FRAMEWORK] Teste execucao EPL [MAINSOURCE]
| [EPL] Todas chamadas EPL desabilitadas. Função TST0003Y_EPL_TESTE() ignorada. [source: TST0001.4GL line: 40 function: TST0001_INICIA_PROCESSAMENTO()]
| [FRAMEWORK] Entrou na funcao - tst0002_function_logix
| [FRAMEWORK] Teste execucao EPL [FUNCTION]
| [EPL] Todas chamadas EPL desabilitadas. Função TST0003Y_EPL_TESTE() ignorada. [source: TST0002.4GL line: 21 function: TST0002_FUNCTION_LOGIX()]
| *** [FRAMEWORK] FIM ***
LOGIX.EPL.MAINSOURCE.tst0001.ENABLE = 0
Todas as EPLS desativadas quando chamadas a partir do programa principal TST0001
| *** [FRAMEWORK] INICIO ***
|
| [FRAMEWORK] Entrou na funcao - tst0001_inicia_processamento
| [FRAMEWORK] Teste execucao EPL [MAINSOURCE]
| [EPL] Chamadas EPL desabilitadas para o programa principal TST0001. Função TST0003Y_EPL_TESTE() ignorada. [source: TST0001.4GL line: 40 function: TST0001_INICIA_PROCESSAMENTO()]
| [FRAMEWORK] Entrou na funcao - tst0002_function_logix
| [FRAMEWORK] Teste execucao EPL [FUNCTION]
| [EPL] Chamadas EPL desabilitadas para o programa principal TST0001. Função TST0003Y_EPL_TESTE() ignorada. [source: TST0002.4GL line: 21 function: TST0002_FUNCTION_LOGIX()]
| *** [FRAMEWORK] FIM ***
LOGIX.EPL.SOURCE.tst0001.ENABLE = 0
EPLS desativadas somente no fonte TST0001
| *** [FRAMEWORK] INICIO ***
|
| [FRAMEWORK] Entrou na funcao - tst0001_inicia_processamento
| [FRAMEWORK] Teste execucao EPL [MAINSOURCE]
| [EPL] Chamadas EPL desabilitadas para o fonte TST0001. Função TST0003Y_EPL_TESTE() ignorada. [source: TST0001.4GL line: 40 function: TST0001_INICIA_PROCESSAMENTO()]
| [FRAMEWORK] Entrou na funcao - tst0002_function_logix
| [FRAMEWORK] Teste execucao EPL [FUNCTION]
| [EPL] Chamada função TST0003Y_EPL_TESTE() [source: TST0002.4GL line: 21 function: TST0002_FUNCTION_LOGIX()]
|
| >>> [EPL][FRAMEWORK] Entrou na funcao - tst0003y_epl_teste <<<
|
| *** [FRAMEWORK] FIM ***
LOGIX.EPL.SOURCE.tst0002.ENABLE = 0
EPLS desativadas somente no fonte TST0002
| *** [FRAMEWORK] INICIO ***
|
| [FRAMEWORK] Entrou na funcao - tst0001_inicia_processamento
| [FRAMEWORK] Teste execucao EPL [MAINSOURCE]
| [EPL] Chamada função TST0003Y_EPL_TESTE() [source: TST0001.4GL line: 40 function: TST0001_INICIA_PROCESSAMENTO()]
|
| >>> [EPL][FRAMEWORK] Entrou na funcao - tst0003y_epl_teste <<<
|
| [FRAMEWORK] Entrou na funcao - tst0002_function_logix
| [FRAMEWORK] Teste execucao EPL [FUNCTION]
| [EPL] Chamadas EPL desabilitadas para o fonte TST0002. Função TST0003Y_EPL_TESTE() ignorada. [source: TST0002.4GL line: 21 function: TST0002_FUNCTION_LOGIX()]
| *** [FRAMEWORK] FIM ***
LOGIX.EPL.FUNCTION.tst0003y_epl_teste.ENABLE = 0
Desativando a chamada da EPL pelo nome da função
| *** [FRAMEWORK] INICIO ***
|
| [FRAMEWORK] Entrou na funcao - tst0001_inicia_processamento
| [FRAMEWORK] Teste execucao EPL [MAINSOURCE]
| [EPL] Chamada EPL desabilitada para a função TST0003Y_EPL_TESTE(). Função ignorada. [source: TST0001.4GL line: 40 function: TST0001_INICIA_PROCESSAMENTO()]
| [FRAMEWORK] Entrou na funcao - tst0002_function_logix
| [FRAMEWORK] Teste execucao EPL [FUNCTION]
| [EPL] Chamada EPL desabilitada para a função TST0003Y_EPL_TESTE(). Função ignorada. [source: TST0002.4GL line: 21 function: TST0002_FUNCTION_LOGIX()]
| *** [FRAMEWORK] FIM ***
Top comments (0)