
Siemens TCP/IP Ethernet Driver Help
0-15
*These are raw strings that differ in structure and usage from the STEP 7 string data type.
Note:
Use caution when modifying Word, Short, DWord, and Long type as each address starts at a byte offset within
the device. Therefore, Words MW0 and MW1 overlap at byte 1. Writing to MW0 will also modify the value held in
MW1. Similarly, DWord, and Long types can also overlap. It is recommended that these memory types be used so
that overlapping does not occur. For example, DWord MD0, MD4, MD8, and so on can be used to prevent
overlapping bytes.
See Also: Examples
String Support
Raw Strings
For an address DBx,By.n @ string, string values read and written are stored at byte offset y.
y y+1 y+2 ... y+n-1
' ' ' ' ' ' ... ' '
Raw strings are null terminated. If the maximum string length is 10 and 3 characters are written, the fourth
character is set to NULL, while characters 5-10 are left untouched.
String Support
The string subtype follows the STEP 7 string data type definition. The syntax for the string S7 data type is
STRINGy.n where y is the Byte offset, and n is the maximum string length. If n is not specified, the maximum
string length will be 210 characters. String values read and written are stored at byte offset y+2 in data block x.
The actual string length gets updated with every write based on the string length of the string being written.
y y+1 y+2 y+3 y+4 ... y+2+n-1
maximum string length (n) actual string length ' ' ' ' ' ' ... ' '
Note:
String strings are NULL padded. If the maximum string length is 10 and 3 characters are written, characters 4-
10 are set to NULL.
Hex Strings
The HEXSTRING subtype is specific to the Siemens TCP/IP Ethernet Driver. The syntax for the HEXSTRING
subtype is HEXSTRINGy.n, where y is the byte offset and n is the length. The n value must be specified in the
range of 1 through 212. String is the only valid data type for a HEXSTRING tag.
The value assigned to a HEXSTRING must be an even number of characters. There is no padding, so the entire
string must be specified. For example, tag HexStr defined as DB1,STRING0.10 uses 10 bytes of storage and has
a display length of 20. To assign a value, the string must be 20 characters long and contain only valid
hexadecimal characters. An example valid hex string for this tag is “56657273696f6E353137”.
Array Support
The [rows][cols] notation is appended to an address to specify an array (such as MW0[2][5]). If no rows are
specified, row count of 1 is assumed. Boolean arrays and string arrays are not supported.
For Word, Short, and BCD arrays, the base address + (rows * cols * 2) cannot exceed 65536. Keep in mind that
the elements of the array are words, located on a word boundary. For example, IW0[4] would return IW0, IW2,
IW4, and IW6.
For Float, DWord, Long, and Long BCD arrays, the base address + (rows * cols * 4) cannot exceed 65536. Keep
in mind that the elements of the array are DWord, located on a DWord boundary. For example, ID0[4] will return
ID0, ID4, ID8, ID12.
For all arrays, the total number of bytes being requested cannot exceed the internal block size of 212 bytes.
Timers
The Siemens TCP/IP Ethernet Driver automatically scales T values based on the Siemens S5 time format. Timer
data is stored as a Word in the PLC but scaled to a DWord in the driver. The value returned will already be scaled
using the appropriate Siemens time base. As a result, the values are always returned as a count of milliseconds.
www. kepware.com
46
Kommentare zu diesen Handbüchern