×
Siemens Industry Online Support
Siemens AG
Tipo de artículo: FAQ ID de artículo 29737976, Fecha del artículo: 07/12/2014
(8)
Evaluar

¿Cómo se programan los bloques de comunicación FB63 "TSEND", FB64 "TRCV", FB65 "TCON" y FB66 "TDISCON" para usar el protocolo ISO-on-TCP para intercambio de datos a través de la interfaz PROFINET integrada de una CPU o a través del CP443-1 Advanced?

  • Artículo
  • Relacionado con producto(s)
 

Descripción
Se puede usar la "comunicación de usuario abierta" a través de Industrial Ethernet para el intercambio de datos a través de la interfaz PROFINET integrada de una CPU o de un CP 443-1 Advanced, por ejemplo. Para ello, se puede trabajar con los protocolos dados a continuación:

  • TCP
  • ISO-on-TCP
  • UDP

Se dispone de los siguientes bloques de comunicación para la "comunicación de usuario abierta" a través de Industrial Ethernet usando el protocolo ISO-on-TCP:

  • FB65 "TCON" para el establecimiento de la conexión
  • FB66 "TDISCON" para el cierre de la conexión
  • FB63 "TSEND" para el envío de datos
  • FB64 "TRECV" para la recepción de datos

Estos bloques de comunicación se encuentran disponibles en la Librería Estándar -> Bloques de comunicación.
Copiar las versiones más recientes de los bloques de comunicación mencionados con anterioridad de la librería estándar en su programa de usuario y después realizar llamadas a éstos en el programa de usuario.
Los parámetros de conexión para el establecimiento del enlace ISO-on-TCP se guardan en una estructura de datos. En este ejemplo se usará la estructura de datos "OUCW_1". Ésta se guarda en el bloque de datos DB1 y se parametriza por parte del usuario.

Consideración

  • Usar el "Asistente para comunicación abierta" para una creación sencilla de los datos de conexión. Éste se encuentra disponible para su descarga en la entrada con ID 98957840.
  • El enlace ISO-on-TCP no está configurado en NetPro.

La tabla 1 nuestra la estructura de datos "OUCW_1" en la que se guardan los datos de conexión.
 

Byte Parámetro Tipo de dato Descripción
de 0 a 1 block_length WORD Longitud de la estructura de datos "OUCW_1"
de 2 a 3 id BYTE Referencia a esta conexión
Rango de valor: de W#16#0001 a W#16#0FFF
Se debe especificar el valor de este parámetro para el ID en el bloque relacionado.
4 connection_type BYTE versión de protocolo ISO-on-TCP: B#16#12
5 active_est BOOLEANO ID para cómo se establece la conexión.
  • FALSE: la conexión se establece de forma pasiva
  • TRUE: la conexión de establece de forma activa
6 local_device_id BYTE Comunicación a través de la interfaz PROFINET integrada de la CPU 315-2 PN/DP: B#16#02
7 local_tsap_id_len BYTE Longitud usada para el parámetro local_tsap_id
Valores posibles si connection_type = B#16#12: de 2 a 16
8 rem_subnet_id_len BYTE Este parámetro no se usa en la actualidad. Tiene el valor B#16#00.
9 rem_staddr_len BYTE Longitud de la dirección del punto final de la conexión remota:
  • 0: sin especificar, lo que significa que el parámetro rem_staddr es irrelevante
  • 4: dirección IP válida en el parámetro rem_staddr.
10 rem_tsap_id_len BYTE Longitud usada para el parámetro rem_tsap_id
Valores posibles si connection_type = B#16#12: de 0 ó 2 a 16
  • lado activo: de 2 a 16
  • lado pasivo: de 0 ó 2 a 16 (0 significa sin especificar)
11 next_staddr_len BYTE Longitud usada para el parámetro next_staddr
de 12 a 27 local_tsap_id ARRAY [1..16] de BYTE Local TSAP, como ISO1:
local_tsap_id[1] = B#16#49
local_tsap_id[2] = B#16#53
local_tsap_id[3] = B#16#4F
local_tsap_id[4] = B#16#31
local_tsap_id[5-16] = B#16#00

Nota
En el caso de CPUs que no permiten trabajar con el formato ASCII para los TSAPs, entonces los dos primeros bytes del TSPA se deben definir con los valores B#16#E0 y B#16#02.

