WEBfactory 2010

SIMATIC Connector in WEBfactoryStudio

The WEBfactory SIMATIC Connector allows the user to establish communication with all the S7 PLC series, using the S7-TCP/IP channel. In WEBfactoryStudio, the SIMATIC Connector can be added in the project using the contextual menu of the server from the Signals tree menu.

Capture1736.jpg

Configuring the SIMATIC Connector

Unlike the other connectors available in WEBfactoryStudio, the SIMATIC Connector offers a slightly different functionality. While having no Connector Configuration panel in Studio, the SIMATIC Connector allows the user to access its configuration tool from the connector's contextual menu in the Signals tree menu.

Capture1737.jpg

Besides the already familiar options of creating signal groups, deleting the connector or refreshing the list, the SIMATIC Connector contextual menu offers two particular options:

  • Open Configuration Tool - Opens the SIMATIC connector configuration tool (ACCON-AGLink V4 Configuration)

  • Generate XML Configuration - Generates an XML configuration based on the settings applied to the SIMATIC connector in WEBfactoryStudio.

The user must Generate XML Configuration whenever the SIMATIC connector configuration has been changed!

Using the configuration tool to set up the SIMATIC Connector

The first steps in setting up the SIMATIC Connector will take place in the connector's configuration tool (ACCON-AGLink V4 Configuration).

Capture1738.jpg

The SIMATIC Connector's configuration tool allows the user to add multiple S7-TCP/IP devices and configure the TCP/IP channel and Connections for every existing device. Once the devices have been set up, the user has the ability to connect different PLCs to the S7-TCP/IP devices, using the Connections panel form the Devices tab.

Capture1740.jpg

When connecting a PLC to the S7-TCP/IP device, the user must specify the PLC number, the IP address, rack, slot and type. The PLC types that can communicate with the S7-TCP/IP device are:

  • LOGO!

  • S7-300/400

  • S7-200

  • S7-1200 (Note: Read the PLC documentation for the access settings)

  • S7-1500 (Note: Read the PLC documentation for the access settings)

The S7-1200 and S7-1500 PLC requires the following settings in order to operate as expected:

  1. ALLOW Put/Get Communication

    image-2016-11-17-08-47-18-642.png
  2. DO NOT activate "Optimierter Bausteinzugriff"

image-2016-11-17-08-48-34-835.png

The settings done in the SIMATIC Connector's configuration tool will be saved in a predefined location, visible in the Options Program tab.

Capture1742.jpg

NOTE

The SIMATIC Connector configuration may be copied from one Server to another. To organize this action, copy all files from %ProgramData%\WEBfactory\SimaticConnector from the source server to the destination server.

IMPORTANT

The Device number and the PLC number are crucial in defining the signals inside WEBfactoryStudio!

Using the configuration tool to test the SIMATIC Connector setup

The Test tab of the configuration tool allows the user to test a specific PLC connected to the selected Device.

Capture1741.jpg

To test a PLC connection, the user must select the desired Device from the Device to test list, specify the PLC number of the PLC that needs testing and click the Test button. If the test succeeds, no error will be displayed in the console and the connected PLC of the Device will be listed in the test grid.

Setting up signals for the SIMATIC Connector in WEBfactoryStudio

To set up signals inside WEBfactoryStudio for the SIMATCI Connector, a special format must be used in the signal's Connector address. The signal's connector address is composed from three important data:

  • the Device number - the Device number from the SIMATIC Connector's configuration tool

  • the PLC number - the PLC number from the SIMATIC Connector's configuration tool

  • the data type - see list below

The signal's connector address will look like this:

  1. "Device_number"."PLC_number"/"data_type"

  2. "Device_number"."PLC_number"\"data_type"

Capture1743.jpg

Note that the separator used between the Device_number and the PLC_number will always be "." (dot), while the separator used between the PLC_number and the data_type can be either "\" (back-slash) or "/" (forward-slash).

The following signals will be ignored (a message will be logged in the Activity Analyzer):

  • virtual signals (VChannel)

  • duplicate signals having the same Connector address

  • signals with an invalid format

The Diagnose Signals

The Diagnose Signal is a Counter which counts upwards when a error in SIMATIC communication occurs. Diag Counter is only reset when SIMATIC connector performs a restart.

Syntax for WEBfactory Studio usage:

diag.[Device Number].[PLC Number]

A Diagnose signal is unique based on the Device_number and PLC_number combination.

The Data Types

The following table contains all the supported data types:

Description

Format

Range

Example

Data Type

Input bit

Ix.y

x:0-65535

y:0-7

I2.0

bool

Input byte / unsigned

IBx

x:0-65535

IB4

byte

Input word / unsigned

IWx

x:0-65534

IW0

ushort

Input word / signed

IWx:INT

x:0-65534

IW6:INT

short

Input double word / unsigned

IDx

x:0-65532

ID4

uint

Input double word / signed

IDx:DINT

x:0-65532

ID4:DINT

int

Input double word / REAL

IDx:REAL

x:0-65532

ID4:REAL

float

Output bit

