17.06.2013 Views

pvbrowser manual - Flussi liberi informatici

pvbrowser manual - Flussi liberi informatici

pvbrowser manual - Flussi liberi informatici

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

90 CAPITOLO 6. ACQUISIZIONE DATI<br />

6.2 Siemens<br />

I demoni per Siemens S7 e S5 sono analoghi al demone Modbus. Pertanto si prega di leggere la sezione relativa<br />

al Modbus.<br />

6.2.1 Accesso via TCP con caratteri codificati ASCII<br />

Nella directory pvbaddon/daemons/siemenstcp/client in pvbaddon si trova un demone Siemens per le connessioni<br />

TCP.<br />

Qui viene utilizzata la classe rlSiemensTCP di rllib.<br />

Il file INI è simile al file INI del modbus. È possibile specificare tante connessioni PLC quante si desidera con<br />

un solo demone. Haveto SWAP dovrebbe essere impostato a 1 su una CPU x86. Se il processore utilizza un<br />

diverso ordine di byte è possibile impostare questo valore a 0. Per ogni valore SLAVE vi è un indirizzo IP<br />

o il nome per il PLC poi c’è una virgola e il tipo di PLC. Come parametro opzionale è possibile scegliere se<br />

utilizzare il protocollo Fetch/Write o il più recente protocollo TCP Siemens. Nel file INI NUM CYCLES=1 è<br />

impostato in quanto per scopi di test solo il primo ciclo viene utilizzato. Se anche il secondo ciclo dove essere<br />

eseguito è necessario impostare NUM CYCLES = 2.<br />

File INI per PLC Siemens su TCP<br />

# ini file for siemenstcp_client<br />

#<br />

# DEBUG := 1 | 0<br />

# SLAVE := IP,PLC_TYPE,FETCH_WRITE,FUNCTION,RACK_SLOT<br />

# PLC_TYPE := S7_200 | S7_300 | S7_400 | S5<br />

# FETCH_WRITE := 1 | 0 # default 1<br />

# FUNCTION := optional parameter for PLC (1=PG,2=OP,3=Step7Basic)<br />

# RACK_SLOT := optional parameter for PLC Byte(upper_3_bit_is_rack / lower_5_bit_is_slot)<br />

# CYCLE := ,<br />

# name := byte(slave,dbnum,adr) |<br />

# float(slave,dbnum,adr) |<br />

# dword(slave,dbnum,adr) |<br />

# short(slave,dbnum,adr) |<br />

# udword(slave,dbnum,adr) |<br />

# ushort(slave,dbnum,adr)<br />

# ORG := ORG_DB | ORG_M | ORG_E | ORG_A | ORG_PEPA | ORG_Z | ORG_T<br />

# HAVETO_SWAP := 1 | 0 # must be 1 on intel machines<br />

# CYCLETIME in milliseconds<br />

# SHARED_MEMORY_SIZE must be equal to SHARED_MEMORY_SIZE of pvserver<br />

# MAX_NAME_LENGTH is maximum length of variable name in shared memory<br />

#<br />

[GLOBAL]<br />

DEBUG=1<br />

CYCLETIME=1000<br />

HAVETO_SWAP=1<br />

[SOCKET]<br />

NUM_SLAVES=1<br />

SLAVE1=192.168.1.101,S7_200,0<br />

#SLAVE2=192.168.1.35,S7_200,0,1,2<br />

[RLLIB]<br />

MAX_NAME_LENGTH=30<br />

SHARED_MEMORY=/srv/automation/shm/siemenstcp1.shm<br />

SHARED_MEMORY_SIZE=65536<br />

MAILBOX=/srv/automation/mbx/siemenstcp1.mbx<br />

[CYCLES]<br />

NUM_CYCLES=4<br />

CYCLE1=10,byteORG_M(1,0,0)<br />

CYCLE2=4,byteORG_E(1,0,0)<br />

CYCLE3=4,byteORG_A(1,0,0)

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!