Saltar al contenido principal

Comunicación SCPI

Descripción​

Se permite la comunicación con la aplicación smartCORE mediante el protocolo SCPI a través del servidor SCPI integrado.

Interfaces y protocolos utilizados​

  • SCPI

Conjunto de comandos SCPI​

A continuación se presenta el conjunto de comandos SCPI admitido. IMPORTANTE: si se utiliza, por ejemplo, telnet para la comunicación, la entrada/salida está limitada al límite máximo de longitud de línea (por lo general, 4096 caracteres). En ese caso se recomienda recurrir a otros clientes.

*IDN?​

Identificación del equipo de medición

Parámetros​

NINGUNO

Valor devuelto​

Lista SCPI (separada por comas) de valores SCPI en el siguiente orden

ParámetroTipo de datos
FabricanteSTRING
ProductoSTRING
AplicaciónSTRING
Versión del protocoloINT
Número de serie del dispositivoSTRING
Nombre de host de la interfaz SCPI (en comunicación)STRING
Puerto de la interfaz SCPI (en comunicación)INT
Versión de la aplicaciónSTRING
Fecha de fabricación del dispositivoSTRING
Nombre del dispositivoSTRING
ComentarioSTRING

Ejemplo​

< *IDN?
> "optiMEAS GmbH", "smartCORE", "smartcore", 0, "10000012345", "::ffff:127.0.0.1", 5024, "0.174", "19700101", "", "",

CONFIG:GET?​

Consulta del contenido de los archivos de configuración

Parámetros​

Opc.ParámetroTipo de datosRango de valoresSignificado
Tipo de configuraciónSTRING"STAT", "DYN"Selección de la configuración estática/dinámica

Valor devuelto​

Configuración JSON codificada en BASE64

Ejemplo​

< config:get? stat
> <BASE64 Konfiguration>

CONFIG:SCHEMA?​

Consulta del esquema JSON de los archivos de configuración

Parámetros​

Opc.ParámetroTipo de datosRango de valoresSignificado
Tipo de configuraciónSTRING"STAT", "DYN"Selección del esquema de configuración estático/dinámico

Valor devuelto​

Esquema de configuración JSON codificado en BASE64

Ejemplo​

< config:schema? stat
> <BASE64 Konfigurationsschema>

CONFIG:SET​

Sustitución de los archivos de configuración

Parámetros​

Opc.ParámetroTipo de datosRango de valoresSignificado
Tipo de origenSTRING"BASE64", "FILE", "URL"Selección del origen de la configuración
Tipo de configuraciónSTRING"STAT", "DYN"Selección de la configuración estática/dinámica que se va a sustituir
ConfiguraciónSTRINGvéase más abajoDescripción de la configuración

Valor devuelto​

OK o ERR

Ejemplos​

< config:set base64,stat,<BASE64 Konfiguration>
> OK

< config:set file,dyn,/sde/smartcore_dynamic.json.new
> OK

< config:set url,dyn,http://myserver/smartcore_dynamic.json.new
> OK

DATA:COUNT?​

Consulta del número de canales configurados

Parámetros​

Opc.ParámetroTipo de datosRango de valoresSignificado
SÍSelección de canalesSTRINGExpresión regular para la selección de canales

Valor devuelto​

INT

Ejemplos​

< data:count?
> 42

< data:count? ^gps.*$
> 6

DATA:INFOS?​

Consulta de las descripciones de los canales

Parámetros​

Opc.ParámetroTipo de datosRango de valoresSignificado
SÍSelección de canalesSTRING[]Lista de nombres de canal

Valor devuelto​

Descripción de los canales codificada en BASE64

Ejemplos​

< data:infos?
> <BASE64 kodierte Beschreibung der Kanäle>

< data:infos? Kanalname 1,Kanalname 2
> <BASE64 kodierte Beschreibung der Kanäle>

DATA:INFOS:REGEX?​

Consulta de las descripciones de los canales

Parámetros​

Opc.ParámetroTipo de datosRango de valoresSignificado
SÍSelección de canalesSTRING[]Lista de nombres de canal (como RegEx)

Valor devuelto​

Descripción de los canales codificada en BASE64

Ejemplos​

< data:infos:regex?
> <BASE64 kodierte Beschreibung der Kanäle>

< data:infos:regex? ^can.*$,^modbus.*$
> <BASE64 kodierte Beschreibung der Kanäle>

DATA:NAMES?​

Consulta de los nombres de canal

Parámetros​

Opc.ParámetroTipo de datosRango de valoresSignificado
SÍSelección de canalesSTRING[]Lista de nombres de canal

Valor devuelto​

STRING[] de nombres de canal existentes

Ejemplos​