de 28 a 33 rem_subnet_id ARRAY [1.0,6] de BYTE Este parámetro no se usa en la actualidad. Tiene el valor B#16#00.
de 34 a 39 rem_staddr ARRAY [1.0,6] de BYTE Dirección IP del punto final de la conexión remota, como por ejemplo 192.168.0.30:
rem_staddr[1] = B#16#C0
rem_staddr[2] = B#16#A8
rem_staddr[3] = B#16#00
rem_staddr[4] = B#16#1E
rem_staddr[5-6] = B#00 (reservado)
de 40 a 55 rem_tsap_id ARRAY [1..16] de BYTE TSAP del punto final de la conexión remota, como por ejemplo ISO1:
rem_tsap_id[1] = B#16#49
rem_tsap_id[2] = B#16#53
rem_tsap_id[3] = B#16#4F
rem_tsap_id[4] = B#16#31
rem_tsap_id[5-16] = B#16#00

Nota
En el caso de CPUs que no permiten trabajar con el formato ASCII para los TSAPs, entonces los dos primeros bytes del TSPA se deben definir con los valores B#16#E0 y B#16#02.

de 56 a 61 next_staddr ARRAY [1.0,6] de BYTE next_staddr[1-6] = B#16#00

Nota
Si local_device_id=B#16#00, entonces aquí se especifica el bastidor y la posición en el bastidor del CP (local).

62-63 repuesto WORD Reserva, el parámetro tiene el valor W#16#0000.
Tabla 01

Las CPUs indicadas abajo permiten trabajar con el formato ASCII en los TSAPs.

  •  CPU 314C-2 PN/DP
  • CPU 315(F)-2 PN/DP, CPU 317(F)-2 PN/DP V3.1 y posterior
  • CPU 315T-3 PN/DP, CPU 317T-3 PN/DP, CPU 317TF-3 PN/DP
  • CPU 319(F)-3 PN/DP
  • CPU 414-3 PN/DP, CPU 416(F)-3 PN/DP V5.2 y posterior
  • CPU 414F-3 PN/DP, CPU 412-2 PN
  • CPU 412-5H PN/DP, CPU 414-5H PN/DP, CPU 416-5H PN/DP, CPU 417-5H PN/DP
  • IM 151(F)-8 PN/DP CPU V2.7 y posterior
  • IM 154(F)-8 CPU V3.2 y posterior

Descripción del programa de ejemplo
El programa de S7 contiene la llamada al FB65 "TCON" y el bloque de datos DB1 de la estructura de datos "OUCW_1" en el que se guardan los datos de conexión para el establecimiento del enlace ISO-on-TCP. El programa de S7 incluye también la llamada a los bloques de comunicación FB63 "TSEND" y FB64 "TRECV" de la librería estándar -> Bloques de comunicación. El FB63 "TSEND" es para el envío de datos a una estación S7 o a una estación S5, a una estación PC o a un sistema de otro fabricante. El FB64 "TRCV" es para la recepción de datos desde otra estación S7 o desde una estación S5, o desde una estación PC o desde un sistema de otro fabricante.

Crear primero la configuración de hardware para la estación S7-300. Configurar el bytes de marcas 100 como marca de reloj. La petición de envío se dispara a través de dicha marca de ciclo. Guardar y compilar la configuración de hardware en la estación S7-300 y transferirla a la CPU.

El programa de STEP 7 consta de los bloques OB100, OB1, FB1, DB11, DB1, DB100, DB200 and FB63, FB64, FB65 y FB66.

OB100
El OB100 es un OB de rearranque y se ejecuta cuando la CPU se reinicia (arranque en caliente). En este OB, se habilita el primer disparo de comunicación con la marca M0.3.

OB1
El OB1 se ejecuta de forma cíclica. El FB1 se llama en el OB1 con el bloque de datos de instancia DB11, con la marca M0.3 como parámetro INIT_COM y con la marca M10.0 como parámetro ABORT. La marca M0.3 se pone a cero en el OB1 después de que se haya llamado al FB1.


Fig. 01

FB1
Al FB1 se le llama cíclicamente en el OB1. En el FB1 se llama a los siguientes bloques de función.

  • FB65 "TCON"
  • FB63 "TSEND"
  • FB64 "TRCV"
  • FB66 "TDISCON"

Definir número de enlace
Se puede modificar el número del enlace de forma independiente. Cambiar el número del enlace en el segmento 2 del FB1 conforme con la configuración que se haya realizado. Este número de enlace se guarda en una variable estática y, de esa manera, en el bloque de datos de instancia DB11.
En este ejemplo se define el número de enlace "1".


Fig. 02 

Establecimiento de la conexión
El establecimiento de la conexión se arranca con un flanco positivo en el parámetro de entrada "REQ" del FB65 "TCON". La estructura de datos "OUCW_1" con los parámetros de la conexión se incorpora en el bloque de datos DB1.
En el parámetro de entrada "CONNECT" del FB65 "TCON", se especifica la zona de memoria que contiene la parametrización de la conexión.
El enlace se establece en el arranque del sistema y se mantiene hasta que se deshabilita con el FB66 "TDISCON", o la CPU pasa a modo STOP, o la alimentación eléctrica se desconecta.


Fig. 03

La petición de envío se dispara a través de un flanco positivo en el parámetro de entrada "REQ" del FB63 "TSEND". El disparo de la petición de envío se controla por medio de la marca de ciclo M100.6 y la variable "SEND_BUSY". Si la petición de envío se está ejecutando, "SEND_BUSY" estará activo. Entonces no será posible lanzar una nueva petición de envío.
La zona de memoria que contiene los datos que se han de enviar se especifica en el parámetro de entrada "DATA".
Se introduce el número de bytes a enviar en el parámetro de entrada "LEN".
En este ejemplo los datos de envío se guardan en el DB100. se envían 100 bytes de datos al interlocutor de comunicación.
Los parámetros de salida "DONE", "ERROR" y "STATUS" son necesarios para poder evaluar el trabajo.


Fig. 04

Si la petición de envío se ha completado con éxito, "SEND_BUSY" se desactivará. Ya se podrá lanzar un nuevo trabajo de envío.
Si la petición de envío finaliza con un error, entonces el "SEND_BUSY" también se desactivará y el valor del parámetro de salida "STATUS" del FB63 se guardará para poder analizar la causa del error.


Fig. 05


Fig. 06

Los datos se pueden recibir tan pronto como se establece el enlace ISO-on-TCP.
Con los parámetros de entrada "DATA" y "LEN", se especifica la dirección y la longitud de la zona de datos donde se guardan los datos que se han recibido.
En este ejemplo se reciben 100 bytes de datos y se guardan en el DB200.


Fig. 07

El parámetro de salida "NDR" se utiliza para mostrar que se han recibido nuevos datos. El parámetro de salida "RECV_LEN" indica la longitud de los datos recibidos.
Si se reciben los datos correctamente, entonces el valor del parámetro de salida "RCVD_LEN" se guardará.


Fig. 08

Si no se reciben los datos correctamente, entonces el valor del parámetro de salida STATUS se guardará y evaluará.


Fig. 09

Se puede deshabilitar el enlace ISO-on-TCP con el FB66 "TDISCON". Se inicia la petición para deshabilitar el enlace ISO-on-TCP a través de un flanco positivo en el parámetro de entrada "REQ" del FB66 "TDISCON".


Fig. 10 

El proyecto de STEP 7 como descarga
El proyecto de STEP 7 contiene un programa de ejemplo para la llamada del FB1 y los bloques de función FB65 "TCON", FB66 "TDISCON", FB63 "TSEND" y FB64 "TRECV" con evaluación de estado. Se ha creado con el STEP 7 V5.5 SP3.

Sample_open_IoT.zip ( 285 KB )

Configuración de enlaces ISO-on-TCP adicionales
Para configurar enlaces ISO-on-TCP adicionales, copiar el FB1 de modo que se reciba otro bloque de función (como por ejemplo FB101). Cambiar los parámetros y generar un nuevo bloque de datos de instancia.

Información adicional

  • Se dispone de información detallada sobre la comunicación abierta a través de Industrial Ethernet en el manual "Funciones de sistema y estándares para el S7-300 / 400 Volumen 1 y Volumen 2" en la entrada con ID: 44240604.
  • Se dispone de instrucciones para la configuración de un enlace ISO-on-TCP para la comunicación a través de CPs del S7-300 y del S7-400 bajo la entrada con ID: 47885440.

Información de seguridad
Para proteger las infraestructuras tecnológicas, los sistemas, las máquinas y las redes contra amenazas cibernéticas, es necesario implementar y mantener continuamente un concepto de seguridad de TI holístico de última generación. Los productos y soluciones de Siemens son parte de este concepto. Para obtener más información sobre seguridad cibernética. Encontrará más información sobre la seguridad cibernética en
https://www.siemens.com/cybersecurity#Ouraspiration.
Respaldo de estadísticas
With this function the IDs found are listed according to number (format .txt).

Generar lista
Copiar URL
Mostrar esta página en el nuevo diseño
mySupport Cockpit