XS7PPI.tlk Driver Reference
Siemens S7-200 Advanced PPI Protocol Driver
This driver requires that you have TAS-HMITalk 8.04 installed.
The XS7PPI driver can be used to read or write data from or to PLCs
of the S7-200 series that use the Siemens Point To Point Advanced PPI
Communication Protocol over a RS-485 link multi-master networks
using the Siemens multimaster cable configured as multimaster.
The RS-232 serial cable specification that was successfully tested with this driver is as follows:
- Cable PC/PPI multimaster
- 6ES7 901-3CB30-0XA0
- E-STAND:03
Suggested Cable Dip Switches Configuration:
- 1 0
- 2 1 9600 bauds
- 3 0
- 4 X Spare
- 5 1 Multimaster
- 6 0 Local DCE
- 7 0 11 bits
- 8 X Spare
Important Note:
The suggested configuration will only work with TAS-HMITalk. If you want to communicate using MicroWin, you will need to set dip switch 5 to 0 in order to have the cable work as Freeport/PPI instead of Multimaster. Besides, you will need to uncheck the "Multimaster" and "Advanced PPI" options in the MicroWin configuration. Set dip switch back to 1 if you want to communicate using TAS-HMITalk.
COM SETTINGS:
Typical COM port settings are:
9600, N, 8, 1
9600, E, 8, 1
115200, N, 8, 1.
115200, E, 8, 1.
Programmable Logic Controllers
SIEMENS S7-200 PLC Series
SIEMENS S7-212 CPU
SIEMENS S7-214 CPU
SIEMENS S7-215 CPU
SIEMENS S7-216 CPU
SIEMENS S7-221 CPU
SIEMENS S7-222 CPU
SIEMENS S7-224 CPU
SIEMENS S7-277 EM
Read Consecutive Variables as Analog Inputs (MB/MW/MD/VB/VW/VD/AI)
Write Consecutive Variables as Analog Outputs (MB/MW/MD/VB/VW/VD/AQ)
Read Consecutive Bits as Digital Inputs (I/Q)
Write Consecutive Bits as Digital Outputs (Q)
COMMAND DESCRIPTION:
Reads a block of consecutive variables from a selected area,
starting at a given offset.
PROPERTY SETTINGS REQUIRED:
HMITalk1.DriverDataType = Analog Input
HMITalk1.DriverNumPoints = 1-112 for MB and VB
1-56 for AI, MW and VW
1-28 for MD and VD
HMITalk1.DriverP0 = 0
HMITalk1.DriverP1 = PC master address (0-127)
HMITalk1.DriverP2 = Device destination address (0-127)
HMITalk1.DriverP3 = Number of additional messages to gain access to the network (0-25).
HMITalk1.DriverP4 = Stamp an automatic PDU_REF in each message (0=No, 1=Yes)
(PDU_REF is a connection identification number that will
be unique for each communication. Not necessary in pure
master-slave networks).
HMITalk1.DriverP5 = Indicates how to treat the data returned from the PLC:
0 = Treat data as unsigned
1 = Treat data as signed
HMITalk1.DriverP6 = First variable in the block to be read.
Variables that can be read are:
- AIxxxx
- MBxxxx
- MWxxxx
- MDxxxx
- VBxxxx
- VWxxxx
- VDxxxx
For example: VB2000, VW1000, VD300, etc.
HMITalk1.DriverP7 = Number of internal retries if communication
timeouts (0-20). The driver will automatically make these
number of additional attempts to communicate before returning
a timeout error to the application. If left empty, 3 retries
are assumed by default.
RETURNS:
- HMITalk1.PointValue(0) = First variable value
- HMITalk1.PointValue(1) = Second variable value
...
- HMITalk1.PointValue(HMITalk1.DriverNumPoints-1) = Last variable value
COMMAND DESCRIPTION:
Writes a block of consecutive variables to a selected area,
starting at a given offset.
IMPORTANT: Make sure that the variables that you are trying
to write are not forced in the PLC. If the variables are forced,
the PLC will successfully receive the data but it will not
assume the new values. If you are writting a variable that could
be forced, it is recomended that you read it back later to
verify that the new value has been properly assumed by the PLC.
PROPERTY SETTINGS REQUIRED:
HMITalk1.DriverDataType = Analog Output
HMITalk1.DriverNumPoints = 1-112 for MB and VB
1-56 for AQ, MW and VW
1-28 for MD and VD
HMITalk1.DriverP0 = 0
HMITalk1.DriverP1 = PC master address (0-127)
HMITalk1.DriverP2 = Device destination address (0-127)
HMITalk1.DriverP3 = Number of additional messages to gain access to the network (0-25).
HMITalk1.DriverP4 = Stamp an automatic PDU_REF in each message (0=No, 1=Yes)
(PDU_REF is a connection identification number that will
be unique for each communication. Not necessary in pure
master-slave networks).
HMITalk1.DriverP5 = Indicates how to treat the data sent to the PLC:
0 = Treat data as unsigned
1 = Treat data as signed
HMITalk1.DriverP6 = First variable in the block to be written.
Variables that can be written are:
- AQxxxx
- MBxxxx
- MWxxxx
- MDxxxx
- VBxxxx
- VWxxxx
- VDxxxx
For example: VB2000, VW1000, VD300, etc.
HMITalk1.DriverP7 = Number of internal retries if communication
timeouts (0-20). The driver will automatically make these
number of additional attempts to communicate before returning
a timeout error to the application. If left empty, 3 retries
are assumed by default.
NOTE:
If you receive an 'Invalid ROSCTR received' error message
from the PLC, it could mean that the variable or variables
do not exist in the PLC or that cannot be written.
WHERE:
- HMITalk1.PointValue(0) = First variable value
- HMITalk1.PointValue(1) = Second variable value
...
- HMITalk1.PointValue(HMITalk1.DriverNumPoints-1) = Last variable value
COMMAND DESCRIPTION:
Reads a block of consecutive bits from a selected area,
starting at a given offset.
PROPERTY SETTINGS REQUIRED:
HMITalk1.DriverDataType = Digital Input
HMITalk1.DriverNumPoints = 1-896
HMITalk1.DriverP0 = 0
HMITalk1.DriverP1 = PC master address (0-127)
HMITalk1.DriverP2 = Device destination address (0-127)
HMITalk1.DriverP3 = Number of additional messages to gain access to the network (0-25).
HMITalk1.DriverP4 = Stamp an automatic PDU_REF in each message (0=No, 1=Yes)
(PDU_REF is a connection identification number that will
be unique for each communication. Not necessary in pure
master-slave networks).
HMITalk1.DriverP6 = First bit in the block of bits to be read.
Variables that can be read are:
- Ixxx.b (with b=0 to 7)
- Qxxx.b (with b=0 to 7)
For example: I0.0 or Q3.7.
HMITalk1.DriverP7 = Number of internal retries if communication
timeouts (0-20). The driver will automatically make these
number of additional attempts to communicate before returning
a timeout error to the application. If left empty, 3 retries
are assumed by default.
RETURNS:
- HMITalk1.PointValue(0) = First bit value (0 or 1)
- HMITalk1.PointValue(1) = Second bit value (0 or 1)
...
- HMITalk1.PointValue(HMITalk1.DriverNumPoints-1) = Last bit value (0 or 1)
COMMAND DESCRIPTION:
Writes a block of consecutive bits to a selected area,
starting at a given offset.
IMPORTANT: Make sure that the bits that you are trying
to write are not forced in the PLC. If the bits are forced,
the PLC will successfully receive the data but it will not
assume the new values. If you are writing a bit that could
be forced, it is recommended that you read it back later to
verify that the new value has been properly assumed by the PLC.
NOTE: It is recommended that you write in groups that are a
multiple of 8 bits and setting the starting bit to 0 (as in
Q0.0, Q1.0, etc), to make sure that you are not unexpectedly
changing other bits that belong to the same byte. If you want
to change one single bit of a particular byte and you want
to make sure that the other bits of the same byte will remain
unchanged, it is up to your application to first read the
complete byte in order to load all the unaffected bits with
their proper values before the byte is written back to the PLC.
PROPERTY SETTINGS REQUIRED:
HMITalk1.DriverDataType = Digital Output
HMITalk1.DriverNumPoints = 1-896
HMITalk1.DriverP0 = 0
HMITalk1.DriverP1 = PC master address (0-127)
HMITalk1.DriverP2 = Device destination address (0-127)
HMITalk1.DriverP3 = Number of additional messages to gain access to the network (0-25).
HMITalk1.DriverP4 = Stamp an automatic PDU_REF in each message (0=No, 1=Yes)
(PDU_REF is a connection identification number that will
be unique for each communication. Not necessary in pure
master-slave networks).
HMITalk1.DriverP6 = First bit in the block of bits to be written.
Bits that can be written are:
- Qxxx.x
For example: Q3.7.
HMITalk1.DriverP7 = Number of internal retries if communication
timeouts (0-20). The driver will automatically make these
number of additional attempts to communicate before returning
a timeout error to the application. If left empty, 3 retries
are assumed by default.
NOTE:
If you receive an 'Invalid ROSCTR received' error message
from the PLC, it could mean that the bit or bits
do not exist in the PLC or that cannot be written.
WHERE:
- HMITalk1.PointValue(0) = First bit value (0 or 1)
- HMITalk1.PointValue(1) = Second bit value (0 or 1)
...
- HMITalk1.PointValue(HMITalk1.DriverNumPoints-1) = Last bit value (0 or 1)
[1005] DRIVER (Internal): Invalid driver stage
[1103] DRIVER (Port): Error reading current port status
[1104] DRIVER (Port): Error writting port settings
[1300] PROTOCOL (Timeout): No answer
[1310] PROTOCOL (Timeout): No answer within expected time
[1312] PROTOCOL (Timeout): Couldn't get attention from PLC
[1410] PROTOCOL (Format): Invalid device id in response
[1412] PROTOCOL (Format): Invalid number of bytes received
[1433] PROTOCOL (Format): Validation error in device response
[1436] PROTOCOL (Format): Invalid service_id received
[1437] PROTOCOL (Format): Invalid ROSCTR received
[2284] CONFIG (NumValues): Too many values (max=112)
[2285] CONFIG (NumValues): Too many values (max=56)
[2286] CONFIG (NumValues): Too many values (max=28)
[3001] CONFIG (P0): Invalid command
[3589] CONFIG (P1): Invalid destination address (0-127)
[4135] CONFIG (P2): Invalid source address (0-127)
[4550] CONFIG (P3): Invalid number of retries (0-25)
[5034] CONFIG (P4): Invalid setting (0 o 1)
[5515] CONFIG (P5): Invalid setting (0 o 1)
[6037] CONFIG (P6): Invalid variable
[8367] CONFIG (Remote): Wrong number of data bytes
[8379] CONFIG (Remote): Error in the application ID of the request
[8380] CONFIG (Remote): Error in the object definition (e.g. bad data type)
[8381] CONFIG (Remote): No resources available
[8382] CONFIG (Remote): Error in the structure of the service request
[8383] CONFIG (Remote): Error in the communication equipment
[8384] CONFIG (Remote): Access error
[8385] CONFIG (Remote): OVS error
[8386] CONFIG (Remote): Diagnostic error
[8387] CONFIG (Remote): Protection system error
[8388] CONFIG (Remote): BuB error
[8389] CONFIG (Remote): Layer 2 specific error
[8390] CONFIG (Remote): Invalid PDU_REF in response
[8391] CONFIG (Remote): Hardware fault
[8392] CONFIG (Remote): Illegal object access
[8393] CONFIG (Remote): Invalid address (incorrect variable address)
[8394] CONFIG (Remote): Data type is not supported (currently, only octet string is supported)
[8395] CONFIG (Remote): Object does not exist or length error
[8396] CONFIG (Remote): Unknown ERR_CLS error
[8397] CONFIG (Remote): Unknown access error
This driver requires that you have TAS-HMITalk 8.04 installed.
Driver Source Code Last Update: 07/01/2005 10:33:22
Driver Reference Last Update: 10/30/2008 17:47:29
© 1990-2008, CPKSoft Engineering. All rights reserved.