Durante todo el año recibimos muchos mail, pidiéndonos información para realizar trabajos sobre autómatas. Así que ahora es el momento para recordaros que necesitamos de vuestra colaboración enviándonos los que ya habéis presentado.
|
COMUNICACION A TRAVES DE PCMCIA 1.- Comunicación PL7-Junior ( driver UTW 6.20/7.1 IE 1.1) ----> TSX37 V1.5 PCMCIA SCP111 (II 01 A/ II02 A) + TSXSCPCC1030 . Driver
UTW de PL7-Micro/Junior:
El driver UTW de PL7-J puede
configurarse con o sin autoadaptacion
de velocidad ( en segundos , cada x segundos , si no entiende la
trama UTW cambia la velocidad ) esto es irrelevante ya que normalmente los
modems pueden convertir los datos que
llegan de la linea telefónica a la velocidad que detectan en el DTE
que tienen conectado siempre que se les habilite el control de flujo por RTS/CTS
(no siempre) y el driver del DTE
gestione estas señales .( PL7-J lo hace).
La velocidad en Baudios en el driver tambien es irrelevante
siempre que no se sobrepase la velocidad máxima a la que puede trabajar el
puerto serie del modem y siempre que el modem gestione RTS/CTS (no siempre es
necesario) ya que el modem convierte velocidad de linea telefónica a velocidad
del puerto serie . ( para ello necesita RTS/CTS).
Es aconsejable utilizar 8 bits
de datos , 1 stop y sin paridad ya
que es el más comunmente utilizado por los modems.
En Comandos Hayes puede ponerse unos comandos de inicialización del
modem , es imprescindible suprimir el control de flujo por soft en el modem . En
algunos modems , es con el comando AT\Q0 , en otros es AT&H0 . Por ejemplo una cadena tipica de inicialización puede ser : AT&F^MAT\Q0^M ( carga parámetros de fabrica y anula control de
flujo por soft).
En el apartado de Nº de teléfono
hay que poner el comando que el modem necesita para marcar el número . Un ejemplo de marcación por tonos: ATDTnº teléfono Por pulsos : ATDPnº teléfono
El driver UTW gestiona la señal DTR con lo que no es necesario inhibirla
en el Modem al igual que la señal RTS. Sin embargo el funcionamiento es
diferente , ya que PL7 , utiliza DTR para colgar el modem , por tanto si se
inhibe en el modem , cuando salgamos de ON-LINE del PL7 , el modem no cortará
la conexión y deberemos quitar tensión en el modem para colgar.
A partir de la versión V7.10 , es posible
configurar el driver como master UTW . En este caso , debido a un bug , no funciona bien configurado
para modem , por lo que es necesario establecer la comunicación a traves de un
programa externo . Configuración
Modem conectado a PCMCIA
Debe configurarse para que deje la señal DTR siempre ON o para que no lo
tenga en cuenta ( por switch o por soft ) ya que la PCMCIA UTW por defecto no la
activa (por lo que habría que activarla por soft del PLC).
Debe configurarse para respuesta
automática . (por soft o por switch) .P.E: ATS0=1 ( responder a la 1ª llamada) AT&W
Es aconsejable inhabilitar el
control de flujo por hard y por soft
Es aconsejable inhabilitar la
compresión de datos y la corrección de errores. Caso 1:
Debe configurarse el modem para que no
haga caso de comandos HAYES ( switch),en cuyo caso el PLC nunca podrá
llamar por su propia iniciativa . Caso 2:
Tambien se puede programar el PLC
para que la PCMCIA no haga poolling
hasta que no haya descolgado el modem ya que si mientras el modem descuelga recibe caracteres por el puerto éste
determina que está en modo comando , no entra en modo datos y vuelve a colgar .En este último caso
siempre será posible que sea el PLC el que realice llamada para conectarse con
otros esclavos o con un supervisor . El programa correspondiente es: ! %M0:=%IW0.1:X1; *DETECTA RING ( LLAMADA DISTANTE ! IF RE %M0 THEN * PASA LA PCMCIA A MODO CARACTERES SET %MW0.1.15:X14; CUANDO RECIBE RING PARA QUE RESET %MW0.1.15:X15; AL MODEM NO LE AFECTE EL POLLING WRITE_CMD %CH0.1; END_IF;
! %M1:=%IW0.1:X0; * CUANDO DETECTA DCD ( DATA CARRIER DETECT) VUELVA A UTW IF RE %M1 THEN RESET %MW0.1.15:X14; SET %MW0.1.15:X15; WRITE_CMD %CH0.1; END_IF; * Las sentencias siguientes son para el caso de queramos que el PLC tenga que llamar por teléfono a otro modem distante ( TSX esclavo , PC con supervision ... ) de tal forma que primero llama y luego se pone en UTW master ! %M2:=%I1.0; * SI SE PRODUCE ENTRADA 0 , PASA A MODO CARACTERES Y LLAMA POR TELEFONO A OTRO MODEM. ( VUELVE A UTW CON LA IF RE %M2 AND NOT %IW0.1:X0 THEN SENTENCIA ANTERIOR (DCD) SET %MW0.1.15:X14; RESET %MW0.1.15:X15; WRITE_CMD %CH0.1; END_IF; ! IF FE %M2 AND NOT %MW100:X0 THEN %MB10:8:='ATDT3492'; %MW9:1:=16#000D; PRINT_CHAR(ADR#0.1.SYS,%MB10:9,%MW100:4); END_IF; Caso 3:
Dado que la PCMCIA es RS-232 ( punto a punto) , se supone que solo hay
conectado un modem ( no hay más equipos en el bus UTW ) , por tanto no seria
necesario que la PCMCIA hiciera polling si no hay linea establecida . En este
caso , debe modificarse el programa anterior para que ante un arranque en frio ,
caliente y con el bit S13 , se ponga la PCMCIA en Cadena caracteres y se envie
la trama de incialización al modem . Una vez detectado DCD , poner en UTW y
cuando cae , poner otra vez en Cadena Caracteres . Configuración
PCMCIA
La PCMCIA debe configurarse como UTW
master , Con un Time Out superior al predeterminado (30mSeg) p.e. 300
mSeg ( es funcion de la velocidad y del nº de esclavos ) . Es aconsejable utilizar 8 bits
de datos , 1 stop y sin paridad ya
que es el más comunmente utilizado por los modems.
El retardoRTS/CTS configura el tiempo que la PCMCIA espera
el CTS (modem preparado para enviar datos a la linea ) desde que ella ha
activado el RTS ( diciendole así al modem que quiere enviar datos . Si es 0 no hay time-out ( el RTS lo
sigue activando pero ya no espera el CTS para enviar ). Hay que configurarlo en
funcíón de la configuración del modem . ( Normalmente en el modem se puede
configurar :
1.- Control de flujo hard unidireccional ( Modem activa CTS cuando se le
pueden enviar datos y lo desactiva para indicar que está recibiendo datos de
linea ) .
2.- Control de flujo hard bidireccional ( el terminal debe indicar al
modem a traves de RTS cuando quiere enviar datos y el modem le indica su
disponibilidad a traves de CTS) .
3.- Sin control de flujo.
En el caso de no utilizar control de flujo normalmente debe configurarse
una velocidad en baudios igual
a la velocidad de los datos por la linea telefónica a la que los modems
conectan aunque hay modems en los que no es necesario establecer control de
flujo para que realicen la conversión de velocidad . PRUEBA OK A 2400
BPS PRUEBA OK A 9600
BPS 2.- Comunicación PL7-Junior esclavo
( driver UTW 6.20 y 7.1 IE 1.1 ) ----> TSX37 V1.5
PCMCIA SCP111 master (II 01 A/ II 02 A )
+ TSXSCPCC1030 . Modems utilizados : Lado PC : Multitech , modelo: MT2834ZDXI y USRobotics Sportster14400 Lado PLC: Multitech , modelo: MT2834ZDXI y RSRobotics Sportster14400 Comentarios previos: modems: (Comandos AT correspondientes al modem
Multitech)
-
Este tipo de modem genera por defecto llamadas a 28.800 Baudios , lo cual puede
provocar problemas debidos a la linea telefónica ,por lo que es preferible
realizar la conexión inicial a una velocidad inferior (p.e. para 9600 Bd el comando es AT$MB9600) . Una vez establecida la conexión , el
propio modem es capaz de aumentar o disminuir la velocidad automaticamente .
- La velocidad del puerto serie y de la linea telefónica pueden ser
independientes incluso sin utilizar ningún tipo de control de flujo ( ni hard ,
ni soft).Por tanto es necesario eliminar el control de flujo en ambos modems (
comando AT&E3) .
- Este modem autoconfigura la velocidad de su port serie a la misma que su DTE siempre
que este le envie algun comando AT ( en modo comando) .Como la PCMCIA no le
envia ningún comando , por defecto el port serie del modem conectado a la misma
entra por defecto a una velocidad de 57600 . Es por tanto imprescindible fijar
esta velocidad a la misma que la de la PCMCIA ( AT$SB19200 , por ejemplo) . En el caso del modem conectado a
PL7 , no es necesario ya que el PC envía la trama de inicialización al modem ,
y este autoconfigura la velocidad de su port a la configurada en del driver UTW
del PC. El driver UTW gestiona la señal DTR con lo que no es necesario
inhibirla en el Modem al igual que la señal RTS. Sin embargo el funcionamiento
es diferente , ya que PL7 , utiliza DTR para colgar el modem , por tanto si se
inhibe en el modem , cuando salgamos de ON-LINE del PL7 , el modem no cortará
la conexión y deberemos quitar tensión en el modem para colgar. En el caso del
modem conectado a la PCMCIA , es imprescindible configurar el modem para que no
haga caso al DTR (AT&D0) . Driver
UTW de PL7-Micro/Junior: El driver UTW puede configurarse a 19200 Bd . Debe ponerse en comandos Hayes de inicialización del modem los
siguientes :
AT&F8&F&D0&E3$MB9600^M El significado es : AT&F8&F = carga parámetros de fabrica AT&D0 = no hace caso al DTR ( puede no ponerse , en cuyo caso al
pasar a off-line , el modem cuelga ) AT&E3 = sin control de flujo AT$MB9600 = genera y establece la llamada a 9600 Bd . ( luego aumenta si
es posible) ^M = enter ( retorno de carro ) En Nº de teléfono debe ponerse : ATDPnºteléfono ( si es llamada por pulsos) ATDTnºteléfono ( si es llamada por tonos) Pe: ATDT0934843367
La autoadaptacion de velocidad en el driver UTW = 0
El formato de datos : 8 bits , 1 stop , sin paridad .
Configuración Modem conectado a PCMCIA
El modem conectado a la PCMCIA , debe configurarse antes de conectarlo .
Una vez configurado , ya no será necesario volver a hacerlo aunque se apague ,
a no ser que se utilize el modem para otras aplicaciones .
Para configurar el modem puede utilizarse cualquier programa terminal de
PC , pe. Terminal de Windows , LYNC , etc . Nosotros hemos desarrollado un pequeño
programa en basic ( multitec.bas o multitec,exe ) que reside en el disco K .
La cadena a enviar al modem para configurarlo correctamente es : AT&F8&F&D0S0=1&E3$SB19200&W0 + CHR$(13)
El comando AT&W0 permite grabar todos los parámetros en memoria no
volatil , de tal manera que al dar tensión al modem , los recupera y no es
necesario reinicializarlo de nuevo .
El comando AT$SB19200 fija la velocidad del port serie a 19200 baudios .
Por tanto , la PCMCIA debe estar configurada a esta misma velocidad . Puede
utilizarse cualquier otra velocidad siempre
que sea la misma en los dos lados .
Configuración
PCMCIA
La PCMCIA hay que configurarla en UTW master .
El Nº de esclavos a escrutar = 3 ( ya que la conexión solo servirá
para PL7)
El Time out es función de la velocidad seleccionada y del Nº de
esclavos a escrutar . Comunicando a 19200 B y con 3 esclavos , funciona
correctamente con 200 mSeg.
Si se seleccionan más de 3 esclavos y estos no contestan al pooling (
caso de PL7 ) , el tiempo del time out transcurre para cada uno de ellos y esto
hace que PL7 no conecte . Por ejemplo si se escrutan 98 esclavos con un time-out
de 200 mSeg , se tiene que : (98-3)*200mSeg = 19 seg. durante los
cuales PL7 no recibe pooling.
El formato de la trama debe ser el mismo que el del modem : 8 bits de
datos , 1 de stop y sin paridad .
El retardo RTS/CTS a 0 mSeg. Programa
en el PLC
El programa del PLC debe realizar las siguientes funciones :
1.- poner la PCMCIA en ASCII al arrancar en frio , en caliente o con el
%S13 para que no haga pooling sin que el modem esté en linea . Es aconsejable
dejar pasar un tiempo entre la detección %S0,%S1,%S13 y el paso a ASCII .
2.- Con flanco ascendente del bit DCD
%IW0.1:X0 ( los modems han
conectado) , pasar la PCMCIA a UTW
.
3.- Con flanco descendente de DCD ( los modems han colgado ) , volver a
modo ASCII.
Este programa se puede recuperar del disco K ( Multitec.stx) PRUEBA OK A 9600
BPS PRUEBA OK A 19200
BPS 3.- Comunicación PL7-Junior master
( driver UTW 7.1 IE 1.1 ) ---->
TSX37 V1.5
PCMCIA SCP111 esclavo (II 01 A/ II 02 A )
+ TSXSCPCC1030 . Modems utilizados : Lado PC : Multitech , modelo: MT2834ZDXI y USRobotics Sportster14400 Lado PLC: Multitech , modelo: MT2834ZDXI y RSRobotics Sportster14400 Los comandos
AT indicados abajo , corresponden a los modem Multitech
Driver
UTW de PL7-Micro/Junior:
El driver UTW 7.1 puede configurarse como master . Por tanto , efectúa
pooling a los esclavos que se hayan configurado en el mismo.
Si se configura el driver como master
y con la opción modem , cuando el modem intenta generar la llamada , el polling
que realiza el driver molesta al modem y no permite el enganche . Por tanto es
necesario configurar el driver maestro sin opción modem y realizar la llamada
desde cualquier programa terminal ( LYNC , Terminal de Windows etc ) ; una vez
establecida la comunicación telefónica , ya se puede entrar en comunicación
con el PLC desde PL7 .
La dirección autómata en PL7 es {0.254}0.1.Nº esclavo p.e: {0.254}0.1.6 para comunicar con el
esclavo 6 ( configurado en su PCMCIA).
Direcciones a escrutar p.e. de la 6 a la 8 .
Time-out . pe : 200 mSeg.
Configuración
Modem conectado a PL7
Dado que el driver no puede generar la llamada , ni configurar el modem (
mediante la trama de inicialización) , será necesario configurarlo justo antes
de realizar la llamada mediante el mismo programa ( LYNC , Terminal de Windows
etc )
Nosotros hemos desarrollado un pequeño programa en Qbasic ( msusrob.exe
o msmultit.exe ) que reside en el disco K . AT&F8&F&D0&E3$MB9600&W0 + CHR$(13) ( para configurar el modem) ATDTnº teléfono + CHR$(13) ( para realizar la llamada por tonos) ATDPnº teléfono + CHR$(13) ( para realizar la llamada por pulsos)
Una vez establecida la comunicación entre los modems , puede - mediante
el icono de PL7 - establecerse la comunicación con el PLC . Configuración
Modem conectado a PCMCIA
El modem conectado a la PCMCIA , debe configurarse antes de conectarlo .
Una vez configurado , ya no será necesario volver a hacerlo aunque se apague ,
a no ser que se utilize el modem para otras aplicaciones .
Para configurar el modem puede utilizarse cualquier programa terminal de
PC , pe. Terminal de Windows , LYNC , etc .
La cadena a enviar al modem para configurarlo correctamente es : AT&F8&F&D0S0=1&E3$SB19200&W0 + CHR$(13)
El comando AT&W0 permite grabar todos los parámetros en memoria no
volatil , de tal manera que al dar tensión al modem , los recupera y no es
necesario reinicializarlo de nuevo .
El comando AT$SB19200 fija la velocidad del port serie a 19200 baudios .
Por tanto , la PCMCIA debe estar configurada a esta misma velocidad . Puede
utilizarse cualquier otra velocidad siempre
que sea la misma en los dos lados . Configuración
PCMCIA
La PCMCIA hay que configurarla en UTW esclavo .
El Time out es función de la velocidad seleccionada y del Nº de
esclavos que el master escruta . p.e. 200 mSeg.
El formato de la trama debe ser el mismo que el del modem : 8 bits de
datos , 1 de stop y sin paridad .
El retardo RTS/CTS a 0 mSeg. Programa
en el PLC
No es necesario programa en el PLC ya que actúa como esclavo y por tanto
no realiza polling que moleste al modem .
PL7-Micro/Junior En dirección del autómata poner : {0.254}0.1.Nº esclavo p.e: {0.254}0.1.6 para comunicar con el
esclavo 6 ( configurado en su PCMCIA).
PRUEBA OK A 9600
BPS PRUEBA OK A 19200
BPS |
|
Todos los nombres comerciales que se utilizan en esta web están o pueden estar registrados por sus respectivos fabricantes. 2000, 2006 Última modificación: 02/03/2006 |