GE Fanuc 90-30; DataSource; DataPoint e Diagnósticos

Olá, bom dia, queria já de cara dar os parabéns pra galera que está ralando para fazer este software, bom, vamos lá, sou aluno de Mestrado na Unesp na área de automação, estamos montando um laboratório remoto com câmeras na área de motores e bombas com instrumentação e a idéia é usar software’s open-source, pesquisei vários, Argos, Proview e minha escolha foi o SCADABR por vários motivos, incluindo entre eles o suporte, para começar a entender o software instalei ele no Windows, depois vou migrar pro Linux/Ubuntu, mas parece que ainda não foi libera a versão 0.8 né?! (Sugestão, na página de Downloads não está muito claro que todos aqueles arquivos são referentes apenas ao Windows, se tiver como clarear para leigos como eu) estamos querendo supervisionar um CLP GE Fanuc series 90-30, esse aqui http://www.ge-ip.com/products/family/series-90-30 - nosso objetivo e supervisioná-lo vi rede Ethernet, temos um módulo para isto, mas não consegui, então tentei comunicar via Serial só para cercar os problemas também não consegui, na verdade não sei qual é o protocolo que devo usar para criar o DataSource, sei que em SNP ele comunica mas no SCADABR só tem SNMP e não parece bem com o nosso, quando criei o DataSource em ASCII Serial ele deu alarme de falta de dados ou algo parecido daí fiquei na dúvida, será que instalei errado ou estou criando de forma errada o DataSource. Perguntas:
1 - Existe alguma forma de diagnóstico para problemas de comunicação e de instalação? (usava o CIMPLICITY, lá tinha), senão fica aí uma sugestão;

2 - Fiz os testes que o manual manda, veja os resultados:
Fabio>java -version
java version “1.6.0_23”
Java™ SE Runtime Environment (build 1.6.0_23-b05)
Java HotSpot™ Client VM (build 19.0-b09, mixed mode, sharing)

Fabio>echo $JAVA_HOME
$JAVA_HOME
Pelo que entendi esse teste só garante que eu tenho a versão do JDK certa instalada e que declarei a variável JAVA_HOME, mas garante que eu declarei ela de forma certa?

3 - Instalei o Adobe AIR que ele requisitou, segui os passos do arquivo “Configuração OPC SCADABR.pdf” mas na hora de adicionar exceções no firewall só apareceu OPC Servers e uma vez só, e não apareceu nenhum OPC Cliente tem algum problema? (o resto do procedimento foi igualzinho ensinado).

4 - Vocês conhecem o CLP GE Fanuc series 90-30? existe algum protocolo no DataSource para comunicar com este CLP de forma Serial e existe algum outro para comunicar pela Ethernet (uso o módulo IC693CMM321-EF para comunicação Ethernet)? só para ficar mais claro, este computador está numa sala e o CLP está em outra sala, na mesma rede(Tudo dentro do campus da UNESP), já dei ping no clp, só tenho o IP dele 172.21.1.121, o ping responde normal, pelo software CIMPLICITY consigo comunicar normal, faço download e upload no CLP, só configuro como Ethernet e coloco o IP acima e já funciona.

5 - No software citado acima para criar um DataPoint, por exemplo, um contato auxiliar M1, eu só preciso, dar um nome, falar qual é o Device ou DataSource aqui e escrever o endereço do DataPoint, que no caso ficaria “%M1”, como é que faço aqui no SCADABR?

6 - Não entendi bem a diferença entre eu fazer a REPRESENTAÇÃO GRÁFICA no SCADABR e fazer no HMI BUILDER? Pelo pouco que mexi me parece que ainda não existem muitos efeitos no software, alguns que particularmente usava bastante, eram o de preenchimento como exemplo um cano sendo preenchido da’gua, é possível fazer por script? também usava mudança de cor, visibilidade dependendo de condições e procedimentos para mouse down e mouse up, já existem esses? De qualquer forma fica como sugestão.

7 - Como estou indo para área open-source, preciso migrar para o Linux, inclusive tenho que escrever um artigo sobre supervisório SCADABR no linux até o fim deste mês, por isso queria saber + ou - quando vai estar disponível esta versão 0.8 para linux, sem cobranças, fiquem tranquilos, só para eu ter uma idéia para me organizar.

8 - Percebi que a documentação (manual) ainda é para a versão 0.7 e só explica os protocólos MODBUS e OPC, apenas no site CERTI que tem uma breve explicação sobre o que são alguns dos protocólos, sei já estou pedindo demais, mas a versão 0.8 também vai receber um manual para ela?

