• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

nokPT

Máquinas Virtuais

26 mensagens neste tópico

Pediram-me recentemente para testar e dar a minha opinião sobre um software novo de autómatos, durante a instalação deu uma mensagem de incompatibilidade com alguns programas que tinha instalados.

Como desinstalar os programas não era opção e queria testar o novo software, lembrei-me de testar numa máquina virtual.

Instalei o VirtualBox, criei uma máquina virtual Windows XP Pro (em cima de uma real Windows XP Pro), instalei o novo programa na máquina virtual e testei o seu funcionamento (não testei as comunicações com o autómato).

Depois foi o já agora, mais uma máquina virtual para outro software mais antigo do que tenho actualmente instalado.

Finalmente lembrei-me, no meu computador tenho instalados programas para autómatos Siemens, Allen-Bradley e Omron. Cada marca instala e arranca no startup do computador os seus drivers e serviços de comunicação com os autómatos. Mesmo que não estejamos a trabalhar/comunicar com um autómato, estes serviços estão sempre activos e a usar recursos.

Se consideramos que 50% do tempo não estamos a trabalhar com um autómato e que dos 50% que estamos a trabalhar com o autómato, só 5% do tempo estaremos efectivamente a comunicar com ele (download e debug) e que por norma só trabalhamos com 1 tipo/marca de autómato de cada vez. Temos muitos recursos desperdiçados constantemente.

Então surgiu-me a ideia de criar várias máquinas virtuais, uma para cada marca, mais uma para VB.NET e SQL Server, mais uma para testes, mais ...

Procurei na net, e o que estou a pensar não é novo, já vários usam, o único problema que apontam, naturalmente é a nível de comunicações está-se limitado a USB, RS232 e Ethernet, mas como só uso esse tipo de comunicações não me parece grave. Por outro lado, o que a maioria está a usar é o VMware, e eu estou a pensar usar o VirtualBox, já li comparativos (no google) e parece-me melhor (ou equivalente).

A minha pergunta (depois de tanto texto) é:

Neste fórum, já alguém testou ou tem a funcionar e a comunicar com os autómatos (e consolas) o que estou a pensar fazer?

Estou muito inclinado a fazer, há vantagens e desvantagens, como tudo, mas estou inclinado a fazer, claro que se tiver problemas com as comunicações, então nada feito, mas pelo que li não me parece que seja problemático, mas já agora, agradeço a v/ opinião.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Já testei com VMWare a comunicar com o automato e no caso tinha que utilizar sistema operativo do automato no caso "GNU-Linux" distribuição da marca do automato. Lectra Systemes, e funcionou perfeitamente. Deu alguma laboura inicial com drivers mas de resto comunicava perfeitamenfe com o automato.

Recentemente testei Windows XP Pro SP3 no Virtual Box a comunicar com um automato de medição de parametros médicos, e funcionou relativamente bem. Como era de esperar não tem o mesmo desempenho que o proprio windows directo na maquina, mas também estou com 2GB de Ram e uma maquina "sobre-carregada".

Por vezes alguns automatos "querem um jeitinho" mas de um modo geral trabalham bem apartir de VM's sem grande espiga. O unico que me posso "queixar" um pouco mais é o lectra porque o software do automato corre num SO da propria marca do automato, como disse anteriormente.

Estou à disposição para trocar impressões sobre esta matéria.

Cumprimentos

Santos

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Ok, vou tentar, tenho que comprar 1 disco novo (o meu está cheio) com capacidade para montar várias máquinas.

E progressivamente transferir para as máquinas virtuais os softwares, mantendo, dentro do possível, na maquina host por questões de continuidade de serviço, mas com a ideia de os eliminar à medida que vá conseguindo transferir e por a funcionar sem problemas.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Se os automatos com que vais trabalhar não lerem nem escreverem directo ao hardware (ultrapassando o HAL do SO), não deves ter problema nenhum com nenhum tipo de automato.

Como referi anteriormente a dificuldade com o Lectra Systemes era o facto de o software de controlo do automato correr apenas num SO que vem fornecido com o computador e o automato, no caso uma variante de linux, e a dificuldade foi mesmo os drivers (intermédios) ou seja os drivers para o hardware VM. Os que funcionarem em Windows é basicamente confirmares e isso deve estar nas especificações tecnicas, se comunicam directo com o hardware ultrapassando a HAL do SO, ou se como tu referiste usam serviços, para comunicar, o que quer dizer que independentemente do hardware, desde que o SO consiga correr os softwares drivers e serviços, das marcas não deves ter o menor problema, pois nenhum software comunica autonomanente com o automato nem em "baixo nivel" ultrapassando a hall e lendo/escrevendo direcramente no hardware.

