Jump to content

Máquinas Virtuais


nokPT

Recommended Posts

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.

Ricardo Timóteo

Link to comment
Share on other 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

"A paciência é uma das coisas que se aprendeu na era do 48k" O respeito é como a escrita de código, uma vez perdido, dificilmente se retoma o habito"

Link to comment
Share on other 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.

Ricardo Timóteo

Link to comment
Share on other 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

"A paciência é uma das coisas que se aprendeu na era do 48k" O respeito é como a escrita de código, uma vez perdido, dificilmente se retoma o habito"

Link to comment
Share on other 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,

Link to comment
Share on other 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

"A paciência é uma das coisas que se aprendeu na era do 48k" O respeito é como a escrita de código, uma vez perdido, dificilmente se retoma o habito"

Link to comment
Share on other 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 🙂

😄

Link to comment
Share on other 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!

"A paciência é uma das coisas que se aprendeu na era do 48k" O respeito é como a escrita de código, uma vez perdido, dificilmente se retoma o habito"

Link to comment
Share on other 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

"A paciência é uma das coisas que se aprendeu na era do 48k" O respeito é como a escrita de código, uma vez perdido, dificilmente se retoma o habito"

Link to comment
Share on other 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

Ricardo Timóteo

Link to comment
Share on other 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??

"A paciência é uma das coisas que se aprendeu na era do 48k" O respeito é como a escrita de código, uma vez perdido, dificilmente se retoma o habito"

Link to comment
Share on other 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".  ?

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 😄

"A paciência é uma das coisas que se aprendeu na era do 48k" O respeito é como a escrita de código, uma vez perdido, dificilmente se retoma o habito"

Link to comment
Share on other 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

Ricardo Timóteo

Link to comment
Share on other 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

"A paciência é uma das coisas que se aprendeu na era do 48k" O respeito é como a escrita de código, uma vez perdido, dificilmente se retoma o habito"

Link to comment
Share on other 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.

Ricardo Timóteo

Link to comment
Share on other 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).

Ricardo Timóteo

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.