GE Fanuc Series 90-30 User Manual

Page 1
GE Fanuc Automation
Programmable Control Products
Series 90®-30 Programmable Controller
DeviceNet™ Modules
GFK-2196 November 2002
Page 2
Warnings, Cautions, and Notes
as Used in this Publication
Warning
Warning notices are used in this publication to emphasize that hazardous voltages, currents, temperatures, or other conditions that could cause personal injury exist in this equipment or may be associated with its use.
In situations where inattention could cause either personal injury or damage to equipment, a Warning notice is used.
Caution
Caution notices are used where equipment might be damaged if care is not taken.
Note
Notes merely call attention to information that is especially significant to understanding and operating the equipment.
This document is based on information available at the time of its publication. While efforts have been made to be accurate, the information contained herein does not purport to cover all details or variations in hardware or software, nor to provide for every possible contingency in connection with installation, operation, or maintenance. Features may be described herein which are not present in all hardware and software systems. GE Fanuc Automation assumes no obligation of notice to holders of this document with respect to changes subsequently made.
GE Fanuc Automation makes no representation or warranty, expressed, implied, or statutory with respect to, and assumes no responsibility for the accuracy, completeness, sufficiency, or usefulness of the information contained herein. No warranties of merchantability or fitness for purpose shall apply.
The following are trademarks of GE Fanuc Automation North America, Inc.
Alarm Master Genius PowerTRAC Series Six CIMPLICITY Helpmate ProLoop Series Three CIMPLICITY 90–ADS Logicmaster PROMACRO VersaMax CIMSTAR Modelmaster Series Five VersaPoint Field Control Motion Mate Series 90 VersaPro
GEnet PowerMotion Series One VuMaster
Workmaster
©Copyright 2002 GE Fanuc Automation North America, Inc.
All Rights Reserved.
Page 3
Contents
Chapter 1
Chapter 2
Chapter 3
DeviceNet Modules for the Series 90-30 PLC ...................................................1-1
Finding Information in this Book...................................................................................... 1-1
DeviceNet Modules for the Series 90-30 PLC.................................................................. 1-2
Series 90-30 DeviceNet Master Module........................................................................... 1-3
Series 90-30 DeviceNet Slave Module .............................................................................1-5
The DeviceNet Network ................................................................................................... 1-7
DeviceNet Communications for Series 90-30 DeviceNet Modules.................................. 1-8
Installation ...........................................................................................................2-1
Power Supplies..................................................................................................................2-2
DeviceNet Cable for the Series 90-30 Modules................................................................ 2-3
Grounding ......................................................................................................................... 2-6
Installing the DeviceNet Module in the PLC Rack........................................................... 2-7
Module LEDs.................................................................................................................... 2-8
RS-232 Serial Port ............................................................................................................ 2-9
PLC Configuration for the DeviceNet Master.................................................. 3-1
Configuration Steps ..........................................................................................................3-2
Adding a DeviceNet Master Module to the PLC Configuration.......................................3-3
Configuring the Parameters of a DeviceNet Master Module............................................ 3-4
Telling the DeviceNet Master about Slaves by Adding Slaves to the Network ...............3-8
Configuring Network Settings for Slaves Added to the Master ....................................... 3-9
Configuring Network Settings for a DeviceNet Master Acting as a Slave..................... 3-16
Chapter 4
Chapter 5
Chapter 6
GFK-2196 v
PLC Configuration for the DeviceNet Slave .....................................................4-1
Configuration Steps ..........................................................................................................4-2
Adding aDeviceNet Slave Module to the PLC Configuration.......................................... 4-3
Configuring the Parameters of a DeviceNet Slave Module.............................................. 4-4
Configuring the Network Settings of a DeviceNet Slave Module.................................... 4-7
Module Operation ...............................................................................................5-1
Operation of a Series 90-30 DeviceNet Master Module................................................... 5-2
Operation of a Series 90-30 Slave (Server) DeviceNet Module .......................................5-4
Fault Table Entries for a Series 90-30 DeviceNet Module............................................... 5-5
PLC Status References for a Series 90-30 DeviceNet Module......................................... 5-6
Device Status Bits for the Series 90-30 DeviceNet Master Module................................. 5-7
Programmed Communications .......................................................................... 6-1
COMMREQs for the Series 90-30 DeviceNet Modules................................................... 6-2
Using COMMREQs to Program Communications........................................................... 6-3
Page 4
Contents
COMMREQ Programming Requirements and Recommendations .................................. 6-5
Command Code 9: Reading Identification, Status, and Error Information....................... 6-8
Command Code 4: Getting the Status of a Network Device ..........................................6-12
Command Code 5: Getting Status Information of a Series 90-30 DeviceNet Slave Module
or the Server Function of a Master Module .................................................................... 6-14
Command Code 6: Getting Input Status from a Device .................................................6-16
Command Codes 1 & 7: Sending a DeviceNet Explicit Message on the Network......... 6-18
Command Codes 2, 3 & 8: Reading and Responding to Client Explicit Messages........ 6-24
Chapter 7
DeviceNet Objects for Series 90-30 Modules ....................................................7-1
Identity Object .................................................................................................................. 7-2
Message Router Object..................................................................................................... 7-3
DeviceNet Object.............................................................................................................. 7-4
Assembly Object............................................................................................................... 7-5
Connection Object ............................................................................................................7-6
PLC Data Object............................................................................................................... 7-8
Appendix A DeviceNet EDS Files ...........................................................................................A-1
Electronic Datasheet File for the DeviceNet Master Module .......................................... A-1
Electronic Datasheet File for the DeviceNet Slave Module ............................................ A-2
vi Series 90®-30 Programmable Controller DeviceNet™ Modules– November 2002 GFK-2196
Page 5
ChapterChapter
DeviceNet Modules for the Series 90-30 PLC
1
Finding Information in this Book
Chapter 1: DeviceNet Modules for the Series 90-30 PLC, provides basic information about the Series 90™-30 DeviceNet Master Module (IC693DNM200) and the Series 90-30 DeviceNet Slave Module (IC693DNS201).
Chapter 2: Installation, discusses power requirements, cable specifications, grounding, module installation, and LED indications.
Chapter 3: PLC Configuration for the DeviceNet Master, explains how to add a DeviceNet Master Module to the configuration of the Series 90-30 PLC. It also explains how to configure communications connections, the module, and the DeviceNet network.
Chapter 4: PLC Configuration for the DeviceNet Slave, explains how to add a DeviceNet Slave Module to the configuration of the Series 90-30 PLC.
Chapter 5: Module Operation, describes how the Series 90-30 DeviceNet Master Module and the Series 90-30 DeviceNet Slave Module function in a Series 90-30 PLC system.
Chapter 6: Programmed Communications (COMMREQs), explains how the application program can communicate with the module for Explicit Messaging and for reading status information.
Chapter 7: DeviceNet Objects for Series 90-30 Modules, describes the information objects that are defined for the Series 90-30 DeviceNet modules.
Appendix A: DeviceNet EDS Files, contains the Electronic Datasheet (EDS) Files that are defined for the Series 90-30 DeviceNet Master Module and the Series 90-30 DeviceNet Slave Module.
For Detailed Information about DeviceNet
For detailed information about DeviceNet, contact the Open DeviceNet Vendor Association.
Open DeviceNet Vendor Association, Inc. 20423 State Road 7 Suite 499 Boca Raton, FL. 33498 phone: (954) 340-5412 FAX: (954) 340-5413 Internet: HTTP://WWW.ODVA.ORG Email: <ODVA@POWERINTERNET.COM
GFK-2196 1-1
Page 6
1
DeviceNet Modules for the Series 90-30 PLC
Two different Series 90-30 DeviceNet modules bring the flexibility of DeviceNet communications to a Series 90-30 PLC:
The Series 90-30 DeviceNet Master Module (IC693DNM200) operates as the network master. It exchanges I/O messages and custom explicit messages with up to 63 other devices on the network. On DeviceNet networks that include a higher-level host computer, this module's built-in server function can be used for both automatic data transfer and custom explicit messaging with the master.
The Series 90-30 DeviceNet Slave Module (IC693DNS201) operates as a network server (slave) only. It can automatically exchange PLC data with a network master, and respond to custom explicit messages from the master.
Both of these modules can be installed in any rack in the Series 90-30 PLC. Each module counts as a single node on the DeviceNet network. However, the server function of each module is easily configured for up to two DeviceNet I/O Messaging connections and for Explicit Messaging.
1-2 Series 90®-30 Programmable Controller DeviceNet™ Modules – November 2002 GFK-2196
Page 7
Series 90-30 DeviceNet Master Module
The Series 90-30 DeviceNet Master Module (IC693DNM200) allows a Series 90-30 CPU to send and receive data over a DeviceNet network. It can act as master for up to 63 slaves on the DeviceNet network. It can also be configured to simultaneously function as a slave to another master on the bus.
DeviceNet Master
Module
IC693DNM200
NET POWER
MOD STATUS
NET STATUS
DEVICENET
MASTER
SERVICE RS232
5-IGND
3-TxD
2-RxD
Module
Status
LEDs
RS-232
Connector
1
V+
CAN_H
SHIELD
CAN_L
V-
DEVICENET
DeviceNet Connector
The module's three DeviceNet-compliant LEDs show its operating and communications status. The RS-232 serial port (a 9-pin male D-connector) is used for a computer connection during firmware upgrades. The DeviceNet connector is a removable spring-clamp terminal. It provides bus continuity and can be removed from the module without disrupting bus operation.
Features
Bus communications at all standard DeviceNet data rates (125k, 250k, 500k baud)
Up to 255 bytes input data transfer and 255 bytes output data transfer per slave and up to 3972 bytes of input data transfer and 3972 bytes of output data transfer per master.
Unconnected Message Manager (UCMM) with 1 proxy connection per slave
One or two I/O connections plus explicit messaging can be configured for each slave. Each slave I/O connection can be set up for one of the following: Poll, Strobe, Cyclic or Change-of­State (COS) operation. Typically one connection is used for Polled and the other is used for Strobe, Cyclic, or COS.
Independent configuration of update rates for Poll and COS/Cyclic I/O devices
Configurable global scan rate
PLC-application initiated Explicit messaging using COMMREQs
Status of communication with slaves available in the PLC fault table (configurable). Provides 64 network device status bits
Configurable fault behavior on loss of communication
GFK-2196 Chapter 1 DeviceNet Modules for the Series 90-30 PLC 1-3
Page 8
1
Series 90-30 DeviceNet Master Module Specifications
Catalog Number IC693DNM200
Description Series 90-30 Master Module for DeviceNet networks
Mounting Location Any Series 90-30 baseplate (CPU, expansion, or remote) slot
except slot 1 of a modular CPU baseplate
Environment
Backplane Current Consumption
Data rates Supports all standard DeviceNet data rates (125k, 250k, and 500k
Storage temperature: -40°C to 85°C Operating temperature: 0°C to 60°C
450mA at 5VDC (typical)
Baud)
Compatibility
Compatible with any Series 90-30 CPU except IC693CPU321 and IC693CPU340. Configuration size is limited for CPU311/313/331, as detailed in chapter 3.
Requires release 8.0 CPU firmware. Release 10 is recommended, if available for a particular CPU.
Requires CIMPLICITY Machine Edition Logic Developer PLC version 3.0 with Service Pack for DeviceNet, or later.
Not compatible with the VersaPro™, Control, or Logicmaster™ programming software.
The Series 90-30 Hand-Held Programmer (IC693PRG300) cannot be used to configure this module.
1-4 Series 90®-30 Programmable Controller DeviceNet™ Modules – November 2002 GFK-2196
Page 9
Series 90-30 DeviceNet Slave Module
The Series 90-30 DeviceNet Slave Module (IC693DNS201) interfaces a Series 90-30 PLC to a DeviceNet bus that is controlled by another master device.
DeviceNet
Slave Module
1
NET POWER
MOD STATUS
NET STATUS
DEVICENET
SLAVE
SERVICE RS 232
5-IGND
3-TxD
2-RxD
V+
CAN_H
SHIELD
CAN_L
V-
DEVICENET
Module
Status
LEDs
RS-232
Connector
DeviceNet
Connector
The module's three DeviceNet-compliant LEDS show its operating and communications status. The RS-232 serial port (a 9-pin male D-connector) is used for a computer connection during firmware upgrades. The DeviceNet connector is a removable spring-clamp terminal. It provides bus continuity and can be removed from the module without disrupting bus operation.
Features
Bus communications at all standard DeviceNet data rates (125k, 250k, 500k baud)
Up to 255 bytes input data transfer and 255 bytes output data transfer.
Configurable for Poll, Strobe, Cyclic and COS I/O Connections, and Explicit Messaging
Supports Unconnected Message Manager (UCMM) allowing up to 250 simultaneous explicit messaging connections.
One or two I/O connections plus explicit messaging can be configured. Each I/O connection can be set up for one of the following: Poll, Strobe, Cyclic or Change-of-State (COS) operation. Typically one connection is used for Polled and the other is used for Strobe, Cyclic, or COS.
Supports the Assembly Object and access to the input and output data for each of the configured slave I/O areas (I/O Area 1 and I/O Area 2) with the SET_ATTRIBUTE_SINGLE and GET_ATTRIBUTE_SINGLE services. Up to 255 bytes of attribute data may be supplied in the SET_ATTRIBUTE_SINGLE operation.
Configurable fault behavior on loss of communication.
UCMM-capable Group 2 Server
GFK-2196 Chapter 1 DeviceNet Modules for the Series 90-30 PLC 1-5
Page 10
1
Series 90-30 DeviceNet Slave Module Specifications
Catalog Number IC693DNS201
Description Series 90-30 Slave Module for DeviceNet networks
Mounting Location Any Series 90-30 baseplate (CPU, expansion, or remote)
slot except slot 1 of a modular CPU baseplate
Environment
Backplane Current Consumption
Compatibility
Compatible with any Series 90-30 CPU except IC693CPU321 and IC693CPU340.
Requires release 8.0 CPU firmware. The latest Release 10 is recommended, if available for the particular CPU.
Requires CIMPLICITY Machine Edition Logic Developer PLC version 3.0 with Service Pack for DeviceNet, or later.
Not compatible with the VersaPro™, Control, or Logicmaster™ programming software.
The Series 90-30 Hand-Held Programmer (IC693PRG300) cannot be used to configure this module.
Storage temperature: -40°C to 85°C Operating temperature: 0°C to 60°C
450mA at 5VDC (typical)
1-6 Series 90®-30 Programmable Controller DeviceNet™ Modules – November 2002 GFK-2196
Page 11
The DeviceNet Network
DeviceNet is a communications network that transmits data between control systems (for example: PLCs, PCs, VMEbus computers, and robot controllers) and distributed industrial devices such as switches, sensors, valve manifolds, motor starters, bar code readers, drives, displays, and operator interfaces. The network can also link intelligent interface modules such as the VersaPoint DeviceNet Network Interface Unit (NIU) and the VersaMax DeviceNet NIU. An NIU is the network interface for an I/O Station of many additional modules.
The DeviceNet network has a linear structure. There is a main trunk line with drop lines routed to the networked devices. Power and signals are carried on the same network cable. A Series 90-30 DeviceNet module can be connected directly to the trunk cable or installed as an individual drop or as part of a daisy-chain drop.
1
Master
Series 90-30 PLC with
DeviceNet Master Module
Slaves
Series 90-30 PLC
with DeviceNet Slave
Module
GFK-2196 Chapter 1 DeviceNet Modules for the Series 90-30 PLC 1-7
Page 12
1
DeviceNet Communications for Series 90-30 DeviceNet Modules
DeviceNet uses the Producer-Consumer technique of messaging. A device with data produces the data on the network. All devices that need data listen for messages. When a device recognizes the appropriate identifier, it consumes the data. A message is not specific to a particular source or destination, and one message can be consumed by multiple devices. For example, one message could control several motor starter modules.
A DeviceNet message field can range between 0 and 8 bytes. Messages longer than 8 bytes are fragmented into packets. The Series 90-30 DeviceNet modules assure data integrity for each network node.
I/O Messaging
I/O messaging is used for the routine and automatic exchange of data between devices. Individual I/O messages can be up to 255 bytes in length. I/O messages provide a dedicated communication path between a producing device and one or more consuming devices. System configuration sets up the parameters for the connections between the producing and consuming devices. With the connections established, communications occur automatically.
There are four basic types of I/O messages: Polled, Strobed, Cyclic, and Change-of-State (COS). The Series 90-30 DeviceNet Master Module can be configured for up to two different types of I/O messaging connections to each slave (for example, one Cyclic I/O messaging connection and one Change-of-State I/O messaging connection). See chapter 3, "PLC Configuration for the DeviceMet Master" for details.
Explicit Messaging
Explicit messaging provide a point-to-point communication link between two devices on the network. Explicit messaging is often used for slave configuration and for diagnostics. Specific Explicit messages are defined for the DeviceNet protocol. For the Series 90-30 DeviceNet Master module, Communications Request (COMMREQs) are used to send Explicit messages. See chapter 6, "Programmed Communications" for more information. Received Explicit messages are automatically processed by the DeviceNet module except for user defined Objects which require user programmed COMMREQs support.
1-8 Series 90®-30 Programmable Controller DeviceNet™ Modules – November 2002 GFK-2196
Page 13
Chapter
2
Installation
This chapter provides basic installation information for the Series 90-30 DeviceNet Modules:
Power requirements: PLC system power and DeviceNet network power
The DeviceNet cable: specifications, length, termination, taps
Grounding: DeviceNet cable, DeviceNet power supply, DeviceNet system
Installing the DeviceNet module in the PLC
The Module LEDs: Module Status, Network Status, Network Power
The RS-232 Serial Port
For Additional Information
Correct installation of cables, power supplies, and other network hardware requires a more detailed knowledge of DeviceNet specifications than can be provided here. Readers are referred to www.ODVA.org for additional information.
Conformance to Standards
Before installing GE Fanuc products in situations where compliance to standards or directives from the Federal Communications Commission, the Canadian Department of Communications, or the European Union is necessary please refer to GE Fanuc’s
Conformance to Standards
, GFK-1179.
Installation Requirements for
GFK-2196 2-1
Page 14
2
Power Supplies
When using a Series 90-30 DeviceNet module, there are two separate power supplies to consider: the PLC power supply and the DeviceNet network power supply.
PLC Power
A Series 90-30 DeviceNet module consumes 450mA at 5VDC (typical) from the PLC backplane. A high-capacity Series 90-30 power supply such as IC693PWR330 or IC693PWR331 is recommended when using these modules, especially for CPU models CPU350 or higher, or if the PLC includes Ethernet adapters and/or multiple DeviceNet modules.
The PLC power supply load is automatically calculated by the CIMPLICITY Machine Edition configuration software. Additional information about estimating power supply load can be found in GFK-0356, the
Series 90-30 Installation and Hardware Manual
DeviceNet Power
The Series 90-30 DeviceNet modules power their network transceivers from the 24VDC DeviceNet network power source. Linear power supplies are recommended for the DeviceNet power source. The DeviceNet power source should devices can cause communications errors and even create bus-off conditions.
also be used for device power. Transients caused by I/O
not
.
The DeviceNet specification recommends using a power tap to connect a power supply to the network. The power tap should be appropriately fused for the current capacity of the bus cables. The maximum current on the network depends on the cable type.
The Series 90-30 DeviceNet modules consume xxxma at 24VDC (typical) from the DeviceNet Network.
Current Limit for Thick Cable
For thick cable, the maximum current on the network is 16 Amps. However, only 8 Amps is permitted on a single network segment. 16 Amps can be drawn from a single power supply by locating the power supply at the center point of two network segments, supplying 8 Amps to each segment.
Current Limit for Thin Cable
For thin cable, the maximum current permitted is 3 Amps.
2-2 Series 90®-30 Programmable Controller DeviceNet™ Modules – November 2002 GFK-2196
Page 15
DeviceNet Cable for the Series 90-30 Modules
Series 90-30 DeviceNet modules can be used with the either DeviceNet thick cable or thin cable. Thick cable permits greater cable lengths and higher current levels. Generally, thick cable is used for the trunk cable. Thin cable is normally used for shorter distances and is suitable for drop cables and for installations where more cable flexibility is needed.
Both thick cable and thin cable are 5-wire, multi-conductor copper cable. Two wires form a transmission line for network communications. A second pair transmits network power. The fifth conductor forms an electromagnetic shield. Most cables have color coded leads which correspond to the color coding on the terminals on the Series90-30 DeviceNet modules.
Cable and Network Specifications
2
Thick Cable General Specifications
Thin Cable General Specifications
Network Topology Bus with limited branching (trunkline/dropline)
Redundancy Not Supported
Network Power for Node devices Nominal 24 VDC ±4%
Allowed Nodes (Bridging excluded) 64 nodes
Data Packet Size 0-8 bytes with allowance for message fragmentation
Duplicate Address Detection Addresses verified at power-up
Error Detection / Correction
Two shielded pairs - Common axis with drain wire in center
Overall braid shield - 65% coverage; 36 AWG or 0.12mm tinned Cu braid minimum (individually tinned)
Drain wire- #18 Copper min.; 19 strands minimum (individually tinned)
Outside diameter - 0.410 inches (min) to 0.490 inches (max.) roundness
- radius delta to be within 15% of 0.5 O.D.
Two shielded pairs - Common axis with drain wire in center
Overall braid shield - 65% coverage; 36 AWG or 0.12mm tinned Cu braid minimum (individually tinned)
Drain wire - #22 Copper; 19 strands minimum (individually tinned)
Outside diameter - 0.240 inches (min.) to 0.280 inches (max.) roundness - radius delta to be within 20% of 0.5 O.D.
CRC - retransmission of message if validity not acknowledged by recipient
Bus Connector Pin Assignments
The DeviceNet connector on a Series 90-30 DeviceNet module has five color-coded screw-clamp terminals. The connector provides bus continuity; it can be removed from the module without disrupting bus operation.
GFK-2196 Chapter 2 Installation 2-3
CAN_H
SHIELD
CAN_L
Signal Pin Wire Color
V+
V+ 5 Red
CAN_H 4 White
Shield 3 Bare
V-
CAN_L 2 Blue
V- 1 Black
Page 16
2
Bus Length
The maximum length of the trunk cable and drops both depend on the cable type and data rate. Individual drops may not exceed 6 meters and are limited to one network node per drop. However, the node may have multiple ports.
Data Rates 125kbps 250kbps 500kbps
thick cable, trunk length 500m (1640ft) 250m (820ft) 100m (328ft)
thin cable, trunk length 100m (328ft) 100m (328ft) 100m (328ft)
maximum drop length 6m (20ft) 6m (20ft) 6m (20ft)
total length of all drops 156m (512ft) 78m (256ft) 39m (128ft)
For each baud rate, the total drop length is the sum of all the drop lines of both cable types in the network.
In addition, if the distance from a tap to the most distant device on its drop is longer than the distance from the tap to the nearest terminating resistor as illustrated below, the drop line length also counts as part of the trunk cable length (as well as the overall drop length).
Longest
Distance
to a Node
Tap
Distance to
Terminating
Resistor
Terminating
Resistor
Node
Node
Node
2-4 Series 90®-30 Programmable Controller DeviceNet™ Modules – November 2002 GFK-2196
Page 17
Network Termination
121 Ohm, 1% ¼ watt terminating resistors MUST be installed at both ends of the DeviceNet network. Each terminating resistor is placed across the data communication signals at pin 2 (CAN_L) and pin 4 (CAN_H).
Taps, Daisy-Chaining and Branches
Devices can be connected directly to the trunk cable, or to drop lines that are joined to the trunk cable with taps. Taps can be mounted in junction boxes or panels. Drop lines and daisy-chains are often used inside control panels where multiple devices are grouped together. When using drops with daisy-chains and branches, the maximum length from a tap to its farthest drop is 20 feet.
2
Tap Tap
Node
Node
Node
Trunk Line
Node Node Node
Node
Drop Lines
Node
Node
Wiring to the Series 90-30 DeviceNet Master module depends on its location on the network:
If the Series 90-30 DeviceNet module is located at either end of the bus trunk, it is wired with one cable connection and a terminating resistor:
If the module is installed at the end of a drop or drop segment, it is wired with one cable connection only.
If the module is installed directly on the trunk cable or as part of a daisy-chained drop cable, it has both an incoming and outgoing cable connected:
GFK-2196 Chapter 2 Installation 2-5
Page 18
2
Grounding
DeviceNet Cable Grounding
All DeviceNet cable shields must be tied to ground at each device connection. This is done by tying the bare wire of the cable to pin 3 (Shield) of the connector.
DeviceNet Power Supply Grounding
The DeviceNet network power supply must also be grounded, but only at one point. The V- signal must be connected to protective earth ground at the power supply only. If multiple power supplies are used, only one power supply must have V- connected to earth ground.
DeviceNet System Grounding
DeviceNet communications should only be grounded to earth at a single point. Typically this is done in the control cabinet where the DeviceNet power supply is located.
Return for the DeviceNet power (-V), the drain (bare wire) and the cable shields must be directly tied to earth ground. Ideally, this grounding is done at a central location. Connection should be made using a 25mm (1in.) copper braid or a #8 AWG wire not longer than 3meters (10ft.).
The illustration below represents grounding for a network that has two power supplies. The chassis of each power supply is connected to earth ground.
Power Supply #2
Return
+24V
V+
CAN_H
SHIELD
CAN_L
V-
Power Supply #1
Return
+24V
Ground Wire Size
The minimum size ground conductor for the DeviceNet screw-clamp terminals on a Series 90-30 DeviceNet module is a 2.5mm may be necessary.
2
(14 AWG) wire. For other network devices, larger wire diameters
2-6 Series 90®-30 Programmable Controller DeviceNet™ Modules – November 2002 GFK-2196
Page 19
Installing the DeviceNet Module in the PLC Rack
A Series 90-30 DeviceNet module can be installed in the main (CPU) rack in slot 2 or higher, or in slot 1 or higher of any expansion rack.
1. Turn off power to the rack.
2. Place the module into its slot by hooking the top of the module on the notch above the slot and slowly lowering the module until it snaps into place.
3. Attach the DeviceNet cable to the module.
4. Terminate the network as required.
2
Note: For details about installing Series 90-30 rack systems and modules, refer to the
90-30 Installation Manual and Hardware Manual
, GFK-0356.
Removing the Module from the Rack
To remove the module from the rack:
1. Turn off power to rack.
2. Remove all cables from the module.
3. Press the release located on the bottom of the module and slowly raise the module from
the bottom until it comes out of the slot.
Series
GFK-2196 Chapter 2 Installation 2-7
Page 20
2
Module LEDs
The module's three LEDs show its operating and communications status:
NET POWER
MOD STATUS
NET STATUS
Network Power LED
LED Indicates
Red There is no power detected on the network.
Green Power detected on the network.
Module Status LED
LED Indicates
Off There is no backplane power to the module.
Green The module is operating normally.
Flashing Green
Flashing Red Recoverable Fault
Red The module has an unrecoverable fault; it may need resetting or
Flashing Red / Green
The module is in standby mode. Its configuration is missing, incomplete, or incorrect. The module may be in Standby state.
replacing.
The module is in Self Test mode.
Network Status LED
LED Indicates
Off The module is not online, or
The module has not completed the Duplicate MACID test, or
The module may not be powered. See Module Status LED.
Flashing Green
Green
Flashing Red One or more I/O Connections are in the Timed Out state.
Red The module is not capable of communicating on the network.
Flashing Red / Green
2-8 Series 90®-30 Programmable Controller DeviceNet™ Modules – November 2002 GFK-2196
The module is online but has no connections in the established
state, or
The module has passed the Duplicate MACID check, is online, but
has no established connections with other nodes.
The module is online and has one or more connections in the established state.
The module has detected a Network Access error and is in the Communication Faulted State.
Page 21
RS-232 Serial Port
The RS-232 serial port is a 9-pin male D-connector. This port is used for a computer connection during firmware upgrades.
Upgrading the DeviceNet Module's Firmware
When future upgrades to the firmware are made available, the module can be upgraded as described below.
1. Download the firmware upgrade to the computer that will be used to perform the upgrade. Firmware upgrades are usually available from the GE Fanuc WEB site www.gefanuc.com/support/plc/
SERVICE RS232
5-IGND
3-TxD
2-RxD
2
2. Connect a straight through serial cable from the computer to the serial port on the front of the DeviceNet module. Only the RX and TX lines are used. The cable that is part of the RS232 to RS485 kit (IC693ACC903) is suitable.
3. The computer can utilize any standard communication software to communicate with the module. The module supports 19200 baud, no parity, 8 data bits, 1 stop bit, and no flow control.
4. Cycle power to the Series 90-30 PLC rack that contains the DeviceNet module.
5. At the computer, press ENTER until you see the initial greeting. The greeting indicates that the boot code is waiting for new firmware. Initiate an Xmodem send of the module firmware file using your communication software. Note: You must press the ENTER key immediately after the power is cycled. It is recommended you hold down the ENTER key when turning the power back on.
6. When it finishes successfully storing the new firmware, the module automatically resets and attempts to start the new firmware.
7. If the firmware transfer was not successful, the greeting screen reappears. Retry the transfer.
On success, disconnect the serial cable and cycle power to the Series 90-30 PLC rack.
GFK-2196 Chapter 2 Installation 2-9
Page 22
Chapter
3
PLC Configuration for the DeviceNet Master
This chapter explains how to add a Series 90-30 DeviceNet Master Module (IC693DNM200) to the configuration of the Series 90-30 PLC. It also explains how to configure communications connections between a Series 90-30 DeviceNet Master Module and the DeviceNet network.
Configuration Steps
Adding a DeviceNet Master Module to the PLC Configuration
Configuring the Parameters of a DeviceNet Master Module
Parameters of a DeviceNet Master Module
Network Settings of a DeviceNet Master Module
Telling the DeviceNet Master about Slaves by Adding Slaves to the Network
Adding a Device's EDS File
Configuring Network Settings for Slaves Added to the Master
Assigning the MAC IDs and Baud Rate
Configuring I/O Messaging Connections
Configuring DeviceNet Explicit Messaging
Configuring Network Settings for a DeviceNet Master Acting as a Slave
Assigning the MAC IDs and Baud Rate
Configuring I/O Messaging Connections for a DeviceNet Master Acting as a Slave
Configuring DeviceNet Explicit Messaging
These configuration procedures are written for users who have a basic knowledge of the CIMPLICITY Machine Edition Logic Developer software and the Series 90-30 PLC. For help with using the software, please see the software’s built-in help system.
Note: The DeviceNet Master is only supported in CIMPLICITY Machine Edition Logic
Developer. The Logicmaster™, VersaPro™, and Control software do not support these Series 90-30 DeviceNet modules.
GFK-2196 3-1
Page 23
3
Configuration Steps
There are three basic steps to configuring a Series 90-30 DeviceNet Master Module:
Adding the module to the PLC rack and configuring its operating parameters.
Telling the DeviceNet Master about slaves by adding the network slaves to the Master and
configuring their network settings.
The number and type of slave devices and the amount of data they can exchange with the master may be limited by the CPU memory available. The amount of CPU memory available for the DeviceNet configuration depends on: the CPU model being used, the version of the CPU firmware, the number and type of other modules in the configuration, the number and type of slave devices configured, and the amount and type of communication in progress with an external programmer or HMI devices. With Logic Developer-PLC, the size of the current configuration can be read by selecting “Data View” for the hardware configuration and adding the sizes of the components listed. LD-PLC will not allow configurations to be created that exceed 65,535 bytes. The size of the DeviceNet configuration is also limited by the size of the user configuration space for the models listed below:
CPU 311/313 4,736 bytes available
CPU 331 4,673 bytes available
(Optional) Configuring the network settings of the DeviceNet Master Module itself. This is
ONLY done if the DeviceNet Master Module will also operate as a server to another network master. For example, it might exchange data relating to the operation of its slaves with a higher-level host controller.
3-2 Series 90®-30 Programmable Controller DeviceNet™ Modules – November 2002 GFK-2196
Page 24
Adding a DeviceNet Master Module to the PLC Configuration
First, add the Series 90-30 DeviceNet Master Module (IC693DNM200) to the PLC rack configuration. The module is compatible with any Series 90-30 CPU except IC693CPU321 or IC693CPU340. It requires release 8.0 CPU firmware as a minimum. Release 10.6 or later is recommended, if available for your particular CPU.
1. In that configuration, in the Project tab of the Navigator, expand the Hardware Configuration folder.
2. In the Hardware Configuration folder, right click the intended PLC Slot for the DeviceNet Master Module. It can be any slot except slot 1 of a modular CPU rack.
3. Select Add Module from the shortcut menu.
Hardware
Configuration Folder
3
Navigator Window
Short Cut Menu
The Module Catalog dialog box appears.
4. To add a DeviceNet Master Module, click on the Bus Controller tab. The Bus Controller module list appears. Select IC693DNM200 DeviceNet Master from the list and click OK.
GFK-2196 Chapter 3 PLC Configuration for the DeviceNet Master 3-3
Page 25
3
Configuring the Parameters of a DeviceNet Master Module
The DeviceNet Master Module is added to the PLC configuration in the Navigator window, and the module’s Parameter Editor window appears in the InfoViewer window space.
Parameters of a DeviceNet Master Module
Settings tab
Mac ID
Slave Status Bit Array Address
Length
(of slave status bits)
Network Status/Firmware ID Address
Length (of network status /firmware ID)
Program Mode Transmission
The Mac ID (medium access control identification) of the master on the DeviceNet network. Valid range: 0 - 63. Default: 0.
The starting address for an array of bits indicating the health of each node on the DeviceNet network. It must be a non-overlapping range in %AI, %I, %Q, %G, %AQ, %R, %T, or %M. It defaults to %I memory and uses the next available %I address.
A slave's status address equals Start Address + Station Address of the slave. For example, if the status bits are mapped to %I00001, the status for the slave at Station Address 5 would be found at %I00001 + 5 = %I00006.
The master’s status is located in the same way as the slaves’ (Start Address + Station Address). The master is configured as station 0 by default, but can be set to any valid address (0-64).
(Read-only.) Length has a value of 64, corresponding to 64 network devices.
The starting address for three words of module/network status information. The default is %AI memory and uses the next available %AI address. The Network Status/Firmware ID Address must be a non-overlapping range in %AI, %I, %Q, %G, %AQ, %R, %T, or %M.
During system operation, the module and network status data and module firmware ID will be stored in this memory location.
(read only) Length of the Network Status / Firmware ID Address memory location, 3 words.
When the PLC is in Program mode (Stop mode), the DeviceNet Master Module can either send idle packets or set data to zero. The default is to send idle packets.
3-4 Series 90®-30 Programmable Controller DeviceNet™ Modules – November 2002 GFK-2196
Page 26
Settings tab
Fault State Transmission
Inputs on Loss of Slave
Slave Status Fault Table Entries
Ack Timeout (ms)
Baud Rate (kbps)
Scan Interval (ms)
for Strobed connections
Reconnect Time (ms)
Download Names & Descriptions
Download EDS Files
When the DeviceNet Master Module detects a PLC fault (because the PLC has not requested its regular I/O update from the module), the module can either send idle packets or set data to zero. The default is to send idle packets.
If the DeviceNet Master loses communications with a slave, it can hold the module's input reported to the CPU in its last state (the default), or clear the input data.
When slave communications status events (loss and re-establish) occur, the DeviceNet Master Module can either report them in the fault table or not. If this setting is True (the default), the Master makes fault table entries. If this setting is False, slave status events are not reported to the fault table.
Number of milliseconds to wait for a CAN Acknowledge of the Duplicate MacID check (performed during startup) before reporting an Ack (acknowledge) failure. Valid range: 0 to 65,535. The default is 2,000ms (2 seconds).
The data transmission rate for the DeviceNet Master Module. The maximum baud rate that can be used depends on the bus length and cable type. See chapter 2 for more information. Choose: 125K, 250K, or 500K.
The time interval between successive scans of Strobed slave connections. This defaults to zero. A time must be specified if any slave connections are set up for strobing. The valid range is 0 to 65,535ms. All strobed connections will be scanned at this same interval.
If a slave fails to respond to three consecutive scan cycles, the slave is flagged as not present and the master tries to reconnect to it.
This parameter specifies how long the master should wait before attempting to reconnect. The default time is 0. The valid range is 100 to 65535ms.
This setting determines whether or not names and descriptions that have been use in the configuration will be downloaded to the PLC when the configuration is downloaded.
By default, this parameter is False and names and descriptions are not downloaded to the PLC. This is the recommended choice because downloaded names and descriptions can take up too much memory in the PLC. Names and descriptions are a convenience only. Omitting them from the download does not affect system operation. However, if this parameter is set to False, later uploads of the configuration from the PLC to the programmer will contain only default names and descriptions.
If this parameter is set to True, names and descriptions that have been entered for the slaves and the master are downloaded to the PLC and will be present in the configuration if it is uploaded to the programmer later..
This setting determines whether or not the EDS files that have been used for the configuration will be downloaded from the programmer to the PLC when the configuration is downloaded.
By default, this parameter is False and EDS files are not downloaded to the PLC. This is the recommended choice, because downloaded EDS files can consume too much memory in the PLC. However, when this is set to False, if the configuration is later uploaded from the PLC back to the programmer, it will not contain the EDS files. You would need another source for the EDS files (for example, on disk) to configure more modules of a given type. If the EDS files are no longer available, it is only possible to add more modules of that type as generic modules.
If this parameter is set to True, the EDS files are included when the configuration is downloaded to the PLC. If the configuration is later uploaded back to the programmer, the EDS files will be restored to the Toolchest for use by the configuration.
3
GFK-2196 Chapter 3 PLC Configuration for the DeviceNet Master 3-5
Page 27
3
Data Areas Tab
This tab shows the PLC program references assigned to the DeviceNet Master Module's Network Settings
This TAB is optional and should only be used when the DeviceNet Master Module is also a slave to another Devicenet master device.
Note
: Do not enter values on this tab if the DeviceNet Master Module is not also used as a slave. Entering values on this tab when the DeviceNet Master is not used as a slave causes the DeviceNet Master to fail to communicate with slaves.
when it is used as a slave
:
Power Consumption Tab
Power consumption
This read-only tab shows the backplane power that will be consumed by the DeviceNet Slave Module. This power will be used for module operation.
The DeviceNet Slave Module also draws power for its DeviceNet transceiver from the 24VDC power supply on the DeviceNet network.
3-6 Series 90®-30 Programmable Controller DeviceNet™ Modules – November 2002 GFK-2196
Page 28
Network Settings of a DeviceNet Master Module
To configure the Network Settings for a DeviceNet Master Module, right-click the DeviceNet Master in the PLC configuration, and choose Network Settings:
The Network Settings dialog box appears.
3
The General tab allows setting a name and description for the module. On this tab, you can also select the MACID, Baud Rate, Scan Interval, and Reconnect Time. These parameters are also found on the Configuration Parameter screen; they can be set in either place.
The rest of the tabs are only used if the Series 90-30 DeviceNet Master Module will operate as a server (slave) to another master on the network. If the DeviceNet Master is not a slave to another DeviceNet master these three tabs should be left blank. Please turn to “Configuring Network Settings” later in this chapter for detailed information about the Network Setting parameters.
GFK-2196 Chapter 3 PLC Configuration for the DeviceNet Master 3-7
Page 29
3
Telling the DeviceNet Master about Slaves by Adding Slaves to the Network
After adding the DeviceNet Master Module to the PLC rack, you need to tell the Master about the required communication to the slave devices on the DeviceNet network by adding slaves to the Master. There are two ways to add a slave to the network configuration:
In the Navigator window, right-click on the IC693DNM200 Master Module and choose Add Slave.
Select the slave type from the list that appears. Click OK to select the slave. For example, to add a Series 90-30 DeviceNet Slave Module (IC693DNS201) as a slave on the network, you would select:
You can also drag and drop a device from the Toolchest to the DeviceNet master. Open the
Toolchest by clicking the Toolchest button on the Tools toolbar. Select the DeviceNet Devices drawer. Choose a slave device.
If you are editing a configuration that was uploaded from the PLC, the presence of device EDS files (and also device names and descriptions) depends on the DeviceNet Master Module configuration, as described earlier in this chapter. If the EDS files and names and descriptions were not downloaded, they will not be part of the uploaded configuration, and the EDS files may no longer be present in the Toolchest.
Whether you are adding devices in the Navigator or using the drag and drop method , if you don't see the type of device you want to add and also don't have an EDS file for the device, you can only configure the slave as a generic device .
Adding a Device's EDS File
If the device you want to configure is not listed and is not in the Toolchest, you can provide the EDS file, which is supplied by the device manufacturer, by clicking Have Disk. In the Open dialog box, browse to the EDS file and click Open. (When you select an EDS file using this method, it is added to the Slave Catalog and the DeviceNet Devices drawer of the Toolchest.)
3-8 Series 90®-30 Programmable Controller DeviceNet™ Modules – November 2002 GFK-2196
Page 30
Configuring Network Settings for Slaves Added to the Master
The Network Settings include MAC IDs, baud rates, and the messaging connections between devices on the network.
Assigning the MAC IDs and Baud Rate
Be sure the MAC IDs entered for slaves in the Machine Edition configuration match the MAC IDs set up for the devices themselves.
Many devices have their MAC IDs set by DIP switches. Some have their MAC IDs set by configuration commands from the master. All software-configured devices originally have the same default MAC ID: 63. To configure a software configured device, add a generic device with MACID 63 and enable Explicit Messaging to allow the configuration message to be sent to the device. Therefore, assigning the MAC ID 63 to be used by a device on the network should be done carefully, to prevent duplicate MAC ID conflicts when adding a new slave. Because all software­configurable slaves originally have the same default MAC ID, such slaves should be connected to the network one at a time. As each new slave is connected, its MAC ID should be changed using a Send Device Explicit COMMREQ, and its operation should be checked before connecting the next slave. Remember that the device will take on the new MAC ID after the configuration message is sent to it.
3
Configuring the MAC ID of a Slave Device
On the Network Settings: General tab, configure the device's MAC ID. The MAC ID will default to the next available address but will not fill in skipped addesses.The dropdown list displays MAC IDs that have not been used in the Machine Edition configuration. In this example, IDs 2 and 3 have already been assigned, so those numbers do not appear in the list.
Name
A field is provided to give the slave an identifying name
Description
A field is provide to add a description of the slave
GFK-2196 Chapter 3 PLC Configuration for the DeviceNet Master 3-9
Page 31
3
Configuring I/O Messaging Connections for Slaves added to the Master
I/O Messaging is the term used for the routine and automatic exchange of data between the master and slaves in a DeviceNet system. Each configured I/O Message defines a dedicated communication path between a producing device and one or more consuming devices. Once these connections have been established, I/O Messaging communications occur automatically during system operation.
Each Series 90-30 device in a DeviceNet system can be set up for up to two different I/O Messaging connections. Each connection can be disabled (the default), or set up for Polled, Strobed, Change-of-State, or Cyclic operation. Connections should be configured to meet the needs of the application. For example, the master might Strobe all the input-only slave devices and Poll the remaining slave devices.
The selection made for one I/O Messaging connection to a slave determines which connection types remain available for the same slave's other I/O Messaging connection, as shown by the table below. For example, you can only select one polling connection for a device.
Selected for One
Connection
Disabled Disabled, polled, strobe, cos. cyclic
Polled Disabled, strobed, cos, cyclic
Strobed Disabled, polled, cos, cyclic
Cos Disabled, polled, strobed
Cyclic Disabled, polled, strobed
Available for the Other Connection
Configuration of each of these connection types is described on the following pages.
3-10 Series 90®-30 Programmable Controller DeviceNet™ Modules – November 2002 GFK-2196
Page 32
3
Configuring a Polled I/O Messaging Connection
In Polled I/O mode (the most common method of doing I/O), the DeviceNet master automatically sends a message containing outputs to each slave with a connection configured for polling. The slave sends back a response containing input data. Polling therefore requires 2 messages to update the I/O data for each polled device.
The master completes the polling sequence as quickly as possible. Polling is the most accurate but least efficient method of updating I/O data. It is most suitable for high-availability control data that is used to drive application logic.
DeviceNet
Master
Query
Query
Response
Slave 1
Slave 2
Response
DeviceNet network
Query
Response
To configure polling for slave connection 1 or connection 2, select Polled on the Slave Properties menu.
Polled I/O Messaging Screen for a DeviceNet Slave in the Series 90-30
DeviceNet Master configuration
Slave n
For input resources, specify the number of data bytes the slave will send to the master.
For output resources, enter the number of bytes the slave will consume from the master.
For Update, specify the interval in milliseconds at which the DeviceNet master will update data for this device. To select the fastest update rate possible, enter zero.
Note: The number of bytes for input and output must match between this setup and the setup of the slave device, or the DeviceNet Master Module will be unable to communicate with the slave.
GFK-2196 Chapter 3 PLC Configuration for the DeviceNet Master 3-11
Page 33
3
Configuring a Strobed I/O Messaging Connection
In Strobed I/O mode, the master produces a single Strobe request message that is consumed by all devices with a connection configured for strobing, requesting their current status. This occurs at the rate selected using the Scan Interval parameter of the DeviceNet Master Module.
Each strobed device then responds with its input data. Devices respond in the order of their MAC IDs, beginning with the lowest MAC ID first. MAC IDs can be specifically assigned to prioritize I/O reporting by the slaves.
DeviceNet
Master
Strobe
Message
Response
Response
Slave 1
Slave 2
DeviceNet network
Response
Strobed I/O Messaging can be more efficient than Polled I/O messaging because the master does not send an individual Poll request to each device. Strobed I/O Messaging is particularly useful for slave devices that have input data only, such as sensors.
To configure Strobed I/O Messaging for a slave connection, select Strobed on the Slave Properties menu.
Strobed I/O Messaging Screen for a
Slave on the Network
Slave n
For input resources, specify the number of data bytes the device will send to the master.
The length for output resources is automatically set to 1 byte. The message from the Master to the Slave telling them to send back their inputs is a 1 byte message. It reflects the state of the I/O bit in the strobe request message for the device: set (1) or clear (0).
3-12 Series 90®-30 Programmable Controller DeviceNet™ Modules – November 2002 GFK-2196
Page 34
3
Configuring a Change-of-State (COS) I/O Messaging Connection
A connection configured for Change-of-State (COS) I/O Messaging is activated only when the device sends a message to the master, reporting a change of status. The master then sends an output message to the device and the device responds with its input data.
Device Produces Change of State Message
DeviceNe t
Master
Change of State
Message
Slave 1
Slave 2
DeviceNe t netwo rk
Slave n
Master Sends Outputs, Device Replies
DeviceNe t
Master
Outputs
Inputs Slave 2
DeviceNe t netwo rk
Slave 1
Slave n
Change-of-State I/O Messaging is the most efficient type of messaging on the network, but it can be less precise than the other methods.
To configure Change-of-State I/O Messaging for a connection, select COS on the slave properties menu.
COS I/O Messaging Screen for a
Slave on the Network
For input resources, specify the number of data bytes the device will send to the master.
For output resources, enter the number of bytes the device will consume from the master.
If Acknowledge Suppress is selected, the DeviceNet master will not wait for an acknowledge message from the device.
For Inhibit, specify the minimum delay in milliseconds between two data productions. For example, a slave is running a COS connection that has a change in data every 5ms, but the control application needs new data every 25ms. Setting the inhibit value to 25 causes the slave to transmit data at minimum intervals of 25ms and avoids needless use of network bandwidth.
For Update, specify the interval in milliseconds at which the DeviceNet master will update data for this device. To select the fastest update rate possible, enter zero.
GFK-2196 Chapter 3 PLC Configuration for the DeviceNet Master 3-13
Page 35
3
Configuring a Cyclic I/O Messaging Connection
In Cyclic I/O Messaging as in Polled I/O Messaging, the DeviceNet master automatically sends a message containing outputs to a device with a connection configured for Cyclic update. The device sends back a response containing input data. Like Polling, Cyclic I/O Messaging requires 2 messages to update the I/O data for a device. Unlike Polled messaging, Cyclic messaging can use a different interval as configured for each slave.
DeviceNet
Master
Query
DeviceNet network
Response
Slave 1
Slave 2
Query
Query
Response
Slave n
Response
Cyclic messaging can be appropriate for devices such as analog input sensors. For example, a temperature sensor might use Cyclic messages to report its measurements every 500ms. Cyclic messaging can cut down on network traffic while accurately capturing certain types of input measurements. This can also be more efficient for the application program in the PLC CPU. A Cyclic I/O connection can also be used as a 'heartbeat' to provide assurance of a device's continued operation, with a Change-of-State I/O connection to the same device used to update its I/O state.
To configure Cyclic I/O Messaging for a connection, select Cyclic on the Slave Properties menu.
Cyclic I/O Messaging Screen for a
Slave on the Network
For input resources, specify the number of data bytes the device will send to the master.
For output resources, enter the number of bytes the device will consume from the master.
If Acknowledge Suppress flag is selected, the DeviceNet master does not wait for an acknowledge message from the device.
For Update, specify the interval in milliseconds at which the Series 90-30 DeviceNet master will update data for a network device. To select the fastest update rate possible, enter zero.
3-14 Series 90®-30 Programmable Controller DeviceNet™ Modules – November 2002 GFK-2196
Page 36
Configuring DeviceNet Explicit Messaging
Explicit Messaging is the highest priority messaging. Explicit messaging provides access to objects other than the default I/O connection set, and optionally creates a buffer for explicit connection. Not all slaves support explicit services, and many, including most discrete I/O devices, do not use explicit services.
Some devices rely on Explicit Messaging for configuration of selected parameters. For example, some VersaPoint modules can be configured using Explicit Messaging. To be configured by Explicit Messaging, an Explicit Messaging connection to the device must first be set up as shown below.
If Explicit Messaging should be enabled, click on Enable Explicit Connection on the Explicit Messages tab.
In addition, for a Series 90-30 DeviceNet Slave Module, or Series 90-30 DeviceNet Master module operating as a slave, specify the message request and message response size. Make sure the size specified is large enough. The Series 90-30 DeviceNet modules implement Explicit Messaging through the use of COMMREQ instructions in the application program. These COMMREQ messages are described in chapter 6, "Programmed Communications". The messages sizes of each explicit message type are described in that chapter.
3
Explicit Messaging Screen for a
Slave on the Network
GFK-2196 Chapter 3 PLC Configuration for the DeviceNet Master 3-15
Page 37
3
Configuring Network Settings for a DeviceNet Master Acting as a Slave
The Network Settings include MAC IDs, baud rates, and the messaging connections between devices on the network. This was described previously in the section "Configuring Network Settings for Slaves Added to the Master".
Configuring I/O Messaging Connections for a DeviceNet Master Acting as a Slave
I/O Messaging is the term used for the routine and automatic exchange of data between the master and slaves in a DeviceNet system. Each configured I/O Message defines a dedicated communication path between a producing device and one or more consuming devices. Once these connections have been established, I/O Messaging communications occur automatically during system operation.
Each Series 90-30 device in a DeviceNet system can be set up for up to two different I/O Messaging connections. Each connection can be disabled (the default), or set up for Polled, Strobed, Change-of-State, or Cyclic operation. Connections should be configured to meet the needs of the application. For example, the master might Strobe all the input-only slave devices and Poll the remaining slave devices.
The selection made for one I/O Messaging connection to a slave determines which connection types remain available for the same slave's other I/O Messaging connection, as shown by the table below. For example, you can only select one polling connection for a device.
Selected for One Connection Available for the Other Connection
Disabled Disabled, polled, strobe, cos. cyclic
Polled Disabled, strobed, cos, cyclic
Strobed Disabled, polled, cos, cyclic
Cos Disabled, polled, strobed
Cyclic Disabled, polled, strobed
Configuration of each of these connection types is described on the following pages.
3-16 Series 90®-30 Programmable Controller DeviceNet™ Modules – November 2002 GFK-2196
Page 38
3
Configuring a Polled I/O Messaging Connection
In Polled I/O mode (the most common method of doing I/O), the DeviceNet master automatically sends a message containing outputs to each slave with a connection configured for polling. The slave sends back a response containing input data. Polling therefore requires 2 messages to update the I/O data for each polled device.
The master completes the polling sequence as quickly as possible. Polling is the most accurate but least efficient method of updating I/O data. It is most suitable for high-availability control data that is used to drive application logic.
DeviceNet
Master
Query
Query
Response
Slave 1
Slave 2
Response
DeviceNet network
Query
Response
To configure polling for slave connection 1 or connection 2, select Polled on the Slave Properties menu.
Polled I/O Messaging Screen for a Series 90-30 DeviceNet Master
Module
Slave n
For input resources, specify the number of data bytes the slave will send to the master.
For output resources, enter the number of bytes the slave will consume from the master.
For Update, specify the interval in milliseconds at which the DeviceNet master will update data for this device. To select the fastest update rate possible, enter zero.
Note: The number of bytes for input and output must match between this setup and the setup of the Slave Device or the Master will be unable to communicate with the slave.
GFK-2196 Chapter 3 PLC Configuration for the DeviceNet Master 3-17
Page 39
3
Configuring a Strobed I/O Messaging Connection
In Strobed I/O mode, the master produces a single Strobe request message that is consumed by all devices with a connection configured for strobing, requesting their current status. This occurs at the rate selected using the Scan Interval parameter of the DeviceNet Master Module.
Each strobed device then responds with its input data. Devices respond in the order of their MAC IDs, beginning with the lowest MAC ID first. MAC IDs can be specifically assigned to prioritize I/O reporting by the slaves.
DeviceNet
Master
Strobe
Message
Response
Response
Slave 1
Slave 2
DeviceNet network
Response
Strobed I/O Messaging can be more efficient than Polled I/O messaging because the master does not send an individual Poll request to each device. Strobed I/O Messaging is particularly useful for slave devices that have input data only, such as sensors.
To configure Strobed I/O Messaging for a slave connection, select Strobed on the Slave Properties menu.
Strobed I/O Messaging Screen for a Series 90-30 DeviceNet Master
Module
Slave n
For input resources, specify the number of data bytes the device will send to the master.
The length for output resources is automatically set to 1 byte. The message from the Master to the Slave telling them to send back their inputs is a 1 byte message. It reflects the state of the I/O bit in the strobe request message for the device: set (1) or clear (0).
3-18 Series 90®-30 Programmable Controller DeviceNet™ Modules – November 2002 GFK-2196
Page 40
3
Configuring a Change-of-State (COS) I/O Messaging Connection
A connection configured for Change-of-State (COS) I/O Messaging is activated only when the device sends a message to the master, reporting a change of status. The master then sends an output message to the device and the device responds with its input data.
Device Produces Change of State Message
DeviceNe t
Master
Change of State
Message
Slave 1
Slave 2
DeviceNe t netwo rk
Slave n
Master Sends Outputs, Device Replies
DeviceNe t
Master
Outputs
Inputs Slave 2
DeviceNe t netwo rk
Slave 1
Slave n
Change-of-State I/O Messaging is the most efficient type of messaging on the network, but it can be less precise than the other methods.
To configure Change-of-State I/O Messaging for a connection, select COS on the slave properties menu.
COS I/O Messaging Screen for a Series 90-30 DeviceNet Master Module
For input resources, specify the number of data bytes the device will send to the master.
For output resources, enter the number of bytes the device will consume from the master.
If Acknowledge Suppress is selected, the DeviceNet master will not wait for an acknowledge message from the device.
For Inhibit, specify the minimum delay in milliseconds between two data productions. For example, a slave is running a COS connection that has a change in data every 5ms, but the control application needs new data every 25ms. Setting the inhibit value to 25 causes the slave to transmit data at minimum intervals of 25ms and avoids needless use of network bandwidth.
For Update, specify the interval in milliseconds at which the DeviceNet master will update data for this device. To select the fastest update rate possible, enter zero.
GFK-2196 Chapter 3 PLC Configuration for the DeviceNet Master 3-19
Page 41
3
Configuring a Cyclic I/O Messaging Connection
In Cyclic I/O Messaging as in Polled I/O Messaging, the DeviceNet master automatically sends a message containing outputs to a device with a connection configured for Cyclic update. The device sends back a response containing input data. Like Polling, Cyclic I/O Messaging requires 2 messages to update the I/O data for a device. Unlike Polled messaging, Cyclic messaging can use a different interval as configured for each slave.
DeviceNet
Master
Query
DeviceNet network
Response
Slave 1
Slave 2
Query
Query
Response
Slave n
Response
Cyclic messaging can be appropriate for devices such as analog input sensors. For example, a temperature sensor might use Cyclic messages to report its measurements every 500ms. Cyclic messaging can cut down on network traffic while accurately capturing certain types of input measurements. This can also be more efficient for the application program in the PLC CPU. A Cyclic I/O connection can also be used as a 'heartbeat' to provide assurance of a device's continued operation, with a Change-of-State I/O connection to the same device used to update its I/O state.
To configure Cyclic I/O Messaging for a connection, select Cyclic on the Slave Properties menu.
Cyclic I/O Messaging Screen for a Series 90-30 DeviceNet Master Module
For input resources, specify the number of data bytes the device will send to the master.
For output resources, enter the number of bytes the device will consume from the master.
If Acknowledge Suppress flag is selected, the DeviceNet master does not wait for an acknowledge message from the device.
For Update, specify the interval in milliseconds at which the Series 90-30 DeviceNet master will update data for a network device. To select the fastest update rate possible, enter zero.
3-20 Series 90®-30 Programmable Controller DeviceNet™ Modules – November 2002 GFK-2196
Page 42
Configuring DeviceNet Explicit Messaging
Explicit Messaging is the highest priority messaging. Explicit messaging provides access to objects other than the default I/O connection set, and optionally creates a buffer for explicit connection. Not all slaves support explicit services, and many, including most discrete I/O devices, do not use explicit services.
Some devices rely on Explicit Messaging for configuration of selected parameters. For example, some VersaPoint modules can be configured using Explicit Messaging. To be configured by Explicit Messaging, an Explicit Messaging connection to the device must first be set up as shown below.
If Explicit Messaging should be enabled, click on Enable Explicit Connection on the Explicit Messages tab.
In addition, for a Series 90-30 DeviceNet Slave Module, or Series 90-30 DeviceNet Master module operating as a slave, specify the message request and message response size. Make sure the size specified is large enough. The Series 90-30 DeviceNet modules implement Explicit Messaging through the use of COMMREQ instructions in the application program. These COMMREQ messages are described in chapter 6, "Programmed Communications". The messages sizes of each explicit message type are described in that chapter.
3
Explicit Messaging Screen for a Series 90-30 DeviceNet Master Module
GFK-2196 Chapter 3 PLC Configuration for the DeviceNet Master 3-21
Page 43
Chapter
4
PLC Configuration for the DeviceNet Slave
This chapter explains how to add a Series 90-30 DeviceNet Slave Module (IC693DNS201) to the configuration of the Series 90-30 PLC. It also explains how to configure communications connections between a Series 90-30 DeviceNet Slave Module and the DeviceNet network.
Configuration Steps
Adding a DeviceNet Slave Module to the PLC Configuration
Configuring the Parameters of a DeviceNet Slave Module
Configuring the Network Settings of a DeviceNet Slave Module
Configuring the MAC ID
Configuring I/O Messaging Connections
Configuring DeviceNet Explicit Messaging
These configuration procedures are written for users who have a basic knowledge of the CIMPLICITY Machine Edition Logic Developer software and the Series 90-30 PLC. For help with using the software, please see the software’s built-in help system.
Note: The DeviceNet Slave Module is only supported in CIMPLICITY Machine Edition Logic
Developer. The Logicmaster™, VersaPro™, and Control software do not support this module.
GFK-2196 4-1
Page 44
4
Configuration Steps
There are three basic steps to configuring a DeviceNet Slave Module:
Configuring its module parameters as part of the PLC CPU system in which it is installed. This
is described on the next page.
Configuring its network settings. For information, see the section "Configuring Network
Settings " later in this chapter.
Configuring the module as a slave on the network of a master module. Instructions for
configuring the network of a Series 90-30 DeviceNet Master Module are given in chapter 3. Instructions for configuring other master types are not described in this manual.
4-2 Series 90®-30 Programmable Controller DeviceNet™ Modules – November 2002 GFK-2196
Page 45
Adding a DeviceNet Slave Module to the PLC Configuration
First, add the Series 90-30 DeviceNet Slave Module (IC693DNS201) to the PLC rack configuration. The IC693DNS201 is compatible with any Series 90-30 CPU except IC693CPU321 and IC693CPU340. It requires release 8.0 CPU firmware as a minimum. Release 10.6 or later is recommended, if available for your particular CPU.
1. In that configuration, in the Project tab of the Navigator, expand the Hardware Configuration folder.
2. In the Hardware Configuration folder, right click the PLC Slot for the DeviceNet Slave Module. It can be any slot except slot 1 of a modular CPU rack.
3. Select Add Module from the shortcut menu.
4
Hardware
Configuration Folder
Navigator Window
Short Cut Menu
4. The Module Catalog dialog box appears. To add a DeviceNet Slave Module, click on the Communications tab. Select the IC693DNS201 DeviceNet Slave from the list and click OK.
GFK-2196 Chapter 4 PLC Configuration for the DeviceNet Slave 4-3
Page 46
4
Configuring the Parameters of a DeviceNet Slave Module
After selecting the module, its Parameter Editor window appears in the InfoViewer window space.
4-4 Series 90®-30 Programmable Controller DeviceNet™ Modules – November 2002 GFK-2196
Page 47
Parameters of a DeviceNet Slave Module
Settings tab
Mac ID
Baud Rate (kbps)
Status/ Firmware ID Address
Length
status/firmware ID)
Outputs on Loss of Master
Network Settings
Program Mode Transmission
Fault State Transmission
Slave Status Fault Table Entries
Ack Timeout (ms)
(of module
The Mac ID (medium access control identification) of the slave on the DeviceNet network. Valid range: 0 - 63. Default: 0. To set this parameter in the DeviceNet Slave Properties dialog box, go to the Navigator, right-click the DeviceNet slave and choose Network Settings. The DeviceNet Slave Properties dialog box appears.
The data transmission rate for the DeviceNet Slave Module. The maximum baud rate that can be used depends on the bus length and cable type. See chapter 2 for more information. Choose: 125K, 250K, or 500K. Default is 500.
The starting address for three words of module status information. The default is %AI memory. The Network Status/Firmware ID Address must be a non­overlapping range in %AI, %I, %Q, %G, %AQ, %R, %T, or %M. The default offset is the next available reference in the memory type selected.
The Firmware ID word contains the current firmware version running on the DeviceNet Master Module. The Major Revision number resides in the upper byte and the Minor Revision number resides in the lower byte of this word.
This is the length of the Network Status / Firmware ID Address memory location described above. The length is 3 words or 48 bits (read only).
This parameter determines how a slave will handle inputs / outputs if the slave loses communications with the master. The default is Hold Last State. It can be changed to clear.
Double-click to edit the network communications settings of the slave. See "Configuring Network Settings" in this chapter for more information.
When the PLC is in Program mode (Stop mode), the module can either send idle packets or data to zero. The default is to send idle packets.
When the module detects a PLC fault, the module can either send idle packets or set data to zero. The default is to send idle packets.
When slave communications status events (loss and re-establish) occur, the DeviceNet Master Module can either report them in the fault table or not. If this setting is True (the default), the Master makes fault table entries. If this setting False, slave status events are not reported to the fault table.
Number of milliseconds to wait for a CAN Acknowledge of the Duplicate MacID check (performed during startup) before reporting an Ack (acknowledge) failure. Valid range: 0 to 65,535. The default is 2,000ms (2 seconds).
4
GFK-2196 Chapter 4 PLC Configuration for the DeviceNet Slave 4-5
Page 48
4
Data Areas Tabs
These tabs show the PLC program references assigned to the selected module: These reference assignments can be edited, or left at their defaults. Note that the input data area tab shows output data area tab shows inputs and outputs, data can be configured for both connection 1 and connection 2.
master
inputs, which are module outputs. The
master
outputs, which are module inputs. For both
Power Consumption Tab
Power consumption
For both inputs and outputs, the offset is the starting address in the memory area. It must be less than the size of the data area specified in the Network Settings dialog box. To specify data area Size, in the Navigator, right­click the DeviceNet slave and choose Network Settings. The DeviceNet Slave Properties dialog box appears. On the Connection 1 or Connection 2 tab, set the Size under Resources.
The Reference Address is the location in mapped. This field is read-only if Size is set to 0. This must be a range in %AI, %I, %Q, %G, %AQ, %R, %T, or %M. If the number of bytes (Size) is odd, only the discrete addresses (%I, %Q, %G, %M, %T) can be used.
This read-only tab shows the backplane power that will be consumed by the DeviceNet Slave Module. This power will be used for module operation.
The DeviceNet Slave Module also draws power for its DeviceNet transceiver from the 24VDC power supply on the DeviceNet network.
master
PLC memory where the data is
master
PLC
4-6 Series 90®-30 Programmable Controller DeviceNet™ Modules – November 2002 GFK-2196
Page 49
Configuring the Network Settings of a DeviceNet Slave Module
To configure the Network Settings for a DeviceNet Slave Module, right-click the DeviceNet Slave in the PLC configuration, and choose Network Settings.
The Network Settings dialog box appears.
The General tab allows setting a name and description for the module. On this tab, you can also select the MACID and Baud Rate. These parameters are also found on the Configuration Parameter screen; they can be set in either place.
4
The rest of the tabs set up the messaging connections that will be used by the module.
Configuring the MAC ID
All software-configured devices originally have the same default MAC ID: 63. Therefore, assigning the MAC ID 63 to be used by a device on the network should be avoided if possible, to prevent duplicate MAC ID conflicts when adding a new slave.
GFK-2196 Chapter 4 PLC Configuration for the DeviceNet Slave 4-7
Page 50
4
Configuring I/O Messaging Connections
I/O Messaging is the term used for the routine and automatic exchange of data between the master and slaves in a DeviceNet system. Each configured I/O Message defines a dedicated communication path between a producing device and one or more consuming devices. Once these connections have been established, I/O Messaging communications occur automatically during system operation.
The DeviceNet Slave Module can be set up for up to two different I/O Messaging connections. Each connection can be disabled (the default), or set up for Polled, Strobed, Change-of-State, or Cyclic operation. Connections should be configured to meet the needs of the application.
The selection made for one I/O Messaging connection determines which connection types remain available for the other I/O Messaging connection, as shown by the table below. For example, you can only select one polling connection for the module.
Selected for One Connection Available for the Other Connection
Disabled Disabled, polled, strobe, cos. cyclic
Polled Disabled, strobed, cos, cyclic
Strobed Disabled, polled, cos, cyclic
Cos Disabled, polled, strobed
Cyclic Disabled, polled, strobed
Configuration of each of these connection types is described on the following pages.
4-8 Series 90®-30 Programmable Controller DeviceNet™ Modules – November 2002 GFK-2196
Page 51
Configuring a Polled I/O Messaging Connection
In Polled I/O mode, the DeviceNet master automatically sends a message containing outputs to each slave with a connection configured for polling. The slave sends back a response containing input data. Polling therefore requires 2 messages to update the I/O data for each polled device.
4
DeviceNet
Master
Query
Query
Response
Slave 1
Slave 2
Response
DeviceNet network
Query
Response
To configure polling for slave connection 1 or connection 2, select Polled on the Slave Properties menu.
Polled I/O Messaging Screen for a Series 90-30 DeviceNet Slave Module
Slave n
For input resources, specify the number of data bytes the DeviceNet Slave Module will send to the master.
For output resources, enter the number of bytes the DeviceNet Slave Module will consume from the master.
GFK-2196 Chapter 4 PLC Configuration for the DeviceNet Slave 4-9
Page 52
4
Configuring a Strobed I/O Messaging Connection
In Strobed I/O mode, the master produces a single Strobe request message that is consumed by all devices with a connection configured for strobing, requesting their current status.
Each strobed device then responds with its input data. Devices respond in the order of their MAC IDs, beginning with the lowest MAC ID first. MAC IDs can be specifically assigned to prioritize I/O reporting by the slaves.
DeviceNet
Master
Strobe
Message
Response
Response
Slave 1
Slave 2
DeviceNet network
Response
To configure Strobed I/O Messaging for a connection, select Strobed on the Slave Properties menu.
Strobed I/O Messaging Screen for a Series 90-30 DeviceNet Slave Module
Slave n
For input resources, specify the number of data bytes the module will send to the master.
The length for output resources is automatically set to 1 byte. The message from the Master to the Slaves telling them to send back their inputs is a 1 byte message. It reflects the state of the I/O bit in the strobe request message for the device: set (1) or clear (0).
4-10 Series 90®-30 Programmable Controller DeviceNet™ Modules – November 2002 GFK-2196
Page 53
Configuring a Change-of-State (COS) I/O Messaging Connection
A connection configured for Change-of-State (COS) I/O Messaging is activated only when the module sends a message to the master, reporting a change of status. The master then sends an output message to the module and the module responds with its input data.
4
Device Produces Change of State Message
DeviceNet
Master
Change of State
Message
DeviceNet network
Slave 1
Slave 2
Slave n
Master Sends Outputs, Device Replies
DeviceNet
Master
Outputs
Inputs Slave 2
DeviceNet network
Slave 1
Slave n
To configure Change-of-State I/O Messaging for a connection, select COS on the Connection tab menu.
COS I/O Messaging Screen for a Series 90-30 DeviceNet Slave Module
For input resources, specify the number of data bytes the module will send to the master.
For output resources, enter the number of bytes the module will consume from the master.
If Acknowledge Suppress is selected, the master will not wait for an acknowledge message from the module.
GFK-2196 Chapter 4 PLC Configuration for the DeviceNet Slave 4-11
Page 54
4
Configuring a Cyclic I/O Messaging Connection
In Cyclic I/O Messaging as in Polled I/O Messaging, the DeviceNet master automatically sends a message containing outputs to a device connection configured for Cyclic update. The module sends back a response containing input data. Like Polling, Cyclic I/O Messaging requires 2 messages to update the I/O data for a device. Unlike Polled messaging, Cyclic messaging can use a different interval as configured for each slave.
DeviceNet
Master
Query
DeviceNet network
Response
Slave 1
Slave 2
Query
Query
A Cyclic I/O connection can be used as a 'heartbeat' to provide assurance of a device's continued operation, with a Change-of-State I/O connection to the same device used to update its I/O state.
To configure Cyclic I/O Messaging for a connection, select Cyclic on the Slave Properties menu.
Cyclic I/O Messaging Screen for a Series 90-30 DeviceNet Slave Module
Response
Slave n
Response
For input resources, specify the number of data bytes the module will send to the master.
For output resources, enter the number of bytes the module will consume from the master.
If Acknowledge Suppress flag is selected, the DeviceNet master does not wait for an acknowledge message from the module.
4-12 Series 90®-30 Programmable Controller DeviceNet™ Modules – November 2002 GFK-2196
Page 55
Configuring DeviceNet Explicit Messaging
Explicit Messaging is the highest priority messaging. Explicit messaging provides access to objects other than the default I/O connection set, and optionally creates a buffer for explicit connection.
If Explicit Messaging should be enabled for the DeviceNet Slave Module, click on Enable Explicit Connection on the Explicit Messages tab.
Also specify the message request and message response size. Make sure the size specified is large enough. The Series 90-30 DeviceNet module implements Explicit Messaging through the use of COMMREQ instructions in the application program. These COMMREQ messages are described in chapter 6, "Programmed Communications". The messages sizes of each explicit message type are described in that chapter.
Explicit Messaging Screen for a Series 90-30 DeviceNet Slave Module
4
GFK-2196 Chapter 4 PLC Configuration for the DeviceNet Slave 4-13
Page 56
Chapter
5
Module Operation
This chapter describes how the Series 90-30 DeviceNet Master Module and the Series 90-30 DeviceNet Slave Module function in a Series 90-30 PLC system.
Operation of the Series 90-30 DeviceNet Master Module
Operation while the PLC is in Stop Mode
Operation while the PLC is in Run Mode
Operation of a Series 90-30 Slave(Server) DeviceNet Module
Fault Table Entries for a Series 90-30 DeviceNet Module
Faults Reported to the I/O Fault Table
Faults Reported to the PLC Fault Table
PLC Status References for a Series 90-30 DeviceNet Module
Device Status Bits for the Series 90-30 DeviceNet Master Module
GFK-2196 5-1
Page 57
5
Operation of a Series 90-30 DeviceNet Master Module
A Series 90-30 DeviceNet Master Module automatically exchanges data with devices on the network once connections are established. However, the content of the data it sends to network devices depends on the operating mode of the PLC.
DeviceNet Master Module Operation while the PLC is in Stop Mode
While the PLC is in STOP Mode, the DeviceNet Master Module updates its internal memory with input data from devices on the network, and with any output data it may receive from the PLC CPU. However, the DeviceNet Master Module does not transmit PLC output data on the network until the PLC returns to Run mode. Depending on its configuration, it transmits either of the following during Stop mode:
Idle Messages (zero length)
DeviceNet Master Module sends zero-length I/O messages to all its configured DeviceNet devices. Each device detects this as a “Receive Idle” condition, as defined in the DeviceNet Specification. The device then implements its configured safe state behavior.
Zeroed Data
data for all devices to zero.
– In the Send Zeroed Data state, the DeviceNet Master Module sets the output
- Transmit Idle is the default state. In the Transmit Idle state, the
If the DeviceNet Master Module receives a new configuration while the PLC is in Stop Mode, it closes down connections with all DeviceNet devices and processes the new configuration.
Operation when the PLC Transitions from Stop Mode to Run Mode
When the PLC transitions from Stop mode to Run mode, the DeviceNet Master Module transmits the most recent output data it received from the PLC CPU to nodes on the DeviceNet network. If no previous output updates were received, the network output data is all zeros.
DeviceNet Master Module Operation while the PLC is in Run Mode
While the PLC is in Run mode, the DeviceNet Master Module communicates with the devices on the network according to their configured connections for polled, strobe, change-of-state, or cyclic communications.
The DeviceNet Master Module sends the strobed multi-cast message first. Devices that have been configured for Strobed I/O messaging begin responding, in order of their MAC IDs.
The module then interrogates each device connection that is configured for Polling. Polling can begin while strobe responses are being received. The module performs this polling sequence as quickly as possible.
The module interrogates devices that have been configured for Cyclic communications according to their configured update rates. The devices then respond with their present inputs.
Network devices configured for Change-of-State communications send the master a message only when their status changes. After receiving a Change-of-State message from a device, the master sends a request to the device. The device responds with its new data.
5-2 Series 90®-30 Programmable Controller DeviceNet™ Modules – November 2002 GFK-2196
Page 58
The DeviceNet Master Module stores data it receives from the network in its own memory. During normal operation, the CPU reads input data from the Series 90-30 DeviceNet Master Module during its normal input scan. The PLC CPU updates the data in each device's configured memory location.
After solving the application program, the PLC CPU sends the appropriate output data to the DeviceNet Master Module. The module then provides output data to network devices according to their configured I/O Messaging communications type.
5
Operation if the CPU Stops Reading Inputs from the Module in PLC Run Mode
If the PLC CPU stops reading inputs from the DeviceNet Master Module for an interval of 1 second, the module assumes the CPU is no longer communicating. The module continues to monitor inputs from the network but does not send the input data to the PLC CPU. It also stops sending output data on the network. Instead, it either transmits idle messages or zeroed data as described for Stop Mode. Network devices then enter their own configured safe states.
Detecting Bus-Off Errors
If a DeviceNet bus-off failure occurs, the module is not able to communicate on the network. The CAN Status portion of the module's status data (shown in this chapter) indicates that a bus-off condition has occurred. For a DeviceNet Master Module, after the internal connection timeouts expire, the status of each node indicates that the device is no longer active. The application can monitor both the CAN Status word and the Slave Status bits to check for bus-off conditions and loss of slaves.
Fatal Errors
If a Series 90-30 DeviceNet Module has a fatal error, it takes the following actions if possible:
It sets its Module Status LED to solid RED and its Network Status LED to OFF.
It informs the PLC CPU.
It stops any current network activity.
The module tries to maintain communications with the PLC CPU, and to respond if it receives COMMREQ #9, "Read Module Header". In addition, the module starts continuously sending the Module Header information to its RS-232 serial port, using the following communications parameters: 19200 baud, 8N1 (8 data bits, no parity, 1 stop bit):
The entire Module Header in ASCII hex codes.
The message field of the Module Header in readable form.
GFK-2196 Chapter 5 Module Operation 5-3
Page 59
5
Operation of a Series 90-30 Slave (Server) DeviceNet Module
A Series 90-30 DeviceNet Slave Module operates as a server (slave) to a master device on a DeviceNet network. The Series 90-30 DeviceNet Master Module can be also be configured for server operation, and can perform the same functions as the Series 90-30 DeviceNet Slave Module. For the DeviceNet Master module, use of the server features is optional.
Server features are configured using the module's Network Settings. The module can be configured for two types of I/O Messaging connections. It can also be configured to enable (or not enable) DeviceNet Explicit Messaging.
I/O Messaging for a Series 90-30 DeviceNet Module
PLC references are assigned to each I/O Messaging connection configured for the server. A master on the DeviceNet network can use these I/O Messaging connections to read or write data in up to two memory areas in the Series 90-30 PLC CPU. One Memory Area for Polled and one memory area for cyclic, strobed, or COS I/O.
Explicit Messaging for a Series 90-30 DeviceNet Module
If Explicit Messaging is enabled in its Network Settings, a module can receive DeviceNet Explicit Messages from a network master. The module automatically responds to Explicit messages, except for Explicit Messages for User defined objects which are queued for transfer to the Series 90-30 PLC CPU where the user application program is responsible for handling them.. The application program in the PLC CPU reads the queued Explicit Messages individually and can respond appropriately. The process of doing this is explained in chapter 5, "Programmed Communications".
Error Handling
If an error occurs, the Series 90-30 DeviceNet Slave Module handles it as described on the previous page for a DeviceNet Master Module.
5-4 Series 90®-30 Programmable Controller DeviceNet™ Modules – November 2002 GFK-2196
Page 60
Fault Table Entries for a Series 90-30 DeviceNet Module
A Series 90-30 DeviceNet module automatically reports fault information to the Series 90-30 PLC Fault Table screens.
This automatic fault reporting can be disabled by setting the Slave Status Fault Table Entries parameter in module's software configuration to False. Regardless of whether the information appears in the fault tables, status information is available in the module's status references as explained on the next page.
5
For details on the effects of different types of faults on PLC behavior, refer to the
System Manual,
GFK-1411 or the
Series 90-30 Reference Manual
, GFK-0467.
Series 90-30
Faults Reported to the I/O Fault Table
The I/O Fault Table will list the following Series 90-30 DeviceNet module faults:
Loss of Device
detects a slave timeout and there is not a Loss of Network, the master logs a Loss of Device fault when the device bit in the Slave Status Table transitions from 1 to 0.
Addition of Device
indicating that a slave device is active in the DeviceNet scan list.
Runtime Error
Configuration errors, initialization errors, and bus faults are some possible runtime errors. Because of the nature of these faults, some are not reported to the fault table. However, the PLC application program can detect many types of errors by monitoring the module's three status words. If a fault is detected, the program may be able to get more information about the fault by sending a Read Module Header COMMREQ to the module. See chapter 5, "Programmed Communications" for more information.
- This indicates a DeviceNet fault on a configured slave. For example, if the master
- This indicates that a device bit in the Slave Status Table has gone from 0 to 1,
- A runtime error affects the operation of the DeviceNet module or the network.
Faults Reported to the PLC Fault Table
The PLC Fault Table may list one fault from a Series 90-30 DeviceNet Module:
System Reset
Identity reset service, or by a cycle of DeviceNet network power.
GFK-2196 Chapter 5 Module Operation 5-5
- This fault is logged whenever there is a DeviceNet reset request, either by an
Page 61
5
PLC Status References for a Series 90-30 DeviceNet Module
A Series 90-30 DeviceNet module automatically reports the three words of status information shown below to its configured PLC references (Network Status/Firmware ID). The application logic can monitor these references and take appropriate actions in response to specific changes. This can be done in conjunction with, or instead of, monitoring faults in the fault tables.
The format of the three status words is the same for both modules. For the DeviceNet Master Module, word 1 (Server Status) is meaningful only if the module is set up to operate as a slave (server) on a network with another master device.
The same information mapped to the status words can also be read directly from the module using COMMREQ #6, Get Status Information, as described in chapter 5, "Programmed Communications".
Word 1
Word 2
Server Status
bit 7 bit 6 bit 5 bit 4 bit 3 bit 2 bit 1 bit 0
byte 0 res. AKS CYC COS res. ST P EX
byte 1 reserved SERA IDLE2 IDLE1
Group 2 only I/O connections AKS Acknowledge suppress enabled
Group 2 Explicit Connections EX Explicit connection allocated
Group 3 Connection G3 At least one Group 3 (UCMM) connection allocated
Status Bits
CAN Network Status
bit 7 bit 6 bit 5 bit 4 bit 3 bit 2 bit 1 bit 0
byte 0 ML RO TO TA A BO BW OL
byte 1 SA O5 O2 O1 RE reserved BP ER
Application Specific Flags
SA Scanner Active (at least one connection established) O5 Online at 500 Kbaud O2 Online at 250 Kbaud O1 Online at 125 Kbaud RE Firmware is resetting so DeviceNet I/O data is not valid
Common Flags
BP Bus power present (zero if power sense not supported) ER CAN communication error ML Message lost (CAN controller / receive ISR) RO Receive buffer overrun (host app. too slow emptying receive queue) TO Transmit failed due to timeout (flooded network) TA Transmit failed due to ack error (no other nodes connected) A Network activity detected (messages received or transmitted) BO Bus off (this node has been disconnected due to excessive errors) BW Bus warning (this node is experiencing a large number of errors) OL Online, CAN interface has been initialized
Firmware ID, Minor revision: In BCD four hex digits. For example, revision 1.10 = 01 10 hex.Word 3
Firmware ID, Major revision: See above.
CYC Cyclic I/O connection allocated COS Change-of-state I/O connection allocated ST Bit Strobed I/O connection allocated P Polled I/O connection allocated
IDLE1 Output area 1 receive idle status bit. IDLE2 Output area 2 receive idle status bit SERA Server Explicit Request Available. Use Receive server explicit command to retrieve the request
G3
5-6 Series 90®-30 Programmable Controller DeviceNet™ Modules – November 2002 GFK-2196
Page 62
Device Status Bits for the Series 90-30 DeviceNet Master Module
In addition to maintaining the three status words described previously, a Series 90-30 DeviceNet Master Module maintains 64 device status bits in PLC memory. There is one bit for each potential device on the network. The memory type and starting offset of this status area in memory are configurable.
An individual device's status bit location equals the configured Start Address plus the Station Address (MAC ID) of the device. For example, if the status bits begin at %I00001, the status for the device at Station Address 5 is at %I00001 + 5, which is %I00006. The status bit for the DeviceNet Master Module also corresponds to its MAC ID. The value of DeviceNet Master Module's own status bit is always 0.
For other devices, if a status bit is 0, the device at the corresponding MAC ID is inactive (not configured or faulted). If a status bit is 1, the corresponding device is active. Transitions in these bits, from 0 to 1 and from 1 to 0, are reported as Addition of Module and Loss of Module faults in the I/O Fault Table.
The example status bits shown below represent a network with 25 devices assigned MAC IDs 0 to
24. The Series 90-30 DeviceNet Master Module is assigned MAC ID #0 and the device with MAC
ID #8 is faulted, so there are 0s in status bits %I00001, %I00009, and %I00026 through %I00064:
5
Example Device Status Bits
11111110 11111110 %I00001
0 0 0 0 0 0 0 111111111%I00017
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 %I00033
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 %I00049
The same information about device status can be read directly from the module using COMMREQ #6, Get Status Information, as described in chapter 6, "Programmed Communications".
GFK-2196 Chapter 5 Module Operation 5-7
Page 63
Chapter
6
Programmed Communications
This chapter explains how the application program can use Communications Requests to exchange information with a Series 90-30 DeviceNet Master Module or Series 90-30 DeviceNet Slave Module. COMMREQs are used for reading information from the DeviceNet module itself and for sending or replying to DeviceNet explicit messages over the network. See the following sections:
COMMREQs for Series 90-30 DeviceNet Modules
Using COMMREQs to Program Communications (an overview)
COMMREQ Programming Requirements and Recommendations
Reading Identification, Status, and Error Information (from Series 90-30 DeviceNet Master or Slave Module)
Module Type, Module ID, Module revision.
CAN Kernel identification and revision.
DeviceNet serial number.
Error codes.
CAN Network status.
Getting the Status of a Network Slave (for Series 90-30 DeviceNet Master Module only)
whether it is included in the master's list of configured devices
whether it is being scanned
its configuration error status
its connection 1 and connection 2 input states
Getting Slave Status Information (of a Series 90-30 DeviceNet Master or Slave Module)
whether the module is set up for slave operation
the module's output connection states
whether the module has sent a DeviceNet explicit message.
how the module's I/O messaging settings are configured.
Getting Input Status from a Device (from Series 90-30 DeviceNet Master Module)
the network activity status of each MAC ID on the network
the DeviceNet Master Module's own configured Network Settings.
the DeviceNet Master Module's current network status.
the DeviceNet Master Module's firmware ID.
Sending a DeviceNet Explicit Message on the Network (Series 90-30 DeviceNet Master)
Reading and Responding to DeviceNet Explicit Messages from the Network (Series 90-30 DeviceNet Slave Module or Series 90-30 Master Module configured for slave operation)
For more general information about programming COMMREQs, please use the online help provided with the programming software.
GFK-2196 6-1
Page 64
6
COMMREQs for the Series 90-30 DeviceNet Modules
The Series 90-30 DeviceNet Master Module and Slave Module can use the COMMREQs listed below. COMMREQs are described in detail on the following pages.
Command
Code
1Master
2Slave
3 Slave Send Server
4 Master Get Detailed
5Slave
6Master &
7 Master Send Device
8 Slave Send Server
9 Master Read Module
Feature
Support
Send Device Explicit
Receive Server Explicit
Explicit
Device Status
Get Detailed Server Status
Get Status Info Used to retrieve the module status bytes that may also
Slave
Explicit Extended
Explicit Extended
Header
Command
Name
Description
Used to send and receive explicit messages to a server device over the DeviceNet network. Maximum 238 service data bytes.
Used to retrieve an explicit request sent to the server within the module.
Used to service an explicit request sent to the server within the module e.g. reply to the client explicit request. Maximum 238 service data bytes.
Used to retrieve detailed status information for a specified node on the network.
Used to retrieve detailed status about the server function of the module.
be configured to PLC I/O. An alternate method to access this data. Includes Device status, Server Status, CAN status and firmware ID.
Extended version of Send Device Explicit (command code 1). Does not have the 238 byte limit and allows separate data area in PLC memory.
Extended version of Send Server Explicit (command code 3). Does not have the 238 byte limit and allows separate data area in PLC memory.
Used to retrieve the detailed status of the client within the module.
6-2 Series 90®-30 Programmable Controller DeviceNet™ Modules – November 2002 GFK-2196
Page 65
p
Using COMMREQs to Program Communications
A Communications Request begins when a COMMREQ ladder instruction is activated in the PLC application program. The CPU sends the COMMREQ to an intelligent module in the PLC system, in this case, a Series 90-30 DeviceNet Master or Slave module. The module receives the command and performs the requested function. Some COMMREQs for the DeviceNet Master or Slave are used to read or write module data. Other COMMREQs cause the DeviceNet module to execute DeviceNet messages on the network. In that case, the data in the COMMREQ itself includes the DeviceNet message in a format that will be recognized by the DeviceNet recipient(s).
At the conclusion of every COMMREQ, the PLC CPU reports the status of the operation into designated a location in CPU memory.
PLC CPU
PLC
Back
Ladder
program
COMM_REQ
lane
Command
Series 90-30
DeviceNet Master
or DeviceNet
Slave Module
6
DeviceNet
network
CPU
memory
Data
Status Block
Reply data
Status data
GFK-2196 Chapter 6 Programmed Communications 6-3
Page 66
6
t
r
Format of the Communication Request Function
The Communication Request (COMMREQ) function has the following parameters:
Enable Inpu
Command Block Pointe
Rack/Slot Location
Parameters of the COMMREQ Function
Input / Output Choices Description
Enable Flow When the function is energized, the communications request is performed. Must be
IN R, AI, AQ Pointer to the first word of the Command Block. For example, %R00100 at IN would
SYSID I, Q, M, T, G, R,
AI, AQ, constant
TASK 1
FT flow, none
Logic 1 to enable the COMMREQ instruction. The enabling logic should be a contact from a transition (“one-shot”) coil.
mean that the starting address of the Command Block is %R00100. The length of the Command Block depends on which command is being executed. Command Blocks for all the Series 90-30 DeviceNet module commands are shown in this chapter.
Hex value that specifies the rack number (most significant byte) and slot number (least significant byte) of the target device. For example:
Must be set to 1 for the DeviceNet Master or DeviceNet Slave module
The FT (fault) output can provide an output to optional logic that can verify successful completion of the Communications Request. The FT output is set High if:
The specified target address is not present (for example, specifying Rack 1 when the system only uses Rack 0).
The specified task number is not valid for the device.
Data length is set to 0.
The FT output can either be connected to another device, such as a set coil, or can be left open.
Note: If the COMMREQ instruction is executed via a “one-shot” permissive as recommended then the FT output state will only be valid for one PLC sweep.
The FT output can have these states:
Enable Input Status Does an Error Exist? FT Output
COMM_
REQ
IN FT
SYSID
Task #
rack 0 slot 4 = 00 04 rack 2 slot 9 = 02 09
Active No Low
Active Yes High
Not active No execution Low
TASK
Fault Output
6-4 Series 90®-30 Programmable Controller DeviceNet™ Modules – November 2002 GFK-2196
Page 67
COMMREQ Programming Requirements and Recommendations
Data must be placed in the Command Block before executing the COMMREQ instruction. For some commands, additional data areas must also be set up. Since the normal PLC sweep order is from top to bottom, this should be done ahead of the rung that contains the COMMREQ.
If you use MOVE instructions to load values into Command Block registers, use a Word-type MOVE to load a hexadecimal number, and an Integer-type MOVE to load a decimal number.
COMMREQ instructions should be enabled by a contact from a transition coil.
The FT output is held False if the Enable Input is not active. If the COMMREQ is enabled by a transitional (one-shot) contact and a fault occurs, the FT output is High for only one PLC scan. To capture the fact that a fault occurred, you can program the fault output as a Set coil, which would not be automatically reset at the end of a scan. Additional logic would then be needed to reset the fault output coil after the fault is acknowledged and before the next execution of the COMMREQ.
Programming a device, such as a Set Coil, on the FT output of the COMMREQ is optional. The FT output can be left open.
COMMREQs must be sent sequentially. A new COMMREQ may be sent only after the previous COMMREQ indicates completion (either success or error) via the Status Block.
When using more than one COMMREQ in a ladder program, verify that a previous COMMREQ executed successfully before executing another one. This can be done by checking the Status Word and the FT (Fault) output.
6
Checking the Execution of the COMMREQ
The FT output of the COMMREQ function goes high for certain faults and can be used for fault detection. In addition to using the FT output, the program should monitor the first COMMREQ Status Word, and use error message logic to generate text on an Operator Interface device. In this case, specific Status Word error codes might correspond to appropriate operator messages on a display screen.
The CPU places a value of 1 in the “State” COMMREQ Status word [status word 1] if the COMMREQ is processed normally. If any error condition is detected, a value greater than 1 is returned. For error detection in a ladder program, you can use a Greater Than (GT) compare instruction to determine if the value in the Status Word is negative (less than zero). If an error occurs, the GT instruction’s output (Q) will go high. A coil driven by the output can be used to enable fault handling or error reporting logic.
To dynamically check the Status Word, write a non-significant positive number, outside the range of 0x01-0x0D or 0x0E-0xFF, (0 is typically used) into all four of the Status Words each time before its associated COMMREQ is executed. If the instruction executes successfully, the CPU will write the number 1 in the “State” status word. If the number 1 is present, it means that the last COMMREQ executed successfully; the 1 is not from a previous execution.
When multiple COMMREQs are used in the application program scan, it is important to verify the successful completion of each one before enabling the next. Monitoring the Status Word is one way to accomplish that.
GFK-2196 Chapter 6 Programmed Communications 6-5
Page 68
6
Corrective Actions for COMMREQ Errors
The type of corrective action to take in response to a COMMREQ error depends upon the application. If an error occurs during the startup or debugging stage of ladder development, you should check the COMMREQ parameters. The COMMREQ parameters should also be checked if an error occurs right after a program is modified.
When an error occurs in a proven application that has been running successfully, the problem is more likely to be hardware-related. Check the PLC fault tables for possible additional information when troubleshooting COMMREQ errors.
Using COMMREQs for DeviceNet Explicit Messaging
When using the COMMREQ commands to send or receive explicit messages it is important to follow the proper sequence of events. The DeviceNet explicit message interface is a half duplex interface, which means that only a single command can be in progress per configured device. The module always provides a response [in the COMMREQ status] to an explicit command. If the device does not respond, the module generates an error response on behalf of the unresponsive device so that the command / reply sequence at the PLC level does not get hung up. The appropriate sequence is always:
a.) load a complete COMMREQ command into the configured explicit message transmit
buffer memory in the PLC specified by the COMMREQ command.
b.) Clear the COMMREQ status memory (4 words) location indicated by the command to a
known, cleared state.
c.) Execute the COMMREQ command in ladder with a transitional permissive (one-shot).
d.) The PLC application logic must examine the COMMREQ status for success (State = 1), or
failure (State > 1). If the command does not succeed, it always returns a failure status after an appropriate time delay. On failure state, determine the appropriate action: retry the command, issue alarm to operator, increment a fault counter, stop the PLC, or skip to next message.
e.) On a success state, optionally manipulate the reply data depending on command executed.
You control where the reply data is located in PLC via the COMMREQ command. However it may be prudent to buffer the reply and copy it elsewhere in the PLC only after status is validated as success. A buffer is simply a location in PLC memory used to contain the reply data until it is validated to be a result of a sucessful command. When the COMMREQ status = 1, the data can be copied to its final location. In the event of a failure status, the reply data will not be the data you expect and will contain various values describing the failure mode. Any time the reply data will be tested as part of the application logic or used as a control value within an application, the buffer method is recommended.
f.) Start over at the beginning (a.) of the command sequence for the next explicit message.
Caution
It is very important that the PLC logic does not set its own reply timeouts on explicit messaging commands. If this is done it is possible that the command / reply sequence will get out of synch and prevent further proper generation of explicit messages.
6-6 Series 90®-30 Programmable Controller DeviceNet™ Modules – November 2002 GFK-2196
Page 69
The COMMREQ Status Block for Series 90-30 DeviceNet Modules
The COMMREQ Status Block is four words long. Each status word is data type UINT. The status block can be located in any of the supported PLC memory areas.
The PLC application must set the Status Block contents to 0 before each COMMREQ.
Word Name Description
1
2
3
4
The state of the current COMMREQ request
State:
0x00
0x01
0x02
0x03
0x04
0x05
0x06
0x07
0x08
0x09
0x0A
0x0B
0x0C
0x0D
0x0E to
0xFF
Lost Command
Error code:
Command Error Code
1,3,7,8 1 Explicit data too large for shared memory buffer. Additional Code word holds the
1, 4, 7 2 Invalid MacID specified.
1,2,3,7,8 3 Explicit connection not configured.
2 4 Explicit request not available.
Additional code:
Module has not yet processed the COMMREQ
Command Complete Note: This status does not necessarily mean success. Some commands have reply data that
must also be checked. Busy – Command is being processed and has not completed Note: It is not guaranteed that the status will transition to busy before complete or terminated.
Command Terminated – invalid command
Command Terminated – invalid command data
Command Terminated – not enough data
Reserved
Command Terminated – not enough memory in reply area The command did not specify sufficient PLC memory for the reply. Command will be ignored. Command Terminated – command-specific error. See Error Code and Additional Code in the
Status Block for more information.
Command Terminated – invalid COMMREQ Command Terminated – specific segment selector for COMMREQ reply is not supported
Command Terminated – reply failed to write PLC memory
Command Terminated - specific segment selector for COMMREQ data is not supported
Command Terminated – failed to read PLC memory
Reserved
Command code of the last command lost. Set to 0 if no command was lost.
Meaning Depends on the Command number
0 Reserved
real size of the shared memory buffer.
for error reporting.
6
GFK-2196 Chapter 6 Programmed Communications 6-7
Page 70
6
Command Code 9: Reading Identification, Status, and Error Information
To read the following information from a Series 90-30 DeviceNet Master or Slave module, use COMMREQ #9, Read Module Header:
Module Type, Module ID, Module revision.
CAN Kernel identification and revision.
DeviceNet serial number.
Error codes for any existing faults.
CAN Network status.
This command reads data from the module internal memory; no DeviceNet message is sent on the network.
Series 90-30 PLC
PLC
Application
Program
Read Module Header
Master or
Slave
Module
Upon detecting an error, the PLC application program can send a ReadModuleHeader COMMREQ to the module. Unless the error prevents normal backplane operation, the module returns information about the fault in the reply data. Error codes are listed in this section.
Read Module Header, COMMREQ Example
This example COMMREQ does the following:
Gets the Module Header Data
Returns the COMMREQ Status Words to %R10-%R13
Returns the Device Status to %R251-%R283.
Word # Dec (Hex) Description
1 00004 (0004) 2 00000 (0000) Always 0 (no-wait mode request) 3 00008 (0008)
4 00009 (0009)
5 00000 (0000) Reserved 6 00000 (0000) Reserved 7 00009 (0009) 8 00008 (0008)
9 00250 (00FA)
10 00065 (0041)
Length of command Block:
Status segment select:
this example). (8 = R, 10 = AI, 12 = AQ, 16 = I, 18 = Q, 20 = T, 22 = M)
Status memory offset:
(%R10 for this example)
Command Code: Reply segment select:
(8 = R, 10 = AI, 12 = AQ, 16 = I, 18 = Q, 20 = T, 22 = M)
Reply memory offset:
1. (%R251 for this example).
Reply memory size:
8, 10, 12; in bytes for memory types: 16, 18, 20, 22). Maximum 2048 bytes. Note: For command 9 must be 130 bytes (65 words) or more, or an error will be returned in the COMMREQ status and the command will be ignored.
Read Module Header; command 9
Always 8 bytes (4 words) for command 9.
Memory type for COMMREQ status words (%R for
status words starting address minus 1.
Memory type for the reply data (%R for this example).
Offset within the memory type for the response minus
Maximum size for the reply (in words for memory types:
6-8 Series 90®-30 Programmable Controller DeviceNet™ Modules – November 2002 GFK-2196
Page 71
Read Module Header, Reply Data Format
Word Description
1 Command Code. Echo of Command Code that this data block is replying to (0x0009)
2 Module Type. Contains "DN" (0x444E) or "ER" (0x4552) if a fatal error is detected
3 Window size: Indicates host interface window size.
4 Reserved
5 Kernel identification. 0x0001 = CAN 2.0A kernel
6 Kernel revision
7 Module ID, 0x0017 (Series 90-30 DeviceNet module)
8 Module revision in binary coded decimal (BCD), 4 hex digits XX.XX
9,10 DeviceNet serial number
11 - 18 Card type, IC693DNM200 or IC693DNS201
19 - 22 Module serial number (i.e. "9409001")
23, 24 Reserved
25 Main Application Error Code. See the error code listings on the following pages. 26
27 CAN transmit counter. Incremented when messages are submitted to the CAN controller.
28 CAN acknowledgment error counter. Increments if a transmit message is terminated due to
29 CAN receive counter. Increments when messages are received. Messages that fail the
30 CAN communication error counter. Increments if a CAN frame error is detected.
31 CAN lost messages counter. Increments if a CAN message is received before the previous
32 CAN receive queue overrun counter. Increments if a CAN message is lost due to a full receive
33 Additional Application Error Code. See the error code listings on the following pages.
34 - 63 When Module Type in word 2 is "DN", contains the module identification string. For example:
64 Major Tick Interval (equivalent of system time base)
65 Number of minor ticks per major tick interval
0 = 16K, 1 = 32K, 2 = 64K, 3=128K
(i.e. rev 1.0 = 0x0100, rev 1.10 = 0x0110)
CAN Network Status word
bit 7 bit 6 bit 5 bit 4 bit 3 bit 2 bit 1 bit 0
byte 0 ML RO TO TA A BO BW OL byte 1 SA O5 O2 O1 RE BP ER
Application –Specific Flags
SA Scanner Active (at least one connection established) O5 Online at 500 Kbaud O2 Online at 250 Kbaud O1 Online at 125 Kbaud RE Firmware is performing DeviceNet reset, I/O data is not valid
Common Flags
BP Bus power present (zero if power sense not supported) ER CAN communication error ML Message lost (CAN controller / receive ISR) RO Receive buffer overrun (host app. too slow emptying receive queue) TO Transmit failed due to timeout (flooded network) TA Transmit failed due to ack error (no other nodes connected) A Network activity detected (messages received or transmitted) BO Bus off (this node has been disconnected due to excessive errors) BW Bus warning (this node is experiencing a large number of errors) OL Online, CAN interface has been initialized
lack of acknowledgment from other stations. When this counter is incremented, the CAN transmit counter (word 27) is decremented to compensate for a message not actually transmitted.
receive filter still increment this counter.
message is placed into the receive queue.
queue.
“DeviceNet Module 1.00.00\n(C) 2002 GE Fanuc Automation.” The format is: major rev.minor rev.build When Module Type is "ER”, contains the kernel error string.
.
6
GFK-2196 Chapter 6 Programmed Communications 6-9
Page 72
6
Runtime Error Codes in the Module Header
After a runtime error [word 2 of the Read module header, reply data = "DN" (0x444E)], the Main Error Code [word 25] and Additional Code [word 33] fields of the reply data describe the runtime error. A zero value in the main error code word indicates no error.
Category
Name
No Error 0x0000 - 0x0000 Zero in Main Code indicates no error Config File
Error Init File
Error
Add Device Error
Online Error
Start Scan 0x0005
Main
Code
0x0001 Unknown Version 0x0001 Incorrect / unsupported version
0x0002
0x0003
0x0004
Error Name Additional
Description
Code
Unknown Version 0x0001 Incorrect / unsupported version Unknown Header Id 0x0002 Init file’s header ID not recognized or invalid Invalid Block Definition Count 0x0003 Block’s definition count is invalid Unknown Block Type 0x0004 Block type not recognized Invalid Block Checksum 0x0005 Block’s checksum is invalid Invalid Shared Memory Offset 0x0006 Shared memory offset not in the 0x1000 to 0x3FFF range. Unknown9030IoType 0x0007 I/O Type code not recognized Invalid Mac Id 0x0008 Mac Id in the Data Pointer list not in the range of 0 to 64,
Unknown Memory Area Type 0x0009 Memory area type code not recognized Invalid Block Size 0x000A Size of block in INIT file did not match what was
Invalid Block Offset 0x000B Offset in Block Definition Record points beyond maximum
Duplicate Block 0x000C Block of with same type code already exists in INIT file. Data Pointer Out Of Range 0x000D Data pointer refers to a location outside of shared
Missing Block 0x000E One or more of required blocks 1, 3, and 4 are missing
Duplicate Device 0x0005 Device already in scan list. Invalid Shared Memory Offset 0x000D Shared memory offset not in the 0x1000 to 0x3FFF range. Invalid Connection Flags 0x000F The combination of bits in the Flags field is invalid. Invalid Explicit Buffer Size 0x0010 Explicit buffer size is invalid. Invalid Strobe Buffer Size 0x0011 Strobe buffer size is invalid. Note that the output size
Invalid Path Buffer 0x0012 Path buffer is not initialized. Invalid Mac Id 0x0002 MacId in the Server Config block is not in the range of 0 to
Invalid Baud Rate 0x0003 Baud rate not set to 0, 1, or 2 (i.e. 125K, 250K, or 500K) Duplicate Mac Id Failure 0x0004 DUP MacId check failed while attempting to go online. Bus Not Offline 0x0009 Bus is already online. Internal firmware error; report to
Bus Off 0x000E Bus fault detected. Invalid Connection Flags 0x000F Combination of bits in the Flags field of the Server Config
Invalid Explicit Buffer Size 0x0010 Explicit buffer size is invalid. Invalid Strobe Buffer Size 0x0011 Strobe buffer size is invalid. Note that the output size
Invalid Path Buffer 0x0012 Path buffer is not initialized. Ack Fault 0x0013 No CAN acknowledge received during Duplicate MacId
Bus Offline 0x0007 Bus is not online yet Scanner Running 0x000A Scanner is already started Scanner Stopping 0x000C Scanner is stopping
inclusive, or 255.
expected, or larger than the maximum size supported by the firmware.
INIT file size.
memory.
from the INIT file.
must be 1.
63 inclusive.
manufacturer.
block is invalid.
must be 1.
Sequence.
6-10 Series 90®-30 Programmable Controller DeviceNet™ Modules – November 2002 GFK-2196
Page 73
Fatal Error Codes in the Module Header
If the module is capable of executing and reporting an error after a fatal error, the Module Type field of the Module Header data contains the value “ER” (0x4552).
All DeviceNet network activity, if active, stops. Proper DeviceNet shutdown messages are not guaranteed.
The Module Status LED turns RED and the Network status LED goes off.
The entire Module Header (in ACSII hex code) and the message field of the Module Header (in string form) are continuously sent over the RS232 port at 19200 baud, N81.
Status flags and information update to cause a PLC fault table entry.
Backplane communication continues (possibly limited) in order to service the PLC COMMREQ (command 9) to read header data.
For specific errors listed below that do not have any source code information available, the value 0xFFFF is placed in the Main Code and one of the listed error numbers is placed in the Additional Code field. Fatal errors that can report source code location store the source file number in Main Code and the source line number in Additional Code.
6
Add'l Error
Error Description
Code
1 RAM data test failed An error occurred during testing of the RAM data bus. Return the module for repair. 2 RAM address test failed An error occurred during testing of the RAM address bus. Return the module for repair. 3 RAM A16 address test failed An error occurred during testing of the RAM A16 signal. Return the module for repair. 4 RAM A17 address test failed An error occurred during testing of the RAM A17 signal. Return the module for repair. 5 Module checksum is invalid
6 CAN reset flag failed to clear An error occurred testing the CAN controller. Return the module for repair. 7 CAN data test failed An error occurred testing the CAN controller data bus. Return the module for repair. 8 CAN address test failed An error occurred testing the CAN controller address bus. Return the module for repair. 9 Invalid NVRAM data The module's non-volatile memory contains invalid information. Return the module for
10 Execution permission denied
11 Application initialization error
12 Unknown application
13 Application terminated The application module terminated (abnormal condition). Report this condition to the
14 Application fatal error A fatal runtime error occurred. Report this condition to the vendor of the application
15 - 21 XXX interrupt An unexpected interrupt was detected. This error should be reported to the vendor of
22 Event queue overflow 23 Nested user timer interrupt 24 Invalid CAN interrupt 25 Nested system timer
26 Imperfect interrupt This error should be reported to the vendor of the application module. Make note of the
27 Stack Overflow This error should be reported to the vendor of the application module. Make note of the
99
initialization code
interrupt
Unexpected condition encountered
The most likely cause of this error is an undetected memory failure. If this error occurs with more than one application module, the module should be returned for repair.
repair. This module has not been configured to execute the application module. Contact the
vendor of the application module for assistance. An error occurred initializing the application module. Report this condition to the vendor
of the application module. An error occurred initializing the application module. Report this condition to the vendor
of the application module.
vendor of the application module.
module.
the application module. Make note of the circumstances that caused this error. This error should be reported to the vendor of the application module. Make note of the
circumstances that caused this error.
circumstances that caused this error. This error is caused by an incorrectly generated interrupt from the host bus adapter to the module.
circumstances that caused this error. A fatal runtime error occurred. Report this condition to the vendor of the application
module.
GFK-2196 Chapter 6 Programmed Communications 6-11
Page 74
6
Command Code 4: Getting the Status of a Network Device
To retrieve from the Series 90-30 DeviceNet Master Module a set of detailed status information about a selected network device, use COMMREQ #4, Get Detailed Device Status.
Series 90-30 PLC
PLC
Application
Program
Get Detailed
Device
Status
Master Module
This command obtains the following information for the specified node:
whether it is included in the master's list of configured devices
whether it is being scanned
configuration error status (invalid vendor id, device type, product code, I/O connections, etc)
its connection 1 and connection 2 input states
This function is internal to the Series 90-30 PLC; it does not generate a DeviceNet network message.
Get Detailed Device Status, Example COMMREQ
This example COMMREQ does the following:
Gets the Device Status of the slave with MAC ID #4 from the DeviceNet Master Module.
Returns the COMMREQ Status to %R10-%R13
Returns the Device Status to %R251-%R260.
Word # Dec (Hex) Description
1 00005 (0005)
2 00000 (0000) Always 0 (no-wait mode request)
3 00008 (0008)
4 00009 (0009)
5 00000 (0000) Reserved
6 00000 (0000) Reserved
7 00004 (0004)
8 00008 (0008)
9 00250 (00FA)
10 00009 (0009)
11 00004 (0004)
Length of command Data Block:
COMMREQ, always 5
Status segment select:
this example). (8 = R, 10 = AI, 12 = AQ, 16 = I, 18 = Q, 20 = T, 22 = M)
Status memory offset:
Command code:
Reply segment select:
example). (8 = R, 10 = AI, 12 = AQ, 16 = I, 18 = Q, 20 = T, 22 = M)
Reply memory offset:
minus 1. For this example %R251. (Word offset for memory types: 8, 10, 12; byte offset for memory types: 16, 18, 20, 22)
Reply memory size:
types: 8, 10, 12; in bytes for memory types: 16, 18, 20, 22). Maximum 2048 bytes.
Note: For command 9 must be 18 bytes (9 words) or more, or an error will be returned in the COMMREQ status and the command will be ignored.
MAC ID:
of the network device. For this example, 4.
Memory type of COMMREQ status word (%R for
COMMREQ status words address minus 1 (%R10)
Get Detailed Device Status command number 4
Memory type for the reply data (%R for this
Offset within the memory type for the response
Maximum size for the reply (in words for memory
For the Get Detailed Device Status
6-12 Series 90®-30 Programmable Controller DeviceNet™ Modules – November 2002 GFK-2196
Page 75
Get Detailed Device Status, Reply Data Format
Upon receiving COMMREQ 4 from the PLC CPU, the Series 90-30 DeviceNet Master Module generates a reply containing the status data it currently has stored for the specified MAC ID.
Word # Description
1 Command number that this data block is replying to. (4)
2
low byte
high byte
3 to 9 Reserved, should be ignored
Status Code: Number indicating the status of the client connection to the device.
Status Meaning Status Meaning
0x 00 Device not in device list 0x 0D Invalid I/O connection 1 input size
0x 01 Device idle (not being scanned) 0x 0E Error reading I/O connection 1 input size
0x 02 Device being scanned 0x 0F Invalid I/O connection 1 output size
0x 03 Device timed-out 0x 10 Error reading I/O connection 1 output size
0x 04 UCMM connection error 0x 11 Invalid I/O connection 2 input size
0x 05 Master/Slave connection set is busy 0x 12 Error reading I/O connection 2 input size
Error allocating Master/Slave
0x 06
connection set
0x 07 Invalid vendor id 0x 14 Error reading I/O connection 2 output size
0x 08 Error reading vendor id 0x 15 Error setting I/O connection 1 packet rate
0x 09 Invalid device type 0x 16 Error setting I/O connection 2 packet rate
0x 0A Error reading device type 0x 17 M/S connection set sync fault
0x 0B Invalid product code 0x 18 Error setting Production Inhibit Time
0x 0C Error reading product code 0x 19 - FF Reserved
Status flags: Bits indicating the connection states of the slave's connection 1 and
2
connection 2 inputs.
bits 0-4
bit 5
bit 6
bit 7
Reserved, should be ignored
1 = Input area 1 receive idle condition
1 = Input area 2 receive idle condition
Reserved, should be ignored
0x 13 Invalid I/O connection 2 output size
6
GFK-2196 Chapter 6 Programmed Communications 6-13
Page 76
6
Command Code 5: Getting Status Information of a Series 90-30 DeviceNet Slave Module or the Server Function of a Master Module
To retrieve status information about a Series 90-30 DeviceNet Slave Module, or a DeviceNet Master module operating in server mode, use COMMREQ #5, Get Detailed Server Status.
This command supplies the following information about the module:
whether the module is set up for slave operation (its network settings are configured)
the module's output connection states
whether the module has sent a DeviceNet explicit message (previously commanded by a Send Server Response COMMREQ).
how the module's I/O messaging settings are configured.
This function is internal to the Series 90-30 PLC; it does not generate a DeviceNet network message.
Series 90-30 PLC
PLC
Application
Program
Get Detailed
Server Status
Slave or
Master
Module
Get Detailed Server Status, COMMREQ Example
In this example, the application program sends a Get Detailed Served Status COMMREQ to a Series 90-30 DeviceNet Master Module that is configured for slave operation.
This COMMREQ specifies the command number and command length, and sets up memory locations for both the COMMREQ status and the reply message.
Word # Dec Hex Description
1
2
3
4
5
6
7 00005 (0005)
8 00008
9 00250
10 00009 (0009)
00004
00000
00008
00009
00000
00000
(0004)
(0000)
(0008)
(0009)
(0000)
(0000)
(0008)
(00FA)
Length of command Data Block.
Always 0 (no-wait mode request)
Status segment select:
for this example).
(8 = R, 10 = AI, 12 = AQ, 16 = I, 18 = Q, 20 = T, 22 = M)
Status memory offset:
(%R10 for this example)
Reserved
Reserved
Command code:
Reply segment select:
example). (8 = R, 10 = AI, 12 = AQ, 16 = I, 18 = Q, 20 = T, 22 = M)
Reply memory offset:
minus 1. For this example, it is %R251.
Reply memory size:
memory types: 8, 10, 12; in bytes for memory types: 16, 18, 20, 22). Maximum 2048 bytes.
Note: For command 5 must be 18 bytes (9 words) or more, or an error is returned in the COMMREQ status and the command is ignored.
Memory type of COMMREQ status word (%R
COMMREQ status words address minus 1
Get Detailed Server Status command (5)
Memory type for the reply data. (%R for this
Offset within the memory type for the reply
Maximum size for the reply (in words for
Always 4 words for this command.
6-14 Series 90®-30 Programmable Controller DeviceNet™ Modules – November 2002 GFK-2196
Page 77
Get Detailed Server Status, Reply Data Format
The response to a Get Detailed Server Status COMMREQ supplies details of the module's configured Network Settings. It also shows whether the module has sent (on the DeviceNet network) a previously-commanded Send Server Explicit message.
Word # Dec/Bin Hex Description
1 00005 (0005) Command number that this data block is replying to. (5)
2
00000001 (01)
low byte
Bits indicating the various connection states. In this example, the module's output 1 and 2
2 high byte
low byte
high byte
5 to 9 Reserved, these bits should be ignored.
connections are both configured for receive idle, and it has an UCMM connection.
11100000 (E0)
3 00000 (0000) Reserved, these bits should be ignored.
Bits indicating explicit message status since the last Get Detailed Server Status. These bits are
4
automatically cleared by this COMMREQ in preparation for the next call. For this example, the module has sent the explicit message response on the network.
00001 (0001)
Bits showing the configured features of the module. For this example, the Series 90-30
4
DeviceNet module slave server is set up for explicit messaging and polled I/O operation.
00000011 (03)
Indicates whether the module is set up for slave operation (Network Settings configured). For this example, the module is being scanned.
0x00
0x01 Active (Group 2 master/slave connection allocated, the
0x02- 0xFF Reserved, these bits should be ignored.
bits 0 - 4
bit 5
bit 6
bit 7
bit 0
bits 1 - 7: Reserved
bit 0 1 = Explicit connection allocated
bit 1 1 = Polled I/O connection allocated
bit 2 1 = Bit-strobed I/O connection allocated
bit 3
bit 4 1 = Change of State I/O connection allocated
bit 5 1 = Cyclic I/O connection allocated
bit 6 1 = Acknowledge Suppress Enabled
bit 7
Idle (Group 2 master/slave connection is not allocated, the slave server is not active, no master is scanning).
slave server is active and is being scanned by a master device).
Reserved, these bits should be ignored.
1 = Output connection 1 receive idle condition
1 = Output connection 2 receive idle condition
1 = Group 3 UCMM connection(s) allocated.
1 = Explicit response sent. Set when the scanner has submitted the explicit response from a Send Server Explicit message, for transmission on the network.
Not used
Not used
6
GFK-2196 Chapter 6 Programmed Communications 6-15
Page 78
6
Command Code 6: Getting Input Status from a Device
To read the information normally mapped to a Series 90-30 DeviceNet Module's 3 status words, plus all the information normally mapped to the DeviceNet Master Module's 64 device status bits, use COMMREQ #6, Get Status Information. COMMREQ #6 is alternate way to access this information.
The module responds to the command with the following information:
the network activity status of each MAC ID on the network
the module's own configured Network Settings.
the module's current network status.
the module's firmware ID.
The information read by this command comes directly from the module; this command does not generate a DeviceNet message.
Series 90-30 PLC
PLC
Application
Program
Get Status
Information
Get Status Information, COMMREQ Example
This example COMMREQ does the following:
Gets status information from the DeviceNet master.
Returns the COMMREQ Status Words to %R10-%R13
Returns the Device Status to %R251-%R260.
Word # Dec (Hex) Description
1 00004 (0004)
2 00000 (0000) Always 0 (no-wait mode request)
3 00008 (0008)
4 00009 (0009)
5 00000 (0000) Reserved
6 00000 (0000) Reserved
7 00006 (0006)
8 00008 (0008)
9 00250 (00FA)
10 00008 (0008)
Length of command Data Block:
For Get Status Information, the length is 4 words (8 bytes).
Status segment select:
this example). (8 = R, 10 = AI, 12 = AQ, 16 = I, 18 = Q, 20 = T, 22 = M)
Status memory offset:
(%R10 for this example)
Command code:
Reply segment select:
(8 = R, 10 = AI, 12 = AQ, 16 = I, 18 = Q, 20 = T, 22 = M)
Reply memory offset:
For this example, it is %R251. (Word offset for memory types: 8, 10, 12; byte offset for memory types: 16, 18, 20, 22).
Reply memory size:
8, 10, 12; in bytes for memory types: 16, 18, 20, 22). Maximum 2048 bytes. Note: For command 6 must be16 bytes (8 words) or more, or an error will be
returned in the COMMREQ status and the command will be ignored.
Memory type of COMMREQ status words (%R for
COMMREQ status words start address minus 1
Get Status Info command number (6)
Memory type for the reply data. (%R for this example).
Offset within the memory type for the reply (0-based).
Maximum size for the reply (in words for memory types:
Master or
Slave
Module
6-16 Series 90®-30 Programmable Controller DeviceNet™ Modules – November 2002 GFK-2196
Page 79
Get Status Information, Reply Data Format
Word # Description
1 Command code that this data block is replying to. (6)
2 - 5
6
7
Device Status
indicates the device's status:
For the master's own MAC ID, the status bit is always 0.
byte 0 765432 10 byte 1 15 14 13 12 11 10 9 8 byte 2 23 22 21 20 19 18 17 16 byte 3 31 30 29 28 27 26 25 24 byte 4 39 38 37 36 35 34 33 32 byte 5 47 46 45 44 43 42 41 40 byte 6 55 54 53 52 51 50 49 48 byte 7 63 62 61 60 59 58 57 56
Server Status
byte 0 res. AKS CYC COS res. ST P EX byte 1 reserved SERA IDLE2 IDLE1
Group 2 only I/O connections AKS Acknowledge suppress enabled
Group 2 Explicit Connections EX Explicit connection allocated Group 3 Connection G3 At least one Group 3 (UCMM) connection allocated Status Bits IDLE1 Output area 1 receive idle status bit.
CAN Network Status
byte 0 ML RO TO TA A BO BW OL
byte 1 SA O5 O2 O1 RE reserved BP ER
Application Specific Flags
. Each bit corresponds to an individual device MAC ID. The state of that bit
0 = Device is not active (not configured, faulted, etc…) 1 = Device is active, being scanned
bit 7 bit 6 bit 5 bit 4 bit 3 bit 2 bit 1 bit 0
bit 7 bit 6 bit 5 bit 4 bit 3 bit 2 bit 1 bit 0
CYC Cyclic I/O connection allocated COS Change-of-state I/O connection allocated ST Bit Strobed I/O connection allocated P Polled I/O connection allocated
IDLE2 Output area 2 receive idle status bit SERA Server Explicit Request Available. Use Receive server explicit command to retrieve the request
.
bit 7 bit 6 bit 5 bit 4 bit 3 bit 2 bit 1 bit 0
6
G3
GFK-2196 Chapter 6 Programmed Communications 6-17
SA Scanner Active (at least one connection established) O5 Online at 500 Kbaud O2 Online at 250 Kbaud O1 Online at 125 Kbaud RE Firmware is resetting so DeviceNet I/O data is not valid
Common Flags
BP Bus power present (zero if power sense not supported) ER CAN communication error ML Message lost (CAN controller / receive ISR) RO Receive buffer overrun (host app. too slow emptying receive queue) TO Transmit failed due to timeout (flooded network) TA Transmit failed due to ack error (no other nodes connected) A Network activity detected (messages received or transmitted) BO Bus off (this node has been disconnected due to excessive errors) BW Bus warning (this node is experiencing a large number of errors) OL Online, CAN interface has been initialized
Firmware ID, Minor revision: In BCD four hex digits. For example, revision 1.10 = 01 10 hex.8 Firmware ID, Major revision: See above.
Page 80
6
(
)
Command Codes 1 & 7: Sending a DeviceNet Explicit Message on the Network
To send a DeviceNet explicit message up to 238 bytes long to a specified device on the network, use COMMREQ #1, Send Device Explicit. The reply data is limited to 2048 bytes maximum.
To send more than 238 bytes of data or to use a separate data memory area in the PLC, use COMMREQ #7, Send Device Explicit Extended. The reply is limited to 2048 bytes maximum.
Both of these COMMREQs command the DeviceNet Master Module to send a DeviceNet explicit message on the network. The addressed device must be configured for an explicit message connection in the Series 90-30 configuration of the DeviceNet Master Module and sufficient buffer memory must be configured to contain the largest message produced by the COMMREQ or the largest reply produced by the device.
It is important to configure the Series 90-30, DeviceNet slave device (Network Settings, explicit messages tab) of the device addressed, with enough “explicit message size” bytes to contain at a minimum, all the data specified in the data memory size (word 12 of COMMREQ 7) minus the number of bytes skipped in the “data byte offset (command 7, data word 6 of the service data header). For the command 7 example that follows: the device at network address 4 (the S2K controller) must have a minimum of 141 bytes (142 bytes data block minus 1 skipped byte) explicit message size configured.
Series 90-30 PLC
DeviceNet
PLC
Application
Program
Send Device
Explicit
and Extended
Master
Module
network
Explicit
Message
Network
Node
If the device was not configured for explicit messaging or if the number of bytes configured is not enough for the command, the COMMREQ fails with a code of 8 in the COMMREQ Status Word.
6-18 Series 90®-30 Programmable Controller DeviceNet™ Modules – November 2002 GFK-2196
Page 81
6
Difference Between Send Device Explicit and Send Device Explicit Extended
The difference between Send Device Explicit and Send Device Explicit Extended is how they store the data that will be sent in PLC memory. For Send Device Explicit, the data to be sent is located in the same memory area as the COMMREQ command block.
Series 90-30 PLC
COMMREQ
Command Block
Data to be Sent
Send Device
Explicit
DeviceNet
Master
Module
For Send Device Explicit Extended, the data to be sent is located in a separate memory area, which is indicated by a pointer in the COMMREQ command block. This makes it possible to store and send more data or to have the data separate from the command memory.
Series 90 -30 PLC
COMMREQ
Command Block
Data to be Sent
Send Device
Explicit
Extended
DeviceNet
Master
Module
DeviceNet
network
Explicit
Message
DeviceNet
network
Explicit
Message
Network
Node
Network
Node
Send Device Explicit, COMMREQ Example
The Send Device Explicit COMMREQ command block contains the data to be sent in the explicit message (the data may optionally be offset from the end of the command block as explained below). For this example, there are multiple channels in the VersaPoint analog module to configure. The application program can repeat the message with a different instance [another channel]. Having the PLC application check the COMMREQ status is important even if there is only one COMMREQ, to be sure it has worked. The VersaPoint DeviceNet NIU (network interface unit) may be off-line for example. When sequencing multiple commands to the same device (MAC ID) it is critical to test for successful command completion prior to executing a subsequent command.
This example COMMREQ does the following:
Sends an explicit message to device # 4 (a VersaPoint DeviceNet NIU)
Returns the COMMREQ Status Words to %R10-%R13
Sets Analog Input 1 to the 4-20mA range.
GFK-2196 Chapter 6 Programmed Communications 6-19
Page 82
6
Word # Dec (Hex) Description
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 to end
00012
00000
00008
00009
00000
00000
00001
00008
00250
00006
00004
00002
00016
00010
00001
00001
1792
00003
(000C)
(0000)
(0008)
(0009)
(0000)
(0000)
(0001)
(0008)
(00FA)
(0006)
(0004)
(0002)
(0010)
(000A)
(0001)
(0001)
(00)
(07)
(0003)
Length of command:
For the Send Device Explicit (command 1) the command length is 10 words plus the number of words of Service Data. The COMMREQ header (words 1–6) is not counted in the command length.
Note: Service Data is in bytes, divide by 2 and round up for words. Service data length will vary depending on message executed; consult vendor documentation of the addressed server device.
For this example: 12 words = Service Data is 3 bytes (rounded up to 2 Words) + 10 words command length.
Always 0 (no-wait mode request)
Status Segment Select:
= AQ, 16 = I, 18 = Q, 20 = T, 22 = M)
Status Memory Offset:
Reserved
Reserved
Command Code:
Reply Segment Select:
(8 = R, 10 = AI, 12 = AQ, 16 = I, 18 = Q, 20 = T, 22 = M)
Reply Memory Offset:
Word offset for memory types: 8, 10, 12; byte offset for memory types: 16, 18, 20, 22. For this example, it is %R251.
Reply Memory Size:
10, 12; in bytes for memory types: 16, 18, 20, 22) For command 1 the size must be 10 bytes (5 words) or more, or an error will be reported in the COMMREQ status word and the request will be ignored.
Note: The size needed for the reply depends on the service used and the instance accessed. Consult the server device documentation. Add 10 bytes (5 words) to the server reply data for the reply header. The reply memory size can be larger than the reply data of a particular message it must not be smaller.
of the device to send the message to (0 - 63). For this example, the VersaPoint Network Interface
MAC ID:
Unit uses MAC ID #4.
Service Data Size:
documentation of the DeviceNet server to which the message is being sent. For the example, 2 bytes = 1 attribute byte + 1 bytes data.
Note: For service codes 0x10 or 0x0E the attribute byte is contained in the service data at byte zero.
DeviceNet service code:
Code for the VersaPoint DeviceNet NIU is 0x10 (Set Attribute Single Service) to write data. Another service code often used is 0x0E (Get Attribute Single Service) to read data.
Class/Object:
device. For this example, the object class is 0x0A (Analog Input Point Object).
The specific instance of the object class to which this request is directed. See vendor
Instance:
documentation for the server device. For the example the instance represents which VersaPoint analog channel to set.
Service Data Byte Offset:
in memory (at word 17, see below). The value entered here is the number of bytes between this word and the beginning of the service data. For example, if the offset were 2, then two bytes would be "skipped" and the service data would begin at word 18.
Skipped byte(s):
Multiple bytes may be skipped. Data in skipped bytes is ignored.
Service Data byte 0, Attribute:
a one-byte field always at byte zero of the service data when used. The “Attribute” field is not used by other message services. This byte is the actual beginning of the service data since the data byte offset caused a one-byte skip. For the example attribute 7 is the VersaPoint, Analog Input Point Object, Range setting.
Service Data:
limited to 238 bytes maximum for command 1. For the example “Range” 3 is the vendor code for the VersaPoint Analog Input 4-20ma setting and the data
type is USINT (2 bytes). Note: It is important to know the type of the data to properly calculate the length setting of word 1 and word 12
of the COMMREQ.
Service Data:
Length of the command block for this COMMREQ.
Memory type of COMMREQ status word (%R for this example). (8 = R, 10 = AI, 12
COMMREQ status words start address minus 1. (%R10 for this example)
Send Device Explicit command number (1)
Memory type for the reply data. (%R for this example).
Offset within the memory type for the reply minus 1.
Maximum size required to hold the reply to the command: in words for memory types: 8,
Number of Service Data bytes being sent. This needs to be determined from the
See the vendor documentation for the server device. In this example, the Service
The object class to which this is requested. See the vendor documentation for the server
If the offset is 0, then the service data is located immediately after this data word
This byte is skipped because the data byte offset in word 16 is a “1” for this example.
Attribute is used in service code 0x10 and 0x0E messages. The attribute is
Offset of the start of this data depends on entry for Service Data Byte Offset. Service data to is
Additional service data as required by the message. In the example this is unused space.
6-20 Series 90®-30 Programmable Controller DeviceNet™ Modules – November 2002 GFK-2196
Page 83
6
Send Device Explicit Extended, COMMREQ Example
The Send Device Explicit Extended COMMREQ command block contains a pointer to the data to be sent in the explicit message. The programmer can use this functionality to point to different stored messages without recalculating command length each time. Command 7 additionally avoids the 238-byte service data limit of command 1 by increasing the maximum size for the service data. This command is only valid to a Master Module.
This example COMMREQ does the following:
Sends an explicit message to Mac ID 4 (a GE Fanuc S2K DeviceNet Motion Controller)
Returns the COMMREQ Status Words to %R10-%R13
Sets (writes) an array of data (32 DINT) variables to the S2K integer memory (VI registers).
Word # Value Description
COMMREQ
Header
COMMREQ
Command
1 00007
2 00000
3 00008
4 00009
5
6
7 00007
8 00008
9 00250
10 00005
11 00008
12 00300
13 00071
Command Length:
Extended command . Always 7 words.
Always 0 (no-wait mode request)
Status Memory Select:
example). (8 = R, 10 = AI, 12 = AQ, 16 = I, 18 = Q, 20 = T, 22 = M)
Status Memory Offset:
for this example)
Reserved
Reserved
Command Code:
Reply Segment Select:
(8 = R, 10 = AI, 12 = AQ, 16 = I, 18 = Q, 20 = T, 22 = M)
Reply Memory Offset:
For this example, it is %R251. (Word offset for memory types: 8, 10, 12; byte offset for memory types: 16, 18, 20, 22).
Reply Memory Size:
command: (in words for memory types: 8, 10, 12; in bytes for memory types: 16, 18, 20, 22). Add 10 bytes to expected reply size.
Note: must be 10 bytes (5 words) or more, or an error will be reported in the COMMREQ status word and the request will be ignored. Actual length needed will vary depending on which message is sent; consult vendor information for the target device. Maximum 2048 bytes.
Data Segment Select:
example). (8 = R, 10 = AI, 12 = AQ, 16 = I, 18 = Q, 20 = T, 22 = M)
Data Memory Offset:
data start address minus 1. (Word offset for memory types: 8, 10, 12; byte offset for memory types: 16, 18, 20, 22). For this example, it is %R301.
Data Memory Size:
words for memory types: 8, 10, 12; in bytes for memory types: 16, 18, 20, 22). Must be large enough to contain the entire explicit data block. The entire data
block calculation is; the service data header 12 bytes (6 words) + skipped bytes (specified in word 6 of the service data header + the service data.
Note: It is important to know the type of the data used in the service to calculate the minimum length accurately. The attribute byte when used is always byte 0 of the service data and must be added to the data length. Round size up as needed.
For this example we have 71 words; 6 service data header words + 1 skipped byte + 1 attribute byte + 32 DINT data (64 words) service data.
Length of the command block for the Send Device Explicit
Memory type of COMMREQ status word (%R for this
COMMREQ status words start address minus 1 (%R10
Send Device Explicit Extended command number (7)
Memory type for the reply data. (%R for this example).
Offset within the memory type for the reply minus 1.
Maximum size required to hold the reply for the
Memory type for the service data. (%R for this
Offset within the specified memory type for the service
Size of the data to be sent, in units of the selected type (in
GFK-2196 Chapter 6 Programmed Communications 6-21
Page 84
6
Send Device Explicit Extended, Data Block Format
The following data must be placed in the PLC memory location specifed in the command by the data memory offset.
One use of the data byte offset (see below) would be to “point “ to a start location within a large array of data in the PLC memory. In the following example the data byte offset is used to maintain word boundary location of the data within the PLC memory even though we require the service data to contain the attribute value.
Word # (Hex) Description
Service
Data
Header
Service
Data
1 (0004)
2 (0081)
3 (0010)
4 (0004)
5 (0300)
6 (0001)
7 (00)
8, 9 DINT
10 to end -
MAC ID:
Number of Service Data bytes:
vendor documentation of the DeviceNet server to which the message is being executed. For the example Service Data 0x81 (129 bytes) = 1 byte attribute + 128 bytes (32 DINT) of data.
DeviceNet service code:
device. In this example, the Service is 0x10 (Set Attribute Single Service) to write data.
Object Class:
server device. For this example, the object class is 0x04 (S2K Assembly Object).
Instance:
documentation for the server. In this example Instance 768 decimal (0300h) points to VI001 in the S2K as the first of 32 DINT variables to write.
Data Byte Offset:
of the service data to be sent. If the offset is 0, the service data is located immediately after this data word (at word 7, see below). For example, if the offset were 2, then two bytes would be "skipped" and the data would begin at word 8.
LSB: Skipped
(03)
Service Data Byte 0, Attribute
0x0E messages. See documentation of targeted server device for meaning of specific attributes. Since word 6 “skipped” a byte this is the actual beginning of the service data. Locate data for messages without an attribute to start data here. May be at a different location depending on the value of word 6.
Service Data:
the offset in word 6 allowed, in this example, the DINT data to be aligned on a word boundary.
Service Data:
71 [6 header words + 1 skipped byte + 1 attribute byte + 64 data words].
Address of the device to send the message to (0 - 63).
This needs to be determined from the
See the vendor documentation for the server
to which this is requested. See the documentation for the
of the object class to which this request is directed. See
The number of bytes between this word and the beginning
- Least significant byte “skipped” because of setting in word 6.
– An attribute is used in service 0x10 and
May be located at a different offset based on word 6. Using
For this example the end of the service data is located at word
6-22 Series 90®-30 Programmable Controller DeviceNet™ Modules – November 2002 GFK-2196
Page 85
Send Device Explicit (& Extended), Reply Data Format
The Series 90-30 DeviceNet Master Module replies to a Send Device Explicit or Send Device Explicit Extended COMMREQ. The reply data has the following format:
Word # Description
Command code that this data block is replying to.
1
Extended)
Status of the explicit message. Bits 0 and 1 should both be 0.
2
bit 0 1 = Explicit message response truncated to fit in shared memory buffer. The configured size of the explicit
bit 1 1 = Explicit message response truncated to fit in Reply Memory. The reply buffer allocated by the
bits 2 - 15 Reserved, should be ignored.
3 MAC ID of the device producing this reply.
Number of reply data bytes consumed.
4
actual size of the reply data. Allocate reply size at least 10 bytes (for reply words 1-5) larger than the service data.
DeviceNet service code / internal result code.
5
Values less than 0xFF: The service code low byte, in explicit message replies contains the same service that is returned on the DeviceNet network. Since the message is in reply to the explicit service issued by the COMMREQ, the high bit of the low byte is set to a 1. For example:
DeviceNet errors use service code 0x14, and since errors are responses, the high bit will be set: 0x94. For example:
Value Error Value Error
0x00 - 01 Reserved 0x12 Reserved 0x02 Resource needed for the object to perform the
0x03 - 07 Reserved 0x14 Attribute specified in the request is not supported 0x08 Requested service not implemented ot not
0x09 invalid attribute data detected 0x16 The specified object does not exist in the device 0x0A Reserved 0x17 Reserved 0x0B Object is already in requested mode or state
0x0C Object cannot perform the requested service in
0x0D Reserved 0x1A - 1E Reserved by DeviceNet 0x0E Request to modify a non-modifiable attribute
0x0F Permission/privilege check failed 0x20 Invalid parameter
0x10 Device's current mode or state prohibits the
0x11 Data to be transmitted is larger than the
Values above 0xFF are internal Series 90-30 DeviceNet Master Module codes (see below).
0x0100 Explicit connection is not established
0x0101
0x0102
0x0103 Resources not available to send explicit message
0x0104 - FFFF Reserved
6 - end Optional data as required by the service. The size of this data is indicated by word 4
buffer of the device is too small.
COMMREQ is too small.
Note: if allocated buffers are not large enough this value should indicate the
GET_ATTRIBUTE_SINGLE is service code 0x0E The DeviceNet response will have the high bit set: 0x8E
SET_ATTRIBUTE_SINGLE is service code 0x10 With the high bit set on response: 0x90
GET_ATTRIBUTE_SINGLE: 0x0E DeviceNet error response: 0x94
(With following bytes of main code and additional code)
requested service not available.
defined for the object class/instance
requested by the service
its current mode / state
was received
requested service
allocated response buffer
Explicit body format cannot represent requested class. (i.e. class > 255 and connection body format is 8/8 or 8/16)
Explicit body format cannot represent requested instance. (i.e. instance > 255 and connection body format is 8/8 or 8/16)
(1 for Send Device Explicit, or 7 for Send Device Explicit
0x13 The service did not supply enough data to perform
the requested service
0x15 The service supplied more data than was
expected
0x18 Attribute data of the object was not stored prior to
the requested service
0x19 Attribute data of this object not saved by the object
0x1F Vendor specific error
0x21 - CF Reserved
0xD) - FF Vendor specific object and class errors
6
GFK-2196 Chapter 6 Programmed Communications 6-23
Page 86
6
Command Codes 2, 3 & 8: Reading and Responding to Client Explicit Messages
A client on the network may send DeviceNet explicit messages to a Series 90-30 DeviceNet Slave Module or to a Series 90-30 DeviceNet Master Module when explicit messaging is enabled for the server.
DeviceNet
Explicit
Message
network
Master
Series 90-30 PLC
Series 90-30
DeviceNet Master or
DeviceNet Slave
Module
Objects that Do Not Require PLC Application Programming
Some client explicit messages are serviced directly by the Series 90-30 DeviceNet module and do not require PLC application program interaction. The objects defined in the module firmware and reserved that do respond automatically are:
Identity Object (0x01)
Message Router Object (0x02)
DeviceNet Object (0x03)
Assembly Object (0x04)
Connection Object (0x05)
PLC Data Object (0x64).
You do not need COMMREQ commands to reply to services associated with these objects, the reply is generated by the Series 90-30 DeviceNet module.
For many applications, client messages to the automatic message objects will achieve the application goal. For example, the PLC Data Object allows a device like a personal computer or another PLC to read or write an array of PLC data memory where the Series 90-30 DeviceNet module is installed. This could be used to send a recipe to PLC %R memory or to retrieve an array of status data on demand. With a minimum of PLC programming to unpack or pack data within a single PLC data type, it is manageable to generate almost any data structure needed and access it as needed from the client. Making use of the automatic responses typically simplifies the PLC application program. It should be considered as a first option when designing the overall system.
6-24 Series 90®-30 Programmable Controller DeviceNet™ Modules – November 2002 GFK-2196
Page 87
6
Custom Explicit Messaging Using COMMREQs
The COMMREQ commands described in this section allow the PLC hosting the Series 90-30 DeviceNet module to reply to “custom” explicit messages. One use of custom-explicit messaging is to allow the Series 90-30 DeviceNet module to respond to existing client messages, or to emulate the response of a particular DeviceNet device template. For example, the Series 90-30 DeviceNet module could emulate the response expected from a DeviceNet motor control center or position controller device. The only restriction is that the reserved automatic objects mentioned above may not be used for custom-explicit class object identifers. A DeviceNet object class identifier is specified by a numeric value in the range of 1-65535. With just six reserved identifiers, there is a lot of room to work with custom-explicit identifiers. In general, use object values higher than 0x64 for custom-explicit messages to minimize conflicts with DeviceNet objects in common use.
Through the use of custom-explicit messaging, the PLC program can implement application objects and allow other client devices on the DeviceNet network to read and write parameters within these objects.The application program in the Series 90-30 PLC CPU can read and respond to DeviceNet custom-explicit messages as explained below.
How the Module Handles a Custom-Explicit Message
When the Series 90-30 DeviceNet server receives a custom-explicit message from the network, it stores the messages in an internal queue. At any given time, up to 255 connections are available in the message queue. However, this message queue is used by all the client or server message functions within the module. For example the Series 90-30 DeviceNet Master module’s polled connection to a slave is a client connection. Any explicit message to the Series 90-30 DeviceNet module server from a client device will open an active server connection until that client message is replied to, or times out. After the connection is idle for a short time (2-3 seconds is typical) it is released back to the queue for a subsequent message to use. Should the same client device produce a second explicit message to the Series 90-30 DeviceNet module before the idle timeout, the same connection is reused for the new message.
Additionally the Server Status word SERA bit is set logically ON for at least one PLC sweep. The Server Status word is mapped to PLC I/O via configuration and is optionally available via COMMREQ # 6. The application should monitor the Server Status word instead of constantly generating command 6 COMMREQs to search for the arrival of a custom-explicit message. Application logic in the PLC can monitor the SERA bit to determine when a client custom-explicit message is present in the queue. The PLC application program must process the client message and produce a reply before the client times out waiting for a response.
Therefore, the first step in responding to custom-explicit messages is for the PLC application program to read the next available custom-explicit request it has received from a client device on the network, using COMMREQ #2, Receive Server Explicit.
After reading an explicit message from the DeviceNet module, the PLC application program replies to the custom-explicit client request using COMMREQ #3, Send Server Explicit, for messages up to 238 bytes, or COMMREQ #8, Send Server Explicit Extended, for longer messages.
To determine whether the DeviceNet module has completed sending the reply to the custom­explicit message, the program logic can subsequently use COMMREQ #5, Get Detailed Server Status. The reply data to command five indicates whether the module has sent a DeviceNet explicit reply message that was previously commanded by a Send Server Explicit COMMREQ.
GFK-2196 Chapter 6 Programmed Communications 6-25
Page 88
6
Reading a DeviceNet Custom-Explicit Message from the DeviceNet Module
The Receive Server Explicit COMMREQ commands a DeviceNet Slave Module or a DeviceNet Master Module in slave mode to return a DeviceNet the most recent explicit client message it has received from the network.
Series 90-30 PLC CPU
Applicatio n
Program
PLC
Backplane
Receive
Server
Explicit
SERRA bit /
Command Reply
Series 90-30 DeviceNet Master
or DeviceNet Slave Module
Queue of
Explicit
Messages
from
Client’s on
Network
DeviceNet
network
Explicit
Message
Client
A Series 90-30 DeviceNet module can receive multiple explicit request messages from a network master before the first response message is generated.
Command code 2: Receive Server Explicit, Example COMMREQ Format
This example Receive Server Explicit COMMREQ specifies the command number (2), and sets up in the PLC CPU a memory type, starting address and length for the reply data that will be returned by the module. Test the SERA bit to initiate this command.
Word # Dec (Hex) Description
1
2
3
4
5
6
00004
00000
00008
00009
00000
00000
7 00002
8 00008
9 00250
10 00010
(0004)
(0000)
(0008)
(0009)
(0000)
(0000)
(0002)
(0008)
(00FA)
(000A)
Command Length:
of command Data Block. For the Receive Server
Explicit command the length is 4.
Always 0 (no-wait mode request)
Status segment select:
Memory type of COMMREQ status words
(%R for this example).
(8 = R, 10 = AI, 12 = AQ, 16 = I, 18 = Q, 20 = T, 22 = M)
Status memory offset:
COMMREQ status words start address minus
1 (%R10 for example)
Reserved
Reserved
Command code:
Reply segment select:
Receive Server Explicit (2)
Memory type for the reply data. (%R for this
example). (8 = R, 10 = AI, 12 = AQ, 16 = I, 18 = Q, 20 = T, 22 = M)
Reply memory offset:
Offset within the memory type for the reply minus 1. (Word offset for memory types: 8, 10, 12; byte offset for memory types: 16, 18, 20, 22).
For this example, it is %R251.
Reply size:
Maximum size required to hold the reply for the command: (in words for memory types: 8, 10, 12; in bytes for memory types: 16, 18, 20, 22).
Note: It must be 15 bytes or more, or an error will be reported in the status word and the request will be ignored.
6-26 Series 90®-30 Programmable Controller DeviceNet™ Modules – November 2002 GFK-2196
Page 89
Receive Server Explicit, Reply Data Format
When it receives a Receive Server Explicit COMMREQ, the DeviceNet module returns a reply containing either the next explicit request in its internal memory , or an indication that there is no explicit request in the queue to process.
The reply contains information about the device that sent the explicit request, and a description of the service requested. The application program must be set up to respond appropriately to the request.
Word # Description
1 Command number that this data block is replying to. (2)
2
3
4
5
6
7
8 - end
Status of Receive Server Explicit command. If any of the following bits are set, the corresponding condition is true. A value of zero indicates that a message was retrieved.
bit 0 1 = No explicit request available. All remaining reply data is set to zero by
bits 1 - 15 Reserved.
Connection ID:
Number of service data bytes
Size:
Service:
Object Class:
Instance:
Service Data:
by word 4.
the module.
The connection ID associated with the request.
DeviceNet service code being requested.
The object class to which this is directed.
The specific instance of the object class to which this request is directed.
Optional data as required by the service. The size of this data is indicated
6
GFK-2196 Chapter 6 Programmed Communications 6-27
Page 90
6
Command Codes 3 & 8: Replying to a DeviceNet Explicit Message
After retrieving a DeviceNet explicit message from a Series 90-30 DeviceNet Slave Module or Series 90-30 Master Module in slave mode, the application program can respond to the network master using COMMREQ #3, Send Server Explicit. If the content of the response is more than 238 explicit data bytes, use COMMREQ #8, Send Server Explicit Extended instead.
Series 90 -30 PLC CPU
Application
Program
PLC
Backplane
Receive Server
Explicit
Reply
Send Server Explicit
(and Extended)
The difference between Send Server Explicit and Send Server Explicit Extended is how they store the data that will be sent in PLC memory. For Send Server Explicit, the data to be sent is located in the same memory area as the COMMREQ command block.
Series 90-30 PLC
Series 90 -30 DeviceNet Master
or DeviceNet Slave Module
Queue of
Explicit
Messages
from
Clients on
Network
DeviceNet
network
Explicit Messages
Client
COMMREQ
Command Block
Data to be Sent
Send Server
Explicit
DeviceNet
Module
DeviceNet
network
Explicit
Message
Client
For Send Server Explicit Extended, the data to be sent is located in a separate memory area, specified by a pointer in the COMMREQ command block. This makes it possible to store and send more data.
Command Block
COMMREQ
Series 90-30 PLC
Data to be Sent
Send Server
Explicit
Extended
DeviceNet
Module
DeviceNet
network
Explicit
Message
Client
6-28 Series 90®-30 Programmable Controller DeviceNet™ Modules – November 2002 GFK-2196
Page 91
Command Code 3: Send Server Explicit, COMMREQ Description
For the Send Server Explicit COMMREQ there is no reply to the command. Care should be taken to verify the success of the command via the COMMREQ status word. You must have the appropriate connection ID from command 2 prior to executing this command.
Word # Description
Command Length:
1
the number of words of Service Data (Note: Service Data is in bytes, divide by 2 and round up).
For this example Service Data is 5 bytes = 3 Words
2 Always 0 (no-wait mode request)
Status segment select:
3
example). (8 = R, 10 = AI, 12 = AQ, 16 = I, 18 = Q, 20 = T, 22 = M)
Status memory offset:
4
example)
5 Reserved
6 Reserved
7
8
9
10
11
12
13 to end
Command Code:
Connection ID:
COMMREQ used to service this client reply.
Number of service data bytes
Size:
Service:
Service Data Offset:
the service data to be sent. If the offset is 0, the service data is located immediately after this data word (at word 12, see below). For example, if the offset were 2, then two bytes would be "skipped" and the data would begin at word 13.
Skipped (optional):
Service Data Byte 0, Attribute:
Service Data:
DeviceNet service code.
Length of command. For this command, the length is 5 words plus
Memory type of COMMREQ status word (%R for this
COMMREQ status word address minus 1 (%R10 for this
Send Server Explicit (3)
required for request / response matching. From the command 2
The number of bytes between this word and the beginning of
6
GFK-2196 Chapter 6 Programmed Communications 6-29
Page 92
6
Command Code 8: Send Server Explicit Extended, COMMREQ
Word # Description
1
2 Always 0 (no-wait mode request)
3
4
5 Reserved
6 Reserved
7
8
9
10
Command Length:
Status segment select:
(8 = R, 10 = AI, 12 = AQ, 16 = I, 18 = Q, 20 = T, 22 = M)
Status memory offset:
Command Code:
Data segment select:
(8 = R, 10 = AI, 12 = AQ, 16 = I, 18 = Q, 20 = T, 22 = M)
Data memory offset:
for memory types: 8, 10, 12; byte offset for memory types: 16, 18, 20, 22)
Data memory size:
bytes for memory types: 16, 18, 20, 22). Must be large enough to specify the entire explicit data block defined below. In bytes, the
size needed is “Number of Service Data bytes + 8 + Service Data Byte offset.” Unit conversions are required for non-byte units.
Always 4 words for command 8
Memory type of COMMREQ status word (%R for this example).
COMMREQ status word address minus 1 (%R10 for this example)
Send Server Explicit Extended (8)
Memory type for the data to be sent.
Offset within the memory type for the data to be sent. (Word offset
Size data block to send (in words for memory types: 8, 10, 12; in
Send Server Explicit Extended, Data Format
The following data format must be written to the PLC memory location specifed in the command.
Word # Description
1
2
3
4
5
6 to end
Connection ID:
From the command 2 used to initiate service to this request.
Service Data Size:
Service Code:
Service data byte Offset:
the service data to be sent. If the offset is 0, the service data is located immediately after this data word (at word 7, see below). For example, if the offset were 2, then two bytes would be "skipped" and the data would begin at word 8.
Skipped (optional):
Service Data byte 0, Attribute:
Service Data:
The server connection ID is required for request / response matching.
Number of service data bytes
DeviceNet service code.
The number of bytes between this word and the beginning of
6-30 Series 90®-30 Programmable Controller DeviceNet™ Modules – November 2002 GFK-2196
Page 93
Chapter
7
DeviceNet Objects for Series 90-30 Modules
This chapter describes the DeviceNet Objects that are defined for the Series 90-30 DeviceNet Master Module, IC693DNM200 and the Series 90-30 DeviceNet Slave Module, IC693DNS201.
These modules use the following types of Objects in DeviceNet information exchanges:
Identity Object
Message Router Object
DeviceNet Object
Assembly Objects
Connection Object
PLC Data Object
GFK-2196 7-1
Page 94
7
Identity Object
Object Class 0x01
The Identity Object contains the module's identifying information.
There is only one instance of this object.
Class Attributes
Id Description Get Set Limits
1 Revision
2 Max Instance
6 Max ID of class attributes
7 Max ID of instance attributes
z Supported { Not supported
Class Services
Service Param. Options
Get_Attributes_All
Reset
Get_Attribute_Single
Find_Next_Object_Instance
z Supported { Not supported
{
{
{
{
{{
{{
{{
{{
Instance Attributes
Id Description Get Set Limits
1 Vendor
2 Device Type
3 Product Code
4 Revision
5Status
6 Serial Number
7 Product Name
8State
z Supported { Not supported
1 DeviceNet specifies that Major and Minor Revision may not be 0, the lowest valid minor revision is 1
Instance Services
Service Param. Options
Reset
Get_Attribute_Single
z Supported { Not supported
z{
z{
z{
1
z{
z{
z{
z{
{{
z
z
326
0x0C
Master: 2
Slave: 1
Master: “90-30 DeviceNet Master”
Slave: “90-30 DeviceNet Slave”
7-2 Series 90®-30 Programmable Controller DeviceNet™ Modules – November 2002 GFK-2196
Page 95
Message Router Object
Object Class 0x02
The Message Router Object routes the explicit messages it receives to other Objects.
There is only 1 instance of this object.
Class Attributes
Id Description Get Set Limits
1 Revision
4 Optional Attribute List
5 Optional Service List
6 Max ID of class attributes
7 Max ID of instance attributes
z Supported { Not supported
Class Services
Service Param. Options
Get_Attributes_All
Get_Attribute_Single
z Supported { Not supported
{{
{{
{{
{{
{{
{
{
7
Instance Attributes
Instance Services
Id Description Get Set Limits
1 Object List
2 Maximum connections supported
3 Number of active connections
4 Active connections list
z Supported { Not supported
Service Param. Options
Get_Attributes_All
Get_Attribute_Single
z Supported { Not supported
{{
{{
{{
{{
{
{
GFK-2196 Chapter 7 DeviceNet Objects for Series 90-30 Modules 7-3
Page 96
7
DeviceNet Object
Object Class 0x03
The DeviceNet Object contains the parameters for DeviceNet operations.
There is only 1 instance of this object.
Class Attributes
Id Description Get Set Limits
1 Revision
z Supported { Not supported
Class Services
Service Param. Options
Get_Attribute_Single
z Supported { Not supported
Instance Attributes
Id Description Get Set Limits
1 MAC ID
2 Baud Rate
3BOI
4 Bus-off counter
5 Allocation information
6 MAC ID switch changed
7 Baud rate switch changed
8 MAC ID switch value
9 Baud rate switch value
z Supported { Not supported
z{
z
z{
z{
{{
{{
z{
{{
{{
{{
{{
Instance Services
Service Param. Options
Get_Attribute_Single
Allocate M/S connection set
Release M/S connection set
z Supported { Not supported
7-4 Series 90®-30 Programmable Controller DeviceNet™ Modules – November 2002 GFK-2196
z
z
z
Page 97
Assembly Object
Object Class 0x04
Assembly Objects group the data from multiple applications objects into a single message.
There are up to 4 instances of this object.
Class Attributes
Class Services
Id Description Get Set Limits
1 Revision
2 Max Instance
z Supported { Not supported
Service Param. Options
Get_Attributes_All
Get_Attribute_Single
z Supported { Not supported
{{
{{
{
{
7
Instance Attributes
Instance Services
Id Description Get Set Limits
1 Number of Members in List
2 Member List
3Data
z Supported { Not supported
* Only for non-Established output connections
Service Param. Options
Get_Attribute_Single
Set_Attribute_Single z*
z Supported { Not supported
* Only for non-Established output connections
{{
{{
z
z*
z
GFK-2196 Chapter 7 DeviceNet Objects for Series 90-30 Modules 7-5
Page 98
7
Connection Object
Object Class 0x05
The Connection Object handles the module connection. Each Connection Object represents the end points of a connection. In an I/O message, all the information about what to do with the data in the message is contained in the Connection Object for that I/O message.
There can be a maximum of 255 instances of the Connection Object in any combination of connection types.
Class Attributes
Id Description Get Set Limits
1 Revision
z Supported { Not supported
Class Services
Service Param. Options
Reset
Create
Delete
Get_Attribute_Single
Find_Next_Object_Instance
z Supported { Not supported
{{
{
{
{
{
{
7-6 Series 90®-30 Programmable Controller DeviceNet™ Modules – November 2002 GFK-2196
Page 99
Instance Attributes
Attribute Limits/Fixed ValuesId Description Get Set
1 2 345678 9 10
1 State
2 Instance Type
3 Transport class trigger
4 Produced connection ID
5 Consumed connection ID
6 Initial comm. characteristics
7 Produced connection size
8 Consumed connection size
9 Expected packet rate
12 Watchdog timeout action(1)
13 Produced connection path
length
14 Produced connection path
15 Consumed connection path
length
16 Consumed connection path
17 Production Inhibit Time (2)
z Supported { Not supported
(1) set attribute service supported only by the server explicit messaging connection
(2) set attribute service supported on client trigger connections only
z{
z{
z{
z{
z{
z{
z{
z{
zz
zz
z{
z{
z{
z{
zz
0XFFFF 0xFFFF
0 0 111111 1 1
0x23 0x83 0x22 0x83 0x80 0x83
0x10 0x01 0xF0 0x02 0x01 0x01 0x0F 0x0F
0xFFFF 0xFFFF
2500 2500 250 250 250 250 250 250
0x01 0x01 or
0x03
00
--
00 400
- - 0x20
-0xFFFF------ - -
000000 0 0
0x03
or
0x13
0x03
or
0x13
0x2B 0x24 0x01
0x00 or
0x00 or
0x10
0x10
0xFFFF 0xFFFF
--
7
Connection types:
1. Explicit Client Connection Attribute Limits
2. Explicit Server Connection Attribute Limits
3. Poll Client Connection Attribute Limits
4. Poll Server Connection Attribute Limits
5. Strobe Client Connection Attribute Limits
6. Strobe Server Connection Attribute Limits
7. COS/Cyclic Client Connection Attribute Limits (acknowledged)
8. COS/Cyclic Server Connection Attribute Limits (acknowledged)
9. COS/Cyclic Client Connection Attribute Limits (unacknowledged)
10. COS/Cyclic Server Connection Attribute Limits (unacknowledged)
Instance Services
Service Param. Options
Reset
Delete
Apply_Attributes
Get_Attribute_Single
Set_Attribute_Single
z Supported { Not supported
{
{
{
z
z
GFK-2196 Chapter 7 DeviceNet Objects for Series 90-30 Modules 7-7
Page 100
7
PLC Data Object
Object Class 0x64
Number of Instances: 7
Specific Services
Service Code
0x32 Yes No GET_PLC_DATA
0x33 Yes No SET_PLC_DATA
Implemented for
Class Instance
Service Name
Specific Instances
The Series 90-30 DeviceNet modules support access to PLC memory using the following segment selectors. The segment selectors are set in the Instance ID of the Explicit request.
Name
REGISTER_TBL_WORD 8 R memory
ANALOG_IN_TBL_WORD 10 AI memory
ANALOG_OUT_TBL_WORD 12 AQ memory
DISCRETE_IN_BYTE 16 I memory in byte mode
DISCRETE_OUT_BYTE 18 Q memory in byte mode
DISCRETE_TEMP_BYTE 20 T memory in byte mode
DISCRETE_INTERNAL_BYTE 22 M memory in byte mode
Selector Code /
Instance ID (dec)
Description
7-8 Series 90®-30 Programmable Controller DeviceNet™ Modules – November 2002 GFK-2196
Loading...