Quanto a VMware X VirtualBOX eu sinceramente fui durante muito tempo utilizador de VMware, porque na altura era o que havia, assim que conheci o VirtualBOX mudei tudo o que tinha em VMware para Virtualbox, e uso apenas VirtualBox. Além das muitas vantagens tens sempre a possibilidade de fazer um backup das VM's para caso alguma coisa corra muito mal (Lei de Murphy "Se alguma coisa pode correr mal, é certo que vai acontecer"), e sempre é mais rapido repor os files de uma VM do que de um SO inteiro.

Existem "how-to's" porreiros sobre como passar o SO de um disco fisico para uma VM VirtualBox.

http://www.virtualbox.org/wiki/Migrate_Windows

http://www.makeuseof.com/tag/create-a-virtual-machine-image-of-your-existing-hard-drive-windows/

Dois how-to's de como migrar uma instalação já feita de Windows XP para uma VirtualBox. Pode ser que te sejam uteis e te poupem tempo.

Cumprimentos

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Olá a todos,

efectivamente já testamos com o Microsoft Virtual PC e trabalhou bem com Microwin e Twincat (Beckhoff), depois de configurar devidamente os drivers, etc.

Outro solução que testamos também, e que vai um pouco de encontro ao que estava a sugerir o nokPT, foi criar pendisk's com XP e os softwares de cada marca e fazer o boot do portátil por aí. Teremos a "pen siemens", "pen beckhoff", "pen rockwell", etc. Ficnado o sistema muito mais 'clean'. Recordo-me por exemplo, de que a versão anterior RSlinx 'ocupava' por defeito a porta COM mesmo que o software não estivesse a ser usado e sempre que a queria usar com outra aplicação tinha q terminar o processo.

Cumprimentos,

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

O problema de usar pens para cada marca, é que ficas sem acesso aos email, office, CAD e outros programas de uso corrente, além de que se necessitares momentaneamente usar/consultar um programa de outro fabricante, tens que fazer reboot e dual-boot é uma brutal seca.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Outro solução que testamos também, e que vai um pouco de encontro ao que estava a sugerir o nokPT, foi criar pendisk's com XP e os softwares de cada marca e fazer o boot do portátil por aí. Teremos a "pen siemens", "pen beckhoff", "pen rockwell", etc. Ficnado o sistema muito mais 'clean'. Recordo-me por exemplo, de que a versão anterior RSlinx 'ocupava' por defeito a porta COM mesmo que o software não estivesse a ser usado e sempre que a queria usar com outra aplicação tinha q terminar o processo.

Pelo que entendi o programa RSlinx ocupava a porta com um "processo", nesse caso não vejo o inconveniente técnico em usar VM's uma vez que o processo correria de forma transparente na VM. Poderia não funcionar se em vez do dito "processo" o programa lê-se ou escreve-se directamente no hardware ultrapassando a HAL do SO.

Assim tecnicamente continuo achar as VM's mais funcionais. Mas é apenas uma opinião. [Off Topic] A questão colocada no outro tópico sobre licenças também se aplica a solução de Pen Drives

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Mencionei o caso do RSlinx para corroborar o que dizia o nokPT, que há softwares que muitas vezes não usamos, mas andam a parasitar o nosso pc.

..tudo depende do objectivo. Para o objectivo do nokPT as VM's são boa ideia. Se falarmos no dito 'off-topic' das licenças, as pen são melhor solução. Pessoalmente, não aprecio a quantidade de recursos que a VM absorve, já as testei, mas quando dei por mim não estava a tirar partido, foi mais um exercício académico do que outra coisa. Acabo sempre por ter tudo no disco, 1 boot, licenças e os tais processos parasita :)

:D

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

E porque não gerir os serviços como eles foram feitos para ser utilizados? Ao não iniciares nenhum serviço ao iniciares o SO, podes escolher perfeitamente qual queres usar depois.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Falando por mim, não tenho conhecimentos para isso, não sei que serviços pertencem a quem, quais são os necessários para quê.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

E porque não gerir os serviços como eles foram feitos para ser utilizados? Ao não iniciares nenhum serviço ao iniciares o SO, podes escolher perfeitamente qual queres usar depois.

Seria uma solução mas ainda assim teria que ser muito bem elaborada. podes parar os serviços e iniciar os serviços de cada automato usando scripts vbs. Mas ainda assim seria uma tarefa algo morosa, que teria não só de ser documentada extensivamente, como também testada antes de ser colocada em pratica.

É uma solução, nesse aspecto estou de acordo, mas até estar implementada, não é muito pratica.

Seria preciso elaborar uma lista de todos os serviços base do Windows XP, depois uma lista dos serviços de cada automato, e colocar o SO a arrancar os serviços base no arranque. Depois os scripts chamariam os serviços de cada automato.