< data:names?
> "temperature 1","canbus 2","modbus 3"

< data:names? canbus 2,modbus 3
> "canbus 2","modbus 3"

DATA:NAMES:REGEX?​

Consulta de los nombres de canal

Parámetros​

Opc.ParámetroTipo de datosRango de valoresSignificado
SÍSelección de canalesSTRING[]Lista de nombres de canal (como RegEx)

Valor devuelto​

STRING[] de nombres de canal existentes

Ejemplos​

< data:names:regex?
> "temperature 1","canbus 2","modbus 3"

< data:names:regex? ^can.*$,^modbus.*$
> "canbus 2","modbus 3"

DATA:VALUES?​

Consulta de los valores actuales de los canales

Parámetros​

Opc.ParámetroTipo de datosRango de valoresSignificado
SÍSelección de canalesSTRING[]Lista de nombres de canal

Valor devuelto​

Array JSON codificado en BASE64 de objetos JSON que contienen la marca de tiempo "t" y el valor "v" de todos los valores de los canales.

Ejemplos​

< data:values?
> <BASE64 kodiertes JSON Array>

< data:values? Kanalname 1,Kanalname 2
> <BASE64 kodiertes JSON Array>

DATA:VALUES:REGEX?​

Consulta de los valores actuales de los canales y de la marca de tiempo de la última actualización

Parámetros​

Opc.ParámetroTipo de datosRango de valoresSignificado
SÍSelección de canalesSTRING[]Lista de nombres de canal (como RegEx)

Valor devuelto​

Array JSON codificado en BASE64 de objetos JSON que contienen la marca de tiempo "t" y el valor "v" de todos los valores de los canales.

Ejemplos​

< data:values:regex?
> <BASE64 kodiertes JSON Array>

< data:values:regex? ^can.*$,^modbus.*$
> <BASE64 kodiertes JSON Array>

DATA:VALUES:SET​

Producción de un valor de canal (p. ej., establecer una variable de proceso)

Parámetros​

Opc.ParámetroTipo de datosRango de valoresSignificado
Muestra (Sample)STRINGvéase más abajoDescripción de la muestra que se va a producir

La muestra se define en forma de objeto JSON con las claves "channelName" y "value". Este debe codificarse a continuación en BASE64. El canal especificado mediante "channelName" debe existir ya.

Valor devuelto​

OK o ERR

Ejemplo​

< data:values:set <BASE64 kodiertes JSON Objekt mit Sample-Beschreibung>
> OK

ERROR?​

Consulta del último error SCPI

Parámetros​

NINGUNO

Valor devuelto​

Lista (separada por comas) de INT,STRING formada por el código de error (distinto de 0 en caso de error) y una descripción del error

Ejemplo​

< err?
> 0, "No Error!"

GPS:DATETIME?​

Devolución de la hora GPS del primer módulo GPS configurado.

Parámetros​

NINGUNO

Valor devuelto​

Hora ZULU

Ejemplo​

< gps:datetime?
> 0000-00-00T00:00:00.000Z

GPS:LOCATION?​

Devolución de la posición GPS del primer módulo GPS configurado.

Parámetros​

NINGUNO

Valor devuelto​

FLOAT[] formado por latitud, longitud y altitud sobre el nivel del mar.

Ejemplo​

< gps:location?
> 0.00000000, 0.00000000, 0

MODULES:CALL:FACTORY?​

Llamada a una función estática de la interfaz de llamada (Call-Interface) de la factory (~«clase») de un módulo

Parámetros​

Lista (separada por comas) de los siguientes argumentos:

Opc.ParámetroTipo de datosRango de valoresSignificado
FactorySTRING
FunciónSTRING
SÍParámetrosSTRING[]véase más abajo

Los parámetros denominados «Parámetros» son opcionales. Se indican como pares clave-valor.

Valor devuelto​

Objeto JSON codificado en BASE64 que representa el valor devuelto por la función de la Call-Interface

Ejemplo​

< modules:call:factory? factory,function
> <BASE64 kodiertes JSON Objekt>

< modules:call:factory? factory,function,Parameter 1 Key,Parameter 1 Value,Parameter 2 Key,Parameter 2 Value
> <BASE64 kodiertes JSON Objekt>

MODULES:CALL:FACTORY:JSON?​

Llamada a una función estática de la interfaz de llamada (Call-Interface) de la factory (~«clase») de un módulo

Parámetros​

Lista (separada por comas) de los siguientes argumentos:

Opc.ParámetroTipo de datosRango de valoresSignificado
FactorySTRING
FunciónSTRING
ParámetrosSTRINGvéase más abajo

