Siemens S5 Driver Overview and Setup
Siemens S5 Driver Overview and Setup
Table of Contents
Siemens S5 Driver 1
Table of Contents 2
Siemens S5 Driver 4
Overview 4
Setup 5
Channel Properties — General 5
Channel Properties — Serial Communications 6
Channel Properties — Write Optimizations 9
Channel Properties — Advanced 10
Channel Properties — Communication Serialization 10
Device Properties — General 12
Operating Mode 13
Device Properties — Scan Mode 14
Device Properties — Timing 14
Device Properties — Auto-Demotion 15
Device Properties — Redundancy 16
Address Descriptions 18
www. ptc.com
3 Siemens S5 Driver
Index 60
www. ptc.com
Siemens S5 Driver 4
Siemens S5 Driver
Help version 1.037
Overview
What is the Siemens S5 Driver?
Device Setup
How do I configure a device for use with this driver?
Address Descriptions
How do I address a data location on a Siemens S5 Driver?
Overview
The Siemens S5 Driver provides a reliable way to connect Siemens S5 (AS511) devices to client applications;
including HMI, SCADA, Historian, MES, ERP, and countless custom applications. It is intended for use with
Siemens S5 PLCs communicating via the front programming port using AS511 protocol (which is specific for
each Siemens device). This driver has been designed to operate with a set range of Siemens equipment: it is
not recommended for use on devices that are not supported.
The Siemens S5 PLC family has a unique memory structure. Data within the PLC is not at fixed locations
within the PLC's memory space. As the PLC logic is created and modified, this memory space is continuously
updated and revised. When these revisions occur, the location of the key data elements (such as flags,
timers, counters, I/O, and data blocks) can move around in the PLC's memory. The Siemens S5 Driver has
been designed to read the location of these memory elements when the driver begins operation or detects a
communications error. If the PLC configuration changes, users must restart the Siemens S5 Driver or pull
and replace the cable connection. Both of these actions cause the driver to reacquire the location of all PLC
memory elements.
www. ptc.com
5 Siemens S5 Driver
Setup
Supported Devices
Siemens S5-90U
Siemens S5-95U
Siemens S5-100U-100
Siemens S5-100U-101
Siemens S5-100U-103
Siemens S5-101U
Siemens S5-115U-941
Siemens S5-115U-942
Siemens S5-115U-943
Siemens S5-115U-944
Siemens S5-115U-945
Siemens S5-135U-921
Siemens S5-135U-922
Siemens S5-135U-928
Siemens S5-155U-946
Siemens S5-155U-947
Communication Protocol
AS511 Current Loop
Ethernet Encapsulation
This driver supports Ethernet Encapsulation, which allows communications with serial devices attached to an
Ethernet network using a terminal server or device server. It may be invoked through COM ID in Channel
Properties. When used directly with a serial port, this driver only supports a single connection to a single
controller per serial port. When operating in Ethernet Encapsulation Mode, the driver supports up to 30
controllers per channel. In this mode, a single controller can be paired with a terminal server/device server
to form a single node. For more information, refer to the server's help documentation.
Note: The Siemens S5 AS511 protocol is sensitive to timing and gaps in the communications stream. If
the network experiences heavy packet loss or delay while using Ethernet Encapsulation, the Siemens S5
Driver may report a large number of timeout errors or be unable to communicate. In some cases, using a
switched network can help reduce these delays; however, it is not a guaranteed solution.
www. ptc.com
Siemens S5 Driver 6
Identification
Name: User-defined identity of this channel. In each server project, each channel name must be unique.
Although names can be up to 256 characters, some client applications have a limited display window when
browsing the OPC server's tag space. The channel name is part of the OPC browser information. The
property is required for creating a channel.
For information on reserved characters, refer to "How To... Properly Name a Channel, Device, Tag, and Tag
Group" in the server help.
Driver: Selected protocol / driver for this channel. This property specifies the device driver that was selected
during channel creation. It is a disabled setting in the channel properties. The property is required for
creating a channel.
Note: With the server's online full-time operation, these properties can be changed at any time. This
includes changing the channel name to prevent clients from registering data with the server. If a client has
already acquired an item from the server before the channel name is changed, the items are unaffected. If,
after the channel name has been changed, the client application releases the item and attempts to re-
acquire using the old channel name, the item is not accepted. With this in mind, changes to the properties
should not be made once a large client application has been developed. Utilize the User Manager to prevent
operators from changing properties and restrict access rights to server features.
Diagnostics
Diagnostics Capture: When enabled, this option makes the channel's diagnostic information available to
OPC applications. Because the server's diagnostic features require a minimal amount of overhead
processing, it is recommended that they be utilized when needed and disabled when not. The default is
disabled.
Note: This property is not available if the driver does not support diagnostics.
For more information, refer to "Communication Diagnostics" in the server help.
Note: With the server's online full-time operation, these properties can be changed at any time. Utilize
the User Manager to restrict access rights to server features, as changes made to these properties can
temporarily disrupt communications.
www. ptc.com
7 Siemens S5 Driver
Connection Type
Physical Medium: Choose the type of hardware device for data communications. Options include COM
Port, None, Modem, and Ethernet Encapsulation. The default is COM Port.
l None: Select None to indicate there is no physical connection, which displays the Operation with no
Communications section.
l COM Port: Select Com Port to display and configure the Serial Port Settings section.
l Modem: Select Modem if phone lines are used for communications, which are configured in the
Modem Settings section.
l Ethernet Encap.: Select if Ethernet Encapsulation is used for communications, which displays the
Ethernet Settings section.
l Shared: Verify the connection is correctly identified as sharing the current configuration with another
channel. This is a read-only property.
COM ID: Specify the Communications ID to be used when communicating with devices assigned to the
channel. The valid range is 1 to 9991 to 16. The default is 1.
Baud Rate: Specify the baud rate to be used to configure the selected communications port.
Data Bits: Specify the number of data bits per data word. Options include 5, 6, 7, or 8.
Parity: Specify the type of parity for the data. Options include Odd, Even, or None.
Stop Bits: Specify the number of stop bits per data word. Options include 1 or 2.
Flow Control: Select how the RTS and DTR control lines are utilized. Flow control is required to communicate
with some serial devices. Options are:
www. ptc.com
Siemens S5 Driver 8
Tip: When using two-wire RS-485, "echoes" may occur on the communication lines. Since this
communication does not support echo suppression, it is recommended that echoes be disabled or a RS-485
converter be used.
Operational Behavior
l Report Communication Errors: Enable or disable reporting of low-level communications errors.
When enabled, low-level errors are posted to the Event Log as they occur. When disabled, these
same errors are not posted even though normal request failures are. The default is Enable.
l Close Idle Connection: Choose to close the connection when there are no longer any tags being
referenced by a client on the channel. The default is Enable.
l Idle Time to Close: Specify the amount of time that the server waits once all tags have been
removed before closing the COM port. The default is 15 seconds.
Ethernet Settings
Note: Not all serial drivers support Ethernet Encapsulation. If this group does not appear, the functionality
is not supported.
Ethernet Encapsulation provides communication with serial devices connected to terminal servers on the
Ethernet network. A terminal server is essentially a virtual serial port that converts TCP/IP messages on the
Ethernet network to serial data. Once the message has been converted, users can connect standard devices
that support serial communications to the terminal server. The terminal server's serial port must be
properly configured to match the requirements of the serial device to which it is attached. For more
information, refer to "How To... Use Ethernet Encapsulation" in the server help.
l Network Adapter: Indicate a network adapter to bind for Ethernet devices in this channel. Choose a
network adapter to bind to or allow the OS to select the default.
Specific drivers may display additional Ethernet Encapsulation properties. For more information, refer
to Channel Properties — Ethernet Encapsulation.
Modem Settings
l Modem: Specify the installed modem to be used for communications.
l Connect Timeout: Specify the amount of time to wait for connections to be established before failing
a read or write. The default is 60 seconds.
l Modem Properties: Configure the modem hardware. When clicked, it opens vendor-specific modem
properties.
www. ptc.com
9 Siemens S5 Driver
l Auto-Dial: Enables the automatic dialing of entries in the Phonebook. The default is Disable. For more
information, refer to "Modem Auto-Dial" in the server help.
l Report Communication Errors: Enable or disable reporting of low-level communications errors.
When enabled, low-level errors are posted to the Event Log as they occur. When disabled, these
same errors are not posted even though normal request failures are. The default is Enable.
l Close Idle Connection: Choose to close the modem connection when there are no longer any tags
being referenced by a client on the channel. The default is Enable.
l Idle Time to Close: Specify the amount of time that the server waits once all tags have been
removed before closing the modem connection. The default is 15 seconds.
Write Optimizations
Optimization Method: Controls how write data is passed to the underlying communications driver. The
options are:
l Write All Values for All Tags: This option forces the server to attempt to write every value to the
controller. In this mode, the server continues to gather write requests and add them to the server's
internal write queue. The server processes the write queue and attempts to empty it by writing data
to the device as quickly as possible. This mode ensures that everything written from the client
applications is sent to the target device. This mode should be selected if the write operation order or
the write item's content must uniquely be seen at the target device.
l Write Only Latest Value for Non-Boolean Tags: Many consecutive writes to the same value can
accumulate in the write queue due to the time required to actually send the data to the device. If the
server updates a write value that has already been placed in the write queue, far fewer writes are
needed to reach the same final output value. In this way, no extra writes accumulate in the server's
queue. When the user stops moving the slide switch, the value in the device is at the correct value at
virtually the same time. As the mode states, any value that is not a Boolean value is updated in the
server's internal write queue and sent to the device at the next possible opportunity. This can greatly
improve the application performance.
Note: This option does not attempt to optimize writes to Boolean values. It allows users to
optimize the operation of HMI data without causing problems with Boolean operations, such as a
momentary push button.
www. ptc.com
Siemens S5 Driver 10
l Write Only Latest Value for All Tags: This option takes the theory behind the second optimization
mode and applies it to all tags. It is especially useful if the application only needs to send the latest
value to the device. This mode optimizes all writes by updating the tags currently in the write queue
before they are sent. This is the default mode.
Duty Cycle: is used to control the ratio of write to read operations. The ratio is always based on one read for
every one to ten writes. The duty cycle is set to ten by default, meaning that ten writes occur for each read
operation. Although the application is performing a large number of continuous writes, it must be ensured
that read data is still given time to process. A setting of one results in one read operation for every write
operation. If there are no write operations to perform, reads are processed continuously. This allows
optimization for applications with continuous writes versus a more balanced back and forth data flow.
Note: It is recommended that the application be characterized for compatibility with the write
optimization enhancements before being used in a production environment.
l Replace with Zero: This option allows a driver to replace non-normalized IEEE-754 floating point
values with zero before being transferred to clients.
l Unmodified: This option allows a driver to transfer IEEE-754 denormalized, normalized, non-
number, and infinity values to clients without any conversion or changes.
Note: This property is not available if the driver does not support floating point values or if it only supports
the option that is displayed. According to the channel's float normalization setting, only real-time driver tags
(such as values and arrays) are subject to float normalization. For example, EFM data is not affected by this
setting.
For more information on the floating point values, refer to "How To ... Work with Non-Normalized Floating
Point Values" in the server help.
Inter-Device Delay: Specify the amount of time the communications channel waits to send new requests to
the next device after data is received from the current device on the same channel. Zero (0) disables the
delay.
Note: This property is not available for all drivers, models, and dependent settings.
www. ptc.com
11 Siemens S5 Driver
Ethernet radios). Communication serialization limits communication to one channel at a time within a virtual
network.
The term "virtual network" describes a collection of channels and associated devices that use the same
pipeline for communications. For example, the pipeline of an Ethernet radio is the master radio. All channels
using the same master radio associate with the same virtual network. Channels are allowed to communicate
each in turn, in a "round-robin" manner. By default, a channel can process one transaction before handing
communications off to another channel. A transaction can include one or more tags. If the controlling
channel contains a device that is not responding to a request, the channel cannot release control until the
transaction times out. This results in data update delays for the other channels in the virtual network.
Channel-Level Settings
Virtual Network This property specifies the channel's mode of communication serialization. Options
include None and Network 1 - Network 500. The default is None. Descriptions of the options are as follows:
Transactions per Cycle This property specifies the number of single blocked/non-blocked read/write
transactions that can occur on the channel. When a channel is given the opportunity to communicate, this is
the number of transactions attempted. The valid range is 1 to 99. The default is 1.
Global Settings
l Network Mode: This property is used to control how channel communication is delegated. In Load
Balanced mode, each channel is given the opportunity to communicate in turn, one at a time. In
Priority mode, channels are given the opportunity to communicate according to the following rules
(highest to lowest priority):
l Channels with pending writes have the highest priority.
l Channels with pending explicit reads (through internal plug-ins or external client interfaces)
are prioritized based on the read's priority.
l Scanned reads and other periodic events (driver specific).
The default is Load Balanced and affects all virtual networks and channels.
Devices that rely on unsolicited responses should not be placed in a virtual network. In situations where
communications must be serialized, it is recommended that Auto-Demotion be enabled.
Due to differences in the way that drivers read and write data (such as in single, blocked, or non-blocked
transactions); the application's Transactions per cycle property may need to be adjusted. When doing so,
consider the following factors:
www. ptc.com
Siemens S5 Driver 12
Identification
Name: This property specifies the name of the device. It is a logical user-defined name that can be up to
256 characters long, and may be used on multiple channels.
Note: Although descriptive names are generally a good idea, some OPC client applications may have a
limited display window when browsing the OPC server's tag space. The device name and channel name
become part of the browse tree information as well. Within an OPC client, the combination of channel name
and device name would appear as "ChannelName.DeviceName".
For more information, refer to "How To... Properly Name a Channel, Device, Tag, and Tag Group" in server
help.
Channel Assignment: User-defined name of the channel to which this device currently belongs.
Model: This property specifies the specific type of device that is associated with this ID. The contents of the
drop-down menu depends on the type of communications driver being used. Models that are not supported
by a driver are disabled. If the communications driver supports multiple device models, the model selection
can only be changed when there are no client applications connected to the device.
Note: If the communication driver supports multiple models, users should try to match the model
selection to the physical device. If the device is not represented in the drop-down menu, select a model that
conforms closest to the target device. Some drivers support a model selection called "Open," which allows
www. ptc.com
13 Siemens S5 Driver
users to communicate without knowing the specific details of the target device. For more information, refer
to the driver help documentation.
ID: This property specifies the device's driver-specific station or node. The type of ID entered depends on
the communications driver being used. For many communication drivers, the ID is a numeric value. Drivers
that support a Numeric ID provide users with the option to enter a numeric value whose format can be
changed to suit the needs of the application or the characteristics of the selected communications driver.
The format is set by the driver by default. Options include Decimal, Octal, and Hexadecimal.
Note: If the driver is Ethernet-based or supports an unconventional station or node name, the device's
TCP/IP address may be used as the device ID. TCP/IP addresses consist of four values that are separated by
periods, with each value in the range of 0 to 255. Some device IDs are string based. There may be additional
properties to configure within the ID field, depending on the driver. For more information, refer to the driver's
help documentation.
Operating Mode
Data Collection: This property controls the device's active state. Although device communications are
enabled by default, this property can be used to disable a physical device. Communications are not
attempted when a device is disabled. From a client standpoint, the data is marked as invalid and write
operations are not accepted. This property can be changed at any time through this property or the device
system tags.
Simulated: This option places the device into Simulation Mode. In this mode, the driver does not attempt to
communicate with the physical device, but the server continues to return valid OPC data. Simulated stops
physical communications with the device, but allows OPC data to be returned to the OPC client as valid data.
While in Simulation Mode, the server treats all device data as reflective: whatever is written to the simulated
device is read back and each OPC item is treated individually. The item's memory map is based on the group
Update Rate. The data is not saved if the server removes the item (such as when the server is reinitialized).
The default is No.
Notes:
1. This System tag (_Simulated) is read only and cannot be written to for runtime protection. The System
tag allows this property to be monitored from the client.
2. In Simulation mode, the item's memory map is based on client update rate(s) (Group Update Rate for
OPC clients or Scan Rate for native and DDE interfaces). This means that two clients that reference
the same item with different update rates return different data.
Simulation Mode is for test and simulation purposes only. It should never be used in a production
environment.
www. ptc.com
Siemens S5 Driver 14
Scan Mode: Specifies how tags in the device are scanned for updates sent to subscribing clients.
Descriptions of the options are:
l Respect Client-Specified Scan Rate: This mode uses the scan rate requested by the client.
l Request Data No Faster than Scan Rate: This mode specifies the value set as the maximum scan
rate. The valid range is 10 to 99999990 milliseconds. The default is 1000 milliseconds.
Note: When the server has an active client and items for the device and the scan rate value is
increased, the changes take effect immediately. When the scan rate value is decreased, the changes
do not take effect until all client applications have been disconnected.
l Request All Data at Scan Rate: This mode forces tags to be scanned at the specified rate for
subscribed clients. The valid range is 10 to 99999990 milliseconds. The default is 1000 milliseconds.
l Do Not Scan, Demand Poll Only: This mode does not periodically poll tags that belong to the
device nor perform a read to get an item's initial value once it becomes active. It is the client's
responsibility to poll for updates, either by writing to the _DemandPoll tag or by issuing explicit device
reads for individual items. For more information, refer to "Device Demand Poll" in server help.
l Respect Tag-Specified Scan Rate: This mode forces static tags to be scanned at the rate specified
in their static configuration tag properties. Dynamic tags are scanned at the client-specified scan
rate.
Initial Updates from Cache: When enabled, this option allows the server to provide the first updates for
newly activated tag references from stored (cached) data. Cache updates can only be provided when the
new item reference shares the same address, scan rate, data type, client access, and scaling properties. A
device read is used for the initial update for the first client reference only. The default is disabled; any time a
client activates a tag reference the server attempts to read the initial value from the device.
www. ptc.com
15 Siemens S5 Driver
Communications Timeouts
Connect Timeout: This property (which is used primarily by Ethernet based drivers) controls the amount of
time required to establish a socket connection to a remote device. The device's connection time often takes
longer than normal communications requests to that same device. The valid range is 1 to 30 seconds. The
default is typically 3 seconds, but can vary depending on the driver's specific nature. If this setting is not
supported by the driver, it is disabled.
Note: Due to the nature of UDP connections, the connection timeout setting is not applicable when
communicating via UDP.
Request Timeout: This property specifies an interval used by all drivers to determine how long the driver
waits for a response from the target device to complete. The valid range is 50 to 9,999,999 milliseconds
(167.6667 minutes). The default is usually 1000 milliseconds, but can vary depending on the driver. The
default timeout for most serial drivers is based on a baud rate of 9600 baud or better. When using a driver
at lower baud rates, increase the timeout to compensate for the increased time required to acquire data.
Attempts Before Timeout: This property specifies how many times the driver issues a communications
request before considering the request to have failed and the device to be in error. The valid range is 1 to
10. The default is typically 3, but can vary depending on the driver's specific nature. The number of attempts
configured for an application depends largely on the communications environment. This property applies to
both connection attempts and request attempts.
Timing
Inter-Request Delay: This property specifies how long the driver waits before sending the next request to
the target device. It overrides the normal polling frequency of tags associated with the device, as well as
one-time reads and writes. This delay can be useful when dealing with devices with slow turnaround times
and in cases where network load is a concern. Configuring a delay for a device affects communications with
all other devices on the channel. It is recommended that users separate any device that requires an inter-
request delay to a separate channel if possible. Other communications properties (such as communication
serialization) can extend this delay. The valid range is 0 to 300,000 milliseconds; however, some drivers may
limit the maximum value due to a function of their particular design. The default is 0, which indicates no
delay between requests with the target device.
Note: Not all drivers support Inter-Request Delay. This setting does not appear if it is not available.
Demote on Failure: When enabled, the device is automatically taken off-scan until it is responding again.
Tip: Determine when a device is off-scan by monitoring its demoted state using the _AutoDemoted
system tag.
www. ptc.com
Siemens S5 Driver 16
Timeouts to Demote: Specify how many successive cycles of request timeouts and retries occur before the
device is placed off-scan. The valid range is 1 to 30 successive failures. The default is 3.
Demotion Period: Indicate how long the device should be placed off-scan when the timeouts value is
reached. During this period, no read requests are sent to the device and all data associated with the read
requests are set to bad quality. When this period expires, the driver places the device on-scan and allows for
another attempt at communications. The valid range is 100 to 3600000 milliseconds. The default is 10000
milliseconds.
Discard Requests when Demoted: Select whether or not write requests should be attempted during the
off-scan period. Disable to always send write requests regardless of the demotion period. Enable to discard
writes; the server automatically fails any write request received from a client and does not post a message
to the Event Log.
www. ptc.com
17 Siemens S5 Driver
www. ptc.com
Siemens S5 Driver 18
Address Descriptions
Address specifications vary depending on the model in use. Select a link from the following list to obtain
specific address information for the model of interest.
Byte
IB0-IB127 Read/Write
Discrete Inputs
Word, Short
IW0-IW126 Read/Write
DWord,
ID0-ID124 Read/Write
Long
Boolean
Discrete Inputs E0.b-E127.b* Read/Write
Byte
EB0-EB127 Read/Write
Word, Short
EW0-EW126 Read/Write
DWord,
Note: I and E access the same memory area. ED0-ED124 Read/Write
Long
Q0.b-Q127.b* Boolean Read/Write
www. ptc.com
19 Siemens S5 Driver
DWord,
QD0-QD124 Read/Write
Long
Boolean
Discrete Outputs A0.b-A127.b* Read/Write
Byte
AB0-AB127 Read/Write
Word, Short
AW0-AW126 Read/Write
DWord,
Note: Q and A access the same memory area AD0-AD124 Read/Write
Long
Boolean
F0.b-F255.b* Read/Write
Byte
FB0-FB255 Read/Write
Internal Memory
Word, Short
FW0-FW254 Read/Write
DWord,
FD0-FD252 Read/Write
Long
Boolean
Internal Memory M0.b-M255.b* Read/Write
Byte
MB0-MB255 Read/Write
Word, Short
MW0-MW254 Read/Write
DWord,
Note: F and M access the same memory area. MD0-MD252 Read/Write
Long
Data Block DB1-N:KM0.b-KM255.b**
Boolean Read/Write
Boolean .b is Bit Number 0-15
Data Block
DB1-N:KL0-KL255** Byte Read/Write
Left Byte
Data Block
DB1-N:KR0-KR255** Byte Read/Write
Right Byte
Data Block
DB1-N:KH0-KH255** Word, Short Read/Write
Unsigned Word
Data Block
DB1-N:KF0-KF255** Short, Word Read/Write
Signed Word
Data Block Long,
DB1-N:KD0-KD254** Read/Write
Signed Long DWord
Data Block
DB1-N:KG0-KG254** Float Read/Write
Float
Data Block DB1-N:KS0.l-KS255.lH***
String Read/Write
String DB1-N:KS0.l-KS255.lL***
Data Block
DB1-N:KT0-KT255** Long Read/Write
Timer
Data Block DB1-N:KC0-KC255** Word, Short Read/Write
www. ptc.com
Siemens S5 Driver 20
Note: All offsets for memory types I, Q, and F represent a byte starting location within the specified
memory type.
Examples
l To access bit 3 of Internal Memory F20, declare an address as follows: F20.3
l To access Data Block 5 as word memory at element 30, declare an address as follows: DB5:KH30
l To access Data Block 2 element 20 and bit 7, declare an address as follows: DB2:KM20.7
l To access Data Block 1 as left byte memory at element 10, declare an address as follows: DB1:KL10
l To access Internal Memory F20 as a DWORD, declare an address as follows: FD20
l To access Input Memory I10 as a Word, declare an address as follows: IW10
Note: Use caution when modifying Word, Short, DWord, and Long types. For I, Q, and F each address
starts at a byte offset within the device. Therefore, Words FW0 and FW1 overlap at byte 1. Writing to FW0
modifies the value held in FW1. 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, when using DWords, use FD0,
FD4, FD8 ... and so on to prevent overlapping bytes.
Timers
The Siemens S5 Driver automatically scales T and KT values based on the Siemens S5 time format. The
value returned for either a T or KT memory type is scaled using the appropriate Siemens time base. As a
result, the values are always returned as a count of milliseconds. When writing to T or KT memory types, the
Siemens time base is applied. To write a value to a timer in the controller, simply write the desired value as a
count of milliseconds to the appropriate timer.
Counters
Counters are stored as three BCD digits on the device. The largest value that can be read or written to a
counter is 999.
Strings
String data is stored in data block registers, thus the actual number of bytes used to store the data is an
even number. For example, if a string of length 5 is specified, say by DB11:KS1.5, then 3 registers (6 bytes)
are used to store the string data. When writing strings shorter than the maximum specified length (5 in this
example), a null terminator (0x00) is added to the end of the string. When strings are read, the full range of
registers are read (3 in this example). Use of string tags with overlapping address ranges should be avoided
due to the effects of the null terminators. Appending either an "H" or "L" to the address specifies the byte
order.
www. ptc.com
21 Siemens S5 Driver
Byte
IB0-IB127 Read/Write
Discrete Inputs
Word, Short
IW0-IW126 Read/Write
DWord,
ID0-ID124 Read/Write
Long
Boolean
Discrete Inputs E0.b-E127.b * Read/Write
Byte
EB0-EB127 Read/Write
Word, Short
EW0-EW126 Read/Write
DWord,
Note: I and E access the same memory area. ED0-ED124 Read/Write
Long
Boolean
Q0.b-Q127.b* Read/Write
Byte
QB0-QB127 Read/Write
Discrete Outputs
Word, Short
QW0-QW126 Read/Write
DWord,
QD0-QD124 Read/Write
Long
Boolean
Discrete Outputs A0.b-A127.b* Read/Write
Byte
AB0-AB127 Read/Write
Word, Short
AW0-AW126 Read/Write
DWord,
Note: Q and A access the same memory area. AD0-AD124 Read/Write
Long
Boolean
F0.b-F255.b* Read/Write
Byte
FB0-FB255 Read/Write
Internal Memory
Word, Short
FW0-FW254 Read/Write
DWord,
FD0-FD252 Read/Write
Long
Internal Memory M0.b-M255.b* Boolean Read/Write
www. ptc.com
Siemens S5 Driver 22
Word, Short
MW0-MW254 Read/Write
DWord,
Note: F and M access the same memory area. MD0-MD252 Read/Write
Long
Data Block DB1-N:KM0.b-KM255.b**
Boolean Read/Write
Boolean .b is Bit Number 0-15
Data Block
DB1-N:KL0-KL255** Byte Read/Write
Left Byte
Data Block
DB1-N:KR0-KR255** Byte Read/Write
Right Byte
Data Block
DB1-N:KH0-KH255** Word, Short Read/Write
Unsigned Word
Data Block
DB1-N:KF0-KF255** Short, Word Read/Write
Signed Word
Data Block Long,
DB1-N:KD0-KD254** Read/Write
Signed Long DWord
Data Block
DB1-N:KG0-KG254** Float Read/Write
Float
Data Block DB1-N:KS0.l-KS255.lH***
String Read/Write
String DB1-N:KS0.l-KS255.lL***
Data Block
DB1-N:KT0-KT255** Long Read/Write
Timer
Data Block
DB1-N:KC0-KC255** Word, Short Read/Write
Counter
Timer Current Values T0-T127 Long Read/Write
Counter Current Values C0-C127 Word, Short Read/Write
Counter Current Values Z0-Z127 Word, Short Read/Write
Note: All offsets for memory types I, Q, and F represent a byte starting location within the specified
memory type.
Examples
l To access bit 3 of Internal Memory F20, declare an address as follows: F20.3
l To access Data Block 5 as word memory at element 30, declare an address as follows: DB5:KH30
l To access Data Block 2 element 20 and bit 7, declare an address as follows: DB2:KM20.7
l To access Data Block 1 as left byte memory at element 10, declare an address as follows: DB1:KL10
l To access Internal Memory F20 as a DWORD, declare an address as follows: FD20
l To access Input Memory I10 as a Word, declare an address as follows: IW10
www. ptc.com
23 Siemens S5 Driver
Note: Use caution when modifying Word, Short, DWord, and Long types. For I, Q, and F each address
starts at a byte offset within the device. Therefore, Words FW0 and FW1 overlap at byte 1. Writing to FW0
modifies the value held in FW1. 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, when using DWords, use FD0,
FD4, FD8 ... and so on to prevent overlapping bytes.
Timers
The Siemens S5 Driver automatically scales T and KT values based on the Siemens S5 time format. The
value returned for either a T or KT memory type is scaled using the appropriate Siemens time base. As a
result, the values are always returned as a count of milliseconds. When writing to T or KT memory types, the
Siemens time base is applied. To write a value to a timer in the controller, simply write the desired value as a
count of milliseconds to the appropriate timer.
Counters
Counters are stored as three BCD digits on the device. The largest value that can be read or written to a
counter is 999.
Strings
String data is stored in data block registers, thus the actual number of bytes used to store the data is an
even number. For example, if a string of length 5 is specified, say by DB11:KS1.5, then 3 registers (6 bytes)
are used to store the string data. When writing strings shorter than the maximum specified length (5 in this
example), a null terminator (0x00) is added to the end of the string. When strings are read, the full range of
registers are read (3 in this example). Use of string tags with overlapping address ranges should be avoided
due to the effects of the null terminators. Appending either an "H" or "L" to the address specifies the byte
order.
Byte
IB0-IB127 Read/Write
Discrete Inputs
Word, Short
IW0-IW126 Read/Write
DWord,
ID0-ID124 Read/Write
Long
Boolean
Discrete Inputs E0.b-E127.b* Read/Write
Byte
EB0-EB127 Read/Write
Word, Short
EW0-EW126 Read/Write
DWord,
Note: I and E access the same memory area. ED0-ED124 Read/Write
Long
Q0.b-Q127.b* Boolean Read/Write
Discrete Outputs
www. ptc.com
Siemens S5 Driver 24
Word, Short
QW0-QW126 Read/Write
DWord,
QD0-QD124 Read/Write
Long
Boolean
Discrete Outputs A0.b-A127.b* Read/Write
Byte
AB0-AB127 Read/Write
Word, Short
AW0-AW126 Read/Write
DWord,
Note: Q and A access the same memory area. AD0-AD124 Read/Write
Long
Boolean
F0.b-F255.b* Read/Write
Byte
FB0-FB255 Read/Write
Internal Memory
Word, Short
FW0-FW254 Read/Write
DWord,
FD0-FD252 Read/Write
Long
Boolean
Internal Memory M0.b-M255.b* Read/Write
Byte
MB0-MB255 Read/Write
Word, Short
MW0-MW254 Read/Write
DWord,
Note: F and M access the same memory area. MD0-MD252 Read/Write
Long
DB1-N:KM0.b-KM255.b**
Data Block Boolean Boolean Read/Write
.b is Bit Number 0-15
Data Block Left Byte DB1-N:KL0-KL255** Byte Read/Write
Data Block Right Byte DB1-N:KR0-KR255** Byte Read/Write
Data Block Unsigned Word DB1-N:KH0-KH255** Word, Short Read/Write
Data Block Signed Word DB1-N:KF0-KF255** Short, Word Read/Write
Long,
Data Block Signed Long DB1-N:KD0-KD254** Read/Write
DWord
Data Block Float DB1-N:KG0-KG254** Float Read/Write
DB1–N:KS0.l–
Data Block String KS255.lH*** String Read/Write
DB1–N:KS0.l–KS255.lL***
Data Block Timer DB1-N:KT0-KT255** Long Read/Write
Data Block Counter DB1-N:KC0-KC255** Word, Short Read/Write
Timer Current Values T0-T127 Long Read/Write
www. ptc.com
25 Siemens S5 Driver
Note: All offsets for memory types I, Q, and F represent a byte starting location within the specified
memory type.
Examples
l To access bit 3 of Internal Memory F20, declare an address as follows: F20.3
l To access Data Block 5 as word memory at element 30, declare an address as follows: DB5:KH30
l To access Data Block 2 element 20 and bit 7, declare an address as follows: DB2:KM20.7
l To access Data Block 1 as left byte memory at element 10, declare an address as follows: DB1:KL10
l To access Internal Memory F20 as a DWORD, declare an address as follows: FD20
l To access Input Memory I10 as a Word, declare an address as follows: IW10
Note: Use caution when modifying Word, Short, DWord, and Long types. For I, Q, and F each address
starts at a byte offset within the device. Therefore, Words FW0 and FW1 overlap at byte 1. Writing to FW0
modifies the value held in FW1. 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, when using DWords, use FD0,
FD4, FD8 ... and so on to prevent overlapping bytes.
Timers
The Siemens S5 Driver automatically scales T and KT values based on the Siemens S5 time format. The
value returned for either a T or KT memory type is scaled using the appropriate Siemens time base. As a
result, the values are always returned as a count of milliseconds. When writing to T or KT memory types, the
Siemens time base is applied. To write a value to a timer in the controller, simply write the desired value as a
count of milliseconds to the appropriate timer.
Counters
Counters are stored as three BCD digits on the device. The largest value that can be read or written to a
counter is 999.
Strings
String data is stored in data block registers, thus the actual number of bytes used to store the data is an
even number. For example, if a string of length 5 is specified, say by DB11:KS1.5, then 3 registers (6 bytes)
are used to store the string data. When writing strings shorter than the maximum specified length (5 in this
example), a null terminator (0x00) is added to the end of the string. When strings are read, the full range of
registers are read (3 in this example). Use of string tags with overlapping address ranges should be avoided
due to the effects of the null terminators. Appending either an "H" or "L" to the address specifies the byte
order.
www. ptc.com
Siemens S5 Driver 26
Byte
IB0-IB127 Read/Write
Discrete Inputs
Word, Short
IW0-IW126 Read/Write
DWord,
ID0-ID124 Read/Write
Long
Boolean
Discrete Inputs E0.b-E127.b* Read/Write
Byte
EB0-EB127 Read/Write
Word, Short
EW0-EW126 Read/Write
DWord,
Note: I and E access the same memory area. ED0-ED124 Read/Write
Long
Boolean
Q0.b-Q127.b* Read/Write
Byte
QB0-QB127 Read/Write
Discrete Outputs
Word, Short
QW0-QW126 Read/Write
DWord,
QD0-QD124 Read/Write
Long
Boolean
Discrete Outputs A0.b-A127.b* Read/Write
Byte
AB0-AB127 Read/Write
Word, Short
AW0-AW126 Read/Write
DWord,
Note: Q and A access the same memory area. AD0-AD124 Read/Write
Long
Boolean
F0.b-F255.b * Read/Write
Byte
FB0-FB255 Read/Write
Internal Memory
Word, Short
FW0-FW254 Read/Write
DWord,
FD0-FD252 Read/Write
Long
Internal Memory M0.b-M255.b* Boolean Read/Write
www. ptc.com
27 Siemens S5 Driver
DWord,
Note: F and M access the same memory area. MD0-MD252 Read/Write
Long
DB1-N:KM0.b-KM255.b**
Data Block Boolean Boolean Read/Write
.b is Bit Number 0-15
Data Block Left Byte DB1-N:KL0-KL255** Byte Read/Write
Data Block Right Byte DB1-N:KR0-KR255** Byte Read/Write
Data Block Unsigned Word DB1-N:KH0-KH255** Word, Short Read/Write
Data Block Signed Word DB1-N:KF0-KF255** Short, Word Read/Write
Long,
Data Block Signed Long DB1-N:KD0-KD254** Read/Write
DWord
Data Block Float DB1-N:KG0-KG254** Float Read/Write
DB1-N:KS0.l-KS255.lH***
Data Block String String Read/Write
DB1-N:KS0.l-KS255.lL***
Data Block Timer DB1-N:KT0-KT255** Long Read/Write
Data Block Counter DB1-N:KC0-KC255** Word, Short Read/Write
Timer Current Values T0-T127 Long Read/Write
Counter Current Values C0-C127 Word, Short Read/Write
Counter Current Values Z0-Z127 Word, Short Read/Write
Note: All offsets for memory types I, Q, and F represent a byte starting location within the specified
memory type.
Examples
l To access bit 3 of Internal Memory F20, declare an address as follows: F20.3
l To access Data Block 5 as word memory at element 30, declare an address as follows: DB5:KH30
l To access Data Block 2 element 20 and bit 7, declare an address as follows: DB2:KM20.7
l To access Data Block 1 as left byte memory at element 10, declare an address as follows: DB1:KL10
l To access Internal Memory F20 as a DWORD, declare an address as follows: FD20
l To access Input Memory I10 as a Word, declare an address as follows: IW10
Note: Use caution when modifying Word, Short, DWord, and Long types. For I, Q, and F each address
starts at a byte offset within the device. Therefore, Words FW0 and FW1 overlap at byte 1. Writing to FW0
modifies the value held in FW1. 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, when using DWords, use FD0,
FD4, FD8, ... and so on to prevent overlapping bytes.
Timers
www. ptc.com
Siemens S5 Driver 28
The Siemens S5 Driver automatically scales T and KT values based on the Siemens S5 time format. The
value returned for either a T or KT memory type is scaled using the appropriate Siemens time base. As a
result, the values are always returned as a count of milliseconds. When writing to T or KT memory types, the
Siemens time base is applied. To write a value to a timer in the controller, simply write the desired value as a
count of milliseconds to the appropriate timer.
Counters
Counters are stored as three BCD digits on the device. The largest value that can be read or written to a
counter is 999.
Strings
String data is stored in data block registers, thus the actual number of bytes used to store the data is an
even number. For example, if a string of length 5 is specified, say by DB11:KS1.5, then 3 registers (6 bytes)
are used to store the string data. When writing strings shorter than the maximum specified length (5 in this
example), a null terminator (0x00) is added to the end of the string. When strings are read, the full range of
registers are read (3 in this example). Use of string tags with overlapping address ranges should be avoided
due to the effects of the null terminators. Appending either an "H" or "L" to the address specifies the byte
order.
Byte
IB0-IB127 Read/Write
Discrete Inputs
Word, Short
IW0-IW126 Read/Write
DWord,
ID0-ID124 Read/Write
Long
Boolean
Discrete Inputs E0.b-E127.b* Read/Write
Byte
EB0-EB127 Read/Write
Word, Short
EW0-EW126 Read/Write
DWord,
Note: I and E access the same memory area. ED0-ED124 Read/Write
Long
Boolean
Q0.b-Q127.b* Read/Write
Byte
QB0-QB127 Read/Write
Discrete Outputs
Word, Short
QW0-QW126 Read/Write
DWord,
QD0-QD124 Read/Write
Long
Discrete Outputs A0.b-A127.b* Boolean Read/Write
www. ptc.com
29 Siemens S5 Driver
Byte
AB0-AB127 Read/Write
Word, Short
AW0-AW126 Read/Write
DWord,
Note: Q and A access the same memory area. AD0-AD124 Read/Write
Long
Boolean
F0.b-F255.b* Read/Write
Byte
FB0-FB255 Read/Write
Internal Memory
Word, Short
FW0-FW254 Read/Write
DWord,
FD0-FD252 Read/Write
Long
Boolean
Internal Memory M0.b-M255.b* Read/Write
Byte
MB0-MB255 Read/Write
Word, Short
MW0-MW254 Read/Write
DWord,
Note: F and M access the same memory area. MD0-MD252 Read/Write
Long
DB1-N:KM0.b-KM255.b**
Data Block Boolean Boolean Read/Write
.b is Bit Number 0-15
Data Block Left Byte DB1-N:KL0-KL255** Byte Read/Write
Data Block Right Byte DB1-N:KR0-KR255** Byte Read/Write
Data Block Unsigned Word DB1-N:KH0-KH255** Word, Short Read/Write
Data Block Signed Word DB1-N:KF0-KF255** Short, Word Read/Write
Long,
Data Block Signed Long DB1-N:KD0-KD254** Read/Write
DWord
Data Block Float DB1-N:KG0-KG254** Float Read/Write
DB1–N:KS0.–KS255.lH***
Data Block String String Read/Write
DB1–N:KS0.–KS255.lL***
Data Block Timer DB1-N:KT0-KT255** Long Read/Write
Data Block Counter DB1-N:KC0-KC255** Word, Short Read/Write
Timer Current Values T0-T127 Long Read/Write
Counter Current Values C0-C127 Word, Short Read/Write
Counter Current Values Z0-Z127 Word, Short Read/Write
www. ptc.com
Siemens S5 Driver 30
Note: All offsets for memory types I, Q, and F represent a byte starting location within the specified
memory type.
Examples
l To access bit 3 of Internal Memory F20, declare an address as follows: F20.3
l To access Data Block 5 as word memory at element 30, declare an address as follows: DB5:KH30
l To access Data Block 2 element 20 and bit 7, declare an address as follows: DB2:KM20.7
l To access Data Block 1 as left byte memory at element 10, declare an address as follows: DB1:KL10
l To access Internal Memory F20 as a DWORD, declare an address as follows: FD20
l To access Input Memory I10 as a Word, declare an address as follows: IW10
Note: Use caution when modifying Word, Short, DWord, and Long types. For I, Q, and F each address
starts at a byte offset within the device. Therefore, Words FW0 and FW1 overlap at byte 1. Writing to FW0
modifies the value held in FW1. 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, when using DWords, use FD0,
FD4, FD8 ... and so on to prevent overlapping bytes.
Timers
The Siemens S5 Driver automatically scales T and KT values based on the Siemens S5 time format. The
value returned for either a T or KT memory type is scaled using the appropriate Siemens time base. As a
result, the values are always returned as a count of milliseconds. When writing to T or KT memory types, the
Siemens time base is applied. To write a value to a timer in the controller, simply write the desired value as a
count of milliseconds to the appropriate timer.
Counters
Counters are stored as three BCD digits on the device. The largest value that can be read or written to a
counter is 999.
Strings
String data is stored in data block registers, thus the actual number of bytes used to store the data is an
even number. For example, if a string of length 5 is specified, say by DB11:KS1.5, then 3 registers (6 bytes)
are used to store the string data. When writing strings shorter than the maximum specified length (5 in this
example), a null terminator (0x00) is added to the end of the string. When strings are read, the full range of
registers are read (3 in this example). Use of string tags with overlapping address ranges should be avoided
due to the effects of the null terminators. Appending either an "H" or "L" to the address specifies the byte
order.
www. ptc.com
31 Siemens S5 Driver
Byte
EB0-EB127 Read/Write
Word, Short
EW0-EW126 Read/Write
DWord,
Note: I and E access the same memory area. ED0-ED124 Read/Write
Long
Boolean
Q0.b-Q127.b* Read/Write
Byte
QB0-QB127 Read/Write
Discrete Outputs
Word, Short
QW0-QW126 Read/Write
DWord,
QD0-QD124 Read/Write
Long
Boolean
Discrete Outputs A0.b-A127.b* Read/Write
Byte
AB0-AB127 Read/Write
Word, Short
AW0-AW126 Read/Write
DWord,
Note: Q and A access the same memory area. AD0-AD124 Read/Write
Long
Boolean
F0.b-F255.b* Read/Write
Byte
FB0-FB255 Read/Write
Internal Memory
Word, Short
FW0-FW254 Read/Write
DWord,
FD0-FD252 Read/Write
Long
Boolean
Internal Memory M0.b-M255.b* Read/Write
Byte
MB0-MB255 Read/Write
Word, Short
MW0-MW254 Read/Write
DWord,
Note: F and M access the same memory area. MD0-MD252 Read/Write
Long
DB1-N:KM0.b-KM255.b**
Data Block Boolean Boolean Read/Write
.b is Bit Number 0-15
Data Block Left Byte DB1-N:KL0-KL255** Byte Read/Write
Data Block Right Byte DB1-N:KR0-KR255** Byte Read/Write
Data Block Unsigned Word DB1-N:KH0-KH255** Word, Short Read/Write
www. ptc.com
Siemens S5 Driver 32
Note: All offsets for memory types I, Q, and F represent a byte starting location within the specified
memory type.
Examples
l To access bit 3 of Internal Memory F20, declare an address as follows: F20.3
l To access Data Block 5 as word memory at element 30, declare an address as follows: DB5:KH30
l To access Data Block 2 element 20 and bit 7, declare an address as follows: DB2:KM20.7
l To access Data Block 1 as left byte memory at element 10, declare an address as follows: DB1:KL10
l To access Internal Memory F20 as a DWORD, declare an address as follows: FD20
l To access Input Memory I10 as a Word, declare an address as follows: IW10
Note: Use caution when modifying Word, Short, DWord, and Long types. For I, Q, and F each address
starts at a byte offset within the device. Therefore, Words FW0 and FW1 overlap at byte 1. Writing to FW0
modifies the value held in FW1. 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, when using DWords, use FD0,
FD4, FD8 ... and so on to prevent overlapping bytes.
Timers
The Siemens S5 Driver automatically scales T and KT values based on the Siemens S5 time format. The
value returned for either a T or KT memory type is scaled using the appropriate Siemens time base. As a
result, the values are always returned as a count of milliseconds. When writing to T or KT memory types, the
Siemens time base is applied. To write a value to a timer in the controller, simply write the desired value as a
count of milliseconds to the appropriate timer.
Counters
Counters are stored as three BCD digits on the device. The largest value that can be read or written to a
counter is 999.
www. ptc.com
33 Siemens S5 Driver
Strings
String data is stored in data block registers, thus the actual number of bytes used to store the data is an
even number. For example, if a string of length 5 is specified, say by DB11:KS1.5, then 3 registers (6 bytes)
are used to store the string data. When writing strings shorter than the maximum specified length (5 in this
example), a null terminator (0x00) is added to the end of the string. When strings are read, the full range of
registers are read (3 in this example). Use of string tags with overlapping address ranges should be avoided
due to the effects of the null terminators. Appending either an "H" or "L" to the address specifies the byte
order.
Byte
IB0-IB127 Read/Write
Discrete Inputs
Word, Short
IW0-IW126 Read/Write
DWord,
ID0-ID124 Read/Write
Long
Boolean
Discrete Inputs E0.b-E127.b* Read/Write
Byte
EB0-EB127 Read/Write
Word, Short
EW0-EW126 Read/Write
DWord,
Note: I and E access the same memory area. ED0-ED124 Read/Write
Long
Boolean
Q0.b-Q127.b* Read/Write
Byte
QB0-QB127 Read/Write
Discrete Outputs
Word, Short
QW0-QW126 Read/Write
DWord,
QD0-QD124 Read/Write
Long
Boolean
Discrete Outputs A0.b-A127.b* Read/Write
Byte
AB0-AB127 Read/Write
Word, Short
AW0-AW126 Read/Write
DWord,
Note: Q and A access the same memory area. AD0-AD124 Read/Write
Long
F0.b-F255.b* Boolean Read/Write
Internal Memory
FB0-FB255 Byte Read/Write
www. ptc.com
Siemens S5 Driver 34
Word, Short
FW0-FW254 Read/Write
DWord,
FD0-FD252 Read/Write
Long
Boolean
Internal Memory M0.b-M255.b* Read/Write
Byte
MB0-MB255 Read/Write
Word, Short
MW0-MW254 Read/Write
DWord,
Note: F and M access the same memory area. MD0-MD252 Read/Write
Long
DB1-N:KM0.b-KM255.b**
Data Block Boolean Boolean Read/Write
.b is Bit Number 0-15.
Data Block Left Byte DB1-N:KL0-KL255** Byte Read/Write
Data Block Right Byte DB1-N:KR0-KR255** Byte Read/Write
Data Block Unsigned Word DB1-N:KH0-KH255** Word, Short Read/Write
Data Block Signed Word DB1-N:KF0-KF255** Short, Word Read/Write
Long,
Data Block Signed Long DB1-N:KD0-KD254** Read/Write
DWord
Data Block Float DB1-N:KG0-KG254** Float Read/Write
DB1-N:KS0.l-KS255.lH***
Data Block String String Read/Write
DB1-N:KS0.l-KS255.lL***
Data Block Timer DB1-N:KT0-KT255** Long Read/Write
Data Block Counter DB1-N:KC0-KC255** Word, Short Read/Write
Timer Current Values T0-T127 Long Read/Write
Counter Current Values C0-C127 Word, Short Read/Write
Counter Current Values Z0-Z127 Word, Short Read/Write
Note: All offsets for memory types I, Q, and F represent a byte starting location within the specified
memory type.
Examples
l To access bit 3 of Internal Memory F20, declare an address as follows: F20.3
l To access Data Block 5 as word memory at element 30, declare an address as follows: DB5:KH30
l To access Data Block 2 element 20 and bit 7, declare an address as follows: DB2:KM20.7
l To access Data Block 1 as left byte memory at element 10, declare an address as follows: DB1:KL10
www. ptc.com
35 Siemens S5 Driver
Note: Use caution when modifying Word, Short, DWord, and Long types. For I, Q, and F each address
starts at a byte offset within the device. Therefore, Words FW0 and FW1 overlap at byte 1. Writing to FW0
modifies the value held in FW1. 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, when using DWords, use FD0,
FD4, FD8 ... and so on to prevent overlapping bytes.
Timers
The Siemens S5 Driver automatically scales T and KT values based on the Siemens S5 time format. The
value returned for either a T or KT memory type is scaled using the appropriate Siemens time base. As a
result, the values are always returned as a count of milliseconds. When writing to T or KT memory types, the
Siemens time base is applied. To write a value to a timer in the controller, simply write the desired value as a
count of milliseconds to the appropriate timer.
Counters
Counters are stored as three BCD digits on the device. The largest value that can be read or written to a
counter is 999.
Strings
String data is stored in data block registers, thus the actual number of bytes used to store the data is an
even number. For example, if a string of length 5 is specified, say by DB11:KS1.5, then 3 registers (6 bytes)
are used to store the string data. When writing strings shorter than the maximum specified length (5 in this
example), a null terminator (0x00) is added to the end of the string. When strings are read, the full range of
registers are read (3 in this example). Use of string tags with overlapping address ranges should be avoided
due to the effects of the null terminators. Appending either an "H" or "L" to the address specifies the byte
order.
Byte
IB0-IB127 Read/Write
Discrete Inputs
Word, Short
IW0-IW126 Read/Write
DWord,
ID0-ID124 Read/Write
Long
Discrete Inputs E0.b-E127.b* Boolean Read/Write
Note: I and E access the same memory area. ED0-ED124 DWord, Read/Write
www. ptc.com
Siemens S5 Driver 36
Byte
QB0-QB127 Read/Write
Discrete Outputs
Word, Short
QW0-QW126 Read/Write
DWord,
QD0-QD124 Read/Write
Long
Boolean
Discrete Outputs A0.b-A127.b* Read/Write
Byte
AB0-AB127 Read/Write
Word, Short
AW0-AW126 Read/Write
DWord,
Note: Q and A access the same memory area. AD0-AD124 Read/Write
Long
Boolean
F0.b-F255.b* Read/Write
Byte
FB0-FB255 Read/Write
Internal Memory
Word, Short
FW0-FW254 Read/Write
DWord,
FD0-FD252 Read/Write
Long
Boolean
Internal Memory M0.b-M255.b* Read/Write
Byte
MB0-MB255 Read/Write
Word, Short
MW0-MW254 Read/Write
DWord,
Note: F and M access the same memory area. MD0-MD252 Read/Write
Long
DB1-N:KM0.b-KM255.b**
Data Block Boolean Boolean Read/Write
.b is Bit Number 0-15
Data Block Left Byte DB1-N:KL0-KL255** Byte Read/Write
Data Block Right Byte DB1-N:KR0-KR255** Byte Read/Write
Data Block Unsigned Word DB1-N:KH0-KH255** Word, Short Read/Write
Data Block Signed Word DB1-N:KF0-KF255** Short, Word Read/Write
Long,
Data Block Signed Long DB1-N:KD0-KD254** Read/Write
DWord
Data Block Float DB1-N:KG0-KG254** Float Read/Write
DB1-N:KS0.l-KS255.lH***
Data Block String String Read/Write
DB1-N:KS0.l-KS255.lL***
Data Block Timer DB1-N:KT0-KT255** Long Read/Write
Data Block Counter DB1-N:KC0-KC255** Word, Short Read/Write
www. ptc.com
37 Siemens S5 Driver
Note: All offsets for memory types I, Q, and F represent a byte starting location within the specified
memory type.
Examples
l To access bit 3 of Internal Memory F20, declare an address as follows: F20.3
l To access Data Block 5 as word memory at element 30, declare an address as follows: DB5:KH30
l To access Data Block 2 element 20 and bit 7, declare an address as follows: DB2:KM20.7
l To access Data Block 1 as left byte memory at element 10, declare an address as follows: DB1:KL10
l To access Internal Memory F20 as a DWORD, declare an address as follows: FD20
l To access Input Memory I10 as a Word, declare an address as follows: IW10
Note: Use caution when modifying Word, Short, DWord, and Long types. For I, Q, and F each address
starts at a byte offset within the device. Therefore, Words FW0 and FW1 overlap at byte 1. Writing to FW0
modifies the value held in FW1. 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, when using DWords, use FD0,
FD4, FD8 ... and so on to prevent overlapping bytes.
Timers
The Siemens S5 Driver automatically scales T and KT values based on the Siemens S5 time format. The
value returned for either a T or KT memory type is scaled using the appropriate Siemens time base. As a
result, the values are always returned as a count of milliseconds. When writing to T or KT memory types, the
Siemens time base is applied. To write a value to a timer in the controller, simply write the desired value as a
count of milliseconds to the appropriate timer.
Counters
Counters are stored as three BCD digits on the device. The largest value that can be read or written to a
counter is 999.
Strings
String data is stored in data block registers, thus the actual number of bytes used to store the data is an
even number. For example, if a string of length 5 is specified, say by DB11:KS1.5, then 3 registers (6 bytes)
are used to store the string data. When writing strings shorter than the maximum specified length (5 in this
example), a null terminator (0x00) is added to the end of the string. When strings are read, the full range of
registers are read (3 in this example). Use of string tags with overlapping address ranges should be avoided
due to the effects of the null terminators. Appending either an "H" or "L" to the address specifies the byte
order.
www. ptc.com
Siemens S5 Driver 38
Byte
IB0-IB127 Read/Write
Discrete Inputs
Word, Short
IW0-IW126 Read/Write
DWord,
ID0-ID124 Read/Write
Long
Boolean
Discrete Inputs E0.b-E127.b* Read/Write
Byte
EB0-EB127 Read/Write
Word, Short
EW0-EW126 Read/Write
DWord,
Note: I and E access the same memory area. ED0-ED124 Read/Write
Long
Boolean
Q0.b-Q127.b* Read/Write
Byte
QB0-QB127 Read/Write
Discrete Outputs
Word, Short
QW0-QW126 Read/Write
DWord,
QD0-QD124 Read/Write
Long
Boolean
Discrete Outputs A0.b-A127.b* Read/Write
Byte
AB0-AB127 Read/Write
Word, Short
AW0-AW126 Read/Write
DWord,
Note: Q and A access the same memory area. AD0-AD124 Read/Write
Long
Boolean
F0.b-F255.b* Read/Write
Byte
FB0-FB255 Read/Write
Internal Memory
Word, Short
FW0-FW254 Read/Write
DWord,
FD0-FD252 Read/Write
Long
Internal Memory M0.b-M255.b* Boolean Read/Write
www. ptc.com
39 Siemens S5 Driver
DWord,
Note: F and M access the same memory area. MD0-MD252 Read/Write
Long
DB1-N:KM0.b-KM255.b**
Data Block Boolean Boolean Read/Write
.b is Bit Number 0-15
Data Block Left Byte DB1-N:KL0-KL255** Byte Read/Write
Data Block Right Byte DB1-N:KR0-KR255** Byte Read/Write
Data Block Unsigned Word DB1-N:KH0-KH255** Word, Short Read/Write
Data Block Signed Word DB1-N:KF0-KF255** Short, Word Read/Write
Long,
Data Block Signed Long DB1-N:KD0-KD254** Read/Write
DWord
Data Block Float DB1-N:KG0-KG254** Float Read/Write
DB1-N:KS0.l-KS255.lH***
Data Block String String Read/Write
DB1-N:KS0.l-KS255.lL***
Data Block Timer DB1-N:KT0-KT255** Long Read/Write
Data Block Counter DB1-N:KC0-KC255** Word, Short Read/Write
Timer Current Values T0-T127 Long Read/Write
Counter Current Values C0-C127 Word, Short Read/Write
Counter Current Values Z0-Z127 Word, Short Read/Write
Note: All offsets for memory types I, Q, and F represent a byte starting location within the specified
memory type.
Examples
l To access bit 3 of Internal Memory F20, declare an address as follows: F20.3
l To access Data Block 5 as word memory at element 30, declare an address as follows: DB5:KH30
l To access Data Block 2 element 20 and bit 7, declare an address as follows: DB2:KM20.7
l To access Data Block 1 as left byte memory at element 10, declare an address as follows: DB1:KL10
l To access Internal Memory F20 as a DWORD, declare an address as follows: FD20
l To access Input Memory I10 as a Word, declare an address as follows: IW10
Note: Use caution when modifying Word, Short, DWord, and Long types. For I, Q, and F each address
starts at a byte offset within the device. Therefore, Words FW0 and FW1 overlap at byte 1. Writing to FW0
modifies the value held in FW1. 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, when using DWords, use FD0,
FD4, FD8 ... and so on to prevent overlapping bytes.
Timers
www. ptc.com
Siemens S5 Driver 40
The Siemens S5 Driver automatically scales T and KT values based on the Siemens S5 time format. The
value returned for either a T or KT memory type is scaled using the appropriate Siemens time base. As a
result, the values are always returned as a count of milliseconds. When writing to T or KT memory types, the
Siemens time base is applied. To write a value to a timer in the controller, simply write the desired value as a
count of milliseconds to the appropriate timer.
Counters
Counters are stored as three BCD digits on the device. The largest value that can be read or written to a
counter is 999.
Strings
String data is stored in data block registers, thus the actual number of bytes used to store the data is an
even number. For example, if a string of length 5 is specified, say by DB11:KS1.5, then 3 registers (6 bytes)
are used to store the string data. When writing strings shorter than the maximum specified length (5 in this
example), a null terminator (0x00) is added to the end of the string. When strings are read, the full range of
registers are read (3 in this example). Use of string tags with overlapping address ranges should be avoided
due to the effects of the null terminators. Appending either an "H" or "L" to the address specifies the byte
order.
Byte
IB0-IB127 Read/Write
Discrete Inputs
Word, Short
IW0-IW126 Read/Write
DWord,
ID0-ID124 Read/Write
Long
Boolean
Discrete Inputs E0.b-E127.b* Read/Write
Byte
EB0-EB127 Read/Write
Word, Short
EW0-EW126 Read/Write
DWord,
Note: I and E access the same memory area. ED0-ED124 Read/Write
Long
Boolean
Q0.b-Q127.b* Read/Write
Word, Short
QW0-QW126 Read/Write
DWord,
QD0-QD124 Read/Write
Long
Discrete Outputs A0.b-A127.b* Boolean Read/Write
www. ptc.com
41 Siemens S5 Driver
Byte
AB0-AB127 Read/Write
Word, Short
AW0-AW126 Read/Write
DWord,
Note: Q and A access the same memory area. AD0-AD124 Read/Write
Long
Boolean
F0.b-F255.b* Read/Write
Byte
FB0-FB255 Read/Write
Internal Memory
Word, Short
FW0-FW254 Read/Write
DWord,
FD0-FD252 Read/Write
Long
Boolean
Internal Memory M0.b-M255.b* Read/Write
Byte
MB0-MB255 Read/Write
Word, Short
MW0-MW254 Read/Write
DWord,
Note: F and M access the same memory area. MD0-MD252 Read/Write
Long
DB1-N:KM0.b-KM255.b**
Data Block Boolean Boolean Read/Write
.b is Bit Number 0-15
Data Block Left Byte DB1-N:KL0-KL255** Byte Read/Write
Data Block Right Byte DB1-N:KR0-KR255** Byte Read/Write
Data Block Unsigned Word DB1-N:KH0-KH255** Word, Short Read/Write
Data Block Signed Word DB1-N:KF0-KF255** Short, Word Read/Write
Long,
Data Block Signed Long DB1-N:KD0-KD254** Read/Write
DWord
Data Block Float DB1-N:KG0-KG254** Float Read/Write
DB1-N:KS0.l-KS255.lH***
Data Block String String Read/Write
DB1-N:KS0.l-KS255.lL***
Data Block Timer DB1-N:KT0-KT255** Long Read/Write
Data Block Counter DB1-N:KC0-KC255** Word, Short Read/Write
Timer Current Values T0-T127 Long Read/Write
Counter Current Values C0-C127 Word, Short Read/Write
Counter Current Values Z0-Z127 Word, Short Read/Write
www. ptc.com
Siemens S5 Driver 42
Note: All offsets for memory types I, Q, and F represent a byte starting location within the specified
memory type.
Examples
l To access bit 3 of Internal Memory F20, declare an address as follows: F20.3
l To access Data Block 5 as word memory at element 30, declare an address as follows: DB5:KH30
l To access Data Block 2 element 20 and bit 7, declare an address as follows: DB2:KM20.7
l To access Data Block 1 as left byte memory at element 10, declare an address as follows: DB1:KL10
l To access Internal Memory F20 as a DWORD, declare an address as follows: FD20
l To access Input Memory I10 as a Word, declare an address as follows: IW10
Note: Use caution when modifying Word, Short, DWord, and Long types. For I, Q, and F each address
starts at a byte offset within the device. Therefore, Words FW0 and FW1 overlap at byte 1. Writing to FW0
modifies the value held in FW1. 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, when using DWords, use FD0,
FD4, FD8 ... and so on to prevent overlapping bytes.
Timers
The Siemens S5 Driver automatically scales T and KT values based on the Siemens S5 time format. The
value returned for either a T or KT memory type is scaled using the appropriate Siemens time base. As a
result, the values are always returned as a count of milliseconds. When writing to T or KT memory types, the
Siemens time base is applied. To write a value to a timer in the controller, simply write the desired value as a
count of milliseconds to the appropriate timer.
Counters
Counters are stored as three BCD digits on the device. The largest value that can be read or written to a
counter is 999.
Strings
String data is stored in data block registers, thus the actual number of bytes used to store the data is an
even number. For example, if a string of length 5 is specified, say by DB11:KS1.5, then 3 registers (6 bytes)
are used to store the string data. When writing strings shorter than the maximum specified length (5 in this
example), a null terminator (0x00) is added to the end of the string. When strings are read, the full range of
registers are read (3 in this example). Use of string tags with overlapping address ranges should be avoided
due to the effects of the null terminators. Appending either an "H" or "L" to the address specifies the byte
order.
www. ptc.com
43 Siemens S5 Driver
Byte
EB0-EB127 Read/Write
Word, Short
EW0-EW126 Read/Write
DWord,
Note: I and E access the same memory area. ED0-ED124 Read/Write
Long
Boolean
Q0.b-Q127.b* Read/Write
Byte
QB0-QB127 Read/Write
Discrete Outputs
Word, Short
QW0-QW126 Read/Write
DWord,
QD0-QD124 Read/Write
Long
Boolean
Discrete Outputs A0.b-A127.b* Read/Write
Byte
AB0-AB127 Read/Write
Word, Short
AW0-AW126 Read/Write
DWord,
Note: Q and A access the same memory area. AD0-AD124 Read/Write
Long
Boolean
F0.b-F255.b* Read/Write
Byte
FB0-FB255 Read/Write
Internal Memory
Word, Short
FW0-FW254 Read/Write
DWord,
FD0-FD252 Read/Write
Long
Boolean
Internal Memory M0.b-M255.b* Read/Write
Byte
MB0-MB255 Read/Write
Word, Short
MW0-MW254 Read/Write
DWord,
Note: F and M access the same memory area. MD0-MD252 Read/Write
Long
DB1-N:KM0.b-KM255.b**
Data Block Boolean Boolean Read/Write
.b is Bit Number 0-15
Data Block Right Byte DB1-N:KL0-KL255** Byte Read/Write
Data Block Right Byte DB1-N:KR0-KR255** Byte Read/Write
Data Block Unsigned Word DB1-N:KH0-KH255** Word, Short Read/Write
www. ptc.com
Siemens S5 Driver 44
Note: All offsets for memory types I, Q, and F represent a byte starting location within the specified
memory type.
Examples
l To access bit 3 of Internal Memory F20, declare an address as follows: F20.3
l To access Data Block 5 as word memory at element 30, declare an address as follows: DB5:KH30
l To access Data Block 2 element 20 and bit 7, declare an address as follows: DB2:KM20.7
l To access Data Block 1 as left byte memory at element 10, declare an address as follows: DB1:KL10
l To access Internal Memory F20 as a DWORD, declare an address as follows: FD20
l To access Input Memory I10 as a Word, declare an address as follows: IW10
Note: Use caution when modifying Word, Short, DWord, and Long types. For I, Q, and F each address
starts at a byte offset within the device. Therefore, Words FW0 and FW1 overlap at byte 1. Writing to FW0
modifies the value held in FW1. 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, when using DWords, use FD0,
FD4, FD8 ... and so on to prevent overlapping bytes.
Timers
The Siemens S5 Driver automatically scales T and KT values based on the Siemens S5 time format. The
value returned for either a T or KT memory type is scaled using the appropriate Siemens time base. As a
result, the values are always returned as a count of milliseconds. When writing to T or KT memory types, the
Siemens time base is applied. To write a value to a timer in the controller, simply write the desired value as a
count of milliseconds to the appropriate timer.
Counters
Counters are stored as three BCD digits on the device. The largest value that can be read or written to a
counter is 999.
www. ptc.com
45 Siemens S5 Driver
Strings
String data is stored in data block registers, thus the actual number of bytes used to store the data is an
even number. For example, if a string of length 5 is specified, say by DB11:KS1.5, then 3 registers (6 bytes)
are used to store the string data. When writing strings shorter than the maximum specified length (5 in this
example), a null terminator (0x00) is added to the end of the string. When strings are read, the full range of
registers are read (3 in this example). Use of string tags with overlapping address ranges should be avoided
due to the effects of the null terminators. Appending either an "H" or "L" to the address specifies the byte
order.
Byte
IB0-IB511 Read/Write
Discrete Inputs
Word, Short
IW0-IW510 Read/Write
DWord,
ID0-ID508 Read/Write
Long
Boolean
Discrete Inputs E0.b-E511.b* Read/Write
Byte
EB0-EB511 Read/Write
Word, Short
EW0-EW510 Read/Write
DWord,
Note: I and E access the same memory area. ED0-ED508 Read/Write
Long
Boolean
Q0.b-Q511.b* Read/Write
Byte
QB0-QB511 Read/Write
Discrete Outputs
Word, Short
QW0-QW510 Read/Write
DWord,
QD0-QD508 Read/Write
Long
Boolean
A0.b-A511.b* Read/Write
Discrete Outputs
Byte
AB0-AB511 Read/Write
Word, Short
AW0-AW510 Read/Write
www. ptc.com
Siemens S5 Driver 46
Word, Short
FW0-FW254 Read/Write
DWord,
FD0-FD252 Read/Write
Long
Boolean
Internal Memory M0.b-M255.b* Read/Write
Byte
MB0-MB255 Read/Write
Word, Short
MW0-MW254 Read/Write
DWord,
Note: F and M access the same memory area. MD0-MD252 Read/Write
Long
DB1-N:KM0.b-
Data Block Boolean KM255.b** Boolean Read/Write
.b is Bit Number 0-15
Data Block Left Byte DB1-N:KL0-KL255** Byte Read/Write
Data Block Right Byte DB1-N:KR0-KR255** Byte Read/Write
Data Block Unsigned Word DB1-N:KH0-KH255** Word, Short Read/Write
Data Block Signed Word DB1-N:KF0-KF255** Short, Word Read/Write
Long,
Data Block Signed Long DB1-N:KD0-KD254** Read/Write
DWord
Data Block Float DB1-N:KG0-KG254** Float Read/Write
DB1-N:KS0.l-
Data Block String KS255.lH*** String Read/Write
DB1-N:KS0.l-KS255.lL***
Data Block Timer DB1-N:KT0-KT255** Long Read/Write
Data Block Counter DB1-N:KC0-KC255** Word, Short Read/Write
Timer Current Values T0-T127 Long Read/Write
Counter Current Values C0-C127 Word, Short Read/Write
Counter Current Values Z0-Z127 Word, Short Read/Write
Note: All offsets for memory types I, Q, and F represent a byte starting location within the specified
memory type.
Examples
l To access bit 3 of Internal Memory F20, declare an address as follows: F20.3
l To access Data Block 5 as word memory at element 30, declare an address as follows: DB5:KH30
l To access Data Block 2 element 20 and bit 7, declare an address as follows: DB2:KM20.7
www. ptc.com
47 Siemens S5 Driver
l To access Data Block 1 as left byte memory at element 10, declare an address as follows: DB1:KL10
l To access Internal Memory F20 as a DWORD, declare an address as follows: FD20
l To access Input Memory I10 as a Word, declare an address as follows: IW10
Note: Use caution when modifying Word, Short, DWord, and Long types. For I, Q, and F each address
starts at a byte offset within the device. Therefore, Words FW0 and FW1 overlap at byte 1. Writing to FW0
modifies the value held in FW1. 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, when using DWords, use FD0,
FD4, FD8 ... and so on to prevent overlapping bytes.
Timers
The Siemens S5 Driver automatically scales T and KT values based on the Siemens S5 time format. The
value returned for either a T or KT memory type is scaled using the appropriate Siemens time base. As a
result, the values are always returned as a count of milliseconds. When writing to T or KT memory types, the
Siemens time base is applied. To write a value to a timer in the controller, simply write the desired value as a
count of milliseconds to the appropriate timer.
Counters
Counters are stored as three BCD digits on the device. The largest value that can be read or written to a
counter is 999.
Strings
String data is stored in data block registers, thus the actual number of bytes used to store the data is an
even number. For example, if a string of length 5 is specified, say by DB11:KS1.5, then 3 registers (6 bytes)
are used to store the string data. When writing strings shorter than the maximum specified length (5 in this
example), a null terminator (0x00) is added to the end of the string. When strings are read, the full range of
registers are read (3 in this example). Use of string tags with overlapping address ranges should be avoided
due to the effects of the null terminators. Appending either an "H" or "L" to the address specifies the byte
order.
Byte
IB0-IB511 Read/Write
Discrete Inputs
Word, Short
IW0-IW510 Read/Write
DWord,
ID0-ID508 Read/Write
Long
Discrete Inputs E0.b-E511.b* Boolean Read/Write
www. ptc.com
Siemens S5 Driver 48
Byte
QB0-QB511 Read/Write
Discrete Outputs
Word, Short
QW0-QW510 Read/Write
DWord,
QD0-QD508 Read/Write
Long
Boolean
Discrete Outputs A0.b-A511.b* Read/Write
Byte
AB0-AB511 Read/Write
Word, Short
AW0-AW510 Read/Write
DWord,
Note: Q and A access the same memory area. AD0-AD508 Read/Write
Long
Boolean
F0.b-F255.b* Read/Write
Byte
FB0-FB255 Read/Write
Internal Memory
Word, Short
FW0-FW254 Read/Write
DWord,
FD0-FD252 Read/Write
Long
Boolean
Internal Memory M0.b-M255.b* Read/Write
Byte
MB0-MB255 Read/Write
Word, Short
MW0-MW254 Read/Write
DWord,
Note: F and M access the same memory area. MD0-MD252 Read/Write
Long
DB1-N:KM0.b-KM255.b**
Data Block Boolean Boolean Read/Write
.b is Bit Number 0-15
Data Block Left Byte DB1-N:KL0-KL255** Byte Read/Write
Data Block Right Byte DB1-N:KR0-KR255** Byte Read/Write
Data Block Unsigned Word DB1-N:KH0-KH255** Word, Short Read/Write
Data Block Signed Word DB1-N:KF0-KF255** Short, Word Read/Write
Long,
Data Block Signed Long DB1-N:KD0-KD254** Read/Write
DWord
Data Block Float DB1-N:KG0-KG254** Float Read/Write
DB1-N:KS0.l-KS255.lH***
Data Block String String Read/Write
DB1-N:KS0.l-KS255.lL***
www. ptc.com
49 Siemens S5 Driver
Note: All offsets for memory types I, Q, and F represent a byte starting location within the specified
memory type.
Examples
l To access bit 3 of Internal Memory F20, declare an address as follows: F20.3
l To access Data Block 5 as word memory at element 30, declare an address as follows: DB5:KH30
l To access Data Block 2 element 20 and bit 7, declare an address as follows: DB2:KM20.7
l To access Data Block 1 as left byte memory at element 10, declare an address as follows: DB1:KL10
l To access Internal Memory F20 as a DWORD, declare an address as follows: FD20
l To access Input Memory I10 as a Word, declare an address as follows: IW10
Note: Use caution when modifying Word, Short, DWord, and Long types. For I, Q, and F each address
starts at a byte offset within the device. Therefore, Words FW0 and FW1 overlap at byte 1. Writing to FW0
modifies the value held in FW1. 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, when using DWords, use FD0,
FD4, FD8 ... and so on to prevent overlapping bytes.
Timers
The Siemens S5 Driver automatically scales T and KT values based on the Siemens S5 time format. The
value returned for either a T or KT memory type is scaled using the appropriate Siemens time base. As a
result, the values are always returned as a count of milliseconds. When writing to T or KT memory types, the
Siemens time base is applied. To write a value to a timer in the controller, simply write the desired value as a
count of milliseconds to the appropriate timer.
Counters
Counters are stored as three BCD digits on the device. The largest value that can be read or written to a
counter is 999.
Strings
String data is stored in data block registers, thus the actual number of bytes used to store the data is an
even number. For example, if a string of length 5 is specified, say by DB11:KS1.5, then 3 registers (6 bytes)
are used to store the string data. When writing strings shorter than the maximum specified length (5 in this
example), a null terminator (0x00) is added to the end of the string. When strings are read, the full range of
registers are read (3 in this example). Use of string tags with overlapping address ranges should be avoided
www. ptc.com
Siemens S5 Driver 50
due to the effects of the null terminators. Appending either an "H" or "L" to the address specifies the byte
order.
Byte
IB0-IB511 Read/Write
Discrete Inputs
Word, Short
IW0-IW510 Read/Write
DWord,
ID0-ID508 Read/Write
Long
Boolean
Discrete Inputs E0.b-E511.b* Read/Write
Byte
EB0-EB511 Read/Write
Word, Short
EW0-EW510 Read/Write
DWord,
Note: I and E access the same memory area. ED0-ED508 Read/Write
Long
Boolean
Q0.b-Q511.b* Read/Write
Byte
QB0-QB511 Read/Write
Discrete Outputs
Word, Short
QW0-QW510 Read/Write
DWord,
QD0-QD508 Read/Write
Long
Boolean
Discrete Outputs A0.b-A511.b* Read/Write
Byte
AB0-AB511 Read/Write
Word, Short
AW0-AW510 Read/Write
DWord,
Note: Q and A access the same memory area. AD0-AD508 Read/Write
Long
Boolean
F0.b-F255.b* Read/Write
Byte
FB0-FB255 Read/Write
Internal Memory
Word, Short
FW0-FW254 Read/Write
DWord,
FD0-FD252 Read/Write
Long
Internal Memory M0.b-M255.b* Boolean Read/Write
www. ptc.com
51 Siemens S5 Driver
Byte
MB0-MB255 Read/Write
Word, Short
MW0-MW254 Read/Write
DWord,
Note: F and M access the same memory area. MD0-MD252 Read/Write
Long
DB1-N:KM0.b-KM255.b**
Data Block Boolean Boolean Read/Write
.b is Bit Number 0-15
Data Block Left Byte DB1-N:KL0-KL255** Byte Read/Write
Data Block Right Byte DB1-N:KR0-KR255** Byte Read/Write
Data Block Unsigned Word DB1-N:KH0-KH255** Word, Short Read/Write
Data Block Signed Word DB1-N:KF0-KF255** Short, Word Read/Write
Long,
Data Block Signed Long DB1-N:KD0-KD254** Read/Write
DWord
Data Block Float DB1-N:KG0-KG254** Float Read/Write
DB1-N:KS0.l-KS255.lH***
Data Block String String Read/Write
DB1-N:KS0.l-KS255.lL***
Data Block Timer DB1-N:KT0-KT255** Long Read/Write
Data Block Counter DB1-N:KC0-KC255** Word, Short Read/Write
Timer Current Values T0-T255 Long Read/Write
Counter Current Values C0-C255 Word, Short Read/Write
Counter Current Values Z0-Z255 Word, Short Read/Write
Note: All offsets for memory types I, Q, and F represent a byte starting location within the specified
memory type.
Examples
l To access bit 3 of Internal Memory F20, declare an address as follows: F20.3
l To access Data Block 5 as word memory at element 30, declare an address as follows: DB5:KH30
l To access Data Block 2 element 20 and bit 7, declare an address as follows: DB2:KM20.7
l To access Data Block 1 as left byte memory at element 10, declare an address as follows: DB1:KL10
l To access Internal Memory F20 as a DWORD, declare an address as follows: FD20
l To access Input Memory I10 as a Word, declare an address as follows: IW10
Note: Use caution when modifying Word, Short, DWord, and Long types. For I, Q, and F each address
starts at a byte offset within the device. Therefore, Words FW0 and FW1 overlap at byte 1. Writing to FW0
modifies the value held in FW1. Similarly, DWord, and Long types can also overlap. It is recommended that
www. ptc.com
Siemens S5 Driver 52
these memory types be used so that overlapping does not occur. For example, when using DWords, use FD0,
FD4, FD8 ... and so on to prevent overlapping bytes.
Timers
The Siemens S5 Driver automatically scales T and KT values based on the Siemens S5 time format. The
value returned for either a T or KT memory type is scaled using the appropriate Siemens time base. As a
result, the values are always returned as a count of milliseconds. When writing to T or KT memory types, the
Siemens time base is applied. To write a value to a timer in the controller, simply write the desired value as a
count of milliseconds to the appropriate timer.
Counters
Counters are stored as three BCD digits on the device. The largest value that can be read or written to a
counter is 999.
Strings
String data is stored in data block registers, thus the actual number of bytes used to store the data is an
even number. For example, if a string of length 5 is specified, say by DB11:KS1.5, then 3 registers (6 bytes)
are used to store the string data. When writing strings shorter than the maximum specified length (5 in this
example), a null terminator (0x00) is added to the end of the string. When strings are read, the full range of
registers are read (3 in this example). Use of string tags with overlapping address ranges should be avoided
due to the effects of the null terminators. Appending either an "H" or "L" to the address specifies the byte
order.
Byte
IB0-IB511 Read/Write
Discrete Inputs
Word, Short
IW0-IW510 Read/Write
DWord,
ID0-ID508 Read/Write
Long
Boolean
Discrete Inputs E0.b-E511.b* Read/Write
Byte
EB0-EB511 Read/Write
Word, Short
EW0-EW510 Read/Write
DWord,
Note: I and E access the same memory area. ED0-ED508 Read/Write
Long
Q0.b-Q511.b* Boolean Read/Write
www. ptc.com
53 Siemens S5 Driver
Byte
AB0-AB511 Read/Write
Word, Short
AW0-AW510 Read/Write
DWord,
Note: Q and A access the same memory area. AD0-AD508 Read/Write
Long
Boolean
F0.b-F255.b* Read/Write
Byte
FB0-FB255 Read/Write
Internal Memory
Word, Short
FW0-FW254 Read/Write
DWord,
FD0-FD252 Read/Write
Long
Boolean
Internal Memory M0.b-M255.b* Read/Write
Byte
MB0-MB255 Read/Write
Word, Short
MW0-MW254 Read/Write
DWord,
Note: F and M access the same memory area. MD0-MD252 Read/Write
Long
DB1-N:KM0.b-KM255.b**
Data Block Boolean Boolean Read/Write
.b is Bit Number 0-15
Data Block Left Byte DB1-N:KL0-KL255** Byte Read/Write
Data Block Right Byte DB1-N:KR0-KR255** Byte Read/Write
Data Block Unsigned Word DB1-N:KH0-KH255** Word, Short Read/Write
Data Block Signed Word DB1-N:KF0-KF255** Short, Word Read/Write
Long,
Data Block Signed Long DB1-N:KD0-KD254** Read/Write
DWord
Data Block Float DB1-N:KG0-KG254** Float Read/Write
DB1-N:KS0.l-KS255.lH***
Data Block String String Read/Write
DB1-N:KS0.l-KS255.lL***
Data Block Timer DB1-N:KT0-KT255** Long Read/Write
Data Block Counter DB1-N:KC0-KC255** Word, Short Read/Write
Timer Current Values T0-T255 Long Read/Write
Counter Current Values C0-C255 Word, Short Read/Write
Counter Current Values Z0-Z255 Word, Short Read/Write
www. ptc.com
Siemens S5 Driver 54
***1-N specifies the block number. l specifies the string length, and may range from 2 to 254. H specifies the
high byte order; L specifies the low byte order. H is assumed if no byte order is specified.
Note: All offsets for memory types I, Q, and F represent a byte starting location within the specified
memory type.
Examples
l To access bit 3 of Internal Memory F20, declare an address as follows: F20.3
l To access Data Block 5 as word memory at element 30, declare an address as follows: DB5:KH30
l To access Data Block 2 element 20 and bit 7, declare an address as follows: DB2:KM20.7
l To access Data Block 1 as left byte memory at element 10, declare an address as follows: DB1:KL10
l To access Internal Memory F20 as a DWORD, declare an address as follows: FD20
l To access Input Memory I10 as a Word, declare an address as follows: IW10
Note:Use caution when modifying Word, Short, DWord, and Long types. For I, Q, and F each address starts
at a byte offset within the device. Therefore, Words FW0 and FW1 overlap at byte 1. Writing to FW0 modifies
the value held in FW1. 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, when using DWords, use FD0, FD4,
FD8 ... and so on to prevent overlapping bytes.
Timers
The Siemens S5 Driver automatically scales T and KT values based on the Siemens S5 time format. The
value returned for either a T or KT memory type is scaled using the appropriate Siemens time base. As a
result, the values are always returned as a count of milliseconds. When writing to T or KT memory types, the
Siemens time base is applied. To write a value to a timer in the controller, simply write the desired value as a
count of milliseconds to the appropriate timer.
Counters
Counters are stored as three BCD digits on the device. The largest value that can be read or written to a
counter is 999.
Strings
String data is stored in data block registers, thus the actual number of bytes used to store the data is an
even number. For example, if a string of length 5 is specified, say by DB11:KS1.5, then 3 registers (6 bytes)
are used to store the string data. When writing strings shorter than the maximum specified length (5 in this
example), a null terminator (0x00) is added to the end of the string. When strings are read, the full range of
registers are read (3 in this example). Use of string tags with overlapping address ranges should be avoided
due to the effects of the null terminators. Appending either an "H" or "L" to the address specifies the byte
order.
www. ptc.com
55 Siemens S5 Driver
Word, Short
IW0-IW510 Read/Write
DWord,
ID0-ID508 Read/Write
Long
Boolean
Discrete Inputs E0.b-E511.b* Read/Write
Byte
EB0-EB511 Read/Write
Word, Short
EW0-EW510 Read/Write
DWord,
Note: I and E access the same memory area. ED0-ED508 Read/Write
Long
Boolean
Q0.b-Q511.b* Read/Write
Byte
QB0-QB511 Read/Write
Discrete Outputs
Word, Short
QW0-QW510 Read/Write
DWord,
QD0-QD508 Read/Write
Long
Boolean
Discrete Outputs A0.b-A511.b* Read/Write
Byte
AB0-AB511 Read/Write
Word, Short
AW0-AW510 Read/Write
DWord,
Note: Q and A access the same memory area. AD0-AD508 Read/Write
Long
Boolean
F0.b-F255.b* Read/Write
Byte
FB0-FB255 Read/Write
Internal Memory
Word, Short
FW0-FW254 Read/Write
DWord,
FD0-FD252 Read/Write
Long
Boolean
Internal Memory M0.b-M255.b* Read/Write
Byte
MB0-MB255 Read/Write
Word, Short
MW0-MW254 Read/Write
DWord,
Note: F and M access the same memory area. MD0-MD252 Read/Write
Long
DB1-N:KM0.b-KM255.b**
Data Block Boolean Boolean Read/Write
.b is Bit Number 0-15
www. ptc.com
Siemens S5 Driver 56
Note: All offsets for memory types I, Q, and F represent a byte starting location within the specified
memory type.
Examples
l To access bit 3 of Internal Memory F20, declare an address as follows: F20.3
l To access Data Block 5 as word memory at element 30, declare an address as follows: DB5:KH30
l To access Data Block 2 element 20 and bit 7, declare an address as follows: DB2:KM20.7
l To access Data Block 1 as left byte memory at element 10, declare an address as follows: DB1:KL10
l To access Internal Memory F20 as a DWORD, declare an address as follows: FD20
l To access Input Memory I10 as a Word, declare an address as follows: IW10
Note: Use caution when modifying Word, Short, DWord, and Long types. For I, Q, and F each address
starts at a byte offset within the device. Therefore, Words FW0 and FW1 overlap at byte 1. Writing to FW0
modifies the value held in FW1. 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, when using DWords, use FD0,
FD4, FD8 ... and so on to prevent overlapping bytes.
Timers
The Siemens S5 Driver automatically scales T and KT values based on the Siemens S5 time format. The
value returned for either a T or KT memory type is scaled using the appropriate Siemens time base. As a
result, the values are always returned as a count of milliseconds. When writing to T or KT memory types, the
Siemens time base is applied. To write a value to a timer in the controller, simply write the desired value as a
count of milliseconds to the appropriate timer.
Counters
www. ptc.com
57 Siemens S5 Driver
Counters are stored as three BCD digits on the device. The largest value that can be read or written to a
counter is 999.
Strings
String data is stored in data block registers, thus the actual number of bytes used to store the data is an
even number. For example, if a string of length 5 is specified, say by DB11:KS1.5, then 3 registers (6 bytes)
are used to store the string data. When writing strings shorter than the maximum specified length (5 in this
example), a null terminator (0x00) are added to the end of the string. When strings are read, the full range of
registers are read (3 in this example). Use of string tags with overlapping address ranges should be avoided
due to the effects of the null terminators. Appending either an "H" or "L" to the address specifies the byte
order.
www. ptc.com
Siemens S5 Driver 58
Possible Cause:
1. A device configuration transaction timed out because the serial connection between the device and
the host PC is invalid.
2. A device configuration transaction timed out because the communications parameters for the serial
port connection are incorrect.
Possible Solution:
1. Verify the cabling between the PC and the device is connected and intact.
2. Verify that the correct baud rate and parity are specified for the device.
Possible Cause:
1. Misalignment of packets due to disconnection between PC and device.
2. There is a problem with the cabling connecting the devices, causing noise.
Possible Solution:
While the driver can recover from this error without intervention, check the cabling or the device itself.
Requested data block is not defined and has been disabled. | Data block =
'DB<block number>'.
Error Type:
Warning
Possible Cause:
An attempt was made to reference a non-existent location in the specified device.
www. ptc.com
59 Siemens S5 Driver
Possible Solution:
Verify that the tags assigned to addresses in the specified range on the device and eliminate any that
reference invalid locations.
Data block is not defined. Write operation has failed. | Data block =
'DB<block number>'.
Error Type:
Warning
Possible Cause:
An attempt was made to write to a non-existent location in the specified device.
Possible Solution:
Verify the tags assigned to addresses in the specified range on the device and eliminate any that reference
invalid locations.
www. ptc.com
Siemens S5 Driver 60
Index
Address Descriptions 18
AS511 protocol 4
Attempts Before Timeout 15
Auto-Demotion 15
Baud 5
Boolean 17
Byte 17
Channel Assignment 12
Character buffer overrun 59
Communications Timeouts 14-15
Connect Timeout 15
Data block is not defined. Write operation has failed. | Data block = 'DB<block number>'. 59
Data Collection 13
Data Types Description 17
Demote on Failure 15
Demotion Period 16
Discard Requests when Demoted 16
Do Not Scan, Demand Poll Only 14
Driver 12
DWord 17
www. ptc.com
61 Siemens S5 Driver
Ethernet Encapsulation 5
Event Log Messages 58
General 12
Hardware 59
ID 13
Identification 12
Initial Updates from Cache 14
Inter-Request Delay 15
Long 17
Model 12
Name 12
Network 5
www. ptc.com
Siemens S5 Driver 62
Operating Mode 13
Overview 4
Parity 5
Protocol error. Incorrect number of bytes received. | Received = <number> (bytes), Expected =
<number> (bytes). 58
Redundancy 16
Request Timeout 15
Requested data block is not defined and has been disabled. | Data block = 'DB<block number>'. 58
Respect Tag-Specified Scan Rate 14
RX buffer overrun 59
S5 PLC 4
Scan Mode 14
Setup 5
Short 17
Siemens S5 (AS511) 100U-100 Address Descriptions 23
Siemens S5 (AS511) 100U-101 Address Descriptions 26
Siemens S5 (AS511) 100U-103 Address Descriptions 28
Siemens S5 (AS511) 101U Address Descriptions 30
Siemens S5 (AS511) 115U-941 Address Descriptions 33
Siemens S5 (AS511) 115U-942 Address Descriptions 35
Siemens S5 (AS511) 115U-943 Address Descriptions 38
Siemens S5 (AS511) 115U-944 Address Descriptions 40
Siemens S5 (AS511) 115U - 945 Address Descriptions 42
Siemens S5 (AS511) 135U-921 Address Descriptions 45
Siemens S5 (AS511) 135U-922 Address Descriptions 47
Siemens S5 (AS511) 135U-928 Address Descriptions 50
Siemens S5 (AS511) 155U-947 Address Descriptions 54
www. ptc.com
63 Siemens S5 Driver
Timeouts to Demote 16
TX buffer full 59
Word 17
www. ptc.com