Bem vou ver se faço uma lista de serviços padrão de XP para ver se ajuda alguma coisa!

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Lista elaborada e como estou com uma boa carga de preguissa, deixo o link para a lista de serviços "base" para windows XP Pro SP3.

É um ficheiro .PDF

http://www.megaupload.com/?d=5Y9I54OX

Aconselho cuidado a quem tiver pouca experiencia. Esta lista foi elaborada com base em documentação e uma instalação basica do windows XP Pro SP3.

Caso venha a haver interesse em tentar a solução sugerida posso fazer o script.

Cumprimentos

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Ao todo tens 31 serviços, fiz uma listagem do serviços que tenho instalados no PC (ligados e  parados) e tenho cerca de 150 serviços (e tenho sido poupadinho nas instalações, só instalo o que necessito mesmo).

E depois tenho serviços se são partilhados por várias aplicações: SQL ou .NET o que vem complicar ainda mais o script

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Ao todo tens 31 serviços, fiz uma listagem do serviços que tenho instalados no PC (ligados e  parados) e tenho cerca de 150 serviços (e tenho sido poupadinho nas instalações, só instalo o que necessito mesmo).

E depois tenho serviços se são partilhados por várias aplicações: SQL ou .NET o que vem complicar ainda mais o script

Quanto mais complicado maior o desafio, maior o gozo para mim em faze-lo! Se fosse facil não teria ponta de piada! A lista que dei foi de uma instalação "limpinha, só windows XP SP3 sem anti-virus sem nada, completamente limpinho". Agora comecei a escrever um script VBS que utiliza o Windows Instrumentation Host, para fazer start a outros serviços, como o SQL e afins.

Como digo "quanto maior o desafio maior o gozo em conseguir concluir"! Se fosse facil perdia a piada...

Os 150 serviços que falas incluem os dos automatos?? ou apenas o windows + SQL + .NET ?? Estão todos started??

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Na lista de serviços que tens na maquina estão os dos automatos?? Vi lá alguns serviços que ou são de hardware especifico teu, ou algum serviço de um dispositivo especifico tipo um automato.

Tens os de Dot Net normalissimos e o SQL.

Comecei a fazer o script e uma das primeiras coisas que lhe coloquei foi a função para exportar para .csv todos os serviços em execução.

Estou a ter em atenção que estou a testar e fazer na minha maquina real e não numa VM, por isso se der raia "lixo-me".  :shocking:

A minha ideia é colocar todos os serviços que só preciso para comunicar com determinados aparelhos e que não estou constantemente a usar, agrupados por aparelho em que são necessários e o script (programa), quando eu escolho que "aparelho" vou utilizar, me verifique se os serviços dele estão started, caso estejam passa para o serviço seguinte, caso não estejam faça o start do serviço e caso existam dependencias (serviços dependentes) faça o start também. e eu quando acabar de utilizar possa simplesmente correr um stop.script e tudo volte ao que estava antes. ;)

Está a ser "desafiador", mas divertido :D

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Já criei a máquina Omron, a título de curiosidade deixo aqui os serviços instalados (só Windows XP e Omron)

http://rapidshare.com/files/300687939/Servi__os_Omron.txt

Não posso dizer que a instalação tenha sido um perfeito sucesso.

Infelizmente, só tenho para testes 1 autómato com porta USB. Instalei a porta USB na máquina, activei o filtro, e quando esta arrancou, instalei o driver da omron.

Depois no software de programação, tentei entrar on-line, 1º ele detecta o autómato, vê-se o Led do USB na barra da máquina virtual a piscar, depois dá timeout e o Led nunca mais volta a piscar, até fazer re-boot.

Tentei várias configurações do filtro sempre com o mesmo resultado, como tenho o mesmo software de programação instalado no host, testei e funcionou perfeitamente, mas quando passo para o guest, captura a porta USB, mas só consigo detectar o autómato (na 1ª vez que se liga) depois perde a comunicação (mais uma vez o Led deixa de piscar).

Mas há esperança, não sei o porque, uma vez funcionou plenamente, até fazer reboot, depois voltou ao mesmo, detecta (só a 1ª vez) e mais nada.

Já procurei na net e encontrei pessoal que diz que o USB funciona (mas o RS232 não, só no VMWare), mas não dizem o que fizeram (se calhar nada).

Nesse ponto estou encalhado, amanhã (se tiver tempo) vou tentar com o autómato da allen-bradley

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

instalas-te os "guest-drivers" ?? Caso não os tenhas instalado instala. O time-out quer dizer que ele excedeu o tempo de espera para comunicar com o automato. verifica o serviço, e o driver do automato, verifica do HID do automato, e se puderes coloca post dessa informação.

