Creo que esto nos puede dar algún dolor de cabeza con Beckhoff. Así que lo vemos un poquito y seguimos.
El concepto.
Supongamos que tenemos que identificar una serie de pisos que forman edificios. Por ejemplo tenemos 4 edificios con 4 casas cada uno. Yo que soy un poco raro digo: pues los identificaremos poniendo un número a cada edificio y otro a cada casa. Las casas estarán identificadas como NumeroEdificio.NumeroCasa. Como se muestra en la figura.

Bien, tenemos las casas identificadas de manera que no hay posibilidad de error. Pero la secretaria que tenemos es muy rara y solo sabe contar en binario y con ocho bit. Total que tenemos (2^8) = 256. La secretaria además de ser rara, es muy lista y amablemente nos pregunta: ¿has pensado que pasará si el pueblo sigue creciendo?
Con estas limitaciones y previendo lo que pase en el futuro, pensamos lo siguiente:
Utilizaremos 4 cifras separadas por puntos XXX.XXX.XXX.XXX por lo que pueda pasar en un futuro. En principio los tres primeros números determinan el edificio y el último la casa. Si continuamos, con el ejemplo de la figura, las casas del edificio 1 irían desde la casa 1.1.1.1 hasta la casa 1.1.1.4. Seguimos pensando y nos preguntamos ¿Qué pasará cuando en un edificio existan más de 255 casas? La secretaria no sabe contar más de esta cifra. Es fácil, reducimos la dirección del edificio a dos cifras, por tanto las primeras dos cifras serán el edificio y las dos últimas las casas. En esas, se nos enciende la bombilla y decidimos utilizar una cosa que llamaremos máscara de subred y cuya utilidad será distinguir el tipo de numeración a utilizar.
Ahora toca pensar en binario, como nuestro edificio tiene 4 casas, por el momento será suficiente con poder contar hasta 4 (2^2), necesitamos solo dos bits para identificar las casas. Podemos utilizar la siguiente mascara de subred (11111111.11111111.11111111.11111100). De esta manera le decimos a la secretaria que solo sabe binario que todo lo que sea uno es la dirección del edificio y los 0 las casas.
Pues todo este rollo es para decir que para que dos ordenadores se vean en una red Tcp/ip las cifras de ip cuya cifra de mascara sea 255 deben ser iguales. En nuestro ejemplo las casas de un edificio. Para que se vean casas de distintos edificios necesitamos unos equipos especiales (router, etc).


También seria válido una máscara de sub red 11111111.11111111.11111100.00000000, que corresponde en números decimales a 255.255.252.0. Lo que nos permite 1024 ordenadores. (2^10).
Resumiendo, con una máscara de subred 255.255.255.0, solo se verán los PC que tienen las tres primeras cifras iguales. Y para que podamos acceder desde VB.net a las variables de TwinCat tendremos que formar parte del mismo edificio. Creo que lo mas fácil para hacer las pruebas es que cambieis la dirección AMS de TwinCat a la de vuestro PC, de esta manera:
Pinchamos en el icono de TwinCat en la barra de tareas del PC y seleccionamos la ultima opción del menu contectual. Pinchamos en la ventana AMS router y cambiamos (si es necesario) la dirección AMS net Id de local computer por la dirección ip de nuestro PC a la que añadimos .1.1 al final. Como muestra la figura.
Te pedirá que reinicies y listo. Se puede dar la situación que al reiniciar, TwinCat detecte un problema, en este caso habrá que modificar la dirección manualmente. Si se os da el caso me ponéis un comentarios y os hago llegar la solución.

