Como «Parámetros» debe transmitirse un objeto JSON codificado en BASE64 en forma de STRING. Este consta (normalmente) de pares clave-valor de los parámetros de la función. Pueden representarse estructuras jerárquicas.

Valor devuelto​

Objeto JSON codificado en BASE64 que representa el valor devuelto por la función de la Call-Interface

Ejemplo​

< modules:call:factory:json? factory,function,<BASE64 kodiertes JSON Objekt mit Parametern>
> <BASE64 kodiertes JSON Objekt>

MODULES:CALL:INSTANCE?​

Llamada a una función de la interfaz de llamada (Call-Interface) del módulo instanciado.

Parámetros​

Lista (separada por comas) de los siguientes argumentos:

Opc.ParámetroTipo de datosRango de valoresSignificado
Tipo de configuraciónSTRING"STAT", "DYN"Tipo de la configuración que instancia el módulo
Nombre del móduloSTRING
FunciónSTRING
SÍParámetrosSTRING[]véase más abajo

Los parámetros denominados «Parámetros» son opcionales. Se indican como pares clave-valor.

Valor devuelto​

Objeto JSON codificado en BASE64 que representa el valor devuelto por la función de la Call-Interface

Ejemplo​

< modules:call:instance? stat,instance,function
> <BASE64 kodiertes JSON Objekt>

< modules:call:instance? dyn,instance,function,Parameter 1 Key,Parameter 1 Value,Parameter 2 Key,Parameter 2 Value
> <BASE64 kodiertes JSON Objekt>

MODULES:CALL:INSTANCE:JSON?​

Llamada a una función de la interfaz de llamada (Call-Interface) del módulo instanciado.

Parámetros​

Lista (separada por comas) de los siguientes argumentos:

Opc.ParámetroTipo de datosRango de valoresSignificado
Tipo de configuraciónSTRING"STAT", "DYN"Tipo de la configuración que instancia el módulo
FactorySTRING
FunciónSTRING
ParámetrosSTRINGvéase más abajo

Como «Parámetros» debe transmitirse un objeto JSON codificado en BASE64 en forma de STRING. Este consta (normalmente) de pares clave-valor de los parámetros de la función. Pueden representarse estructuras jerárquicas.

Valor devuelto​

Objeto JSON codificado en BASE64 que representa el valor devuelto por la función de la Call-Interface

Ejemplo​

< modules:call:instance:json? dyn,instance,function,<BASE64 kodiertes JSON Objekt mit Parametern>
> <BASE64 kodiertes JSON Objekt>

MODULES:FACTORIES:CALLSCHEMA:GET?​

Consulta del esquema de llamada de las funciones de la Call-Interface relativas al módulo («instancia») de una factory de módulo («clase»)

Parámetros​

Opc.ParámetroTipo de datosRango de valoresSignificado
FactorySTRING

Valor devuelto​

Esquema JSON codificado en BASE64

Ejemplo​

< modules:factories:callschema:get? factory
> <BASE64 kodiertes JSON Objekt>

MODULES:FACTORIES:CONFIGSCHEMA:GET?​

Consulta del esquema de configuración de una factory de módulo (~«clase»)

Parámetros​

Opc.ParámetroTipo de datosRango de valoresSignificado
FactorySTRING

Valor devuelto​

Esquema JSON codificado en BASE64

Ejemplo​

< modules:factories:configschema:get? factory
> <BASE64 kodiertes JSON Objekt>

MODULES:FACTORIES:COUNT?​

Consulta del número de todas las factories de módulo (~«clases»)

Parámetros​

NINGUNO

Valor devuelto​

INT

Ejemplo​

< modules:factories:count?
> 42

MODULES:FACTORIES:DOC?​

Consulta de las documentaciones de módulo incluidas

Parámetros​

Opc.ParámetroTipo de datosRango de valoresSignificado
FactorySTRINGFactory de módulo (~«clase»)
SÍTypeSTRING"base64", "text"Codificación de la documentación devuelta
SÍLanguageSTRING"de", "en"Versión de idioma de la documentación devuelta

Valor devuelto​

Documentación como STRING o BASE64

Ejemplo​

< modules:factories:doc? factory
> <Dokumentation>

MODULES:FACTORIES:DOC:CHANGELOG?​

Consulta de los registros de cambios (Change Logs) incluidos de los módulos

Parámetros​

Opc.ParámetroTipo de datosRango de valoresSignificado
FactorySTRINGFactory de módulo (~«clase»)
SÍTypeSTRING"base64", "text"Codificación de la documentación devuelta

Valor devuelto​

Change Log como STRING o BASE64

Ejemplo​

< modules:factories:doc:changelog? factory
> <ChangeLog>

MODULES:FACTORIES:GET?​

Consulta de la descripción de todas las factories de módulo (~«clases»)