Tenho conhecimento de alguns "truques" para Windows XP relacionados com essa situação, mas preciso de saber as informações que peço, para poder dispistar todas as situações e caso seja preciso mecheres no registry, deixo-te o codigo do script de registry pronto e comentado.

Cumprimentos,

A. Santos

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Instalei os drivers tanto no host como no guest.

Só tenho time-out, depois do programa identificar o autómato (ou seja já comunicou e recebeu resposta) e quando começo a transferir o programa. Depois de ter time-out, nunca mais comunica e o led do USB na barra de baixo da VM deixa de piscar, logo não há tráfego, ainda não percebi quem está a bloquear o trafego.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Já agora, já criei a máquina da Allen-Bradley e os serviços são estes:

http://rapidshare.com/files/300954826/Servi__os_AB.txt

O autómato AB que tenho para teste tem 1 porta RS232 e uma Ethernet.

Comecei pela porta RS232, configurei no VBox como "COM1" e "Dispositivo do hospedeiro", mas não aparecia no guest, após uma pequena procura na net, encontrei esta página: http://forums.virtualbox.org/viewtopic.php?f=6&t=23956&p=105921&hilit=Device+i%2Fo%3A+ready#p105921 com um tutorial, segui-o até ao fim e consegui comunicar com o autómato à primeira.

Relativamente à parta da ethernet, ainda não testei, vou ter que ler/estudar um bocado, sei que se fizer bridge é directo, mas é inseguro (pelo que li).

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Instalei os drivers tanto no host como no guest.

Só tenho time-out, depois do programa identificar o autómato (ou seja já comunicou e recebeu resposta) e quando começo a transferir o programa. Depois de ter time-out, nunca mais comunica e o led do USB na barra de baixo da VM deixa de piscar, logo não há tráfego, ainda não percebi quem está a bloquear o trafego.

Pois por aí já consigo identificar o que se está a passar, basicamente ele não está a fazer a "passagem" da porta usb, devido ao volume de dados. Em teoria isso deve-se ao facto de o "deamon" do automato inicialmente trancar a conecção com a porta USB e dar como "established" e depois quando começa a passar informação basta que perca um bit que seja para a porta continuar "trancada" e a envidar dados "pro batalha".... vou perder um bocadito de tempo com essa situação, acho que a consigo replicar aqui na minha VM, e fazer alguma "patifaria" que faça o gajo passar directo a porta USB. Em teoria será aplicar às portas USB aquilo que aplicas-te à porta Serie RS232.

Obrigado pela lista de serviços.

Cumprimentos.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Mais uma listagem de serviços, desta vez Siemens (pode dar jeito a alguém):

http://rapidshare.com/files/302025920/Servi__os_Siemens.txt

Relativamente aos testes que fiz com Siemens, para já só pode testar com S7-200. Usei tanto o cabo RS232-PPI como USB-PPI, funcionou bem tanto com um como com o outro, não testei durante muito tempo e baud rate mais alto que testei foi 19200bps, mas fiquei muito agradado com o resultado (tal como com RS232 com Allen-Bradley) e não aconteceu o problema da Omron.

Relativamente à Omron, vou ter que colocar a pergunta ao suporte técnico, mas não tenho grande esperança numa resposta de jeito.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Boas,

Consegui ter acesso a um automato omrom por uma horita.... foi o melhor que consegui arranjar :thumbsup: deparei-me com esse problema e o problema não está na porta mas no driver.... ainda assim fiquei com uma ideia de como arranjar um "work-arround" para o problema, que pelo menos em teoria funcionará. Vou ver se o estudo melhor, e revejo os apontamentos. Se por acaso conseguires alguma coisa diz. As listas de serviços estão a dar-me jeito para fins de estudo.

Cumprimentos

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Apenas um comentário,.

Não quero ser chato, mas tive um problema recente, e tive que comprar um portatil novo que vinha com o Windows 7, para não estar a desinstalar, instalei o Virtual Box, como já falaram aqui, e depois o Windows XP, e funciona bem para a Siemens, inclusive as funcionalidades de comunicação a nivel usb e rede.

cmps

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

... e funciona bem para a Siemens, inclusive as funcionalidades de comunicação a nivel usb e rede...

USB com o cabo USM-MPI/Profibus do S7-300/400? Na altura não tive hipótese de testar.

Rede, estás a falar de ethernet, certo?

Isso são boas notícias, só me falta estabilizar o funcionamento da Omron, que além de ter o problema com a comunicação, o CX-Programer tem bug estranhos, partes que não funcionam, comecei com esta história por causa da Omron, e está a funcionar em tudo menos na omron, é preciso ter galo (também não tenho tido muito tempo)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora