segunda-feira, 9 de março de 2020

O editor de textos secreto do Roboguide




Não é tão secreto assim, pra falar a verdade. Além disso, está bem descrito no help do Roboguide. Mas quem lê o help, né? 😀

Entretanto, como acontece em outros recursos da IDE da FANUC, sua localização não é evidente, e muita gente não sabe dessa possibilidade.

Editar programas no Roboguide costuma ser uma atividade trabalhosa. Mesmo com o uso de atalhos, o TP virtual pode não ser a maneira mais confortável de escrever um programa.

E aí entra o editor de textos.

Com ele, é possível editar qualquer arquivo de texto (ou ASCII, usando a nomenclatura da FANUC) reconhecido por um robô do fabricante, dentro do próprio Roboguide.


A melhor maneira de utilizá-lo é reunir os arquivos “fonte” que estão em formato texto/ASCII (.ls, .kl, .cm, etc) em uma pasta no PC, que vamos chamar de repositório. Coloque um nome que seja fácil de lembrar. Se você tem mais de um robô na célula, crie um repositório para cada um.
Na árvore do projeto (Cell Browser), dentro de cada controlador, há um item chamado Files.


Clique no mesmo com o botão direito, e clique na opção Add.



Selecione os arquivos que vocẽ deseja carregar no projeto, e alterar usando o editor.
 

 Note que os mesmos aparecerão na árvore do projeto, sob o item Files.

Toda vez que você der um duplo clique nesse arquivo, o editor já vai abrir.



Após fazer as edições necessárias, clique na tecla Build.


Feito isso, o programa será convertido para o formato formato binário correspondente, e será salvo no repositório e também será carregado no controlador virtual, como se fosse feito um LOAD através do gerenciador de arquivos do robô.




Em caso de erro de sintaxe, o programa não será compilado, e vai surgir uma mensagem de falha, indicando a linha e a coluna onde está localizado o erro.


Note que esse método tem algumas limitações.

Não há nenhum tipo de sincronia entre o repositório e a lista Files do Roboguide. Toda vez que se colocar um arquivo no repositório através do Windows Explorer, é necessário adicioná-lo manualmente no Files.

Também não há nenhum tipo de sincronização entre os arquivos ASCII (Files) e binários (Programs). O sentido do desenvolvimento deve ser sempre ASCII > Build > Binário > Testes.

Isso pode ser meio óbvio no caso dos arquivos Karel, que não podem ser editados via TP, mas pode ser meio confuso no caso de programas convencionais.

Se você faz edita um arquivo ASCII, faz o Build, e depois continua editando o mesmo através do Teach Pendant virtual, o arquivo fonte NÃO será atualizado com essas mudanças. Se você quiser manter seu repositório atualizado, será necessário exportar o programa como ASCII de dentro do robô virtual, e sobrescrever o mesmo dentro do repositório.

Por outro lado, apagar um arquivo no Cell Browser não apaga ele no repositório, o que acaba criando uma camada de segurança extra.

Além dos arquivos que são reconhecidos pelo robô, também é possível criar arquivos .txt. Nesses não é possível dar um Build. Mas você pode, por exemplo, criar um arquivo chamado Notas.txt, adicioná-lo na lista Files, e usar esse arquivo como um bloco de notas referente àquele projeto, editando o mesmo de dentro do próprio Roboguide.


Embora pareça uma boa ideia, não acho seguro deixar o repositório dentro da célula do robô pois, em alguns casos, quando é necessário dar um “clean” na célula, muitas vezes o Roboguide apaga os arquivos, ou restaura um backup anterior.

Acredito que o Roboguide ficaria ainda mais prático se tivesse mais duas pequenas funcionalidades:

1) ao clicar em um programa na árvore do projeto, o mesmo poderia ser convertido automaticamente para .ls e já ser aberto no editor, em vez de abrir no TP virtual. Na verdade, nem estou certo sobre a necessidade da conversão, visto que no MD: do robô virtual já existem os arquivos convertidos para formato .ls. Isso também ajudaria na sincronização dos arquivos, visto que toda vez que um programa é editado via TP (real ou virtual), sua cópia em formato .ls é salva no MD.

2) abrir arquivos individuais no Roboguide, como acontece no RobotStudio, por exemplo. Hoje é necessário criar uma célula, e carregar o programa dentro do robô virtual.

Dúvidas, comentários, sugestões sobre esse post ou sobre o conteúdo do blog?

Cola lá no grupo do Telegram!

P.S.: meus sinceros agradecimentos ao Douglas, que me avisou do problema com as imagens do post. Valeu, mano!