Parámetros​

NINGUNO

Valor devuelto​

Array JSON codificado en BASE64 de objetos JSON con las siguientes claves

ClaveSignificado
descriptiondescripción abstracta del módulo
fileNamenombre de archivo del Shared Object cargado en el que se encuentra el módulo
namenombre de la factory de módulo
versionversión

Ejemplo​

< modules:factories:get?
> <BASE64 kodiertes JSON Array>

MODULES:FACTORIES:STATICCALLSCHEMA:GET?​

Consulta del esquema de llamada de las funciones de la Call-Interface relativas a la factory de módulo («clase») de una factory de módulo («clase»)

Parámetros​

Opc.ParámetroTipo de datosRango de valoresSignificado
FactorySTRING

Valor devuelto​

Esquema JSON codificado en BASE64

Ejemplo​

< modules:factories:staticcallschema:get? factory
> <BASE64 kodiertes JSON Objekt>

MODULES:GET?​

Parámetros​

NINGUNO

Valor devuelto​

Objeto JSON codificado en BASE64 que representa, en forma de mapa (Map), una asignación de todos los módulos («instancias») a sus respectivas factories de módulo («clases»).

Ejemplo​

< modules:get?
> <BASE64 kodiertes JSON Objekt>

SYSTEM:CHANGELOG?​

Consulta del Change Log del sistema incluido.

Parámetros​

Opc.ParámetroTipo de datosRango de valoresSignificado
SÍTypeSTRING"base64", "text"Codificación de la documentación devuelta

Valor devuelto​

System Change Log como STRING o BASE64

Ejemplo​

< system:changelog?
> <ChangeLog>

SYSTEM:ERROR?​

Consulta del último error del sistema

Parámetros​

NINGUNO

Valor devuelto​

Lista (separada por comas) de INT,STRING formada por el código de error (distinto de 0 en caso de error) y una descripción del error

Ejemplo​

< system:error?
> 0, "No Error!"

SYSTEM:RESTART​

Reinicio de la aplicación smartCORE. Si el módulo SCPI se encuentra en el archivo de configuración reiniciado, este se descarga y la conexión se interrumpe.

Parámetros​

Opc.ParámetroTipo de datosRango de valoresSignificado
Tipo de reinicioSTRING"ALL", "DYN"

Valor devuelto​

OK

Ejemplo​

< system:restart all
> OK

SYSTEM:START​

Inicio de la aplicación smartCORE detenida. Si el módulo SCPI se encuentra en el archivo de configuración reiniciado, la conexión se interrumpe.

Parámetros​

Opc.ParámetroTipo de datosRango de valoresSignificado
Tipo de inicioSTRING"ALL", "DYN"

Valor devuelto​

OK

Ejemplo​

< system:stop
> OK
[...]
< system:start all
> OK

SYSTEM:STATE?​

Consulta del estado de funcionamiento del smartCORE.

Parámetros​

NINGUNO

Valor devuelto​

Descripción del estado de funcionamiento como STRING. Los valores posibles son "Running" (modo de medición activo), "Ready" (modo de configuración, modo de medición detenido) y, con menor frecuencia, "Error" (se ha producido un error) u otros estados de funcionamiento.

Ejemplo​

< system:state?
> Running

SYSTEM:STOP​

Detención de la aplicación smartCORE. La conexión SCPI NO se interrumpe.

Parámetros​

NINGUNO

Valor devuelto​

OK

Ejemplo​

< system:stop
> OK

SYSTEM:VERSION?​

Consulta de la versión del smartCORE

Parámetros​

NINGUNO

Valor devuelto​

STRING

Ejemplo​

< system:version?
> 42.0

SYSTEM:VERSION:MAJOR?​

Consulta de la versión mayor (Major) del smartCORE

Parámetros​

NINGUNO

Valor devuelto​

STRING

Ejemplo​

< system:version:major?
> 42

SYSTEM:VERSION:MINOR?​

Consulta de la versión menor (Minor) del smartCORE

Parámetros​

NINGUNO

Valor devuelto​

STRING

Ejemplo​

< system:version:minor?
> 0

TIMEOUT?​

Consulta del tiempo de espera máximo para una acción/consulta que bloquea la interfaz.

Parámetros​

NINGUNO

Valor devuelto​

STRING

Ejemplo​

< timeout?
> 60000

TIMEOUT​

Establecimiento del tiempo de espera máximo para una acción/consulta que bloquea la interfaz.

Parámetros​

Opc.ParámetroTipo de datosRango de valoresSignificado
TimeoutINT1 -Tiempo de espera máximo

Valor devuelto​

OK, ERR

Ejemplo​

< timeout 60000
> OK