Qx.y

x:0-65535

y:0-7

Q2.0

bool

Output byte /unsigned

QBx

x:0-65535

QB4

byte

Output word / unsigned

QWx

x:0-65534

QW0

ushort

Output word / signed

QWx:INT

x:0-65534

QW6:INT

short

Output double word / unsigned

QDx

x:0-65532

QD4

uint

Output double word / signed

QDx:DINT

x:0-65532

QD4:DINT

int

Output double word / REAL

QDx:REAL

x:0-65532

QD4:REAL

float

Marker bit

Mx.y

x:0-65535

y:0-7

M2.0

bool

Marker byte / unsigned

MBx

x:0-65535

MB4

byte

Marker word / unsigned

MWx

x:0-65534

MW0

ushort

Marker word / signed

MWx:INT

x:0-65534

MW6:INT

short

Marker double word / unsigned

MDx

X:0-65534

MD4

uint

Marker double word / signed

MDx:DINT

x:0-65532

MD4:DINT

int

Marker double word / REAL

MDx:REAL

x:0-65532

MD4:REAL

float

Time / S5Time

Tx

x:0-?

T0

string

Time / BCD

Tx:BCD

x:0-?

T0:BCD

ushort

Counter / BCD

Cx

x:0-?

C0

short

Counter / word

Cx:WORD

x:0-?

C0:WORD

ushort

Data bit

DBz.DBXx.y

x:0-65535

y:0-7

z:1-65536

DB54.DBX1.0

bool

Data bit - array

DBz.DBXx.y[0..w]

x:0-65535

y:0-7

z:1-65536

w:0-?

DB54.DBX1.0[0..2]

bool[]

Data byte / unsigned

DBz.DBBx

x:0-65535

z:1-65536

DB63.DBB12

byte

Data byte - array

DBz.DBBx[0..w]

x:0-65535

w:0-(65535 - x)

z:1-65536

DB63.DBB12[0..5]

byte[]

Data byte / ASCII - array

DBz.DBBx:ASCII[0..w]

x:0-65535

w:0-(65535 - x)

z:1-65536

DB50.DBB0:ASCII[0..4]

string

Data byte / signed

DBz.DBBx:CHAR

x:0-65535

z:1-65536

DB63.DBB12:CHAR

char

Data byte / signed - array

DBz.DBBx:CHAR[0..w]

x:0-65535

w:0-(65535 - x)

z:1-65536

DB63.DBB12:CHAR[0..5]

char[]

Data byte / STRING

DBz.DBBx:STRING

x:0-65533

z:1-65536

DB50.DBB0:STRING

string

Data word / unsigned

DBz.DBWx

x:0-65534

z:1-65536

DB10.DBW292

ushort

Data word / unsigned - array

DBz.DBWx[0..w]

x:0-65534

w:0-((65536 – x) / 2) - 1) ; rounded down

z:1-65536

DB10.DBW292[0..7]

ushort[]

Data word / signed

DBz.DBWx:INT

x:0-65534

z:1-65536

DB10.DBW292:INT

short

Data word / signed - array

DBz.DBWx:INT[0..w]

x:0-65534

w:0 - ((65536 – x) / 2) - 1) ; rounded down

z:1-65536

DB10.DBW292:INT[0..7]

short[]

Data word / S5Time

DBz.DBWx:S5TIME

x:0-65534

z:1-65536

DB10.DBW292:S5TIME

string

Data word / DATE

DBz.DBWx:DATE

x:0-65534

z:1-65536

DB10.DBW294:DATE

string

Data double word / unsigned

DBz.DBDx

x:0-65532

z:1-65536

DB10.DBD24

uint

Data double word / unsigned – array

DBz.DBDx[0..w]

x:0-65532

w:0 - ((65536 – x) / 4) - 1) ; rounded down

z:1-65536

DB10.DBD24[0..8]

uint[]

Data double word / signed

DBz.DBDx:DINT

x:0-65532

z:1-65536

DB10.DBD24:DINT

int

Data double word / signed – array

DBz.DBDx:DINT[0..w]

x:0-65532

w:0 - ((65536 – x) / 4) - 1) ; rounded down

z:1-65536

DB10.DBD24:DINT[0..8]

int[]

Data double word / REAL

DBz.DBDx:REAL

x:0-65532 

z:1-65536

DB10.DBD24:REAL

float

Data double word / REAL - array

DBz.DBDx:REAL[0..w]

x:0-65532

w:0 - ((65536 – x) / 4) - 1) ; rounded down 

z:1-65536

DB10.DBD24:REAL[0..8]

float[]

Data double word / TIME

DBz.DBDx:TIME

x:0-65532

z:1-65536

DB10.DBD24:TIME

string

Data double word / TIME_OF_DAY

DBz.DBDx:TIME_OF_DAY

x:0-65532

z:1-65536

DB10.DBD24:TIME_OF_DAY

string

DATE_AND_TIME

DBz.DBBx:DATE_AND_TIME

x:0-65528 

z:1-65536

DB10.DBB300:DATE_AND_TIME

string