View this PageEdit this PageUploads to this PageVersions of this PageHomeRecent ChangesSearchHelp Guide

Driver unitelway-siemens




Tuesday, 3 February 2009, 11:33:26 am
Propuesta de soporte de DOS DBs simultáneas para drvunitelway-siemens El problema que se ha encontrado ahora es que tendríamos que leer de DOS DBs simultáneamente, y actualmente se usa un
 export PROTOCOLOSIEMENS=xs7_v1:5
Para especificar la DB 5.

La solución pasa por hacer que el bit alto de la dirección a escanear se use para seleccionar una DB alternativa. Asi si se quieren usar dos DBs, se haría algo así como:
"Escaneos normales usando DB 5, escaneos con números a partir de 10000 son para la DB 10 (después de restar 10000 a la dirección)."
 export PROTOCOLOSIEMENS=xs7_v1:5:10000:10

Y en los escaneos se pondrían como para la segunda DB con el offset 10000.

Los ficheros que hay que modificar son:

/home/dario/Programacion/proyectos/sico-siemenssimatic/

siemenssimatic.c:
SiemenssimDB() tiene que aceptar más parámetros (offset segunda DB y segunda DB).
SiemenssimLeeRegistrosSalida() y SiemenssimEscribeRegistrosSalida() tiene que ser capaz de detectar que se está usando una segunda DB y hacer los cálculos de offsets correspondientes.
Después de modificar esos fuentes hay que ejecutar
./actualiza-fuentesmaster.sh
./actualiza-rosaunitelway.sh

En

/mnt/metro/rosa/drvunitelway

main() hay que modificar el parseado de PROTOCOLOSIEMENS y añadir las nuevas DBs a la llamada a SiemenssimDB.



Tuesday, 20 June 2006, 12:57:54 pm
Modificar las conexiones del software de siemens Hemos intentado pasar las conexiones de pitis a frodriguez, y hemos hecho lo siguiente:
(En Pitis hacemos un "dump")
 # cd /opt/bin
 # ./tnsxcom -D conexiones-pitis.dat
(lo llevamos a frodriguez con ftp)
(en frodriguez hacemos un "update")
 # ./tnsxcom -D conexiones-20Jun2006.dat
 # ./tnsxcom -u conexiones-pitis.dat
ERROR: conexiones-pitis.dat (2) TNSADMIN: the specified transport address already exists

Y con eso ha añadido las que no estaban, pero no ha borrado las que sobran.
=============
1 error(s) and 0 warning(s) found in conexiones-pitis.dat
elapsed time for file conexiones-pitis.dat: 0.0 user 0.0 sys 0:01 real 2%


Para borrar las loc_vX que sobran, se pone dentro del fichero .dat una linea con "nombre_de_la_conexion DEL" y al actualizar la borrará.
borrar.dat
$VERSION 4.0
xs7_400_loc_v1 DEL
xs7_400_loc_v2 DEL
xs7_400_loc_v3 DEL
xs7_400_loc_v4 DEL

 # ./tnsxcom -u borrar.dat
 # ./tnsxcom -D /dev/tty

Tuesday, 31 January 2006, 9:42:05 am
Modificado siemenssim.c para que re reconecte ante un error He modificado la librería para que si detecta un error, se desconecte, y cuando se realiza la siguiente petición, se intente reconectar.

Wednesday, 18 January 2006, 6:25:13 pm
Los fuentes He instalado el siemenssimatic.c/simenessimatic.h en f_misc y f_include respectivamente. Los fuentes de rosa están en ana:/home/metro/rosa/drvunitelway y ya los he modificado para que tengan en cuenta que si existe una variable de entorno tal como "PROTOCOLOSIEMENS=xs7_v1", use dicho protocolo (siempre y cuando no este también definido PROTOCOLOMODBUS, que tiene preferncia).

Por cierto, los fuentes "originales" de la librería análoga al modbustcp pero para el protocolo siemens s7 (siemens simatic), están en salchicha:/home/dario/sico-siemenssimatic. Sólo compilan en ana (por no tener salchicha instalado el software de siemens), por lo que hay que usar siempre el script "./compila-ana.tcl ejecutable_a_compilar".

Wednesday, 18 January 2006, 11:00:36 am
Ejemplo de configuración con varios "clientes" de la librería En francosrodriguez (+f7 +fro/opt/bin), está instalado y funcionando la versión antogua del software. Si se pide la configuración actual, se ve que tiene dado de alta varios xs7_xxx:
===CUT===
frodriguez 7% ./tnsxcom -D /dev/tty
$VERSION 4.0
xs7_400_loc_v1\
        TSEL    RFC1006 A'PC1' 
xs7_400_loc_v2\
        TSEL    RFC1006 A'PC2' 
x=s7_400_loc_v3\
        TSEL    RFC1006 A'PC3' 
xs7_400_loc_v4\
        TSEL    RFC1006 A'PC4' 
xs7_400_rem_v1\
        TA      RFC1006 3.0.4.60  PORT 102 X'0103' 
===CUT===

Si se hace lo mismo en sierra de guadalupe (+f1 +gua/opt/bin):

===CUT===
# ./tnsxcom -D /dev/tty
$VERSION 4.0
xs7_v1\
        TA      RFC1006 3.0.4.60  PORT 102 X'0103' 
        TSEL    RFC1006 X'0100' 
        TSEL    LANINET A'2000' 
===CUT===

Wednesday, 18 January 2006, 9:11:04 am
Ficheros que necesita el programa para funcionar Si no encuentra los siguientes ficheros, la libreria de siemens no funciona:
  • /opt/lib/tp4/netconf
  • ./h1_0.dat


Tuesday, 17 January 2006, 12:41:35 pm
Reiniciar el simatic en guadalupe El proceso se llama tnsxd, y se arranca y se para de la siguiente manera:
  1. Primero se le mata
  2. Luego se le arranca con
    # /opt/etc/tnsxd &

Tuesday, 17 January 2006, 10:18:13 am
Programa de pruebas
  • Está en ana:/home/metro/example (el xs7_bsp)
  • Compila con el makefile.
  • Las pruebas las ha hecho en Guadalupe(L1). Escribe en la maestra 3 veces lo que quieras (en la zona de memoria db71, que es una de las que están definidas para cancelas).
  • Las db tienen tienen 256 bytes cada una (usa las 7x, 8x y 9x)
  • Ella lee los bytes x a y en la db n.
  • El programa ese escribe 3 veces en distintas zonas memoria y lugo las lee.
Ejecutando en Guadalupe:
  • En /home/metro/example, que están los fichs de config y todo eso.

Descripción


Hacer un wrapper igual que el de unitelway-modbustcp y el de unitelway-siemensfetchwrite para unitelway-siemenssimatic.

Ana instaló el software en pitis; pero falta por poner el cable que lo conecta con la unidad maestra de las cancelas.

Además tiene por ahí el antiguo (S7 sobre solaris antiguo); en ellos la configuración se encuentra en /opt/lib/tp4/netconf (gsm8).