Concluindo, estou estudando bastante só o software de vocês e estou curtindo bastante, parece ser bem promissor o projeto e não esquentem com as comparações com o CIMPLICITY, só o fiz para me explicar melhor, sei este projeto ainda está bem no começo mas logo estará bem melhor que os outros, tenho algumas dificuldades com rede, mas se precisarem de mais dados corro atrás e tenham certeza que se possível estaremos compartilhando nosso trabalho depois de pronto com todos. Perdoem o tanto de perguntas que fiz e por favor não entendam nada do que foi dito como uma crítica, no que puderem me ajudar eu ficarei muito grato, na verdade até já estou.

Olá Fábio,

nós é que agradecemos pelo email tão explicativo :slight_smile:

todas as sugestões de softwares, ferramentas, etc., são boas para comparação e para podermos pensar em coisas novas.
vou responder brevemente sobre a comunicação com o seu CLP que é o primeiro e mais importante passo… depois detalhamos melhor as outras respostas blz?

Ainda não temos suporte direto (driver) para o protocolo SNP. realmente nao vai funcionar com o datasource snmp nem com o ascii. O melhor seria escrever o driver, mas dependendo da complexidade, isso pode demorar de 1 semana até vários meses. Mas devem existir outras formas de fazer essa integração.

Algumas coisas que podem ser pensadas pra começar:
1- Configurar o CLP (com o software do próprio fabricante ou outro que esteja acostumado), definindo o mesmo para rodar como “modbus slave” (rtu, ou serial), como modbus/tcp (no caso Ethernet), ou outro dos protocolos que o scadabr já suporte hoje (conferir na lista de datasources).

2- Se por acaso vier com o CLP, use o driver OPC dele. Daí é só seguir instruções para configurar um datasource do tipo “OPC DA”.

3- verificar se o CLP com módulo Ethernet pode rodar como servidor web ou ftp, seria então possível comunicar através de troca de arquivos.

4- utilizar um software ou driver que venha com o equipamento, (dll, configurador, etc.) e adaptá-lo no scadabr; pode ser um programa (em qualquer linguagem) que envie dados para o scadabr via TXT, SQL, Web-services ou formato similar.
Já fizemos isso com alguns equipamentos, com variados graus de dificuldade :slight_smile:

Não tive como olhar ainda a documentação do módulo C693CMM321-EF, e muitas vezes é possível “bolar” novas formas de integração, se não tiver tempo e recursos para escrever o driver do CLP (novo tipo de datasource para o scadabr).

Assim que passar a etapa de comunicação que é o mais importante, de maneira geral, tudo o que funcionar no windows deve funcionar depois no linux, pois é quase tudo java. Na pior hipótese, tente com o wine. O HMI builder Air também já roda “nativo” no linux, mas estamos estudando como funciona para salvar os xmls das telas, se precisa de permissão em alguma pasta etc, antes de lançar o pacote linux para download.

Falando nisso, a diferença do HMI Builder para as “representações gráficas” é que o HMI Builder por ser feito em flash, tem melhores animações e permite mais uma série de “caprichos” que a versão pura HTML das representações gráficas não permitiria. Por outro lado, as “representações gráficas” são compatíveis com maior número de computadores e dispositivos (pad, smartphone etc. etc.) onde o flash é muito pesado ou incompatível.

Para finalizar essa resposta, e para ajudar no teu planejamento:

  • ScadaBR 0.8.1 para windows e linux, já com algumas melhorias sairá em mais ou menos 10 dias (semana do dia 18/02).

  • essa versão 0.8.1 fica um bom tempo como versao “oficial” do scadabr, a não ser que surja alguma correção muito importante. Depois de mais uns 2 meses virá o próximo lançamento (0.9), com uma HMI mais completa e outras surpresas :slight_smile:

  • se quiser um motivo para ir treinando o Linux, a 0.8 roda sim, só procurar pelo arquivo “War” no downloads ( ou scadabr.sourceforge.net ) e procurar no manual sobre a instalação com java e tomcat.

ah não se preocupa com os java_homes no teu windows, pois se o scadabr rodou já está tudo certo essa parte.

desejamos sucesso,
até logo

victor

Oi Victor, obrigado pela prestividade.
Ainda estou tentando comunicar com o meu CLP, passei o dia hoje tentando fazer algo funcionar, abaixo estão os protocólos que descobri que funcionam no meu CLP:

“Módulos de Comunicação
A série 90-30 tem uma variedade opções de comunicação incluindo Ethernet, GENIUS, protocolo série 90 (SNP), ModBus RTU, Profibus(Master/Slave), DeviceNet(Master/Slave), WordFip.”

O único que tem no SCADABR é o Modbus, porém parece que tenho que fazer alterações na programação do CLP para configura-lo como master ou slave e não sei como fazer, 6ªF posso tentar fazer isso com a ajuda de uma pessoa que entende melhor sobre esse protocólo (essa pessoa está viajando).
Então foquei hoje no OPC DA, dei uma estudada, não conhecia ele, parece que é o protocólo da moda, na verdade o da moda seria o OPC UA (arquitetura unificada) certo? estava vendo sobre drivers para fazer funcionar esse protocólo, não sei se porque o OPC DA é da Microsoft que não achei nada gratuito, então fuçando melhor achei esse software “ICONICS OPC Server Suite” é versão demo, parece que ele tem drivers para diversos CLP’s, inclusive o meu GE series 9030-313, pelo que entendi ele recebe o OPC (já entende OPC UA) e converte para SNP ou qualquer outro protocólo que meu CLP entenda, abaixo link da descrição do software
http://www.iconics.com/Home/Products/OPC-Connectivity/OPC-Server-List.aspx
no software eu crio um “CHANNEL” descrevo que liguei meu CLP na porta COM depois crio um “DEVICE” aí escolho a marca e a serie do meu CLP de uma lista, também escolho o protocólo, no meu caso coloquei SNP, e aí dentro do DEVICE ele pediu para criar as TAGS, aí já não entendi muito bem, será que vou ter que fazer todo o trabalho 2 vezes, vou ter que criar TAG no SCADABR e no ICONICS OPC Server Suite ? na minha concepção tinha entendido que depois de criado o CHANNEL e o DEVICE o programa já faria a tradução ou interpretação do protocólo OPC DA do SCADABR para o protocólo SNP do meu CLP. Bom por fim, acabei criando uma TAG (no ICONICS) de saída chamada “Q1” que é uma saída física do CLP, só para testar, caso desse certo eu ia ver acendendo o led de saída (no ICONICS não tem como mudar o valor da TAG - ex: fazer a saída ir para 1 ou 0 para testar), aí fui no SCADABR e tentei criar um DataSource no protocólo OPC DA, quando abre a tela de configuração, só deu clicar em “Atualizar” já aparecem uma série de servidores, vou listá-los abaixo:

Cimplicity.Mitsubishi.FxFront.1
View.CimplicityStation.1
View.CNC.1
View.Siemens.AS511.1
ICONICS.IconicsOPCUAServer.V5
Cimplicity.Siemens.MPI.1
View.ModbusPlus.1
View.OpcServer.1
LogicPC.OpcServer.1
Cimplicity.GE.SRTP.1
View.Siemens.Tcpip.1
Cimplicitu.Mitsubishi.A1.1

Antes de instalar este software quando clicava em “Atualizar” só listava 2 servidores:
“-1”
Alguma mensagem de erro

Escolhi então o servidor “ICONICS.IconicsOPCUAServer.V5” mas não sei configurar os campos, se eu estou fazendo uma conexão por cabo serial, o que eu coloco nos campos:
Host = ?
Domínio = ?
Usuário = ?
Senha = ?

Para falar a verdade estou querendo sair fora desse soffware pago, só peguei esse porque era Demo e pra cercar os problemas tentando fazer a comunicação com o CLP mesmo que serialmente, por favor, alguma idéia para me ajudar? será que nessa idéia que estou eu escolhi o servidor certo? o que são todos os outros servidores? será que não existe nenhum driver perdido na net ou em algum repositório que faça meu CLP comunicar em OPC, na verdade mesmo havendo eu não sei bem o que fazer com ele, teria que instalar esse driver no meu PC ou instalar na CPU do CLP? Estou precisando mesmo de ajuda…
Obrigado por toda a atenção já me dada e pela ainda por vir!
Grato, Fábio

Oi Fabio,

O OPC funciona como um protocolo genérico que “esconde” o protocolo original para o Scada, fazendo o Scada enxergar apenas esse protocolo mais padronizado, sem precisar conhecer os detalhes de “baixo-nível” (pacotes, porta serial, rede, registradores, temporização etc.). A idéia por trás do OPC é fazer com que mais softwares sejam capazes de comunicar com um maior número de equipamentos, padronizando a indústria de controle & automação.

