//
//  Licensed to the Apache Software Foundation (ASF) under one or more
//  contributor license agreements.  See the NOTICE file distributed with
//  this work for additional information regarding copyright ownership.
//  The ASF licenses this file to You under the Apache License, Version 2.0
//  (the "License"); you may not use this file except in compliance with
//  the License.  You may obtain a copy of the License at
//
//      https://www.apache.org/licenses/LICENSE-2.0
//
//  Unless required by applicable law or agreed to in writing, software
//  distributed under the License is distributed on an "AS IS" BASIS,
//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
//  See the License for the specific language governing permissions and
//  limitations under the License.
//

// Code generated by code-generation. DO NOT EDIT.

[cols="2,2a,2a,2a,4a"]
|===
|Name |Type |Default Value |Required |Description
|Name 4+|Siemens S7 (Basic) (light)
|Code 4+|`s7-light`
|Maven Dependency 4+|

[subs=attributes+]
----
<dependency>
  <groupId>org.apache.plc4x</groupId>
  <artifactId>plc4j-driver-s7</artifactId>
  <version>{page-component-version}</version>
</dependency>
----
|Default Transport 4+|`tcp`
|Supported Transports 4+|
 - `tcp`
5+|Config options:
|`local-rack` |INT |1| |Rack value for the client (PLC4X device).
|`local-slot` |INT |1| |Slot value for the client (PLC4X device).
|`local-device-group` |STRING |OTHERS| |Local Device Group. (Defaults to 'OTHERS'). +
Allowed values: +
 - PG_OR_PC +
 - OS +
 - OTHERS +
*Since: 0.13.0*
|`local-tsap` |INT |0| |Local Transport Service Access Point. (Overrides settings made in local-rack, local-slot and local-device-group. Be sure to convert into integer representation)
|`remote-rack` |INT |0| |Rack value for the remote main CPU (PLC).
|`remote-slot` |INT |0| |Slot value for the remote main CPU (PLC).
|`remote-device-group` |STRING |PG_OR_PC| |Remote Device Group (Defaults to 'PG_OR_PC'). +
Allowed values: +
 - PG_OR_PC +
 - OS +
 - OTHERS
|`remote-tsap` |INT |0| |Remote Transport Service Access Point. (Overrides settings made in remote-rack, remote-slot and remote-device-group. Be sure to convert into integer representation)
|`pdu-size` |INT |1024| |Maximum size of a data-packet sent to and received from the remote PLC. During the connection process both parties will negotiate a maximum size both parties can work with and is equal or smaller than the given value is used. The driver will automatically split up large requests to not exceed this value in a request or expected response.
|`max-amq-caller` |INT |8| |Maximum number of unconfirmed requests the PLC will accept in parallel before discarding with errors. This parameter also will be negotiated during the connection process and the maximum both parties can work with and is equal or smaller than the given value is used. The driver will automatically take care not exceeding this value while processing requests. Too many requests can cause a growing queue.
|`max-amq-callee` |INT |8| |Maximum number of unconfirmed responses or requests PLC4X will accept in parallel before discarding with errors. This option is available for completeness and is correctly handled out during the connection process, however it is currently not enforced on PLC4X’s side. So if a PLC would send more messages than agreed upon, these would still be processed.
|`controller-type` |STRING | | |As part of the connection process, usually the PLC4X S7 driver would try to identify the remote device. However some devices seem to have problems with this and hang up or cause other problems. In such a case, providing the controller-type will skip the identification process and hereby avoid this type of problem. Possible values are:/n- S7_300 +
- S7_400 +
- S7_1200 +
- S7-1500 +
- LOGO
|`read-timeout` |INT |1000| |This is the maximum waiting time for reading on the TCP channel. As there is no traffic, it must be assumed that the connection with the interlocutor was lost and it must be restarted. When the channel is closed, the "fail over" is carried out in case of having the secondary channel, or it is expected that it will be restored automatically, which is done every 4 seconds.
|`enable-block-read-optimizer` |BOOLEAN |true| |Enable the new experimental block-read optimizer, that groups tags in close memory proximity together and reads blocks of data instead of individual tags. This allows more data to be transferred in one request and is generally intended for cases in which a big number of tags are read.
5+|Transport config options:
5+|
+++
<h4>tcp</h4>
+++
|`tcp.keep-alive` |BOOLEAN |false| |Should keep-alive packets be sent?
|`tcp.no-delay` |BOOLEAN |true| |Should packets be sent instantly or should we give the OS some time to aggregate data.
|`tcp.default-timeout` |INT |1000| |Timeout after which a connection will be treated as disconnected.
|===
