Saltar al contenido principal
Versión: Siguiente

SET CHANNEL

SET CHANNEL ( puerto ; param

        SET CHANNEL ( *operacion* ; *doc* )
ParámetroTipoDescripción
puertoEntero largo🡒Número de puerto serial
paramEntero largo🡒Parámetros de puerto serial
SET CHANNEL ( operacion ; doc )
ParámetroTipoDescripción
operacionEntero largo🡒Operación a efectuar en el documento
docCadena🡒Nombre del documento

Descripción

El comando SET CHANNEL abre un puerto serial o un documento. Sólo puede abrir un puerto serial o un documento al tiempo con este comando. Para cerrar un puerto serial abierto, pase SET CHANNEL (11).

Nota histórica: este comando fue originalmente el primer comando 4D utilizado para trabajar con puertos seriales y documentos en discos. Desde entonces, se han añadido nuevos comandos. Hoy en día, se trabaja generalmente con documentos en disco utilizando los comandos Open document, Create document y Append document. Con estos comandos, puede leer y escribir caracteres en los documentos utilizando SEND PACKET o RECEIVE PACKET (estos comandos trabajan también con SET CHANNEL). Sin embargo, si quiere utilizar los comandos SEND VARIABLE, RECEIVE VARIABLE, SEND RECORD y RECEIVE RECORD, debe utilizar SET CHANNEL para acceder a los documentos en el disco.

La descripción de SET CHANNEL está compuesta de dos secciones:

  • Trabajar con los puertos seriales
  • Trabajar con documentos

Trabajar con los puertos seriales - SET CHANNEL (puerto;parametros)

La primera forma del comando SET CHANNEL abre un puerto serial, define el protocolo de comunicación así como otra información del puerto. Los datos pueden ser enviados por los comandos SEND PACKET, SEND RECORD o SEND VARIABLE, y recibidos con RECEIVE BUFFER, RECEIVE PACKET, RECEIVE RECORD o RECEIVE VARIABLE.

  • El primer parámetro, puerto, selecciona el puerto y el protocolo. Puede direccionar hasta 99 puertos seriales (uno a la vez). La siguiente tabla lista los valores para puerto:
Valores puertoDescripción
0Puerto impresora (Macintosh) o COM2 (PC) sin protocolo
1Puerto modem (Macintosh) o COM1 (PC) sin protocolo
20Puerto impresora (Macintosh) o COM2 (PC) con protocolo de sofware talcomo XON/XOFF
21Puerto modem (Macintosh) o COM1 (PC) con protocolo de sofware tal como XON/XOFF
30Puerto impresora (Macintosh) o COM2 (PC) con protocolo de hardware tal como RTS/CTS
31Puerto modem (Macintosh) o COM1 (PC) con protocolo de hardware tal como RTS/CTS
101 a 199Comunicación serial sin protocolo
201 a 299Comunicación serial con protocolo de software tal como XON/XOFF
301 a 399Comunicación serial con protocolo de hardware tal como RTS/CTS

Importante: el valor que pasa en puerto se refiere a un puerto serial COM existente reconocido por el sistema operativo. Por ejemplo, para que pueda utilizar los valores 101, 103 y 125, los puertos seriales COM1, COM3 y COM25 deben haber sido configurados correctamente.

Nota sobre los puertos seriales

En una configuración estándar, Mac OS y Windows reconocen dos puertos seriales: en Mac OS, el puerto modem y el puerto impresora; en Windows, los puertos COM1 y COM2. Sin embargo, se pueden añadir puertos seriales adicionales por medio de tableros de extensión. Inicialmente, 4D sólo direccionaba dos puertos seriales estándar y más adelante se implementó el soporte de puertos adicionales. Por razones de compatibilidad, se conservan ambos sistemas de direccionamiento.
- Si quiere direccionar un puerto serial estándar (impresora/COM2 o modem/COM1), puede pasar en el parámetro puerto uno de los siguientes valores 0, 1, 20, 21, 30 y 31 (que corresponde al método de direccionamiento antiguo), o un valor mayor a 100 (por favor vea la siguiente explicación).
- Si quiere direccionar puertos seriales adicionales, debe pasar el valor N+100 (donde N es el valor del puerto a direccionar). También puede considerar añadir 100 o 200 al valor menciondo anteriormente (N+100), si quiere seleccionar respectivamente un protocolo de software o de hardware.

Ejemplo 1

Si quiere utilizar el puerto impresora/COM2 sin protocolo, puede utilizar una de las siguientes sintaxis:

 SET CHANNEL(0;param)

o

 SET CHANNEL(102;param)
Ejemplo 2

Si quiere utilizar el puerto modem/COM1 con el protocolo XON/XOFF, puede utilizar una de las siguientes sintaxis:

 SET CHANNEL(21;param)

o

 SET CHANNEL(201;param)
Ejemplo 3

Si quiere utilizar el puerto COM 25 con el protocolo RTS/CTS, debe utilizar las siguientes sintaxis:

 SET CHANNEL(325;param)

• El parámetro param fija la velocidad, el número de bits de datos, el número de bits de stop y la paridad. Puede determinar el valor para los param añadiendo los valores de velocidad, bits de datos, bits de stop y paridad, como se listan en la siguiente tabla. Por ejemplo, para definir 1200 baud, 8 bits de datos, 1 bit de stop y ninguno de paridad, usted sumaría 94 + 3072 + 16384 + 0 = 19550. Entonces pasaría 19550 como el valor del parámetro param.

Valor a acumular en paramDescripción
Velocidad380300
(en baud)189600
941200
621800
462400
303600
224800
147200
109600
419200
228800
138400
057600
1022115200
1021230400
Bits de datos05
20486
10247
30728
Bits de stop163841
–327681.5
–163842
Paridad0Ninguno
4096Impar
12288Par

Truco: los diferentes valores numéricos a acumular y pasar en puerto y param (a excepción de los valores de COM1...COM99) están disponibles como constantes predefinidas en el tema Comunicaciones del explorador en el entorno Diseño. Para los valores COM1...COM99, utilice los valores numéricos literales.

Trabajar con documentos en disco - SET CHANNEL(operacion;documento)

La segunda forma del comando SET CHANNEL le permite crear, abrir, y cerrar un documento. A diferencia de los comandos del tema Documentos del sistema, SET CHANNEL sólo puede abrir un documento a la vez. El documento puede leerse o escribirse. Consulte la sección para mayor información al respecto.

El parámetro operacion especifica la operación a realizar en el documento especificado por documento. La siguientes tabla lista los valores de operacion y el resultado obtenido, en función del valor de documento. La primera columna lista los valores posibles de operacion. La segunda columna lista los valores posibles de documento. La tercera columna lista la operación resultante.

Por ejemplo, para visualizar una caja de diálogo de abrir un archivo, puede utilizar la siguiente línea:

 SET CHANNEL(13;"")
OperaciónDocumentoResultado
10CadenaAbre el documento especificado por Cadena.
Si el documento no existe, se crea y abre el documento.
10"" (cadena vacía)Muestra la ventana de abrir archivo.
Todos los tipos de archivos se presentan.
11ningunoCierra un archivo abierto.
12"" (cadena vacía)Muestra la ventana de guardar archivo para crear un nuevo archivo.
13"" (cadena vacía)Muestra la ventana de abrir archivo. Sólo se presentan los archivos de tipo texto.

Todas las operaciones en esta tabla modifican la variable sistema Document si es necesario. Igualmente la variable sistema OK toma el valor 1 si la operación fue exitosa. De lo contrario, la variable sistema OK toma el valor 0.

Ejemplo 4

Ver los ejemplos de los comandos RECEIVE BUFFER, SET TIMEOUT y RECEIVE RECORD.

Ver también

Append document
Comunicaciones
Create document
GET SERIAL PORT MAPPING
Open document
RECEIVE BUFFER
RECEIVE PACKET
RECEIVE RECORD
RECEIVE VARIABLE
SEND PACKET
SEND RECORD
SEND VARIABLE
SET TIMEOUT