No nosso caso funciona o OPC-DA que é o OPC original, o OPC-UA é bastante recente e infelizmente não temos previsão por ser uma implementação complexa. Se quiser fazer um último teste com o Iconics, mude para o modo DA (não o UA), configure as tags do GE, e no ScadaBR será possível “listar” todas elas automaticamente.

Você viu vários ‘servers’ porque os outros softwares que foram instalados no seu computador também funcionam como servidores OPC - por exemplo, vc poderia configurar toda a configuração de diversos equipamentos siemens, mitsubishi, modbus etc. no Cimplicity, se quisesse, e depois “enxergaria” todo mundo a partir do ScadaBR usando o OPC. Mas claro que a intenção não é essa, se vc deseja de usar os softwares pagos.

Na ordem de preferência, se vc quer usar tudo 100% open-source, faríamos assim

  1. tentar rodar como Modbus. Tem que alterar o software no clp (habilitar para modbus, incluir no ciclo de varredura, e disponibilizar cada tag que seja importante, como um “registrador” modbus). Com certeza fica mais fácil com ajuda de alguém que entenda do protocolo, assim à distância pode ser difícil passar todos os detalhes :slight_smile:

  2. garimpar um pouco mais a documentação do CLP, se poderia exportar as variáveis como HTTP ou arquivo via Ethernet, seria uma grande mão-na-roda.

  3. fazer uma boa busca na Internet (amigo google) por alguém que já tenha implementado esse protocolo. Normalmente se procura algumas palavras-chave (open-source, driver, protocol, free) junto com os nomes do protocolo (series 90, GE, SNP, Genius, Wordfip, DeviceNet). Tendo o driver open-source, um programador Java com alguma experiência consegue implantar dentro do ScadaBR em umas 2 semanas.

Realmente (…lá vai um pequeno desabafo) a principal barreira para usar Scada open-source é a quantidade absurda de protocolos que foram inventados nas décadas de 80 e 90… são centenas ou mesmo milhares, por isso podemos implementar apenas os mais consolidados como OPC e Modbus, e gradualmente ir adicionando novos protocolos conforme o tempo e os recursos nos permitem. Às vezes temos boa sorte de encontrar bibliotecas free (por exemplo tem o ótimo libnodave para o S7 Siemens), mas às vezes tem que “penar” um bocado.

Tomara que a gente encontre um atalho para a tua situação! Boa sorte por enquanto com o Modbus, HTTP e procuras na Internet. Se achar algo interessante nos dá um toque OK?

grande abraço
Victor

Olá Equipe ScadaBr e Victor, obrigado pelo suporte, estou respondendo para falar que graças a Deus consegui conversar com o CLP pelo ScadaBR, mas para contribuir para a comunidade vim escrever minha experiência de como eu consegui para ajudar o próximo que tiver a mesma dúvida.
Ligamos no suporte técnico da GE e eles nos disseram que o nosso módulo de comunicação só entendia Ethernet mas não ModBus, nos disseram para adquirir o IC693CMM321-GH que este aceitava ModBus IP e Ethernet, nos propuseram até de trocar módulos com eles para adquirir este, então fuçando no estoque na Unesp descobrimos que já tinhamos este módulo, aí foi correr pro abraço, primeiro conectamos este módulo na nossa Rack, ligamos ele num Hub por um cabo de rede comum, comunicamos serialmente (SNP - com cabo serial) pelo software proprietário de programação, e lá dentro modificamos o módulo de comunicação citado acima que se encontrava no Slot 1 para comunicar em Ethernet com um IP fixo, fomos para o ScadaBr e criamos um novo DataSource “ModBus IP” só colocamos o IP da máquina e já funcionou, fiquei com um dúvida, segundo um amigo, nosso CLP se comunica em ModBus encapsulado na Ethernet só que na hora de criar o Data Source ele só funciona se eu não marcar a opção “Encapsulado”.
Apanhei um pouquinho para entender que para criar o DataPoint eu deveria criar ao invés de %M1 criar o “Holding Register” com OffSet “61824”, aí o resto foi fluindo, estou maravilhado descobrindo as funcionalidades, Parabéns, está ótimo!!! Mas já que estou aqui vou aproveitar para fazer mais algumas perguntas:

1 - No HMI Builder não entendi muito bem o que eu coloco na URL na hora de criar um novo Grupo(para que server este novo Grupo?), no vídeo vcs colocam “http://127.0.0.1:8080/ScadaBR/services/API?wsdl” até cheguei a ler o outro tópico “http://www.scadabr.org.br/?q=node/84” onde falam sobre isso, mas minhas dúvidas foram assim, se HMI Builder está na mesma máquina que o ScadaBr, eu deveria colocar no endereço da URL “MEU_IP:8080/ScadaBR/services/API?wsdl” ou seria “localhost:8080/ScadaBR/services/API?wsdl” ou não seria nada disso, a que se refere esta URL?

