Acesso ao sistema de arquivos via variável de sistema
Este recurso foi desenvolvido para permitir que, utilizando os recursos padrões disponíveis nos protocolos de comunicação (ex MODBUS) seja possível a uma aplicação externa, ler ou escrever no sistema de arquivos do controlador.
Para tanto, foram definidos 4 endereços (na faixa de variáveis de sistema) que mapeiam diretamente em 4 comandos utilizados para executar qualquer um dos serviços disponíveis para acesso ao sistema de arquivo.
Recurso disponível apenas no controlador NEON. Nos demais controladores, a escrita no campo FS_BEGIN_SVC é recusada pelo equipamento (exceção do protocolo de comunicação). |
Estes comandos são:
FS_BEGIN_SVC |
comando para definir e inicializar um serviço de acesso ao sistema de arquivos. |
FS_STATUS |
comando para obter o estado corrente de um serviço previamente solicitado. |
FS_GET_DATA |
comando para obter os dados disponibilizados por um serviço previamente solicitado. |
FS_END_SVC |
comando para terminar um serviço previamente solicitado. |
Mapa de memória
A tabela a seguir define a faixa de memórias utilizada para os campos associados a cada um dos comandos disponíveis para acesso ao sistema de arquivos.
Endereço |
R/W |
LABEL |
Descrição |
F 4500 |
W |
FS_BEGIN_SVC |
Endereço inicial do campo de especificação do serviço a ser executado |
: |
|||
F 4599 |
Fim do campo |
||
F 4650 |
R |
FS_STATUS |
Endereço inicial do campo de status de execução do último serviço requisitado |
: |
|||
F 4689 |
Fim do campo |
||
F 4690 |
W |
FS_END_SVC |
Endereço inicial do campo de sinalização de fim de serviço |
: |
|||
F 4699 |
Fim do campo |
||
F 4700 |
R |
FS_GET_DATA |
Endereço inicial do campo de dados associado ao serviço a ser executado |
: |
|||
F 4849 |
Fim do campo |
Todos os pacotes de comunicação utilizados devem ter como variável inicial as variáveis definidas nesta tabela, tanto comandos de leituras, quanto de escrita. Desta forma, todos os comandos devem ser realizados em um único frame de comunicação para que funcionem. |
Serviços disponíveis
A tabela a seguir apresenta os serviços disponíveis para serem executados via a sequência de comandos disponíveis para acesso ao sistema de arquivos, conforme apresentado anteriormente.
Serviço |
Código |
Descrição |
OPEN FILE |
9 |
Abre o arquivo especificado para leitura ou escrita. |
READ FILE |
26 |
Obtém dados a partir da posição corrente do cursor do arquivo previamente aberto como leitura. |
WRITE FILE |
25 |
Escreve os dados especificados a partir da posição corrente do cursor do arquivo previamente aberto como escrita. |
CLOSE FILE |
10 |
Fecha o arquivo previamente aberto e identificado pelo file handle especificado. |
SEEK FILE |
16 |
Posiciona o cursor do arquivo previamente aberto na posição especificada para leitura ou escrita. |
REMOVE FILE |
17 |
Elimina o arquivo especificado do sistema de arquivos do controlador. |
READ DIR |
24 |
Obtém informações dos objetos (arquivos e outros diretórios) de um diretório. Para obter todos os objetos de um determinado diretório, este comando deve ser executado mais de uma vez. |
Para cada serviço solicitado, a sequência normal de execução dos comandos deve ser a especificada no diagrama a seguir:
![digraph foo {
"START" -> "FS_BEGIN_SVC";
"FS_BEGIN_SVC" -> "FS_STATUS";
"FS_STATUS" -> "FS_GET_DATA" [label = "OPEN, READ"]
"FS_STATUS" -> "FS_STATUS"
"FS_STATUS" -> "FS_END_SVC" [label = "WRITE, CLOSE, SEEK, REMOVE"]
"FS_GET_DATA" -> "FS_END_SVC"
"FS_END_SVC" -> "END"
}](../_images/graphviz-311d1ab60f2d7ec6699161ca622d61cca2b2650d.png)
Um serviço é iniciado através do envio de um comando FS_BEGIN_SVC. Após o envio do comando, deve-se verificar o estado de execução do mesmo através do comando FS_STATUS. Este comando deve ser continuamente enviado até que a resposta indique que o serviço terminou, indicando sucesso ou erro. Se o serviço executado possuir dados, os mesmos podem ser obtidos através do comando FS_GET_DATA. Uma vez terminado o processo deve-se notificar ao controlador que o serviço está concluído através do comando de FS_END_SVC.
Ocorrerá timeout do serviço pelo controlador, caso o serviço não seja acessado durante um tempo de 3 segundos, que é fixo, entre cada comando. Se ocorrer este timeout, o sistema de arquivos ficará disponível para outros serviços advindos do mesmo canal de comunicação, o que pode ocasionar a perda do serviço iniciado. Existe também um timeout para arquivos abertos pela comunicação. Neste caso, um arquivo aberto pela comunicação, que não seja acessado depois de 10 segundos desde sua última transação, será fechado.
Especificação dos comandos de acesso ao sistema de arquivo
Conforme já mencionado anteriormente, os serviços de acesso ao sistema de arquivo são executados através de 4 comandos a saber, FS_BEGIN_SVC, FS_STATUS, FS_GET_DATA, FS_END_SVC. As seções seguintes definem os parâmetros para estes comandos na execução de cada um dos serviços disponíveis.
Codificação de textos e dados
Textos (nome de arquivo, caminho de diretório) e dados (serviços READ FILE e WRITE FILE) são transferidos em variáveis M (ou Holding Registers) consecutivas, com 2 bytes por variável: o primeiro byte (caractere) ocupa o byte menos significativo da variável e o segundo, o byte mais significativo. Os textos terminam com o delimitador de fim de texto igual a zero, que pode ocupar o byte mais significativo da última variável ou uma variável adicional.
Os nomes de arquivos e diretórios devem conter o path completo, iniciando com “/”, com o separador de diretórios igual a “/”. Um nome que não inicie com “/” é recusado com o código RC_FS_INVALIDNAME (173).
Exemplo: o nome “/dados/hist01.dat” ocupa 9 variáveis:
“/d” |
“ad” |
“os” |
“/h” |
“is” |
“t0” |
“1.” |
“da” |
“t\0” |
16#642F |
16#6461 |
16#736F |
16#682F |
16#7369 |
16#3074 |
16#2E31 |
16#6164 |
16#0074 |
Comando FS_BEGIN_SVC
Este é um comando de escrita que tem por função iniciar a execução de um serviço de acesso ao sistema de arquivo no equipamento remoto. Para cada tipo de serviço, este comando possui parâmetros distintos, definidos a seguir:
FS_BEGIN_SVC: OPEN FILE
Parametro |
Variáveis |
Descrição |
SVC_CODE |
1 |
Código do serviço a ser executado [9] |
MODE |
1 |
Modo de abertura do arquivo. Vide tabela de modo de abertura do arquivo para as opções disponíveis |
ATTRIBUTE |
1 |
Atributos de abertura do arquivo. Vide tabela de atributos de abertura do arquivo para a opções disponíveis. |
NAME |
1..24 |
Nome do arquivo a ser aberto, com o path completo iniciando com “/”. Vide codificação de textos. |
Ex: /dados/hist01.dat |
||
Total: 4..27 variáveis |
||
Tabela de modo de abertura de arquivo
Label |
Código |
Descrição |
FM_READ |
1 |
Abertura de arquivo existente para leitura |
FM_WRITE |
2 |
Abertura de arquivo existente para escrita no início do arquivo |
FM_APPEND |
3 |
Abertura de arquivo existente para escrita no final do arquivo |
FM_CREATE |
10 |
Criação de arquivo para escrita. Se o arquivo já existir, ele é recriado vazio. |
A abertura de um arquivo inexistente nos modos FM_READ, FM_WRITE e FM_APPEND retorna o código RC_FS_NOTFOUND (174).
Atributos associados ao arquivo
Label |
Código (hexa) |
Descrição |
ATTR_VISIBLE |
0x00 |
Arquivo padrao |
ATTR_HIDDEN |
0x01 |
Arquivo não aparece na lista de diretórios |
ATTR_READONLY |
0x02 |
Arquivo com acesso apenas de leitura |
ATTR_LOCK |
0x04 |
Arquivo não pode ser apagado enquanto tiver este flag |
ATTR_SYSTEM |
0x08 |
Arquivo não pode ser apagado por programa Ladder apenas pelo ambiente de programação |
ATTR_PROGRAM |
0x10 |
Arquivo é um programa ladder carregável pelo PLC |
ATTR_PROJECT |
0x20 |
Arquivo é um projeto do ambiente |
ATTR_FILE |
0x40 |
Arquivo não é manipulado por programa Ladder (PLC como pen-drive) |
ATTR_DATA |
0x80 |
Arquivo é uma base de dados carregável pelo PLC |
ATTR_FIFO |
0x100 |
Arquivo é uma FIFO (buffer circular) |
ATTR_RECORD |
0x200 |
Arquivo é uma coleção de registro |
ATTR_DIR |
0x400 |
Entrada de diretório |
Sequência de comandos para serviço FILE OPEN
![digraph foo {
"BEGIN" -> "FS_BEGIN_SVC(FILE OPEN)"
"FS_BEGIN_SVC(FILE OPEN)" -> "FS_STATUS" [label = "ok"]
"FS_BEGIN_SVC(FILE OPEN)" -> "END" [label = "error"]
"FS_STATUS" -> "FS_STATUS" [label = "Pendente"]
"FS_STATUS" -> "FS_GET_DATA"
"FS_STATUS" -> "FS_END_SVC" [label = "error"]
"FS_GET_DATA" -> "FS_END_SVC" [label = "ok, error"]
"FS_END_SVC"-> "END"
}](../_images/graphviz-2b048b9c3f3c7d204537f34c304a195df254655c.png)
FS_BEGIN_SVC: READ FILE
Parametro |
Variáveis |
Descrição |
SVC_CODE |
1 |
Código do serviço a ser executado [26] |
FH |
1 |
Identificador do arquivo a ser lido (file Handler) obtido na serviço OPEN FILE. |
LEN |
1 |
Número de bytes a serem lidos do arquivo. O conteúdo requisitado por este serviço deve ser obtido pelo comando FS_GET_DATA e será retornado para o cliente como uma sequencia de variáveis M (Holding Register). Quando o número de bytes solicitados for impar, o byte mais significativo da última variável será preenchido com um valor qualquer (inválido). O número máximo permitido é de 232 bytes. Se o fim do arquivo for atingido, o serviço termina com sucesso e retorna apenas os bytes disponíveis (campo LEN da resposta de FS_GET_DATA). |
Total: 3 variáveis |
||
Sequência de comandos para serviço READ FILE
![digraph foo {
"BEGIN" -> "FS_BEGIN_SVC(READ FILE)"
"FS_BEGIN_SVC(READ FILE)" -> "FS_STATUS" [label = "ok"]
"FS_BEGIN_SVC(READ FILE)" -> "END" [label = "error"]
"FS_STATUS" -> "FS_STATUS" [label = "Pendente"]
"FS_STATUS" -> "FS_GET_DATA" [label = "ok"]
"FS_STATUS" -> "FS_END_SVC" [label = "error"]
"FS_GET_DATA" -> "FS_END_SVC" [label = "ok, error"]
"FS_END_SVC"-> "END"
}](../_images/graphviz-403d96be257af9021a152fa2a04aedd2b929aa21.png)
FS_BEGIN_SVC: WRITE FILE
Parametro |
Variáveis |
Descrição |
SVC_CODE |
1 |
Código do serviço a ser executado [25] |
FH |
1 |
Identificador do arquivo a ser escrita (file handler) obtido na serviço OPEN FILE. |
LEN |
1 |
Número de bytes a serem escritos no arquivo. Este conteudo é especificado no campo DATA como uma sequência de variáveis M (Holding Register). Neste caso, quando o número de bytes enviados for ímpar, o byte mais significativo da última variável não será processado podendo assumir qualquer valor. O valor máximo é de 235 bytes. |
DATA |
1..118 |
Conteúdo a ser escrito no arquivo. |
Total: 4..121 variáveis |
||
Sequência de comandos para serviço FILE WRITE
![digraph foo {
"BEGIN" -> "FS_BEGIN_SVC(FILE WRITE)"
"FS_BEGIN_SVC(FILE WRITE)" -> "FS_STATUS" [label = "ok"]
"FS_BEGIN_SVC(FILE WRITE)" -> "END" [label = "error"]
"FS_STATUS" -> "FS_STATUS" [label = "Pendente"]
"FS_STATUS" -> "FS_END_SVC" [label = "ok,error"]
"FS_END_SVC"-> "END"
}](../_images/graphviz-e21bd17c15cdfe93f2adc5ebb31857535870ada4.png)
FS_BEGIN_SVC: CLOSE FILE
Parametro |
Variáveis |
Descrição |
SVC_CODE |
1 |
Código do serviço a ser executado [10] |
FH |
1 |
Identificador do arquivo a ser fechado (file handler) obtido no serviço OPEN FILE. |
Total: 2 variáveis |
||
Sequência de comandos para serviço CLOSE FILE
![digraph foo {
"BEGIN" -> "FS_BEGIN_SVC(CLOSE FILE)"
"FS_BEGIN_SVC(CLOSE FILE)" -> "FS_STATUS" [label = "ok"]
"FS_BEGIN_SVC(CLOSE FILE)" -> "END" [label = "error"]
"FS_STATUS" -> "FS_STATUS" [label = "Pendente"]
"FS_STATUS" -> "FS_END_SVC" [label = "ok,error"]
"FS_END_SVC"-> "END"
}](../_images/graphviz-6f8aac940fed439407e8cc9b6eafaa61d5d99342.png)
FS_BEGIN_SVC: SEEK FILE
Parametro |
Variáveis |
Descrição |
SVC_CODE |
1 |
Código do serviço a ser executado [16] |
FH |
1 |
Identificador do arquivo a ser fechado (file handler) obtido na serviço OPEN FILE. |
ORIG |
1 |
Origem a ser considerada para o posicionamento. |
0: posiciona no início do arquivo. |
||
1: desloca OFFSET bytes a partir da posição corrente do cursor. |
||
2: posiciona no fim do arquivo. |
||
OFFSET |
2 |
Offset em 32 bits, considerado apenas com ORIG igual a 1 (com ORIG igual a 0 ou 2 é ignorado). A primeira variável armazena a word (16bits) menos significativa do offset (resto da divisão inteira de offset/0x10000). A segunda variável armazena a word (16bits) mais significativa do offset, ou seja, o valor inteiro da divisão de offset/0x10000. A posição resultante não pode ultrapassar o fim do arquivo. |
Total: 5 variáveis |
||
Sequência de comandos para serviço SEEK FILE
![digraph foo {
"BEGIN" -> "FS_BEGIN_SVC(SEEK FILE)"
"FS_BEGIN_SVC(SEEK FILE)" -> "FS_STATUS" [label = "ok"]
"FS_BEGIN_SVC(SEEK FILE)" -> "END" [label = "error"]
"FS_STATUS" -> "FS_STATUS" [label = "Pendente"]
"FS_STATUS" -> "FS_END_SVC" [label = "ok,error"]
"FS_END_SVC"-> "END"
}](../_images/graphviz-33902edf283dd7cdbcc95f3dd756eef279ac15e9.png)
FS_BEGIN_SVC: REMOVE FILE
Parametro |
Variáveis |
Descrição |
SVC_CODE |
1 |
Código do serviço a ser executado [17] |
NAME |
1..24 |
Nome do arquivo a ser removido, com o path completo iniciando com “/”. Vide codificação de textos. |
Ex: /dados/hist01.dat |
||
Total: 2..25 variáveis |
||
Sequência de comandos para serviço REMOVE FILE
![digraph foo {
"BEGIN" -> "FS_BEGIN_SVC(REMOVE FILE)"
"FS_BEGIN_SVC(REMOVE FILE)" -> "FS_STATUS" [label = "ok"]
"FS_BEGIN_SVC(REMOVE FILE)" -> "END" [label = "error"]
"FS_STATUS" -> "FS_STATUS" [label = "Pendente"]
"FS_STATUS" -> "FS_END_SVC" [label = "ok,error"]
"FS_END_SVC"-> "END"
}](../_images/graphviz-395376bd77975e6f4e0b7be8798738b7e2762e37.png)
FS_BEGIN_SVC: READ DIR
Parametro |
Variáveis |
Descrição |
SVC_CODE |
1 |
Código do serviço a ser executado [24] |
RESTART |
1 |
Reinício da leitura do diretório. 1: (re)inicia a leitura do diretório PATH, a partir do primeiro objeto. 0: continua a leitura iniciada anteriormente. |
GET |
1 |
Leitura do próximo objeto do diretório. 1: obtém o próximo objeto (arquivo ou diretório). 0: nenhum objeto é lido. |
PATH |
1..24 |
Caminho absoluto de um diretório do controlador, iniciando com “/”. Vide codificação de textos. Deve ser enviado em todos os comandos, inclusive com RESTART igual a zero. |
Ex: /dados/pasta1 (raiz: /) |
||
Total: 4..27 variáveis |
||
Para obter todos os objetos de um diretório, o primeiro comando deve ser enviado com RESTART = 1 e GET = 1, e os seguintes com RESTART = 0 e GET = 1, até que o comando FS_STATUS retorne o código RC_FS_NOTFOUND (174), que indica que não há mais objetos no diretório.
Sequência de comandos para serviço READ DIR
![digraph foo {
"BEGIN" -> "FS_BEGIN_SVC(READ DIR)"
"FS_BEGIN_SVC(READ DIR)" -> "FS_STATUS" [label = "ok"]
"FS_BEGIN_SVC(READ DIR)" -> "END" [label = "error"]
"FS_STATUS" -> "FS_STATUS" [label = "Pendente"]
"FS_STATUS" -> "FS_GET_DATA" [label = "ok"]
"FS_STATUS" -> "FS_END_SVC" [label = "error"]
"FS_GET_DATA" -> "FS_END_SVC" [label = "ok, error"]
"FS_END_SVC"-> "END"
}](../_images/graphviz-e0340b61c53cc0325ef344556e6618165ac7dac4.png)
Códigos de retorno do comando FS_BEGIN_SVC
Label |
Código |
Descrição |
SUCCESS |
0 |
Função executada com sucesso |
Falhas de comunicação. Vide tabela de falhas de comunicação |
Códigos de retorno gerados pelo processo de comunicação
Label |
Código |
Descrição |
SUCCESS |
0 |
Função executada com sucesso |
RC_CO_PENDING |
62 |
Comando de comunicação com tratamento pendente. |
RC_CO_CONEX_FAIL |
63 |
Falha no processo de conexão ou desconexão. |
RC_CO_COM_ERR |
70 |
Erro genérico de comunicação. |
RC_CO_CHA_CLO |
72 |
Canal de comunicação fechado (inativo). |
RC_CO_INV_CHA |
74 |
Identificador do canal inválido. |
RC_CO_REC_TMO |
79 |
Timeout na recepcão de caracter. |
RC_CO_OVR_ERR |
82 |
Erro de overrun. |
RC_CO_PAR_ERR |
83 |
Erro de paridade. |
RC_CO_FRM_ERR |
84 |
Erro de framming. |
RC_CO_CRC_ERR |
85 |
Erro de CRC. |
RC_CO_CMD_DENIED |
91 |
Comando recusado por restrições de segurança. |
RC_COM_RFRM_TMO |
94 |
Timeout na recepção de frame. |
Para mais informações sobre códigos de erros retornados pelos controladores consulte a tabela RET_CODE - Códigos de retorno do firmware G5.
Comando FS_STATUS_SVC
Este é um comando de leitura que tem por função obter o status da execução de um serviço previamente iniciado pelo comando FS_BEGIN_SVC. Para todos os serviços disponíveis, o comando de status retorna os mesmos parâmetros, especificados na tabela a seguir:
Parametro |
Variáveis |
Descrição |
STATUS_CODE |
1 |
Código de status de execução do servico. Se igual a zero indica que o serviço ativado anteriormente foi concluido com sucesso. Se igual a 16 indica que o serviço corrente ainda esta em execução (não concluido ainda). Quando diferente de zero ou 16 indica uma condição de falha no processo. |
DATA_LEN |
1 |
Quantidade de dados solicitados disponíveis para serem lidos através do comando FS_GET_DATA |
Total: 2 variáveis |
||
Códigos de retorno do comando FS_STATUS_SVC
Label |
Código |
Descrição |
SUCCESS |
0 |
Função executada com sucesso |
RC_GL_CMD_PEND |
16 |
Tratamento do comando pendente. |
RC_FS_FULL |
26 |
Tabela de alocação cheia |
RC_FS_INV_SERVICE |
23 |
Serviço inválido solicitado |
RC_FS_NO_SERVICE |
24 |
Serviço não iniciou ou foi abortado |
RC_FS_INV_PWD |
17 |
Senha inválida no processo de autenticação |
RC_FS_WRITE |
32 |
Falha ao escrever dados no arquivo |
RC_FS_READ |
31 |
Falha ao ler dados do arquivo |
RC_FS_CORRUPT |
167 |
FBT ou DET podem estar corrompidas |
RC_FS_INV_OPER_MODE |
168 |
Modo de operação incompátivel com estado do arquivo (Leitura em arquivo aberto para escrita ou vice-versa |
RC_FS_WRITE_LOCK |
170 |
Arquivo já está aberto para escrita |
RC_FS_INVALIDNAME |
173 |
O nome de arquivo é inválido |
RC_FS_NOTFOUND |
174 |
O arquivo não foi encontrado. No serviço READ DIR, indica que não há mais objetos no diretório. |
RC_FS_DUPLICATED |
175 |
O arquivo já existe |
RC_FS_OPEN_LIMIT |
176 |
Numero máximo de arquivos abertos |
RC_FS_INVALID_HANDLE |
177 |
Handle de arquivo aberto inválido |
RC_FS_INVALID_DIR |
178 |
O diretório é inexistente |
Falhas de comunicação. Vide tabela de falhas de comunicação |
Para mais informações sobre códigos de erros retornados pelos controladores consulte a tabela RET_CODE - Códigos de retorno do firmware G5.
Comando FS_GET_DATA_SVC
Este é um comando de leitura que tem por função obter os dados solicitados pelo serviço previamente iniciado pelo comando FS_BEGIN_SVC. Para cada tipo de serviço, este comando possui parâmetros distintos, definidos a seguir:
FS_GET_DATA_SVC: OPEN FILE
Parametro |
Variáveis |
Descrição |
FH |
1 |
File handle do arquivo aberto |
Total: 1 variáveis |
||
FS_GET_DATA_SVC: READ FILE
Parametro |
Variáveis |
Descrição |
FH |
1 |
File handle do arquivo aberto |
LEN |
1 |
Número de bytes validos no buffer recebido |
DATA |
LEN / 2 |
Buffer de variáveis com o conteúdo obtido do arquivo |
Total: 2..118 variáveis |
||
FS_GET_DATA_SVC: WRITE FILE
Não existe comando de FS_GET_DATA_SVC para o serviço de WRITE FILE. Se enviado este comando para o serviço WRITE FILE é retornado código RC_GL_INV_CMD de comando não disponível.
FS_GET_DATA_SVC: CLOSE FILE
Não existe comando de FS_GET_DATA_SVC para o serviço de CLOSE FILE. Se enviado este comando para o serviço CLOSE FILE é retornado código RC_GL_INV_CMD de comando não disponível.
FS_GET_DATA_SVC: REMOVE FILE
Não existe comando de FS_GET_DATA_SVC para o serviço de REMOVE FILE. Se enviado este comando para o serviço REMOVE FILE é retornado código RC_GL_INV_CMD de comando não disponível.
FS_GET_DATA_SVC: SEEK FILE
Não existe comando de FS_GET_DATA_SVC para o serviço de SEEK FILE. Se enviado este comando para o serviço SEEK FILE é retornado código RC_GL_INV_CMD de comando não disponível.
FS_GET_DATA_SVC: READ DIR
Parametro |
Variáveis |
Descrição |
STATUS |
1 |
Status do objeto. 1: um objeto foi obtido (campos seguintes válidos). 0: nenhum objeto foi lido. |
ATT |
1 |
Atributos do objeto recebido. Veja a tabela de atributos de arquivos para mais detalhes. |
NAME |
24 |
Nome do objeto (sem o path), conforme a codificação de textos. As variáveis após o delimitador de fim de texto têm valor igual a zero. Nomes com 48 caracteres ou mais são truncados em 48 caracteres, sem o delimitador. |
CREATE_DATE |
6 |
Data e hora da última modificação do objeto, cada valor em uma variável M (ou Holding Registers). |
Formato: [ano (4 dígitos)][mês][dia][hora][min][seg] |
||
Total: 32 variáveis |
||
Códigos de retorno do comando FS_GET_DATA_SVC
Label |
Código |
Descrição |
SUCCESS |
0 |
Função executada com sucesso |
RC_GL_INV_CMD |
6 |
Comando inválido ou nao reconhecido. |
RC_GL_CMD_PEND |
16 |
Tratamento do comando pendente. |
RC_FS_INV_SERVICE |
23 |
Serviço inválido solicitado |
RC_FS_NO_SERVICE |
24 |
Serviço não iniciou ou foi abortado |
RC_FS_INV_PWD |
17 |
Senha inválida no processo de autenticação |
RC_FS_WRITE |
32 |
Falha ao escrever dados no arquivo |
RC_FS_READ |
31 |
Falha ao ler dados do arquivo |
Falhas de comunicação. Vide tabela de falhas de comunicação |
Para mais informações sobre códigos de erros retornados pelos controladores consulte a tabela RET_CODE - Códigos de retorno do firmware G5.
Comando FS_END_SVC
Este é um comando utilizado para terminar a execução de um serviço previamente iniciado pelo comando FS_BEGIN_SVC. Para todos os tipos de serviço, este comando possui o mesmo formato:
Parametro |
Variáveis |
Descrição |
SVC_CODE |
1 |
Código do serviço a ser executado |
SUB_CMD |
1 |
Subcomando associado [1] |
Total: 2 variáveis |
||
Códigos de retorno do comando FS_END_SVC
Label |
Código |
Descrição |
Falhas de comunicação. Vide tabela de falhas de comunicação |
Para mais informações sobre códigos de erros retornados pelos controladores consulte a tabela RET_CODE - Códigos de retorno do firmware G5.