Power, Input and Output (I/O) wiring must be in accordance with Class I, Division 2 wiring methods, Article 501-4 (b)
of the National Electrical Code, NFPA 70 for installation in the U.S., or as specified in Section 18-1J2 of the Canadian
Electrical Code for installations in Canada, and in accordance with the authority having jurisdiction. The following
warnings must be heeded:
A WARNING - EXPLOSION HAZARD - SUBSTITUTION OF COMPONENTS MAY IMPAIR SUITABILITY FOR
CLASS I, DIV. 2;
B WARNING - EXPLOSION HAZARD - WHEN IN HAZARDOUS LOCATIONS, TURN OFF POWER BEFORE
REPLACING OR WIRING MODULES, and
C WARNING - EXPLOSION HAZARD - DO NOT DISCONNECT EQUIPMENT UNLESS POWER HAS BEEN
SWITCHED OFF OR THE AREA IS KNOWN TO BE NONHAZARDOUS.
D "THIS DEVICE SHALL BE POWERED BY CLASS 2 OUTPUTS ONLY.
All ProLinx® Products
WARNING – EXPLOSION HAZARD – DO NOT DISCONNECT EQUIPMENT UNLESS POWER HAS BEEN
SWITCHED OFF OR THE AREA IS KNOWN TO BE NON-HAZARDOUS.
AVERTISSEMENT – RISQUE D'EXPLOSION – AVANT DE DÉCONNECTER L'EQUIPMENT, COUPER LE
COURANT OU S'ASSURER QUE L'EMPLACEMENT EST DÉSIGNÉ NON DANGEREUX.
Markings
ISA ISA 12.12.01 Class 1 Div 2
CSA/cUL C22.2 No. 213-1987
243333
CL I Div 2 GP A, B, C, D
Temp Code T5
II 3 G
Ex nA nL IIC T4 X
0° C <= Ta <= 60° C
II – Equipment intended for above ground use (not for use in mines).
3 – Category 3 equipment, investigated for normal operation only.
G – Equipment protected against explosive gasses.
ProLinx gateways with Ethernet Ports
Series C ProLinx™ gateways with Ethernet ports do NOT include the HTML Web Server. The HTML Web Server
must be ordered as an option. This option requires a factory-installed hardware addition. The HTML Web Server now
supports:
8 MB file storage for HTML files and associated graphics files (previously limited to 384K)
32K maximum HTML page size (previously limited to 16K)
To upgrade a previously purchased Series C model:
Contact your ProSoft Technology distributor to order the upgrade and obtain a Returned Mercha ndise Authorization
(RMA) to return the unit to ProSoft Technology.
To Order a Series C mode with the -WEB option:
Add -WEB to the standard ProLinx part number. For example, 5201-MNET-MCM-WEB.
Your Feedback Please
We always want you to feel that you made the right decision to use our products. If you have suggestions, comments,
compliments or complaints about the product, documentation or support, please write or call us.
April 14, 2009
ProSoft Technology ®, ProLinx ®, inRAx ®, ProTalk®, and RadioLinx ® are Registered Trademarks of ProSoft
Technology, Inc. All other brand or product names are or may be trademarks of, and are used to identify products
and services of, their respective owners.
ProSoft Technology® Product Documentation
In an effort to conserve paper, ProSoft Technology no longer includes printed manuals with our product shipments.
User Manuals, Datasheets, Sample Ladder Files, and Configuration Files are provided on the enclosed CD, and are
available at no charge from our web site: http://www.prosoft-technology.com
Printed documentation is available for purchase. Contact ProSoft Technology for pricing and availability.
Asia Pacific: +603.7724.2080
Europe, Middle East, Africa: +33 (0) 5.3436.87.20
Latin America: +1.281.298.9109
North America: +1.661.716.5100
This Section introduces the customer to the
module. Included are: package contents,
system requirements, hardware installation, and
basic configuration.
This section describes how to verify
communications with the network. Diagnostic
and Troubleshooting procedures.
These sections contain general references
associated with this product, Specifications, and
the Functional Overview.
This section contains Support, Service and
Warranty information.
Index of chapters.
ProSoft Technology, Inc. Page 7 of 64
April 14, 2009
For most applications, the installation and configuration steps described in this
section will work without additional programming. ProSoft Technology strongly
recommends that you complete the steps in this chapter before developing a
custom application.
1.1 ProLinx Reference Guide
The ProLinx Reference Guide on the ProSoft Solutions CD-ROM provides
detailed information on the entire range of ProLinx modules. If you have any
questions that are not answered in the S3964R Driver Manual, please refer to the
ProLinx Reference Guide.
You must install the ProSoft Configuration Builder (PCB) software in order to
configure the S3964R. You can always get the newest version of ProSoft
Configuration Builder from the ProSoft Technology web site.
To install ProSoft Configuration Builder from the ProSoft Web Site
1 Open your web browser and navigate to http://www.prosoft-
technology.com/pcb
2 Click the D
Configuration Builder.
3 Choose "S
4 Save the file to your Desktop, so that you can find it easily when you have
finished downloading.
5 When the download is complete, locate and open the file, and then follow the
instructions on your screen to install the program.
If you do not have access to the Internet, you can install ProSoft Configuration
Builder from the ProSoft Solutions CD-ROM, included in the package with your
S3964R.
OWNLOAD HERE link to download the latest version of ProSoft
AVE"or "SAVE FILE"when prompted.
ProSoft Technology, Inc. Page 9 of 64
April 14, 2009
To install ProSoft Configuration Builder from the Product CD
1 Insert the ProSoft Solutions Product CD into the CD drive of your PC. Wait for
the startup screen to appear.
2 On the startup screen, click P
RODUCT DOCUMENTATION. This action opens an
explorer window.
3 Click to open the U
TILITIES folder. This folder contains all of the applications
and files you will need to set up and configure your S3964R.
4 Double-click the P
ROSOFT CONFIGURATION BUILDER SETUP program and
follow the instructions on your screen to install the software on your PC.
Note: Many of the configuration and maintenance procedures use files and other utilities on the
CD-ROM. You may wish to copy the files from the Utilities folder on the CD-ROM to a convenient
location on your hard drive.
1.2.1 Using the Help System
Most of the information needed to help you use ProSoft Configuration Builder is
provided in a Help System that is always available whenever you are running
ProSoft Configuration Builder. The Help System does not require an Internet
connection.
To view the help pages, start ProSoft Configuration Builder, open the H
menu, and then choose CONTENTS.
ODULE icon, and then click the right mouse button to open a
IEW CONFIGURATION. This action opens the
IEW CONFIGURATION window, open the FILE menu, and choose
RINT dialog box, choose the printer to use from the dropdown list,
ProSoft Technology, Inc. Page 13 of 64
April 14, 2009
Yes or No
This parameter specifies if the CTS modem control line is to be used. If the
parameter is set to No, the CTS line will not be monitored. If the parameter is set
to Yes, the CTS line will be monitored and must be high before the module will
send data. Normally, this parameter is required when half-duplex modems are
used for communication (2-wire).
Swap
0 or 1
This parameter specifies whether bytes should be swapped. 0 = No data byte
swapping, 1 = Data byte swapping.
Priority
0 or 1
This parameter specifies whether the module is high priority or low priority with
respect to the CP. 0 = High priority, 1 = Low Priority.
Protocol
0 or 1
0=3964 RK512, 1=3964
ACK Delay
Number of milliseconds to wait for ACK. The default is 1000 ms.
Setup Attempts
Number of times to try to connect to CP (Default 6)
Transmit Attempts
Number of times to try to transmit to CP (Default 6)
DB Block Size
16 to 300 words
Size of message block to use for multi-block message transfers through the
database.
DB Block Timeout
1 to 65535 milliseconds
Timeout value to use while waiting to send/receive next message block during
multi-block message transfers through the database.
The [DATA MAP] section allows you to copy data between areas in the module's
internal database. .
You can copy to 100 registers at a time, and you can configure up to 200
separate copy commands.
For example, you can copy data from the error or status tables in upper memory
to internal database registers in the User Data memory area. You can also
rearrange the byte or word order during the copy process so that data such as
floating point values can be converted to the correct format for a specific
protocol.
You can also use the Data Map to build a specific block of data to be used by
any of the protocols that reside in the S3964R gateway.
ProSoft Technology, Inc. Page 19 of 64
April 14, 2009
0 to highest Status Data address
This field specifies the internal database register to copy from. This address can
range from the Data area as well as the Status Data Area of the product. Refer to
the ProLinx Reference Guide for the data and status registers for each protocol.
To Address
0 to 3999
The destination for the copy is always within the Register Data area. Take care to
specify a destination address that will not overwrite data that may be required for
other purposes.
Register Count
1 to 100
This parameter specifies the number of registers to copy.
Swap Code
0 = No Change
1 = Word Swap
2 = Word and Byte Swap
3 = Byte Swap
You may need to swap the order of the bytes in the registers during the copy
process in order to change the alignment of bytes between dissimilar protocols.
This parameter is helpful when dealing with floating-point or other multi-register
values, as there is no standard method of storage of these data types in slave
devices.
The following table defines the values and their associated operations:
Swap Code Description
0 None: No Change is made in the byte ordering (1234 = 1234)
1 Words: The words are swapped (1234=3412)
2
3 Bytes: The bytes in each word are swapped (1234=2143)
Words & Bytes: The words are swapped then the bytes in each word are
swapped (1234=4321)
Delay Preset
0 to 65535 milliseconds
This parameter controls how often this command will copy data between different
areas in the database. Set the Delay Preset for different intervals for each row in
the [Data Map] section.
If multiple copy operations (several rows in the [Data Map] section) happen at the
same time, they could delay the process scan of the gateway protocols. For
example, you should not set all values to a delay preset of 1000. Instead, use
values such as 1000, 1001 and 1002, or any other delay different delay preset
values you like. This will prevent the copies from happening concurrently and
prevent possible process scan delay.
ProSoft Technology, Inc. Page 21 of 64
April 14, 2009
3.1 Serial Port Cable Connections: Config/Debug and Port 0
This section contains information on the cable and pin assignments for the
ProLinx Communication Gateway module application serial ports (RS232/422/485).
The module will come with one to five serial ports, depending on the
configuration purchased. In all cases, the protocol serial ports will have the same
pin-outs.
Each serial port is a Mini-DIN physical connection. A 6-inch 'Mini-DIN to DB-9M'
cable is provided for each active protocol port. The DB-9M provides connections
for RS-232, RS-422 and RS-485, as well as for the Debug port. The diagrams in
the following topics detail the pin assignments for several possible physical
connections.
The relationship between the port labeling on the front of the ProLinx module and
the application is as follows:
Port Label Function
Debug Debug/Configuration
Port 0 Application Port 0
3.2 Cable Connections
The application ports on the S3964R module support RS-232, RS-422, and RS485 interfaces. Please inspect the module to ensure that the jumpers are set
correctly to correspond with the type of interface you are using.
Note: When using RS-232 with radio modem applications, some radios or modems require
hardware handshaking (control and monitoring of modem signal lines). Enable this in the
configuration of the module by setting the UseCTS parameter to 1.
ProSoft Technology, Inc. Page 23 of 64
April 14, 2009
When the RS-232 interface is selected, the use of hardware handshaking
(control and monitoring of modem signal lines) is user definable. If no hardware
handshaking will be used, the cable to connect to the port is as shown below:
RS-232: Modem Connection
This type of connection is required between the module and a modem or other
communication device.
The "Use CTS Line" parameter for the port configuration should be set to 'Y' for
most modem applications.
This type of connection is used when the device connected to the module
requires hardware handshaking (control and monitoring of modem signal lines).
RS-232: Null Modem Connection (No Hardware Handshaking)
This type of connection can be used to connect the module to a computer or field
device communication port.
Note: If the port is configured with the "Use CTS Line" set to 'Y', then a jumper is required between
the RTS and the CTS line on the module connection.
ProSoft Technology, Inc. Page 25 of 64
April 14, 2009
This port is physically a Mini-DIN connection. A Mini-DIN to DB-9 adapter cable
is included with the module. This port permits a PC based terminal emulation
program to view configuration and status data in the module and to control the
module. The cable for communications on this port is shown in the following
diagram:
3.2.3 RS-485
The RS-485 interface requires a single two or three wire cable. The Common
connection is optional and dependent on the RS-485 network. The cable required
for this interface is shown below:
Note: Terminating resistors are generally not required on the RS-485 network, unless you are
experiencing communication problems that can be attributed to signal echoes or reflections. In this
case, install a 120-ohm terminating resistor on the RS-485 line.
If communication in the RS-422/RS-485 mode does not work at first, despite all
attempts, try switching termination polarities. Some manufacturers interpret +/and A/B polarities differently.
3.2.5 DB9 to Mini-DIN Adaptor (Cable 09)
ProSoft Technology, Inc. Page 27 of 64
April 14, 2009
There are two ways to troubleshoot ProLinx gateways: LEDs located on the front
of the gateway, and a Debug port that provides a view into the gateway's internal
database.
4.1 Requirements
In order to use the Debug capabilities of any ProLinx Module, you will need the
following:
A PC running ProSoft Configuration Builder or HyperTerminal software
A Null Modem cable
A Mini-DIN to DB-9M connector
Configuration and executable files described earlier
4.1.1 The Configuration/Debug Menu
The Configuration and Debug menu for this module is arranged as a tree
structure, with the Main Menu at the top of the tree, and one or more sub-menus
for each menu command. The first menu you see when you connect to the
module is the Main menu.
Because this is a text-based menu system, you enter commands by typing the
command letter from your computer keyboard in the diagnostic window in
ProSoft Configuration Builder (PCB). The module does not respond to mouse
movements or clicks. The command executes as soon as you press the
command letter — you do not need to press [E
letter, a new screen will be displayed in your terminal application.
Required Hardware
You can connect directly from your computer's serial port to the serial port on the
module to view configuration information, perform maintenance, and send
(upload) or receive (download) configuration files.
NTER].When you type a command
ProSoft Technology recommends the following minimum hardware to connect
your computer to the module:
80486 based processor (Pentium preferred)
1 megabyte of memory
ProSoft Technology, Inc. Page 29 of 64
April 14, 2009
At least one UART hardware-based serial communications port available.
USB-based virtual UART systems (USB to serial port adapters) often do not
function reliably, especially during binary file transfers, such as when
uploading/downloading configuration files or module firmware upgrades.
A null modem serial cable.
Using the Diagnostic Window in ProSoft Configuration Builder
To connect to the module's Configuration/Debug serial port:
1 Start PCB, and then select the module to test. Click the right mouse button to
Important: The illustrations of configuration/debug menus in this section are intended as a general
guide, and may not exactly match the configuration/debug menus in your own module.
If there is no response from the module, follow these steps:
1 Verify that the null modem cable is connected properly between your
computer's serial port and the module. A regular serial cable will not work.
2 On computers with more than one serial port, verify that your communication
program is connected to the same port that is connected to the module.
If you are still not able to establish a connection, contact ProSoft Technology for
assistance.
Navigation
All of the sub-menus for this module contain commands to redisplay the menu or
return to the previous menu. You can always return from a sub-menu to the next
higher menu by pressing [M]
on your keyboard.
The organization of the menu structure is represented in simplified form in the
following illustration:
The remainder of this section shows you the menus available for this module,
and briefly discusses the commands available to you.
ProSoft Technology, Inc. Page 31 of 64
April 14, 2009
The keyboard commands on these menus are almost always non-case sensitive.
You can enter most commands in lower case or capital letters.
The menus use a few special characters ([?],
exactly as shown. Some of these characters will require you to use the [S
[-],[+],[@]) that must be entered
HIFT],
[CTRL] or [ALT]keys to enter them correctly. For example, on US English
keyboards, enter the [?]
Also, take care to distinguish capital letter [I]
number [1];
likewise for capital letter [O]and number [0].Although these
command as [SHIFT][/].
from lower case letter [L](L) and
characters look nearly the same on the screen, they perform different actions on
the module.
4.1.2 Main Menu
When you first connect to the module from your computer, your terminal screen
will be blank. To activate the main menu, press the [?] key on your computer's
keyboard. If the module is connected properly, the following menu will appear on
your terminal screen:
Caution: Some of the commands available to you from this menu are designed for advanced
debugging and system testing only, and can cause the module to stop communicating with the
processor or with other devices, resulting in potential data loss or other failures. Only use these
commands if you are specifically directed to do so by ProSoft Technology Technical Support staff.
Some of these command keys are not listed on the menu, but are active nevertheless. Please be
careful when pressing keys so that you do not accidentally execute an unwanted command.
Redisplaying the Menu
Press [?]
to display the current menu. Use this command when you are looking
at a screen of data, and want to view the menu choices available to you.
to open the Data Analyzer Menu. Use this command to view all bytes
of data transferred on each port. Both the transmitted and received data bytes
are displayed. Refer to Data Analyzer for more information about this menu.
Important: When in analyzer mode, program execution will slow down. Only use this tool during a
troubleshooting session. Before disconnecting from the Config/Debug port, please press [S]to stop
the data analyzer, and then press [M]to return to the main menu. This action will allow the module
to resume its normal high speed operating mode.
Viewing Port Status
Press [1],
Viewing Port Configuration
Press [6],
[2],[3], or [4]to view status for ports 0 through 3 respectively.
[7],[8]or [9]from the Main Menu to view configuration information for
ports 0 through 3.
Use this command to display detailed configuration information for the selected
port.
ProSoft Technology, Inc. Page 33 of 64
April 14, 2009
Press [D]from the Main Menu to open the Database View menu. Use this menu
command to view the current contents of the module's database. Press [?]
view a list of commands available on this menu.
M = Main Menu
D = Database Menu
? = Display MenuRedisplays (refreshes) this menu
0 – 3 = Pages 0 to 3000
S = Show AgainRedisplays last selected page of data
– = Back 5 Pages
P = Previous Page
+ = Skip 5 Pages
N = Next Page
D = Decimal Display
H = Hexadecimal Display
F = Float Display
A = ASCII Display
M = Main MenuGoes up one level to main menu
Selects page 0, 1000, 2000 or 3000
Goes back five pages of data
Goes back one page of data
Goes forward five pages of data
Goes forward one page of data
Displays data in decimal format
Displays data in hex format
Displays data in floating point format
Displays data in text format
to
Viewing Register Pages
To view sets of register pages, use the keys described below:
Command Description
[0]
[1]
[2]
Display registers 0 to 99
Display registers 1000 to 1099
Display registers 2000 to 2099
And so on. The total number of register pages available to view depends on your
module's configuration.
Displaying the Current Page of Registers Again
Press [S]
from the Database View menu to show the current page of registers
again.
This screen displays the current page of 100 registers in the database.
from the Database View menu to skip five pages back in the database
to see the previous 100 registers of data.
Moving Forward Through 5 Pages of Registers
Press [+]
from the Database View menu to skip five pages ahead in the database
to see the next 100 registers of data.
Viewing the Previous 100 Registers of Data
Press [P]
from the Database View menu to display the previous 100 registers of
data.
Viewing the Next 100 Registers of Data
Press [N]
from the Database View menu to select and display the next 100
registers of data.
Viewing Data in Decimal Format
Press [D]
to display the data on the current page in decimal format.
Viewing Data in Hexadecimal Format
Press [H]
to display the data on the current page in hexadecimal format.
Viewing Data in Floating Point Format
Press [F]
from the Database View menu. Use this command to display the data
on the current page in floating point format. The program assumes that the
values are aligned on even register boundaries. If floating-point values are not
aligned as such, they are not displayed properly.
Viewing Data in ASCII (Text) Format
Press [A]
to display the data on the current page in ASCII format. This is useful
for regions of the database that contain ASCII data.
Returning to the Main Menu
Press [M]
to return to the Main Menu.
ProSoft Technology, Inc. Page 35 of 64
April 14, 2009
LEDs provide visual indications of potential problems. The following LEDs are
fundamental to all ProLinx modules.
Base gateway LEDs
LED State Description
Power
Off
Green Solid
Off Normal operation. Fault
Red Solid
Off Normal operation. Cfg
Amber Solid
Err
Off Normal operation.
Flashing
Solid Red
Power is not connected to the power terminals. This LED is hardware
driven, so it only requires power to operate.
Power is connected to the power terminals. Check the other LEDs for
operational and functional status.
A critical error has occurred. Program executable has failed or has
been user-terminated and is no longer running. Press R
cycle power to clear error. If it does not clear after a reset, use the
Debug procedures described later in this manual.
The unit is in the configuration mode. The configuration file is being
read and the unit is implementing the configuration values and
initializing the hardware. This will occur during power cycle, or after
pressing the R
ESET button. It occurs after a cold/warm boot command
is received. It also occurs when a configuration is being downloaded.
An error condition has been detected and is occurring. Check
configuration. May also indicate intermittent or periodic
communications errors on any application network port.
This condition indicates of a large number of application
communications errors. The gateway's error flag is cleared at the start
of each command (master/client) or receipt of data
(slave/adapter/server) and set on whenever an error occurs. If this LED
stays on all the time, it indicates a complete loss of communication on
one or more application communication ports.
ESET p/b or
Mini-DIN 8 Serial Port
LED State Description
ERR
Off
Red On or
Flashing
Off No activity on this port. ACT (Active)
Flashing Green The port is either actively transmitting or receiving data.
Page 36 of 64 ProSoft Technology, Inc.
Normal state. When off and Port Active LED indicates activity,
there are no communication errors.
Activity on this LED indicates that some communication error
was detected, either during transmit or receive. To determine
the exact error, use the Debug port procedures described in
this section.
The communication between the gateway and the Modbus TCP/IP processor is
realized through the gateway's database.
5.2 3964R Protocol Overview
5.2.1 The 3964R Protocol in General
The 3964R protocol defined by Siemens is used for bi-directional data exchange
between two peers through a bit-serial point-to-point connection. This protocol
may be additionally embedded in the RK512 telegram level. If 3964R is used with
RK512, each participant can send jobs to its partner and has read (DB-FETCH)
and write access (DB-SEND) to the partner's data. The data exchange is realized
in the form of messages and response messages. The maximum user data
volume is 512 byte per job and 128 byte per message.
3964R without RK512 allows only block wise sending and receiving of data. The
detailed handshake procedure through messages and response messages is not
applicable in this case.
If both partners want to send a job (3964R with RK512) or data (3964R without
RK512) at the same time, the resulting initialization conflict will be solved through
the high/low priority setup. In such a case, one partner will be allocated high
priority and the other one low priority. Thus, in case of an initialization conflict the
device with low priority will defer its job whereas the device with the high priority
will be able to send a job.
The safety of data transmission on the line is guaranteed by a BCC checksum.
You should have sufficient knowledge about the 3964R protocol in order to
understand the operation of the driver for the S3964R and to make efficient use
of the example programs.
ProSoft Technology, Inc. Page 37 of 64
April 14, 2009
The protocol realized on the S3964R has the following special features:
Immediately after power-up and completion of the internal/external
initialization procedures the S3964R with installed 3964R protocol is ready to
serve as an interface between a controlling device and one or more
communication partners using 3964R protocol. The parameterization of the
module is realized through a configuration file. This is where a differentiation
between the communication modes 3964R with RK512 and 3964R without
RK512 takes place.
The communication mode 3964R without RK512 supports processing of up to
512 bytes.
The serial transmission parameters can be allocated independently to each
interface using the ProSoft Configuration Builder software.
5.3 Communications
5.3.1 Job Allocation by the Modbus TCP/IP Device
This section describes the different types of jobs and the relevant parameters to
be entered.
Every job that is transferred to or from the S3964R Communication Partner
consists of defined header data and user data. This data is stored in the module
database. The following data map shows how the data is mapped out in the local
database for each 3964R port.
Data Map Offset
0 299 Port 0 Receive
300 599 Port 0 Transmit
600 899 Port 1 Receive
900 1199 Port 1 Transmit
1200 1499 Port 2 Receive
1500 1799 Port 2 Transmit
1800 2099 Port 3 Receive
2100 2399 Port 3 Transmit
2400 2409 Port 0 Status
2410 2419 Port 1 Status
2420 2429 Port 2 Status
2430 2439 Port 3 Status
Message data received from the 3964R Communication Partner is stored in the
"Receive" section for each port.
Data that needs to be transmitted to the 3964R Communication Partner is stored
in the "Transmit" section.
The "Status" section contains the 3964R driver status for each port.
The Port Transmit data consists of header information and parameter data.
The Port Transmit Data in general:
Word Description
0
1
2 Blocks remaining. This location is reserved and should always be 0.
3 Reserved. Set to 0.
4
5
6
7
8
9 RK512 Coordination Byte.
10 Data Type. Usually set to 0x0000 for Word Data Type.
11 Always 0.
12 Always 0.
13 Always 0.
14 Always 0.
15 First word of data.
16 Second word of data.
… …
n+15 n-th word of data.
Transmit Sequence number. The Modbus TCP/IP device must change this
value to transmit a message to the 3964R Communication Partner. This value
should not be changed until all other data in the message is ready to be sent.
When this value changes, it triggers the 3964R driver to process and transmit
the message.
Last Received Sequence number. The Modbus TCP/IP device must copy the
Last Received Sequence Number from the Receive database (word[0]) to this
location after a 3964R message has been read from the receive database.
Updating this value as described signals to the 3964R driver that any new data
that arrives from the 3964R Communication Partner can be written to the
receive database. An error will occur if new data arrives from the 3964R
Communication Partner and this value has not been updated, because the
3964R driver will not be able to write the new data to the receive database.
Number of data words in this block. This location contains the number of data
words that are included in this block of data. This will include the 10 word
header stored in word[5] through word[14] plus the number of data words in
this message. The calculation is "10 + #of data words".
Job Code ID. This location will contain the job code for this message. Possible
job codes are:
0x0041 – RK512 DB-SEND
0x0045 – RK512 DB-FETCH
0x1145 – send response to a previous fetch command from the remote
3964R communication partner
0x00FF – non-RK512 SEND
RK512 Data Block (DB). This location contains the number of the data block to
read/write data. Usually set to 0.
RK512 Data Word (DW). This location contains the index of the data word
within the selected data block to read/write data. Usually set to 0.
Number of data words total. This location contains the actual number of data
words to be read or written.
0x0000 = Word Data Type
0x0044 = Word Data Type
0x004D = Marker Data Type
ProSoft Technology, Inc. Page 39 of 64
April 14, 2009
The Port Receive data consists of header information and parameter data.
For each ProLinx serial port connected to a 3964R device, you need to
continually monitor Word 0, Sequence Number, in the Receive Buffer for a
change in value. When it changes, check the Job Code so you can act upon it.
The 3964R telegram can arrive at any time, asynchronously.
The Port Receive Data in general:
Word Description
0
1
2 Blocks remaining. This location is reserved and should always be 0.
3
4
5 Multi-block Block Number. This location is reserved and should always be 0.
6
7
8
9
10
11 Always 0.
12 Always 0.
Receive Sequence number. This value is incremented by the 3964R driver
when new data is ready to be read from the Port Receive database. When this
value changes, it should signal the Modbus TCP/IP device to read the data.
Transmit read ACK. This value is used to acknowledge that the transmit data
has been read by the 3964R driver. This value will be updated with the latest
Transmit Sequence Number from the most recent transmit. The value from
word[0] of the Port Transmit data will be copied to this location by the 3964R
driver after the driver has read the new transmit data from the database.
Error Code. If an error occurs in the 3964R driver, the error code will be stored
in this location. This error location is updated asynchronously to data sends
and receives, so it should be monitored continuously because errors can occur
even when the Modbus TCP/IP device is not sending or receiving data. Any
new Transmit of data will clear this error, so this value should always be
checked prior to a new transmission.
Number of data words in this block. This location contains the number of data
words that are included in this block of data. This will include the 1 word block
number (word[5]) plus the 10 word header stored in word[6] through word[15]
plus the number of data words in this message. The calculation is "1 + 10 +
#of data words".
Job Code ID. This location will contain the job code for this message. Possible
job codes are:
0x0045 – response to a previous fetch command
0x1141 – the remote 3964R Communication Partner is initiating an
RK512 DB-SEND
0x1145 – the remote 3964R Communication Partner is initiating an
RK512 DB-FETCH
0x11FF – the remote 3964R Communication Partner is initiating a non-
RK512 SEND
RK512 Data Block (DB). This location contains the number of the data block to
read/write data. Usually set to 0.
RK512 Data Word (DW). This location contains the index of the data word
within the selected data block to read/write data. Usually set to 0.
Number of data words total. This location contains the actual number of data
words to be read or written.
Number of data words block. This value will always be equal to number of data
words total.
13 Always 0.
14 Always 0.
15 Always 0.
16 First word of data.
11 Second word of data.
… …
n+15 n-th word of data.
5.4 Example Messages
Here are some examples of sending and receiving data through the module.
There are four scenarios:
1 The Modbus TCP/IP device is sending data to the 3964R device
2 The Modbus TCP/IP device is fetching data from the 3964R device
3 The 3964R device is sending data to the Modbus TCP/IP device
4 The 3964R device is fetching data from the Modbus TCP/IP device.
Note: For each ProLinx serial port connected to a 3964R device, you need to continually monitor
Word 0, Sequence Number, in the Receive Buffer for a change in value. When it changes, check
the Job Code so you can act upon it. The 3964R telegram can arrive at any time, asynchronously.
5.4.1 Example Modbus TCP/IP DB-SEND of data to 3964R device
Modbus TCP/IP Write of data to ProLinx:
Use a Modbus Function Code 16 to write data to the ProLinx. You will setup the
RANSMIT BUFFER. The 3964R device will be sent a 3964R telegram from the
T
ProLinx. You will setup the Modbus TCP/IP device to continually poll the R
BUFFER
for errors.
1 Start by setting B to the value in G.
2 Then write the data count and the data in E and F.
3 Now set the trigger, A, to tell the ProLinx to begin. Set it to the value already
in A, plus 1.
4 Watch A and H. When A = H, then you know the ProLinx module has read
the data you just wrote.
5 Continually poll the error code, J to verify no errors.
Transmit Buffer
Item Address Transmit Value
A (<port#> * 600) + 300 Sequence Number
B ((<port#> * 600) + 300) + 1 Last Receive
Sequence Number
C ((<port#> * 600) + 300) + 2 Blocks Remaining
Item Address Receive Value
G <port#> * 600 Sequence Number
H (<port#> * 600) + 1 Last Transmit
I (<port#> * 600) + 2 Blocks Remaining
Receive Buffer
Sequence Number
ECEIVE
ProSoft Technology, Inc. Page 41 of 64
April 14, 2009
D ((<port#> * 600) + 300) + 3 Reserved
E ((<port#> * 600) + 300) + 4 Data Count
F ((<port#> * 600) + 300) + 5
through ((<port#> * 600) +
300) + 299
Data
Item Address Receive Value
J (<port#> * 600) + 3 Error Code
K (<port#> * 600) + 4 Data Count
L (<port#> * 600) + 5
through (<port#> *
600) + 299
Data
Now the ProLinx is writing the new data to the 3964R device as a DB-SEND
telegram.
Port 0 Transmit Database
Here is an example of a RK512 DB-SEND from the Modbus TCP/IP device to the
3964R Communication Partner on port 0. This example sends five words of data.
The values for the five words of data are 11, 22, 33, 44, and 55.
Word Value Description:
300 7
301 X
302 0 Reserved.
303 0 Reserved.
304 15 10 word header + 5 data words.
305 0x0041 DB-SEND.
306 0 Data Block.
307 0 Data Word.
308 5 Sending 5 data words.
309 0 Coordination Byte.
310 0 Data Type. 0 = Word data.
311 0 Reserved.
312 0 Reserved.
313 0 Reserved.
314 0 Reserved.
315 11 1st data word value.
316 22 2nd data word value.
317 33 3rd data word value.
318 44 4th data word value.
319 55 5th data word value.
Transmit Sequence Number. Increment this value after all other data in
the message is ready. Changing this value will trigger the 3964R driver
to transmit this message to the 3964R communication partner. In this
example we are changing the value from 6 to 7 to trigger the transmit of
the send command.
Last Received Sequence number. The Modbus TCP/IP device must
copy the last received sequence number from the Receive database
(word[0]) to this location after a message has been read from the
receive database.
No change in Receive Sequence Number because no data is returned
from a DB-SEND.
Transmit Sequence number. This number will update to the Transmit
Sequence Number that triggered the DB-SEND. When this value
updates to the transmit sequence number it does not mean that the
data has been sent out of the 3864R port. It only means that the 3964R
driver has read the DB-SEND command from the transmit database
and it is now safe to start writing the next transmit command to the
transmit database.
Error Code. This error code should be monitored continuously because
sometimes it might take awhile for a communication error to occur
depending on timeout values and the type of error.
5.4.2 Example Modbus TCP/IP DB-FETCH of data from 3964R device
Use a Modbus Function Code 16 to write header data to the PROLINX TRANSMIT
BUFFER
3964R telegram from the ProLinx, and will respond with the DB-FETCH response
telegram. You will set up the Modbus TCP/IP device by using a Modbus Function
Code 3 to continually poll the R
, TO GIVE IT THE DB-FETCH COMMAND. The 3964R device will be sent a
ECEIVE BUFFER for indication of new data.
1 Start by setting B to the value in G.
2 Then write the data count and the data header in E and F.
3 Now set the trigger, A, to tell the ProLinx to begin. Set it to the value already
in A, plus 1.
4 Watch A and H. When A = H, then you know the ProLinx module has read
the data you just wrote.
5 Watch B and G. When B <> G, then you know the ProLinx has new data for
you.
oYou will want to verify the Job Code, to make sure this is new data in
response to the DB-FETCH command, as it could possibly be a DBSEND or DB-FETCH initiated from the 3964R device.
oIf the Job Code is 0x0045, then read the RECEIVE BUFFER.CHECK J FOR
ERRORS
, AND K AND L FOR DATA.
6 Continually poll the error code, J to verify no errors.
7 Set B to the value in G.
Transmit Buffer
Item Address Transmit Value
A (<port#> * 600) + 300 Sequence
Number
B ((<port#> * 600) + 300) + 1 Last Receive
Sequence
Number
C ((<port#> * 600) + 300) + 2 Blocks
Remaining
Item Address Receive Value
G <port#> * 600 Sequence Number
H (<port#> * 600) + 1 Last Transmit
I (<port#> * 600) + 2 Blocks Remaining
Receive Buffer
Sequence Number
ProSoft Technology, Inc. Page 43 of 64
April 14, 2009
D ((<port#> * 600) + 300) + 3 Reserved
E ((<port#> * 600) + 300) + 4 Data Count
F ((<port#> * 600) + 300) + 5
through ((<port#> * 600) +
300) + 299
Data
Item Address Receive Value
J (<port#> * 600) + 3 Error Code
K (<port#> * 600) + 4 Data Count
L (<port#> * 600) + 5
through (<port#> *
600) + 299
Data
Port 0 Transmit Database
Here is an example of a RK512 DB-FETCH to read data from the 3964R
communication partner on port 0. This example reads five words of data. The
values for the five words of data are 111, 222, 333, 444, and 555.
Word Value Description:
300 8
301 3
302 0 Reserved.
303 0 Reserved.
304 10 10 word header.
305 0x0045 Job Code ID. 0x0045 = DB-FETCH.
306 0 Data Block.
307 0 Data Word.
308 5 Fetching 5 data words.
309 0 Coordination Byte.
310 0 Data Type. 0 = Word data
311 0 Reserved.
312 0 Reserved.
313 0 Reserved.
314 0 Reserved.
Transmit Sequence Number. Increment this value after all other data in
the message is ready. Changing this value will trigger the 3964R driver
to transmit this message to the 3964R communication partner. In this
example we are changing the value from 7 to 8 to trigger the transmit of
the fetch command.
Last Received Sequence number. The Modbus TCP/IP device must
copy the last received sequence number from the Receive database
(word[0]) to this location after a message has been read from the
receive database. In this example the value currently in Receive
database (word[0]) is 3, so that value is copied here to tell the 3964R
driver that we have read the last data and it is safe for the driver to
write to the receive database.
In this example, the Receive Sequence Number will increment from 3
to 4 when the fetched data has arrived. When this location changes
values, then the fetched data has returned and it is ready to be read.
1 8
Transmit Sequence number. This number will update to the Transmit
Sequence Number that triggered the DB-FETCH. When this value
updates to the transmit sequence number it does not mean that the
fetch command has been sent out of the 3864R port. It only means that
the 3964R driver has read the DB-FETCH command from the transmit
database and it is now safe to start writing the next transmit command
to the transmit database. Although in this case, it would be wise to wait
for the fetch response before initiating a new command.
2 0 Reserved.
3 0
Error Code. This error code should be monitored continuously because
sometimes it might take awhile for a communication error to occur
depending on timeout values and the type of error.
4 16
Number of data words in this message block. Modbus TCP/IP multi-
block Block Number (1 word) plus RK512 Header (10 words) plus the 5
words of fetched data.
5 0 Multi-block number should always be 0.
6 0x0045 Returned Job Code ID. 0x0045 = DB-F ETCH
7 0 Returned Data Block number.
8 0 Returned Data Word number.
9 5 Number of data words Total. (The 5 words we requested)
10 5
Number of data words Block. Always equal to Number of data words
Total.
11 0 Reserved.
12 0 Reserved.
13 0 Reserved.
14 0 Reserved.
15 0 Reserved.
16 111 1st data word value.
17 222 2nd data word value.
18 333 3rd data word value.
19 444 4th data word value.
20 555 5th data word value.
Port 0 Transmit Database (After Reading Fetched Data)
After the Fetched data has been read, the transmit database must be updated as
follows:
Word Value Description:
300 X No change.
301 4
ProSoft Technology, Inc. Page 45 of 64
April 14, 2009
Last Received Sequence number. After received data has been read,
copy value from Port 0 receive database Receive Sequence number
(word[0000]) to this location to tell 3964R driver that it is OK to write
new data into the Receive database. In our example, we copy the new
5.4.3 Example 3964R DB-SEND of data to Modbus TCP/IP device
Now let's say the 3964R device needs to send data to the Modbus TCP/IP
device. The 3964R device issues a DB-SEND. The Modbus TCP/IP device
needs to continually poll the ProLinx for an indication of new data.
Use a Modbus Function Code 3 to read header data from the ProLinx R
BUFFER
. The 3964R device issues a DB-SEND telegram to the ProLinx. The
ECEIVE
ProLinx device will automatically respond with a DB-SEND Response telegram
back to the 3964R device. The ProLinx will copy the DB-SEND telegram into the
R
ECEIVE BUFFER. Use a Modbus Function Code 3 to read the data from the
ProLinx R
ECEIVE BUFFER
1 Continually watch G for a change in value.
2 Verify the Job Code in L, to make sure this is new DB-SEND data.
3 If the Job Code is 0x1141, then read the RECEIVE BUFFER.CHECK J FOR
ERRORS
, AND K AND L FOR DATA.
4 Continually poll the error code, J to verify no errors.
5 Set B to the value in G.
Transmit Buffer
Item Address Transmit Value
A (<port#> * 600) + 300 Sequence
Number
B ((<port#> * 600) + 300) + 1 Last Receive
Sequence
Number
C ((<port#> * 600) + 300) + 2 Blocks
Remaining
D ((<port#> * 600) + 300) + 3 Reserved
E ((<port#> * 600) + 300) + 4 Data Count
F ((<port#> * 600) + 300) + 5
through ((<port#> * 600) +
300) + 299
Data
Item Address Receive Value
G <port#> * 600 Sequence Number
H (<port#> * 600) + 1 Last Transmit
I (<port#> * 600) + 2 Blocks Remaining
J (<port#> * 600) + 3 Error Code
K (<port#> * 600) + 4 Data Count
L (<port#> * 600) + 5
through (<port#> *
600) + 299
Receive Buffer
Sequence Number
Data
Port 0 Receive Database (Results of DB-Fetch)
Here is an example of a RK512 DB-SEND initiated from the 3964R
Communication Partner on port 0. This example sends five words of data to the
Modbus TCP/IP device. The values for the five words of data are 11, 22, 33, 44,
and 55.
Word Value Description:
0 4
1 X
2 0 Reserved.
In this example, the Receive Sequence Number will increment from 3
to 4 when the DB-SEND message data has arrived. When this location
changes values, then it signals that new message data has been
received from the 3964R communication partner.
Transmit Sequence number. This number will not change when a DBSEND message has been received from the 3964R communication
partner.
5 0 Multi-block number should always be 0.
6 0x1141
7 0 Data Block number. This is the block num ber to write the data to.
8 0
9 5
10 5
11 0 Reserved.
12 0 Reserved.
13 0 Reserved.
14 0 Reserved.
15 0 Reserved.
16 11 1st data word value.
17 22 2nd data word value.
18 33 3rd data word value.
19 44 4th data word value.
20 55 5th data word value.
Error Code. This error code should be monitored continuously because
sometimes it might take awhile for a communication error to occur
depending on timeout values and the type of error.
Number of data words in this message block. Modbus TCP/IP multiblock Block Number (1 word) plus RK512 Header (10 words) plus the 5
words of fetched data.
Job Code ID. 0x1141 = DB-SEND initiated by 3964R communication
partner.
Data Word number. This is the index into the selected block number to
write the data to.
Number of data words Total. This is the number of data words that are
being sent in this message.
Number of data words Block. Always equal to Number of data words
Total.
Port 0 Transmit Database (After Reading DB-Send Data)
After the DB-SEND data has been read, the transmit database must be updated
as follows:
Word Value Description:
300 X No change.
301 4
Last Received Sequence number. After DB-SEND data has been read,
copy value from Port 0 receive database Receive Sequence number
(word[0000]) to this location to tell 3964R driver that it is OK to write
new data into the Receive database. In our example, we copy the new
Receive Sequence value of 4 to this location.
ProSoft Technology, Inc. Page 47 of 64
April 14, 2009
Now let's say the 3964R device needs to fetch data from the Modbus TCP/IP
device. The 3964R device issues a DB-FETCH. The Modbus TCP/IP device
needs to continually poll the ProLinx for an indication of a new telegram
requesting new data.
Use a Modbus Function Code 3 to read header data from the ProLinx R
BUFFER
ProLinx will copy the DB-FETCH telegram into the R
Modbus Function Code 3 to read the data from the ProLinx R
. The 3964R device issues a DB-FETCH telegram to the ProLinx. The
ECEIVE BUFFER. Use a
ECEIVE BUFFER.
Use a Modbus Function Code 16 to write the fetch response data to the ProLinx
RANSMIT BUFFER. The ProLinx will then create a DB-FETCH response telegram
T
back to the 3964R device.
1 Continually watch G for a change in value.
2 Verify the Job Code in L, to make sure this is new DB-FETCH command.
3 If the Job Code is 0x1145, then read the R
ERRORS
, AND K AND L FOR DATA.
ECEIVE BUFFER.CHECK J FOR
4 Then write the data count and the data in E and F.
5 Set B to the value in G.
6 Now set the trigger, A, to tell the ProLinx to begin. Set it to the value already
in A, plus 1.
7 Watch A and H. When A = H, then you know the ProLinx module has read
the data you just wrote.
8 Continually poll the error code, J to verify no errors.
Transmit Buffer
Receive Buffer
ECEIVE
Item Address Transmit Value
A (<port#> * 600) + 300 Sequence
Number
B ((<port#> * 600) + 300) + 1 Last Receive
Sequence
Number
C ((<port#> * 600) + 300) + 2 Blocks
Remaining
D ((<port#> * 600) + 300) + 3 Reserved
E ((<port#> * 600) + 300) + 4 Data Count
F ((<port#> * 600) + 300) + 5
through ((<port#> * 600) +
300) + 299
Data
Item Address Receive Value
G <port#> * 600 Sequence Number
H (<port#> * 600) + 1 Last Transmit
Sequence Number
I (<port#> * 600) + 2 Blocks Remaining
J (<port#> * 600) + 3 Error Code
K (<port#> * 600) + 4 Data Count
L (<port#> * 600) + 5
through (<port#> *
600) + 299
Data
Port 0 Receive Database (DB-Fetch Initiated from 3964R Communication
Partner)
Here is an example of an RK512 DB-FETCH initiated from the 3964R
communication partner on port 0. This example fetches five words of data from
the MNET processor. The values for the five words of data are 11, 22, 33, 44,
and 55.
In this example, the Receive Sequence Number will increment from 3
to 4 when the DB-FETCH message data has arrived. When this
location changes values, then it signals that new message data has
been received from the 3964R Communication Partner.
Transmit Sequence number. This number will not change when a DBFETCH message has been received from the 3964R Communication
Partner.
Error Code. This error code should be monitored continuously because
sometimes it might take awhile for a communication error to occur
depending on timeout values and the type of error.
Number of data words in this message block. Modbus TCP/IP multiblock Block Number (1 word) plus RK512 Header (10 words) plus the 5
words of fetched data.
Job Code ID. 0x1145 = DB-FETCH initiated by 3964R Communication
Partner.
Data Word number. This is the index into the selected block number to
read the data from.
Number of data words Total. This is the number of data words that are
being fetched in this message.
Number of data words Block. Always equal to Number of data words
Total.
Port 0 Transmit Database (Response to DB-fetch)
After the DB-FETCH request has been read, the Modbus TCP/IP device needs to
respond with the fetched data.
Word Value Description:
300 7
301 4
302 0 Reserved.
303 0 Reserved.
304 15 10 word header + 5 data words.
Transmit Sequence Number. Increment this value after all other data in
the message is ready. Changing this value will trigger the 3964R driver
to transmit this message to the 3964R Communication Partner. In this
example we are changing the value from 6 to 7 to trigger the transmit of
the send command.
Last Received Sequence number. The Modbus TCP/IP device must
copy the last received sequence number from the Receive database
(word[0]) to this location after a message has been read from the
receive database.
ProSoft Technology, Inc. Page 49 of 64
April 14, 2009
306 0 Returned Data Block.
307 0 Returned Data Word.
308 5 Number of data words total. Sending 5 data words.
309 5
310 0 Reserved.
311 0 Reserved.
312 0 Reserved.
313 0 Reserved.
314 0 Reserved.
315 11 1st data word value.
316 22 2nd data word value.
317 33 3rd data word value.
318 44 4th data word value.
319 55 5th data word value.
0x1145 = Response to DB-FETCH that was initiated by 3964R
Communication Partner.
Number of data words block. Should be equal to Number of data words
total.
5.5 Job Processing
Both ports can be used independently from each other (multi tasking).
A possible initialization conflict will be solved as follows:
S3964R has "High Priority":
The S3964R retries the sending of the 3964R start character (STX) three times
and waits for the Communication Partner to send the 3964R acknowledge (DLE).
If the Communication Partner does not send the acknowledge as expected the
communication will fail and has to be restarted.
S3964R has "Low Priority":
The S3964R rejects its send job and sends the 3964R acknowledge (DLE) to the
Communication Partner.
Important: If the S3964R has rejected its send job due to "Low Priority", you must restart its send
job completely (starting with the copying of the job data).
S3964R Error and Status Data..............................................................52
6.1 Product Specifications
ProLinx Communication Gateways are the ideal solution for bridging
communication between networks that use differing protocols. ProLinx modules
provide several protocol combinations, allowing for a wide range of flexibility in
establishing a network, or fitting into and expanding your current infrastructure.
Coupled with ProSoft's radio technology, you can easily integrate devices into
your system wirelessly, and without the need to purchase additional radios to do
so.
The ProLinx S3964R module from ProSoft Technology allows point-to-point
communication between a Modbus TCP/IP processor and a partner with 3964R
(with or without RK512) communication capability.
The 3964R protocol (with or without RK512) was designed by Siemens for bidirectional data communication through a point-to-point connection. It is a peer to
peer protocol with read and write access. A BCC checksum ensures the safety of
the transfer.
6.1.1 S3964R
Supported baud rates: 600 through 19200 are typical; up to 115200 is
possible
Supported protocols: 3964 with RK512, 3964 without RK512
Priority setting to define the behavior of the protocol in case of an initialization
conflict.
Offers four independently configurable serial ports. Each port can
communicate using 3964R protocol with or without RK512 formatting. Each
port can be set to use an RS-232 or RS-422 serial signal interface. The ports
operate independently from each other and each port is assigned its own
space in the gateway's user memory database.
When using S3964R without RK512 communications mode, Port 0, Port 1,
Port 2, and Port 3 can initiate or receive write instructions.
RK512 mode on Port 0, Port 1, Port 2, and Port 3 allow evaluation of RK512
header information: DB data block, DW data word, Coordination byte 9 and
CPU Coordination byte 10.
ProSoft Technology, Inc. Page 51 of 64
April 14, 2009
When using S3964R without RK512 communications mode, Port 0, Port 1,
Port 2, and Port 3 can send or receive standard communication telegrams
(messages).
In either mode, 512 bytes is the maximum amount of data transferred per
message
Data byte order can be swapped to support different device-specific word
formats
Communication activity indications and diagnostic information are available
through LEDs and acknowledgment telegram messages.
6.1.2 Functional Specifications - S3964R
Ports 4 independent RS-232/422 serial application ports
Baud rates
Parity Even, odd, None
Data bits 8
Stop bits 1
Maximum distance RS 232 - 15 cable meters
Maximum Data Transfer 512 bytes per message
Typical: 600, 1200, 2400, 4800, 9600, 19200 bps (available on all
four ports)
Additional Possible: 38400, 57600, 115200 bps (availabl e only on
Port 1, Port 2, and Port 3)
RS 422 - 1230 cable meters
6.2 S3964R Error and Status Data
6.2.1 Status Data
Each port has its own status data section in the S3964R module's database. The
following table describes the status section for each port.
Index Description
0 Current Error Code
1 Last Error Code
2 Number of 3964R Requests
3 Number of 3964R Responses
4 Number of 3964R NAK errors sent to communication partner
5 Number of 3964R NAK errors received from communication partner
6
7
8 Current 396 4R driver state code
9 Database bloc k size
Number of times DLE was not received from the 3964R communication
partner
Number of times STX was not received from the 3964R communication
partner
-36 0xFFDC First Header Byte does not match telegram type
-37 0xFFDB Character received was not an STX
-38 0xFFDA
-39 0xFFD9 S3964R communication could not be established/finished
-97 0xFF9F
-98 0xFF9E Multi-block transfer timeout
-99 0xFF9D Pass-through transfer failed
S3964R problem occurred after connection to Communication Partner was
established
Unable to write message data received from the 3964R Communication
Partner to the database because the last data written to the database has not
been read yet. When data has been read from the database, the Modbus
TCP/IP device must update the "Last Receive Block Number" in the transmit
buffer to be equal to the “Sequence Number” in the receive buffer.
ProSoft Technology, Inc. Page 53 of 64
April 14, 2009
ProSoft Technology, Inc. (ProSoft) is committed to providing the most efficient
and effective support possible. Before calling, please gather the following
information to assist in expediting this process:
1 Product Version Number
2 System architecture
3 Network details
If the issue is hardware related, we will also need information regarding:
1 Module configuration and contents of file
o Module Operation
o Configuration/Debug status information
o LED patterns
2 Information about the processor and user data files as viewed through and
LED patterns on the processor.
3 Details about the serial devices interfaced, if any.
7.1 How to Contact Us: Technical Support
Internet
Asia Pacific
+603.7724.2080, support.asia@prosoft-technology.com
Languages spoken include: Chinese, English
Europe (location in Toulouse, France)
+33 (0) 5.34.36.87.20, support.EMEA@prosoft-technology.com
Languages spoken include: French, English
North America/Latin America (excluding Brasil) (location in California)
+1.661.716.5100, support@prosoft-technology.com
Languages spoken include: English, Spanish
For technical support calls within the United States, an after-hours answering system allows pager
access to one of our qualified technical and/or application support engineers at any time t o answer
your questions.
Brasil (location in Sao Paulo)
+55-11-5084-5178, eduardo@prosoft-technology.com
Languages spoken include: Portuguese, English
Web Site: http://www.prosoft-technology.com/support
E-mail address: support@prosoft-technology.com
ProSoft Technology, Inc. Page 55 of 64
April 14, 2009
7.2 Return Material Authorization (RMA) Policies and Conditions
The following RMA Policies and Conditions (collectively, "RMA Policies") apply to
any returned Product. These RMA Policies are subject to change by ProSoft
without notice. For warranty information, see "Limited Warranty". In the event of
any inconsistency between the RMA Policies and the Warranty, the Warranty
shall govern.
7.2.1 All Product Returns:
a) In order to return a Product for repair, exchange or otherwise, the
Customer must obtain a Returned Material Authorization (RMA) number
from ProSoft and comply with ProSoft shipping instructions.
b) In the event that the Customer experiences a problem with the Product for
any reason, Customer should contact ProSoft Technical Support at one of
the telephone numbers listed above (page
Engineer will request that you perform several tests in an attempt to
isolate the problem. If after completing these tests, the Product is found to
be the source of the problem, we will issue an RMA.
c) All returned Products must be shipped freight prepaid, in the original
shipping container or equivalent, to the location specified by ProSoft, and
be accompanied by proof of purchase and receipt date. The RMA number
is to be prominently marked on the outside of the shipping box. Customer
agrees to insure the Product or assume the risk of loss or damage in
transit. Products shipped to ProSoft using a shipment method other than
that specified by ProSoft or shipped without an RMA number will be
returned to the Customer, freight collect. Contact ProSoft Technical
Support for further information.
d) A 10% restocking fee applies to all warranty credit returns whereby a
Customer has an application change, ordered too many, does not need,
etc.
55). A Technical Support
7.2.2 Procedures for Return of Units Under Warranty:
A Technical Support Engineer must approve the return of Product under
ProSoft's Warranty:
a) A replacement module will be shipped and invoiced. A purchase order will
be required.
b) Credit for a product under warranty will be issued upon receipt of
authorized product by ProSoft at designated location referenced on the
Return Material Authorization.
7.2.3 Procedures for Return of Units Out of Warranty:
a) Customer sends unit in for evaluation
b) If no defect is found, Customer will be charged the equivalent of $100
USD, plus freight charges, duties and taxes as applicable. A new
purchase order will be required.
c) If unit is repaired, charge to Customer will be 30% of current list price
(USD) plus freight charges, duties and taxes as applicable. A new
purchase order will be required or authorization to use the purchase order
submitted for evaluation fee.
The following is a list of non-repairable units:
o 3150 - All
o 3750
o 3600 - All
o 3700
o 3170 - All
o 3250
o 1560 - Can be repaired, only if defect is the power supply
o 1550 - Can be repaired, only if defect is the power supply
o 3350
o 3300
o 1500 - All
7.2.4 Purchasing Warranty Extension:
a) ProSoft's standard warranty period is three (3) years from the date of
shipment as detailed in "Limited Warranty (page
Period may be extended at the time of equipment purchase for an
additional charge, as follows:
• Additional 1 year = 10% of list price
• Additional 2 years = 20% of list price
• Additional 3 years = 30% of list price
7.3 LIMITED WARRANTY
This Limited Warranty ("Warranty") governs all sales of hardware, software and
other products (collectively, "Product") manufactured and/or offered for sale by
ProSoft, and all related services provided by ProSoft, including maintenance,
repair, warranty exchange, and service programs (collectively, "Services"). By
purchasing or using the Product or Services, the individual or entity purchasing or
using the Product or Services ("Customer") agrees to all of the terms and
provisions (collectively, the "Terms") of this Limited Warranty. All sales of
software or other intellectual property are, in addition, subject to any license
agreement accompanying such software or other intellectual property.
57)". The Warranty
ProSoft Technology, Inc. Page 57 of 64
April 14, 2009
a) Warranty On New Products: ProSoft warrants, to the original purchaser,
that the Product that is the subject of the sale will (1) conform to and
perform in accordance with published specifications prepared, approved
and issued by ProSoft, and (2) will be free from defects in material or
workmanship; provided these warranties only cover Product that is sold as
new. This Warranty expires three years from the date of shipment (the
"Warranty Period"). If the Customer discovers within the Warranty Period
a failure of the Product to conform to specifications, or a defect in material
or workmanship of the Product, the Customer must promptly notify
ProSoft by fax, email or telephone. In no event may that notification be
received by ProSoft later than 39 months. Within a reasonable time after
notification, ProSoft will correct any failure of the Product to conform to
specifications or any defect in material or workmanship of the Product,
with either new or used replacement parts. Such repair, including both
parts and labor, will be performed at ProSoft's expense. All warranty
service will be performed at service centers designated by ProSoft.
b) Warranty On Services: Materials and labor performed by ProSoft to repair
a verified malfunction or defect are warranteed in the terms specified
above for new Product, provided said warranty will be for the period
remaining on the original new equipment warranty or, if the original
warranty is no longer in effect, for a period of 90 days from the date of
repair.
7.3.2 What Is Not Covered By This Warranty
a) ProSoft makes no representation or warranty, expressed or implied, that
the operation of software purchased from ProSoft will be uninterrupted or
error free or that the functions contained in the software will meet or
satisfy the purchaser's intended use or requirements; the Customer
assumes complete responsibility for decisions made or actions taken
based on information obtained using ProSoft software.
b) This Warranty does not cover the failure of the Product to perform
specified functions, or any other non-conformance, defects, losses or
damages caused by or attributable to any of the following: (i) shipping; (ii)
improper installation or other failure of Customer to adhere to ProSoft's
specifications or instructions; (iii) unauthorized repair or maintenance; (iv)
attachments, equipment, options, parts, software, or user-created
programming (including, but not limited to, programs developed with any
IEC 61131-3, "C" or any variant of "C" programming languages) not
furnished by ProSoft; (v) use of the Product for purposes other than those
for which it was designed; (vi) any other abuse, misapplication, neglect or
misuse by the Customer; (vii) accident, improper testing or causes
external to the Product such as, but not limited to, exposure to extremes
of temperature or humidity, power failure or power surges; or (viii)
disasters such as fire, flood, earthquake, wind and lightning.
c) The information in this Agreement is subject to change without notice.
ProSoft shall not be liable for technical or editorial errors or omissions
made herein; nor for incidental or consequential damages resulting from
the furnishing, performance or use of this material. The user guide
included with your original product purchase from ProSoft contains
information protected by copyright. No part of the guide may be duplicated
or reproduced in any form without prior written consent from ProSoft.
7.3.3 Disclaimer Regarding High Risk Activities
Product manufactured or supplied by ProSoft is not fault tolerant and is not
designed, manufactured or intended for use in hazardous environments requiring
fail-safe performance including and without limitation: the operation of nuclear
facilities, aircraft navigation of communication systems, air traffic control, direct
life support machines or weapons systems in which the failure of the product
could lead directly or indirectly to death, personal injury or severe physical or
environmental damage (collectively, "high risk activities"). ProSoft specifically
disclaims any express or implied warranty of fitness for high risk activities.
7.3.4 Intellectual Property Indemnity
Buyer shall indemnify and hold harmless ProSoft and its employees from and
against all liabilities, losses, claims, costs and expenses (including attorney's
fees and expenses) related to any claim, investigation, litigation or proceeding
(whether or not ProSoft is a party) which arises or is alleged to arise from Buyer's
acts or omissions under these Terms or in any way with respect to the Products.
Without limiting the foregoing, Buyer (at its own expense) shall indemnify and
hold harmless ProSoft and defend or settle any action brought against such
Companies to the extent based on a claim that any Product made to Buyer
specifications infringed intellectual property rights of another party. ProSoft
makes no warranty that the product is or will be delivered free of any person's
claiming of patent, trademark, or similar infringement. The Buyer assumes all
risks (including the risk of suit) that the product or any use of the product will
infringe existing or subsequently issued patents, trademarks, or copyrights.
a) Any documentation included with Product purchased from ProSoft is
protected by copyright and may not be duplicated or reproduced in any
form without prior written consent from ProSoft.
b) ProSoft's technical specifications and documentation that are included
with the Product are subject to editing and modification without notice.
c) Transfer of title shall not operate to convey to Customer any right to make,
or have made, any Product supplied by ProSoft.
d) Customer is granted no right or license to use any software or other
intellectual property in any manner or for any purpose not expressly
permitted by any license agreement accompanying such software or other
intellectual property.
ProSoft Technology, Inc. Page 59 of 64
April 14, 2009
e) Customer agrees that it shall not, and shall not authorize others to, copy
software provided by ProSoft (except as expressly permitted in any
license agreement accompanying such software); transfer software to a
third party separately from the Product; modify, alter, translate, decode,
decompile, disassemble, reverse-engineer or otherwise attempt to derive
the source code of the software or create derivative works based on the
software; export the software or underlying technology in contravention of
applicable US and international export laws and regulations; or use the
software other than as authorized in connection with use of Product.
f) Additional Restrictions Relating To Software And Other Intellectual
Property
In addition to compliance with the Terms of this Warranty, Customers
purchasing software or other intellectual property shall comply with any
license agreement accompanying such software or other intellectual
property. Failure to do so may void this Warranty with respect to such
software and/or other intellectual property.
7.3.5 Disclaimer of all Other Warranties
The Warranty set forth in What Is Covered By This Warranty (page 58) are in lieu
of all other warranties, express or implied, including but not limited to the implied
warranties of merchantability and fitness for a particular purpose.
7.3.6 Limitation of Remedies **
In no event will ProSoft or its Dealer be liable for any special, incidental or
consequential damages based on breach of warranty, breach of contract,
negligence, strict tort or any other legal theory. Damages that ProSoft or its
Dealer will not be responsible for included, but are not limited to: Loss of profits;
loss of savings or revenue; loss of use of the product or any associated
equipment; loss of data; cost of capital; cost of any substitute equipment,
facilities, or services; downtime; the claims of third parties including, customers of
the Purchaser; and, injury to property.
** Some areas do not allow time limitations on an implied warranty, or allow the exclusion or
limitation of incidental or consequential damages. In such areas, the above limitations may not
apply. This Warranty gives you specific legal rights, and you may also have other rights which vary
from place to place.
7.3.7 Time Limit for Bringing Suit
Any action for breach of warranty must be commenced within 39 months
following shipment of the Product.
Unless modified in writing and signed by both parties, this Warranty is
understood to be the complete and exclusive agreement between the parties,
suspending all oral or written prior agreements and all other communications
between the parties relating to the subject matter of this Warranty, including
statements made by salesperson. No employee of ProSoft or any other party is
authorized to make any warranty in addition to those made in this Warranty. The
Customer is warned, therefore, to check this Warranty carefully to see that it
correctly reflects those terms that are important to the Customer.
7.3.9 Allocation of Risks
This Warranty allocates the risk of product failure between ProSoft and the
Customer. This allocation is recognized by both parties and is reflected in the
price of the goods. The Customer acknowledges that it has read this Warranty,
understands it, and is bound by its Terms.
7.3.10 Controlling Law and Severability
This Warranty shall be governed by and construed in accordance with the laws of
the United States and the domestic laws of the State of California, without
reference to its conflicts of law provisions. If for any reason a court of competent
jurisdiction finds any provisions of this Warranty, or a portion thereof, to be
unenforceable, that provision shall be enforced to the maximum extent
permissible and the remainder of this Warranty shall remain in full force and
effect. Any cause of action with respect to the Product or Services must be
instituted in a court of competent jurisdiction in the State of California.
ProSoft Technology, Inc. Page 61 of 64
April 14, 2009
Job Allocation by the Modbus TCP/IP Device • 38
Job Processing • 50
K
Keystrokes • 32
L
LED Indicators • 7, 36
Limitation of Remedies ** • 60
LIMITED WARRANTY • 57
D
Data Bits • 17
Data Map • 19
Database View Menu • 34
DB Block Size • 18
DB Block Timeout • 18
DB9 to Mini-DIN Adaptor (Cable 09) • 27
Delay Preset • 21
Diagnostics and Troubleshooting • 7, 29
Disclaimer of all Other Warranties • 60
Disclaimer Regarding High Risk Activities • 59
Displaying the Current Page of Registers Again • 34
Downloading a File from PC to the Gateway • 22
E
Enable • 16
Error Codes • 53
Example 3964R DB-SEND of data to Modbus TCP/IP
device • 46
Example Messages • 41
Example Modbus TCP/IP DB-FETCH of data from
3964R device • 43
Main Menu • 32
Mini-DIN 8 Serial Port • 36
Minimum Response Delay • 17
Modbus TCP/IP Write of data to ProLinx: • 41
Module Name • 15
Moving Back Through 5 Pages of Registers • 35
Moving Forward Through 5 Pages of Registers • 35
Navigation • 31
No Other Warranties • 61
Opening the Data Analyzer Menu • 33
Parity • 17
Pinouts • 2, 23, 27
Port 0 Receive Database (DB-Fetch Initiated from
3964R Communication Partner) • 48
M
N
O
P
ProSoft Technology, Inc. Page 63 of 64
April 14, 2009
S3964R ♦ ProLinx Gateway Index
Siemens 3964R Protocol Driver Manual
Port 0 Receive Database (Results of DB-Fetch) • 45,
46
Port 0 Receive Database (Results of DB-Send) • 43
Port 0 Transmit Database • 42, 44
Port 0 Transmit Database (After Reading DB-Send
Data) • 47
Port 0 Transmit Database (After Reading Fetched
Data) • 45
Port 0 Transmit Database (Response to DB-fetch) • 49
Port Receive Data • 40
Port Transmit Data • 39
Printing a Configuration File • 13
Priority • 18
Procedures for Return of Units Out of Warranty: • 56
Procedures for Return of Units Under Warranty: • 56
Product Compatibility • 37
Product Specifications • 7, 51
ProLinx gateways with Ethernet Ports • 2
ProLinx Reference Guide • 9
ProLinx-S3964R Operation • 38
ProSoft Technology® Product Documentation • 3
Protocol • 18
Purchasing Warranty Extension: • 57
R
Redisplaying the Menu • 32
Reference • 7, 51
Reference Documents • 50
Register Count • 20
Required Hardware • 29
Requirements • 29
Return Material Authorization (RMA) Policies and
Conditions • 56
Returning to the Main Menu • 35
RS Interface • 16
RS-232 • 24
Handshaking) • 25
RS-232 Configuration/Debug Port • 26
RS-422 • 27
RS-485 • 26
RS-485 and RS-422 Tip • 27
RTS Off • 17
RTS On • 17
Swap • 18
Swap Code • 20
T
The 3964R Protocol in General • 37
The Configuration/Debug Menu • 29
Time Limit for Bringing Suit • 60
To Address • 20
To Order a Series C mode with the -WEB option: • 2
To upgrade a previously purchased Series C model: •
2
Transmit Attempts • 18
U
Use CTS Line • 18
Using the Diagnostic Window in ProSoft Configuration
Builder • 30
Using the Help System • 10
V
Viewing Data in ASCII (Text) Format • 35
Viewing Data in Decimal Format • 35
Viewing Data in Floating Point Format • 35
Viewing Data in Hexadecimal Format • 35
Viewing Port Configuration • 33
Viewing Port Status • 33
Viewing Register Pages • 34
Viewing the Next 100 Registers of Data • 35
Viewing the Previous 100 Registers of Data • 35
W
What Is Covered By This Warranty • 58, 60
What Is Not Covered By This Warranty • 58
Y
Your Feedback Please • 3
S
S3964R • 51
S3964R Error and Status Data • 52
S3964R Protocol Configuration • 15
Serial Port Cable Connections
Config/Debug and Port 0 • 23
Setup Attempts • 18
Start Here • 7, 9
Status Data • 38, 52
Stop Bits • 17
Support, Service & Warranty • 7, 55
Page 64 of 64 ProSoft Technology, Inc.
April 14, 2009
Loading...
+ hidden pages
You need points to download manuals.
1 point = 1 manual.
You can buy points or you can get point for every manual you upload.