2 - Quando crio um DataPoint eu coloco o nome de M1 (dentro de um DataSource chamado CLP_MB) quando vejo este DataPoint na WatchList ele se chama “CLP_MB - M1”. Pergunta: O vídeo diz que na hora de criar um novo Widget eu devo colocar o nome igual ao da Tag, então eu devo colocar “M1” ou “CLP_MB - M1” (fiquei confuso porque podem existir vários M1, um para cada DataSource diferente, por isso creio que deve ser “CLP_MB - M1”)?

3 - O HMI Builder não consegue enxergar a Representação Gráfica que fiz no próprio ScadaBR?(a princípio achei que o HMI Builder era apenas para melhor a representação gráfica que já tinha feito) Parece que o HMI Builder é mais bonito, mais fácil de mexer e tem até mais coisas do que as representações gráficas (por exemplo botão de liga), mas parece que ele não tem tudo que o a representação gráfica tem, como por exemplo os tanques com várias imagens de enchendo ou a válvula que vai abrindo conforme a variável analógica aumenta, é assim mesmo ou eu que não vi direito?

4 - Na hora de criar scripts fico meio perdido, onde posso ter acesso a documentação da programação, vi alguns exemplos de script mas não entendi que linguagem que ele usa, eu não conheço Java, tenho alguma idéia de linguagem C, por acaso é em Java que os scripts são programados?

5 - Nas representações gráficas eu posso colocar um desenho que indica quando uma variável boolena vai de 0 para 1 e posso até setar isso colocando os valores manualmente, mas é possível colocar um botão igual do HMI Builder que só de clicar ele já mude de 0 para 1?

6 - Como arrumo a hora, o Scada está 1 hora a frente do meu PC? (tinha quase certeza que alguém já tinha perguntado isso mas não achei a resposta no forum)

7 - Me parece que depois de um tempo sem mexer no ScadaBR ou no PC ele desloga, tem como ficar conectado indefidamente?

8 - Porque será que a comunicação está tão lenta, as vezes no ScadaBr eu seto manualmente M1 (liga o processo) em 1 e ele demora até 4 segundos ou mais, coloquei o tempo de atualização em 10 ms e tive que jogar o Timeout de 500ms (padrão) para 5000ms=5s senão ele dava erro, será que tem como fazer ele comunicar mais rápido pela neste protocólo ModBus IP?

Se me permitirem a intromissão, posso dar algumas dicas conforme vou sentindo a necessidade? Senão desconsidere o escrito abaixo:

REPRESENTAÇÕES GRÁFICAS
A - Quando por exemplo clico em “GIF Binário” e depois em “Adicionar”, ele coloca um bloquinho no meio da minha tela, quando se tem um imagem de funco ou muitos bloquinhos pode ficar difícil de achá-lo, minha sugestão era que ao clicar em “Adicionar” o bloquinho ficasse grudado no ponteiro do mouse e você pudesse colocá-lo onde quisesse com um clique, simples mas muito útil;
B - Acho que já foi dito, mas se tivesse como fazer o gráfico da representação gráfica não piscar na hora de atualizar, daria um acabamento melhor cansando menos a vista;
C - Pelo que entendi os desenhos se sobrepõem por ordem de adição sendo que os últimos que foram adicionados ficam por cima dos anteriores, sugiro criar uma opção de enviar para trás ou para frente, parecido com o que PowerPoint faz ou mesmo o que outros softwares tem seguido;

DATAPOINTS
D - Não sei se alivia pro software mas se tivesse como na hora de criar os DataPoints colocar neles o período de atualização seria melhor do que colocar no DataSource, as vezes existem algumas variáveis que não precisam ser tão atualizadas como outras, mas na hora de criar o DataSource normamente colocamos o período de atualização tão baixo quanto a variável que precisa ser atualizada mais rapidamente necessita, fazendo com que todas as outras variáveis sejam atualizadas tão rapidamente como a citada acima, desnecessariamente;

Bom, escrevi demais né, como sempre, mas como não é apenas para me ajudar eu prefiro fazer tudo bem detalhado, estão de Parabéns pelo projeto, já me sinto parte do grupo de criação dando meus pitacos, desculpa o exagero, sei que não sou, hehehe, valeu pela força e um abraço!

Fábio

1 curtida