Skip to content

TCP/IP — bloques básicos cliente de red #19

Description

@anlaco

Descripción

Bloques básicos de comunicación TCP/IP para cliente. Cualquier protocolo que corra sobre TCP (instrumentos con VISA-LAN, Modbus TCP, protocolos propios) se construye sobre estos bloques enviando los strings/bytes adecuados.

Bloques a implementar

  • tcp-connect — abre conexión TCP a host:port (config: host, port)
  • tcp-write — envía bytes/string (input: data, trigger; output: done)
  • tcp-read — lee respuesta con timeout (input: size, trigger; config: timeout; output: response)
  • tcp-close — cierra la conexión (input: trigger; output: done)

Implementación

Usando la API TCP nativa del fork anlaco/red (ya integrada en red-cli/red-view):

tcp/connect host port    ; → logic!
tcp/send data            ; → logic!
tcp/receive size         ; → binary! | none!
tcp/close                ; → logic!
tcp/set-timeout ms       ; → logic!

Ver docs/tcp-api.md para referencia completa.

Criterios de aceptación

  • tcp-connect abre socket a instrumento/servidor
  • tcp-write envía bytes sin esperar respuesta
  • tcp-read recibe hasta N bytes con timeout configurable
  • tcp-close libera el socket
  • Bloque funciona con string y con binary
  • Categoría hardware en la paleta con color diferenciado
  • Ejemplo .qvi funcional que usa tcp-* con un servidor echo de prueba
  • Tests de emit y round-trip

Nota sobre SCPI/VISA

SCPI es un protocolo de comandos en texto (ej. *IDN?) que se envía sobre TCP. No se implementan bloques SCPI específicos — el usuario pone la cadena SCPI como input de tcp-write. Esto mantiene QTorres simple y generaliza para Modbus TCP (#22) y otros protocolos.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestfase-4Fase 4 — Hardware

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions