Driver
How to check which driver address is used in which DPE
You have to copy the driver address from the DPE where a address config is included.
e.g.
S7 Driver : Reference in adress_config Panel in Para: my_S7.DB56.DBX0.0
Check what kind of driver number has e.g the S7 driver. In my case the driver has the number 2.
Now go with the para to the interal DP _Driver2 ( from _DriverCommon Type ) and paste the reference string into
Copy "my_S7.DB56.DBX0.0" this into the DPE from internal _DriverCommon Typ _Driver2.HW_HWMask and press enter.
If you go one DPE element down to the .HWMatch, you will find the DPE on which this adress_config is active.
Which type of controller and simulation can be used with the S7+ driver?
The following types can be used: S7-1200, S7-1500, ET200SP, S7-1500 Software Controller, PLCSIM, PLCSIM Advanced
How to debug your API driver compiled in release mode
The WinCC OA libraries are delivered in release mode, therefore you have to build your driver in release mode.
You need to add debug info, turn of incremental linking and disable all optimization under release project settings in your Visual Studio.
Which debug flags to use for the EIP driver
The following can be used to select which types of debug information are sent to the log viewer:
- dbg 2: Informs about the driver operation in detail. It is recommended to set this option only when the driver load is low in order not to affect the time performance of the driver.
- dbg 25: If you suspect that a polling request has lost its message, this option can be used to show information about matching received data to corresponding data points.
- dbg 26: Displays queue activity and counts.
- dbg 27: Displays connection activity.
- dbg 10: Displays summary information about poll-group blocks.
- dbg 11: Displays detailed information about poll-group blocks.
Supported devices for the Ethernet/IP Driver
Ethernet/IP is used to communicate with multiple generations and families of Rockwell Automation / Allen Bradley PLCs. The name can be confusing, and actually stands for [Common] Industrial Protocol over Ethernet. It is an application layer protocol, layered on top of standard TCP/IP networking.
There are two distinct families of PLCs with which this driver can be used, and they have significant operational differences. The newer devices such as ControlLogix, CompactLogix, and FlexLogix PLCs implement native CIP Protocol. This allows reads and writes using the actual tag-names from the PLC, complex tag structuring, and grouping of unrelated tags in a single message.
The older devices such as PLC5, SLC5, and MicroLogix implement PCCC/DF1 protocol, encapsulated in Ethernet/IP. These devices group their tags into very specific categories of File, Instance, and SubElement. Only requests for items within the same file can be grouped in a given request.
- Uses standard Ethernet networking hardware
- TheWinCC OA system is always the master and initiates all connections and transactions (reads are polled)
- Through-routing to remote PLCs without an Ethernet connection is only supported for transparent interfaces such as the 1761-NET-ENI
- Supports WinCC OA Redundancy
Supported devices include the following:
PLC Series | Model | Protocol | Interface |
---|---|---|---|
ControlLogix | - | Native EIP |
CPU Direct 1756-ENBT 1756-ENET/B |
CompactLogix |
1769-L32E 1769-L35E Other models |
Native EIP |
CPU Direct 1768-ENBT 1761-NET-ENI |
FlexLogix |
1794-L34 1794-L33 Other models |
Native EIP |
1788 1761-NET-ENI |
PLC5E PLC5E PLC5C |
- | PCCC |
CPU Direct 1785-ENET 1761-NET-ENI |
SLC500 |
SLC 5/05 SLC 5/04 SLC 5/03 |
PCCC |
CPU Direct 1761-NET-ENI |
MicroLogix |
MicroLogix 1100 MicroLogix 1400 MicroLogix 1100 MicroLogix 1200 MicroLogix 1500 |
PCCC |
CPU Direct 1761-NET-ENI |
Some older devices may require firmware updates if they were not previously being used with Ethernet/IP.
Other models supporting native EIP should also work if they have a built-in Ethernet port or an Ethernet interface card.
Other models supporting PCCC should also work if they have a built-in Ethernet port supporting EIP encapsulation, or through a transparent Ethernet to serial bridge such as a 1761-NET-ENI.
Note that the 1761-NET-ENI bridges to a PLC’s serial port, so compared to direct Ethernet, throughput will be reduced.
What do I need the SIMATIC SCADA Export Plugin for?
As the S7+ driver uses symbolic addressing, access to the engineering data of the connected S7 PLC is required. This data is provided by the TIA Portal Export Plugin, which integrates into TIA Portal V13 SP1 or V14 via project or PLC station context menu.
How to simulate connection via IEC 101 driver without any hardware and with only one COM port provided by the host
To be able to simulate a connection via COM port, you can download and install com0com software (= Null-modem emulator), which creates pairs of virtual COM ports.
The output to one port is the input from other port and vice versa.
Afterwards, hyper terminal can be used for both new virtual COM ports to check functionality above.
Now, two WinCC OA IEC drivers can be used to simulate connection, one driver defined as master.
What are the most Important configurations for PLC S7-1500 with TIA Portal
In order to establish a proper connection between the WCCOAs7 driver and the new PLC S7-1500, some settings must be made within the TIA Portal Engineering Tool (e.g. V12 or V13).
- The option “Permit access with PUT/GET communication from remote partner (PLC, HMI, OPC, ...)” must be activated. It is located under the relevant CPU device/Properties/General/Web server/Protection/Connection mechanisms.
- The data blocks that WinCC OA has access to must be global DBs. In addition, optimized block access must be disabled
Connection to PLC "S7 1500" cannot be established or lasts too long by S7 driver
Right now it is a known behaviour when S7 driver tries to establish a connection to the PLC S7-1500.
It can last some time (sometimes up to several minutes).
In this case, set the config entry [s7] UseConnections = 1
and start the
driver once again.
Using this config entry the time to establish a connection to the PLC can be decreased.
When should I increase the MaxAGLinkQueueSize parameter from the WinCC OA S7 driver?
The parameter MaxAGLinkQueueSize defines the maximum „active“ parallel read requests from the WinCC OA driver to the PLC.
This means in detail:
Per connection, the WinCC OA S7 driver will reserve the MaxAGLinkQueueSize number of entries in the list of parallel read requests.
Per cycle of the S7 driver, it will look if a poll group has to be requested from PLC.
If yes, he will optimize the read request using the maxGap parameter and the result is a list of read requests which have to be sent to the PLC.
Then the driver will fill the list of read requests until the list is completely filled. These requests are sent to the PLC in parallel. Within the next communication cycle of the PLC, the PLC will answer to the read requests.
The received answers will then delete the read request entry from out read request list.
So within the next driver cycle, the next read requests will be sent out to the PLC.
So – in standard applications, the recommended value of 1 will be OK, in larger sized applications, the parameter should be in a range from 5-10.
What is the correct S7 driver slot configuration when working with an additional communication processor ?
The slot configured in the WinCC OA device panel must always be the slot where the CPU is placed. This is 2 for 315 series and 3 for 400 series. The number of the slot an external CP is placed in is irrelevant for the configuration.
This is also valid for a TSPP-Communication.
How to start the WinCC OA OPC A&E server automatically
If you use the WinCC OA OPC A&E client and the WinCC OA OPC A&E server to exchange data, the server normally starts automatically in the background when the client is started.
If you want the server to start automatically if it runs in another WinCC OA project, proceed as follows:
Go to the Windows registry (shortcut Win + R, type regedit
) and search for
the keyword “WinCC OA.OPCAE.1”. Select the LocalServer32 entry and add -proj
<project_name> to the command.