Entry |
Type |
Default |
Range |
Description |
deviceOffset |
int |
0 |
>= 0 |
Up to 512 PLCs can be supported by the
S7 driver. Maximum 256 PLCs are supported per driver. The config
entry deviceOffset can be used to specify the start device index
for the second driver. The peripheral addresses, of course, has
to be configured on the corresponding driver. |
HighPrioBlock |
int |
-1 |
>= -1 |
Data block number of high priority addresses.
If a write request with an address belonging
to this block is queued, it is inserted in front of the first
request with normal priority. |
MaxAGLinkQueueSize |
int |
1 |
0 - 126 |
Maximum number of request queued to
AGLink library. If this value is exceeded the request is
put into an internal read or write queue. If the value is 0 no
internal queue is used = old behavior before implementation of
internal queues. |
MaxGap |
unsigned |
10 |
1 - 50 |
The maximum difference in bytes between
two addresses before the data is grouped to polling requests.
If the address range between two addresses that are next
to each other is greater than the value in MaxGap, a new group
is created. (e.g. configuration of the addresses 1.100, 1.101,
1.102,1.103, 1.115, 1.116 would group the addresses into two polling
requests. The default value is 10.) This config entry only applies
to input addresses. |
MaxRequestQueueSize |
int |
200 |
0 - 1000 |
Maximum size
of internal write and read queue (each queue can have this size).
If the write or read queue is full the request is discarded
and an error message (the error code 56) is written to the _S7_Conn.LastError
DPE. Furthermore Read-, Write- and AGLink queue sizes can be supervised
using _S7_Conn.State.ReadQueue and _S7_Conn.State.AGLinkQueue
DPEs.
Remark: The new values are written to
DPE in the interval defined by "StatCheckInterval"
config entry. |
MaxWriteGroupSize |
int |
16 |
1 - 64 |
Maximum size of single write request,
that can be grouped together in one multiple write request, when
processing request from the write request queue. |
AliveInterval |
unsigned |
30 |
>= 0 |
Interval [s] after which a status check
is sent to the PLC(s) via all connections. If the AliveInterval
is set to 0, then no regular alive checks are done. But there
is at least one alive check whenever a connection is established. |
AutoGQ |
string |
"Y" |
"Y"|"N" |
Specifies whether general queries should
be executed automatically. |
AutoTimeSyncFactor |
unsigned |
0 |
>= 0 |
The value specifies in which alive intervals
an automatic time synchronization should be executed. The default
value is 0. This means no automatic synchronization. When the
alive interval is e.g. 10 seconds and the AutoTimeSyncFactor =
10, a time synchronization is executed every 100 seconds. |
CheckPollReqPending |
bool |
1 |
0|1 |
If the entry is activated, the system
checks if an identical poll request is pending before the new
is added to the AGLink Queue. |
LimitedTSPPAliveCheck |
string |
"N" |
"Y"|"N"
|
The config entry LimitedTSPPAliveCheck
= "Y" can be used to switch off the alive check for
redundant TSPP connections. Therefore, the system only checks
if telegrams are received by one connection (and not all connections). |
MaxTsppRequestQueue |
unsigned |
4 |
1 - 64 |
Number of requests in queue for asynchronous
communication. This is used for test purposes only. |
UseOneConnection |
string |
"N" |
"Y"|"N" |
Specifies if only one connection should
be opened to the PLCs. Per default 2 read and one write connection
is opened. |
s7ProjRootDir |
string |
""" |
- |
Obsolete.
Specifies the root directory for the Siemens
STEP 7 projects. This is used for retrieval of symbolic information
from the STEP 7 project. |
OnlyActivePolls |
string |
"N" |
"Y"|"N"
|
OnlyActivePolls = "Y" specifies
that only the active driver polls in a redundant system. The default
value is "No" (both drivers poll the PLC). |
ReadPLCTime |
string |
"N" |
"Y"|"N"
|
If the config entry ReadPLCTime is set
to ”Y” (Default "No") the PLC time is read in the alive
check interval and the value is written to the _S7_Conn.Time.Value.
DPE. This value can be used if the WinCC OA
time should be synchronised to the PLC time. |
ReadOpState |
string | unsigned |
"N"|0 |
"Y"|"N"|| >=0
|
If a PLC stops (state of the PLC is
STOP) in case of a redundant PLC pair, the driver does not know
that the state was changed and the communication with the PLC
still works.
If the value of the config entry is set
to "Yes", the state of the PLC is read periodically.
The state is read every "Alive interval"
seconds and is shown on the internal data point _S7_Conn.OpState
of the particular driver. The PLC switches automatically in redundant
systems.
The default value is "No" /
0. (no automatic switch).
This config allows also to specify, in
which intervals the state of the PLC is read, if the time from
"Alive Interval" should not be used. Instead of "Y"
/ "N" in this case, an unsigned number in seconds (should
be <=5 seconds and > "Alive Interval") can be
defined in the config. If a cycle >0 was defined and the PLC
supports automatic state detection, this will be started. If not,
the state will be polled in the defined intervals. In each case
the operating state of the PLC is read once for each connection
to have the actual state.
The different states are:
0 STOP
1 START-UP
2 RUN
3 UNDEFINED
Redundant
PLC
When using redundant PLCs (H-System),
different states will be sent by the driver:
8 RUN SOLO (Only one PLC is running)
9 RUN REDU (Both PLCs are running)
10 CPU HALT
11 CONNECTING
12 UPDATING |
reduModeTSPP |
bool |
0 |
0|1 |
Defines which
TSPP telegrams are processed, when using redundant PLCs / Connections
|
StatCheckInterval |
unsigned |
20 |
5 - 100 |
Interval [s]
after which the DPE ".State" of the connection data
point is updated. |
setInvalidForConnLoss |
uint |
0 |
0 - 2 |
Using this config entry, the values
sent by the driver can be set invalid when a connection loss occurs.
Optional the timestamp can be set to the time of the connection
loss.
Following options are available:
0 =>
Invalid bit will not be set
1 =>
Invalid bit will be set (and the timestamp will be changed)
2 =>
Invalid bit will be set (without changing the timestamp)
|
TimeSyncUTC |
string |
"N" |
"Y"|"N"
|
With the config entry TimeSyncUTC =
"Y", the driver synchronizes the PLC using the UTC time.
If the config entry is not used (or the entry is set to "No"),
the driver synchronizes the PLC using the local time. |
MaxTsppVcPerLoop |
int |
1000 |
- |
Specifies the maximum value changes
per driver cycle. If the value is exceeded, the next value changes
are processed in the next driver cycle. |
MaxTsppAnswerListSize |
int |
200 |
- |
Specifies the maximum size of the TSPP
answer list. If the value is exceeded, data is deleted and an
error message is shown. |
maxWriteBlockLen |
int |
0 |
0 - 240 |
Write requests can be sent as a block
if the addresses are in consecutive order and there are no "holes".
The default value of the entry is 0. This means that the requests
are not sent as a block. To be sure that the consecutive addresses
are sent as block, the corresponding data points must be set via
dpSet().
For example the writes of addresses
DB10.DBW0
DB10.DBB3
DB10.DBX4.0
DB10.DBX4.1
DB10.DBX4.2
DB10.DBX4.3
DB10.DBX4.4
DB10.DBX4.5
DB10.DBX4.6
DB10.DBX4.7
are sent as a block, because the addresses are in consecutive order
(there is no hole). If e.g. the last bit is missing only the first
2 addresses are sent as block and the bits are sent individually,
because the last byte is not full. The maximumWriteBlockLen depends
on the used PLC type. If the value is below 240 bytes, you can
be sure that the generated request is not split by the used S7
communication library. |
UseConnections |
int |
2 |
1 - 3 |
When the first connection to the PLC
is established, the driver does not try to establish any further
connections. Via the config entry "UseConnections" the
driver tries to establish further connections although the first
connection is already established. The number of the connections
depends on the number of the config entry. The default value is
2. |
mpiDevice |
string
string int |
""
|
- |
mpiDevice = <serial interface>
<pc address> <Baudrate>
The config entry defines the parameters
for one serial interface/adapter. To communicate with a PLC, define
the MPI device in the config file as follows:
mpiDevice = ”COM1” 15 38400.
In this case a Siemens adapter is connected to COM1 and 15 should
be used as an MPI address for the adapter. The entry of the COM
port in the configuration panel
must match the device defined in the config file.
Note:
The MPI address and the PLC address must
not equal! Set the MPI address of the adapter.
For example, if the MPI address of the
PLC is "5" then it is not allowed to set the address
of the adapter also to "5". So the following config
entry is for this example not allowed:
mpiDevice = "COM1" 5
38400 |
pollGroupCyclicRead |
string |
"" |
- |
Name of the poll group for cyclic reading
(the S7 driver reads the required data after a defined cyclic
time (e.g. 2 seconds) from the PLC).
This config entry can appear several times
to specify several poll groups.
Example:
[s7]
pollGroupOnDataChange = "poll500ms"
pollGroupOnDataChange = "poll200ms"
pollGroupCyclicRead = "poll2sec"
|
pollGroupOnDataChange |
string |
"" |
- |
Name of the poll group for sending on
data change (the PLC sends the requested data only if the corresponding
values changed). The old/new comparison takes place in the PLC.
This config entry can appear several times
to specify several poll groups.
Example:
[s7]
pollGroupOnDataChange = "poll500ms"
pollGroupOnDataChange = "poll200ms"
pollGroupCyclicRead = "poll2sec"
|