...
Note: communication via Profinet/Profibus adapter ACCON-NetLink-PRO compact produced by company DELTALOGIC has been verified. Communication with multiple S-300 series PLCs on Profibus worked after firmware upgrade of adapter to version V2.54 (31. march 2015) with adapter's BIOS version V2.39 (7. June 2011). When the adapter's firmware was version V2.37 (8.august 2011), communication could not be correctly established.
Note: communication with PLC Siemens LOGO was tested. A part of memory that is accessible for reading/writing is the V area that is seen as DB1.
Note: the protocol has a "big endian" data representation.
Kotva |
---|
| komunikacna_linka |
---|
| komunikacna_linka |
---|
|
Communication line configuration
...
; | Optional parameter. It disables the I/O tag from communication, stops I/O tag address check when it is saved and can be useful when the communication with the device is activated or debugged. |
S7:[connectionname] | Optional parameter. It does not contain any useful information but it is supported only because of backward compatibility with Siemens SimaticNET OPC server. |
DB | Data block. S7 variable identifier from "Data block". |
DI | Instance data block. S7 variable identifier from " Instance data block". |
<no> | A number of "data block" or "instance data block". |
<object> | Specification of block or area in S7 PLC. Possible values: Value
| Description (German name) |
---|
I | Input (Eingang, E) | Q | Output (Ausgang, A) | PI | Peripheral Input ( Peripherie Eingang, PE) | PQ | Peripheral Output ( Peripherie Ausgang, PA) | M | Memory bit (F) | C | Counter (Zähler, Z) - BCD coded integer numbers <0-999> | T | Timer (Timer, T) - BCD coded time values from intervals <0.00-9.99>, <00.0-99.9>, <000-999>, <0000-9.9990> | | System Status Lists (System-ZustandsListen, SZL) - lists with diagnostic information that are available on CPU family S7-300 and S7-400. Diagnostic information differs for various classes of PLC and details are described in manuals (e.g. System Software for S7-300/400 System and Standard Functions, Volume 1/2) Note: I/O tag S must be of TxtI type. |
|
<type> | Data type of S7. It is not specified for T, C and S objects.
Identifier <type> | Description |
---|
X | Bit (boolean). Specify a bit number 0 to 7 - e.g. DB9,X8.3 | B | Byte (8 bits unsigned). | W | Word (16 bits unsigned). | D | Double word (32 bits unsigned). | CHAR | Character (8 bits signed). | INT | Integer (16 bits signed). | DINT | Double integer (32 bits signed). | BCD | BCD-coded 2-byte number (0-9 999) | LBCD | BCD-kódované 4-byte number (0-99 999 999) | REAL | Floating point number (32 bits according to IEEE754 standard). | LREAL | Long floating point number (64 bits according to IEEE754 standard). | STRING | String. Specify maximal length of string. | CHARARR | Array of CHARs interpreted as a string. Array length must be specified. | DT | Date and Time, 8 bytes in BCD format. | TIME | Time (32 bits signed) in ms. | TOD | Time of day (32 bits unsigned) in ms. |
Note: The CHARARR type is a D2000 extension that allows you to read/write an array of CHARs as a string. This type is not compatible with the Siemens SimaticNET OPC server addressing. The difference between CHARARR and STRING is as follows: - STRING - standard format of the S7 string, when there are 2 bytes in front of the string itself (maximum and current string length). For example, a 10-character STRING takes up 12 bytes.
- CHARARR - array of characters, without a 2-byte header. For example, CHARARR with a length of 10 characters takes up 10 bytes.
|
<address> | Address of variable. Possible types:- Byte offset (offset within a block, a number 0-65535)
- Byte offset.bit (only for X data type, bit number in the range of 0 to 7)
- Byte offset.String length (only for STRING data type, string length from 1 to 254 characters)
- Id.Index[.StringOffset[.StringLength]] - only for object S (system status list):
- Id and Index are 16-bit numbers in range 0-65535 defining ID of specific system status list and index of item in this list
- StringOffset and StringLength are byte offset (0..65535) and length (1..65535) of substring in answer, which will be parsed as a value of I/O tag.
Example: address S237.1.10.20 represents status list 237 (0x0111), index 1 (Identification of the module). S7-300 will answer to this request by a 36 byte-long string (bytes 0..35) in which bytes 10..29 (i.e. offset=10, length=20) represent "Order number of the module", e.g. '6GK7 342-5DA02-0XE0 '. Example of addresses:- DB10,W35
- DB8,X10.0
- DB1,REAL12
- DB5,STRING5.14
- DB5,CHARARR5.14
- T20
- C7
- MB11
- MDINT30
- QX3.7
|
<items> | number of elements for structured I/O tags with configured Destination column. Every read element (1,2,3 .. items) will be written to one item of destination column. Structured I/O tags are not supported for objects of type T (timers), C (counters) and S (system status lists) nor for data type STRING. Note: All items elements are read at once. If e.g. 100 elements of type D (double word) are configured, it means reading of a block of 400 bytes. If a smaller size of packet (S7 PDU size) is agreed on during establishment of connection, reading of this I/O tag will not be performed and trace file of line will contain an error message. Agreed S7 PDU size is minimum of size offered by D2000 (parameter S7 PDU Size) and supported size of specific device. Note: syntax of address when specifying number of elements is compatible with Siemens S7 OPC server (e.g. S7:[MyPLC]DB120,INT1050, 24), which facilitates simple transition from OPC communication to Siemens SIMATIC S7 ISO on TCP protokol by configuring a new line, a new station and then changing parent of I/O tags (e.g. via CSV or XML export and import).
Example of addresses:- DB10,W35, 20 a block of 20 words will be read (i.e. 40 bytes) from addresses 35-54
- DB8,X10.0, 100 a block of 100 bits will be read (i.e. 13 bytes) from addresses 10-22
|
...
- Ver. 1.0 - September 17, 2010 - Document written.
- Ver. 1.1 - July 2, 2020 - Support for CHARARR.
- Ver. 1.2 - July 9, 2020 - Support for BCD and LBCD.
...