Knowledgebase
Knowledgebase
Knowledgebase
Knowledge Base
2. Implementation ........................................................................................ 43
Error Messages during Initialization.......................................................... 43
Start-up Synchronization for an Application using applicomIO® ............. 45
Simulation mode ........................................................................................ 46
3. CANopen ................................................................................................... 75
Description of a CANopen EDS file .......................................................... 75
ApplicomIO generic CANopen EDS file .................................................. 80
CANopen equipment detection method ..................................................... 81
Solving CANopen network problems ........................................................ 82
CANopen on line action............................................................................. 84
Description of a PDO ................................................................................. 88
Initialization principle of the applicomIO® CANopen master and the
network ...................................................................................................... 89
Analysis and use of the 'SDO abort codes' messages ................................ 90
Automatic generation of an EDS file ......................................................... 92
Functionalities accessible by AuWriteReadMsg_io. ................................. 94
Reading an SDO object with the function AuWriteReadMsg_io. ...................... 95
Writing an SDO object with the function AuWriteReadMsg_io. ....................... 96
Sending an NMT command with the function AuWriteReadMsg_io. ................. 97
Transmission/Reception of a CAN frame with the function AuWriteReadMsg_io.98
Management of "Emergency" (EMCY) events with the function
AuWriteReadMsg_io. ................................................................................ 99
Reading the PDO FIFO with the function AuWriteReadMsg_io. ..................... 101
Writing SDO object which size is greater than 255 bytes with the function
AuWriteReadMsg_io. .............................................................................. 104
Reading current state of a CANopen equipment bytes with the
AuWriteReadMsg_io function. .................................................................. 107
Example of using the function AuWriteReadMsg_io. ................................... 108
Management of IO commands ................................................................. 110
Description of the Master command and master status byte........................ 111
Description of the RTR TPDO command area ............................................. 112
Example of using IO commands in language C .......................................... 113
Setting up a discussion between two devices in the network without the
intervention of the CANopen master ....................................................... 115
Emergency messages: EMCY.................................................................. 116
Description of expert mode in the configurator ....................................... 117
Expert mode for general configuration of the CANopen master. ................... 117
Expert mode for device configuration. ...................................................... 118
Expert mode for configuration of PDOs. .................................................... 119
However, care should be taken to ensure compatibility of the following software versions:
®
If applicom /applicomIO® products are installed on the same machine, the number attributed
to the boards is independent for each family. This means that there will be 2 boards
configured with number 1.
Characteristics:
Size of the PC104-CANIO board: 95 x 90
Power consumption: 5.5 W (5V)
Operating temperatures: 0 to +65 °C
(for extended temperatures, consult us)
Storage temperatures: -40 to +85 °C
Dielectric strength (galvanic insulation) : 500 Volts
MTBF: 100,000 hours
Characteristics:
Size of the PC104-DPIO board: 95 x 90
Power consumption: 4W (5V)
Operating temperatures: 0 to +65 °C
(for extended temperatures, consult us)
Storage temperatures: -40 to +85 °C
Dielectric strength (Profibus channel galvanic insulation) 500 Volts
MTBF: 100,000 hours
1 : HE13 male 10-pin straight connector for connection to the Profibus network
Maximum current on the 5V : 150mA
2 : Profibus channel transmission indicator lamps
®
3 : Connector providing access to a discrete input and output through the applicomIO functions
IO_SetWatchDog and IO_GetDigitalInput.
4 : Male 10-pin HE13 type connector for configuration by RS232 serial link
5 : Microswitches used to select the interrupt, the base memory address and the applicomIO®
board number
Miscellaneous characteristics:
Size of the PC104-DPIO board ver B: 95 x 90
Consumption: 5 W (5 V)
Operating temperatures: 0 to +65 °C
(for extended temperatures, consult us)
Storage temperature: -40 to +85 °C
Dielectric strength (galvanic isolation Profibus channel): 500 Volts
MTBF: 100 000 hours
Characteristics:
Size of the PC104-DVNIO board: 95 x 90
Power consumption: 5.5 W (5V)
Operating temperatures: 0 to +65 °C
(for extended temperatures, consult us)
Storage temperatures: -40 to +85 °C
Dielectric strength (galvanic insulation) : 500 Volts
MTBF: 100,000 hours
Characteristics:
Size of the PCI-CANIO board: 174 x 106 (not including connectors and rear)
Power consumption: 7W (5V)
Operating temperatures: 0 to +65 °C
Storage temperatures: -40 to +85 °C
Dielectric strength (galvanic insulation) : 500 Volts
MTBF: 100,000 hours
1 : RJ45 connector for connection to the Ethernet network (support for Ethernet Remote
configuration).
2 : Ethernet transmission indicator lamps
3 : Female Dsub 9-pin connector for CANopen network.
4 : DeviceNet transmission indicator lamps
®
5 : Connector providing access to a discrete input and output through the applicomIO functions
IO_SetWatchDog and IO_GetDigitalInput.
6 : Board number configuration jumpers (1 to 8).
Default configuration: board 1.
7 : PCI configuration jumper (reserved for applicom international use).
Default position for the applicomIO boards:
8 : socket for required MCAN056 module for CANopen network.
Miscellaneous characteristics:
Size of the PCU-CANIO ver E board: 167 x 106 (excluding connectors and rear panel)
Consumption: 5.5 W (5 V)
Operating temperature: 0 to +65 °C
Storage temperature: -40 to +85 °C
Dielectric strength (galvanic isolation): 500 Volts
MTBF: 100 000 hours
1 : RJ45 connector for connection to the Ethernet network (support for Ethernet Remote
configuration).
2 : Ethernet transmission indicator lamps
3 : Female Dsub 9-pin connector for CANopen network.
4 : DeviceNet transmission indicator lamps
®
5 : Connector providing access to a discrete input and output through the applicomIO functions
IO_SetWatchDog and IO_GetDigitalInput.
6 : Board number configuration jumpers (1 to 8).
Default configuration: board 1.
7 : PCI configuration jumper (reserved for applicomIO® use).
Default position for the applicomIO boards:
8 : socket for required MCAN056 module for CANopen network.
Miscellaneous characteristics:
Size of the PCIE-CANIO (EETH068) board: 167 x 106 (excluding connectors and rear panel)
Consumption: 5.5 W (5 V)
Operating temperature: 0 to +65 °C
Storage temperature: -40 to +85 °C
Dielectric strength (galvanic isolation): 500 Volts
MTBF: 100 000 hours
Characteristics:
Size of the PCI-DPIO board ver A: 174 x 106 (not including connectors and rear)
Power consumption: 4W (5V)
Operating temperatures: 0 to +65 °C
Storage temperatures: -40 to +85 °C
Dielectric strength (galvanic insulation) : 500 Volts
MTBF: 100,000 hours
Miscellaneous characteristics:
Size of the PCI-DPIO board ver B: 174 x 106 (excluding connectors and rear panel)
Consumption: 5.5 W (5 V)
Operating temperature: 0 to +65 °C
Storage temperature: -40 to +85 °C
Dielectric strength (galvanic isolation): 500 Volts
MTBF: 100 000 hours
1 : RJ45 connector for connection to the Ethernet network (support for Ethernet Remote
configuration).
2 : Ethernet transmission indicator lamps
3 : Female Dsub 9-pin connector for Profibus network.
Maximum current on the 5V : 150mA
4 : Profibus transmission indicator lamps
®
5 : Connector providing access to a discrete input and output through the applicomIO functions
IO_SetWatchDog and IO_GetDigitalInput.
6 : Board number configuration jumpers (1 to 8).
Default configuration: board 1.
7 : PCI configuration jumper (reserved for applicom international use).
Default position for the applicomIO boards:
8 : socket for required MPFB053 module for Profibus network.
Miscellaneous characteristics:
Size of the PCU-DPIO ver E board: 167 x 106 (excluding connectors and rear panel)
Consumption: 5.5 W (5 V)
Operating temperature: 0 to +65 °C
Storage temperature: -40 to +85 °C
Dielectric strength (galvanic isolation): 500 Volts
MTBF: 100 000 hours
1 : RJ45 connector for connection to the Ethernet network (support for Ethernet Remote
configuration).
2 : Ethernet transmission indicator lamps
3 : Female Dsub 9-pin connector for CANopen network.
4 : DeviceNet transmission indicator lamps
®
5 : Connector providing access to a discrete input and output through the applicomIO functions
IO_SetWatchDog and IO_GetDigitalInput.
6 : Board number configuration jumpers (1 to 8).
Default configuration: board 1.
7 : PCI configuration jumper (reserved for applicomIO® use).
Default position for the applicomIO boards:
8 : socket for required MPFB053 module for Profibus network.
Miscellaneous characteristics:
Size of the PCIE-DPIO (EETH068) board: 167 x 106 (excluding connectors and rear panel)
Consumption: 5.5 W (5 V)
Operating temperature: 0 to +65 °C
Storage temperature: -40 to +85 °C
Dielectric strength (galvanic isolation): 500 Volts
MTBF: 100 000 hours
Miscellaneous characteristics:
Size of the PCI-DPIO board ver B: 174 x 100 (excluding connectors and rear panel)
Consumption: 5.5 W (5 V)
Operating temperature: 0 to +65 °C
Storage temperature: -40 to +85 °C
Dielectric strength (galvanic isolation): 500 Volts
MTBF: 100 000 hours
Characteristics:
Size of the PCI-DVNIO board: 174 x 106 (not including connectors and rear)
Power consumption: 7W (5V)
Operating temperatures: 0 to +65 °C
Storage temperatures : -40 to +85 °C
Dielectric strength (galvanic insulation) : 500 Volts
MTBF: 100,000 hours
1 : RJ45 connector for connection to the Ethernet network (support for Ethernet Remote
configuration).
2 : Ethernet transmission indicator lamps
3 : 5-point connector for connection to the DeviceNet network.
4 : DeviceNet transmission indicator lamps
®
5 : Connector providing access to a discrete input and output through the applicomIO functions
IO_SetWatchDog and IO_GetDigitalInput.
6 : Board number configuration jumpers (1 to 8).
Default configuration: board 1.
7 : PCI configuration jumper (reserved for applicom international use).
Default position for the applicomIO boards:
8 : socket for required MCAN056 module for DeviceNet network.
Miscellaneous characteristics:
Size of the PCU-DVNIO ver E board: 167 x 106 (excluding connectors and rear panel)
Consumption: 5.5 W (5 V)
Operating temperature: 0 to +65 °C
Storage temperature: -40 to +85 °C
Dielectric strength (galvanic isolation): 500 Volts
MTBF: 100 000 hours
1 : RJ45 connector for connection to the Ethernet network (support for Ethernet Remote
configuration).
2 : Ethernet transmission indicator lamps
3 : 5-point connector for connection to the DeviceNet network.
4 : DeviceNet transmission indicator lamps
®
5 : Connector providing access to a discrete input and output through the applicomIO functions
IO_SetWatchDog and IO_GetDigitalInput.
6 : Board number configuration jumpers (1 to 8).
Default configuration: board 1.
7 : PCI configuration jumper (reserved for applicomIO® use).
Default position for the applicomIO boards:
8 : socket for required MCAN056 module for DeviceNet network.
Miscellaneous characteristics:
Size of the PCIE-DPIO (EETH068) board: 167 x 106 (excluding connectors and rear panel)
Consumption: 5.5 W (5 V)
Operating temperature: 0 to +65 °C
Storage temperature: -40 to +85 °C
Dielectric strength (galvanic isolation): 500 Volts
MTBF: 100 000 hours
Miscellaneous characteristics:
Size of the PCI-ETHIO ver C and D board: 174 x 106 (excluding connectors and rear panel)
Size of the PCU-ETHIO ver E board: 167 x 106 (excluding connectors and rear panel)
Consumption: 5.5 W (5 V)
Operating temperature: 0 to +65 °C
Storage temperature: -40 to +85 °C
Dielectric strength (galvanic isolation): 500 Volts
MTBF: 100 000 hours
1 : RJ45 connector for connection to the Ethernet network (support for Ethernet Remote
configuration).
2 : Ethernet transmission indicator lamps
3 : Female Dsub 9-pin connector for configuration by RS232 serial link
4 : DeviceNet transmission indicator lamps
®
5 : Connector providing access to a discrete input and output through the applicomIO functions
IO_SetWatchDog and IO_GetDigitalInput.
6 : Board number configuration jumpers (1 to 8).
Default configuration: board 1.
7 : PCI configuration jumper (reserved for applicomIO® use).
Default position for the applicomIO boards:
8 : socket for required 5RS232 module if the configuration port is used.
Miscellaneous characteristics:
Size of the PCIE-DPIO (EETH068) board: 167 x 106 (excluding connectors and rear panel)
Consumption: 5.5 W (5 V)
Operating temperature: 0 to +65 °C
Storage temperature: -40 to +85 °C
Dielectric strength (galvanic isolation): 500 Volts
MTBF: 100 000 hours
Terminals 3 and 4:
Opto-coupled discrete input. Power supply voltage:
Direct 10 to 30V.
Alternating 24V 10 (50 to 60 Hz).
This input can be managed by the applicomIO® function IO_GetDigitalInput.
The ferrite must be fitted on the discrete input/output cable making a loop with it. It must be fitted as
close as possible to the board.
For PC/104-type interfaces, it may also be necessary to place a ferrite on the discrete I/O cable in
order to comply with the standard.
This ferrite is available upon request.
Note that 24V and 0V signals are optional. Similarly, the 24V signal is an input and it is not supplied
by the board.
This line interface is galvanically insulated (insulation voltage: 500V).
You can easily connect a CANOpen standard 9-point subD to this connector by means of a 9-wire
ribbon cable. With the ribbon cable, connect pin no. 1 of a female HE13 connector to pin no. 1 of a
male subD. Pin no. 10 of the HE13 connector remains unconnected.
You can easily connect a Profibus standard 9-point subD to this connector by means of a 9-wire
ribbon cable. With the ribbon cable, connect pin no. 1 of a female HE13 connector to pin no. 1 of a
male subD . Pin no. 10 of the HE13 connector remains unconnected.
The PC104-DPIO interface is connected on the Profibus network via a compulsory bus connector in
order to comply with the standard (EN50170).
Remark:
To go up to maximum cable lengths, a twisted pair screened cable is required, with the following
characteristics :
- Characteristic Impedance : app. 135-160 (f = 3-20 MHz)
- Loop resistance : 115 /km
- Service capacity : 30 nf/km
- Attenuation : 0.9 dB/100m ( f = 200 kHz)
- Admissible section of conductors : 0.3 mm2 to 1.5mm2
- Admissible diameter of cable : 4 mm to 9 mm
Cable references :
BELDEN® Ref.: 3079A
Siemens Ref.: 6XV1 830-0AH10
Note:
- Creating several Profibus buses with a multicore cable is only possible if the conductors are
screened in pairs.
- A Profibus bus cable must not run alongside telephone cables.
Note that the 24V signal is an input and that it serves to detect the presence of a 24V power supply
for the network.
This line interface is galvanically insulated (insulation voltage: 500V).
The pinout of the board's male HE13 connector is as follows:
A DeviceNet standard male connector (e.g. Phoenix Contact DFK-MSTB 2,5/5-G-5,08 or DFK-
MSTB 2,5/5-GF-5,08) can be connected to this board. The pinout of this connector is shown below:
Note that the cable must have a characteristic impedance of approximately 120 ohms and the
terminal resistors a value of 121 ohms.
Drop lines of 6 m maximum are allowed.
Baud Rate Total Length of Total Length (Main Trunk and Drop lines)
Drop lines
100 % thick cable 100 % thin cable
125 kbit/s 156 m LThick + 5 x LThin = 500 500 m 100 m
250 kbit/s 78 m LThick +2.5 x LThin = 250 250 m 100 m
500 kbit/s 39 m LThick + LThin = 100 100 m 100 m
Where:
LThick: Length of thick cable
LThin:
Length of thin cable
The twisted supply pair must be connected to an outside power source at +24V.
Note that 24V and 0V signals are optional. Similarly, the 24V signal is an input and it is not supplied
by the board.
This line interface is galvanically insulated (insulation voltage: 500V).
Note that the cable must have a characteristic impedance of approximately 120 ohms and the
terminal resistors a value of 121 ohms.
If the transmission rate is too high with respect to the topology, frame collisions can result, leading
to"Bus Off" status for all devices.
The PCI-DPIO interfaces are connected on the Profibus network via a compulsory bus connector in
order to comply with the standard (EN50170).
This connector includes the necessary line adaptation if the board is installed at the end of the line:
Cable references :
BELDEN® Ref.: 3079A
Siemens Ref.: 6XV1 830-0AH10
Note:
- Creating several Profibus buses with a multicore cable is only possible if the conductors are
screened in pairs.
- A Profibus bus cable must not run alongside telephone cables.
Note that the 24V signal is an input and that it serves to detect the presence of a 24V power supply
for the network.
This line interface is galvanically insulated (insulation voltage: 500V).
Baud Rate Total Length of Total Length (Main Trunk and Drop lines)
Drop lines
100 % thick cable 100 % thin cable
125 kbit/s 156 m LThick + 5 x LThin = 500 500 m 100m
250 kbit/s 78 m LThick +2.5 x LThin = 250 250 m 100 m
500 kbit/s 39 m LThick + LThin = 100 100 m 100 m
Where:
LThick: Length of thick cable
LThin: Length of thin cable
The twisted supply pair must be connected to an outside power source at +24V.
With a 9-wire ribbon cable, this HE13 connector can be connected to an RS232 standard 9-pin
SubD connector. A cable with a 10-pin female HE13 connector and a 9-pin male SubD connector
must be used:
This serial link complies with the RS232C standard and enables baud rates of up to 115 kbps.
This serial link complies with the RS232C standard and enables baud rates of up to 115 kbps.
This serial link complies with the RS232C standard and enables baud rates of up to 115 kbps.
For the PCI boards, the memory range and the interrupt are allocated automatically by the
BIOS. No hardware conflict is theoretically possible. However, since the interrupt can be
shared with other PCI boards, it is essential that the corresponding drivers can share the
®
interrupt. The applicomIO driver authorizes this sharing. If a problem of sharing with
another driver occurs, you must allocate different interrupts to the PCI slots supporting the
boards in conflict, in the machine setup.
Notes :
If you install an Plug&Play Microsoft Operating system whereas applicom® PCI interfaces
are physically present in the machine, Windows will not require the access path to the inf
file and will classify the interfaces applicom® in the heading Other peripherals. In this
case, install the applicom® software , remove these peripherals through the system icon of
the control panel (Device Manager) and reboot the machine.
Under Plug&Play Microsoft Operating system, if you wish to remove an applicom® PCI
board from your machine, you must remove it through the system icon of the control panel
(Device Manager) before to stop your PC.
Example:
Use of two PC/104 boards and two PCI boards.
®
This example includes four applicomIO boards: the first is a PC/104-type board, the second PCI,
the third PC/104 and the fourth PCI.
In this case, for the PC/104 boards, choose the base address (e.g. D4000) and the IRQ (e.g. 5) in
the applicomIO® console.
Configure the micro-switches for the PC/104 boards, as indicated under the heading "Configuration
of PC/104 Boards", such that both are set to IRQ 5. Configure the micro-switches, in compliance
with the table under this same heading, in order to select the numbers for each board. In our
example: board 1 for one and board 3 for the other one.
For the PCI boards, configure their board numbers, as indicated under the heading "Configuration
of PCI Boards", i.e. board 2 and board 4.
The addresses and interrupts of the PCI boards are automatically configured by the PC.
Thus, to mix PCI- and PC/104-type applicomIO® boards, you just have to configure successive
board numbers, without needing to take into account the bus type of each board.
®
applicomIO Boards
PCI-DPIO, PCU-DPIO, PCI-DVNIO,PCU-DVNIO, PCI-CANIO,PCU-CANIO, PC104-CANIO,
PC104-DVNIO, PC104-DPIO, PCI-ETHIO and CPCI-DPIO comply with the directive 89/336/CEE
and are thus labeled .
For this compliance to be respected, however, a ferrite (provided by Woodhead upon request)
must be fitted on the cable, if the discrete input/output of these boards is used.
Also, all cables on the communication channels must be screened (with screening connected to the
metal case of the connector).
All the applicomIO® boards comply with the the office and the industrial standard except the
PC104-DPIO ver A board which complies with the industrial standard only.
When the PC104-DPIO ver A board is integrated in a host system, take all necessary precautions
to ensure compliance.
Characteristics:
- Operating temperature: 0 to +65 °C
(for extended temperatures on PC104 boards, consult us)
- Storage temperature: -40 to +85 °C
- Dielectric strength (galvanic insulation): 500 Volts
- MTBF : 100,000 hours
Declaration of Compliance
We, Woodhead
41, rue Mazagran
76320 Caudebec-lès-Elbeuf
France
Year of application of marking: 1999, 2000, 2002, 2003, 2004, 2005, 2006
Caudebec-lès-Elbeuf, 25/09/2004
®
Simulation mode enables use of the product without an applicomIO board. In this mode, the
presence of boards is emulated by simulation software (simulation of 1-8 applicomIO® boards).
This enables you to do the following:
Modify the values of input data for applications using the applicomIO product.
Simulate communications defects with a specific device.
Simulation mode is particularly useful during the development and testing of an application on a
computer that has no applicomIO® communications boards.
Implementation
Configuration
®
Configuration is normally done via the applicomIO console. This console enables you to set the
parameters for your industrial architecture and to define the devices to be used.
In the configuration properties window, you can change the location of the applicomIO® boards. To
conduct a simulation, select Simulation Mode.
After you have selected the new configuration type, you have to restart the applicomIO® console in
order to work with this new configuration. It will therefore close automatically. Attention: the console
cannot be restarted until all applications using the previous configuration have been closed.
Normal configuration:
Once the boards have been declared, the configuration procedure for simulation mode is strictly
identical to that for a normal configuration. Obviously, however, the automatic detection of network
devices is not possible in simulation mode.
Remark: It is also possible to perform the configuration on a computer in a field network (thus
benefiting from detection mechanisms for network devices) and then to convert this configuration
into simulation mode. This configuration can then be transferred to a simulation machine with the
Restore and Archive commands in the Configuration Manager.
When all the steps have been completed, you will have to initialize applicomIO® with your new
configuration.
Initialization
Just as normal use requires the configuration to be transferred to the board, simulation mode
requires the configuration to be downloaded into the simulation software so that the present
configuration parameters can be taken into account.
Configuration in simulation mode must first of all be carried out, and then stored using the
®
applicomIO console.
The configuration must then be transferred to the simulator by means of the Board Initialization
command. This command runs the simulation software and transfers the parameters.
Once the software has been activated, any application using the applicomIO® product can be run.
Caution !
To download a new configuration into the simulation software, you must first close the simulation
software before reopening the initialization command.
Remarks:
When the simulation software is open, the input change interface for the “devices” is not visible.
This interface appears when you click on the Details button.
The Cycle Time variable enables simulation of a network cycle time. The higher this value is, the
longer it will take for data changes to be taken into account.
Full detailed explanations concerning remote use via a TCP/IP connection are included in the
documentation supplied with the product dedicated to your environment.
To use this functionality under Windows, refer to the next article.
Implementation
The implementation of applicomIO® in remote mode via serial link involves no special difficulties.
The implementation philosophy is virtually identical to that for normal use with applicomIO® boards.
This User Manual reviews the various steps of implementation and highlights some specific
features that differ from normal use.
Configuration
®
Configuration is normally done via the applicomIO console. This console enables you to set the
parameters for your industrial architecture and to define the devices to be used.
In the configuration properties window, you can change the location of the applicomIO® boards. To
access a board via serial link, select Remote Machine (Serial link).
After you have selected the new configuration type, you have to restart the applicomIO® console in
order to work with this new configuration. It will therefore close automatically. Attention: the console
cannot be restarted until all applications using the previous configuration have been closed.
Normal configuration:
The user then presses the Accept button to include the detected board in the
configuration.
The Number of the Board in Local Use gives the number attributed to the board by the
applications using the board locally. Caution: this parameter must correspond exactly to the
hardware configuration (using jumpers) attributed to the board for use on the remote machine. If
this is not the case:
A configuration downloaded into flash memory will not be taken into account when the
board is restarted. This will continue until the hardware configuration has been corrected.
A configuration transmitted by standard initialization will not enable the local driver to
access the board.
Once the board has been declared and its access parameters have been set, the method for
configuration in remote mode via serial link is strictly identical to a normal configuration, with the
following exceptions:
Only one board can be configured at a time.
Since exchanges with the boards are longer, network feedback will take much longer than
in normal mode.
Initialization
®
In remote mode via serial link, the initialization process for the applicomIO interface is similar to
that for local mode. The loading time will obviously be longer. Once the COM port of your machine
is connected to the board, you can start:
An initialization of boards via serial link.
A download into flash memory of the board.
Caution:
During start-up, these initialization processes do not detect whether the board is in use or not.
Therefore, before starting an initialization, ensure that your board is not being used.
Remarks:
Errors specifically related to the use of the serial link can occur during initialization. Consult
the chapter „More Information on Problems in Use‟.
During a download to flash memory, only the files that are not present and that have been
modified since the last download are transmitted to the board. This enables considerable
time savings during download. In case of problems, you can always use the Clear Flash
Memory command.
Use
Once all the applications have been closed, after selection of Remote Machine mode in the
console, all restarted applications will use the serial link to communicate with the remote board. The
first time, a warning message will systematically appear to alert you to possible disturbances in the
functioning of the remote board, if the board is being used locally.
To ensure that you have properly established the connection between your computer and the
board, see chapter „Cabling and Indicator‟.
Caution:
Only one application at a time can communicate with the board via the serial link. If an application is
already using the connection, the other applications will return an error message (usually status 51)
when they are opened.
: An application is connection to the COM port of the PC. (from this moment on, no other application
using applicomIO® can use the connection)
: The dialog is occurring properly over the serial link. In this status, the green light blinks as a
function of the transmission and reception of data over the cable.
: A one-time communications problem has been detected. This icon appears only when the
transmission re-try mechanisms have been activated. Once this icon appears, communication may
either be interrupted completely (red light) or it may restart (green light). If this icon appears
regularly, check your serial connection.
: A communications error has been encountered. The communications status (generally status 63)
has been returned to the application using the serial link. In general, the functioning of the
application is interrupted.
Remark: By moving the mouse cursor over the icon, you can display information in a bubble, in
particular the connection transfer rate, the COM port being used, etc.
Communication Problems
In general, if an application encounters communication problems with the board (status 63 is
returned or the application is blocked), first check that:
The connection has been properly established between the selected COM port of the PC
®
and the configuration port of the applicomIO board. Check the required cabling in the
“Cabling and Indicator” manual.
The BIOS of the board is version 4.0 or higher.
If such is the case, close all applications and restart. If the problem continues, first try to modify the
configured speed. As a last resort, reboot the board as well as the computer using the COM port.
Status 49 indicates that a complete request has reached the board, but that:
The board could not respond within the console‟s time-out time.
The serial connection was lost after the arrival of this request, thus preventing the
board from sending its response within the configured time-out.
Limitations
1 – This version of propriotary remote Ethernet protocol does not support WIFI media.
2 – The diagniostic tool is allowed only if the applicom IO board is number one (PCI jumper set
at one).
Implementation
The implementation of applicomIO® in remote mode via Ethernet link involves no special
difficulties. The implementation philosophy is virtually identical to that for normal use with
applicomIO® boards. This User Manual reviews the various steps of implementation and highlights
some specific features that differ from normal use.
With Windows XP: click on “start” button, select “Parameters” and select “panel configuration”.
Open “Network connection”. Select one of network connection and use “properties” from “Files”
menu.
With Windows Vista: click on “start” button, select “Control panel”. Open the “Network and
sharing center”. Then click on “Manage network connections” link in the left panel. Select one of
network connection and use “properties” from “Organize” menu.
With Windows 7: click on “start” button, select “panel configuration”. Open the “View network
status and tasks”. Then click on “Change adapter settings” link in the left panel. Select one of
network connection and use “properties” from Organize menu.
Click on « open ».
Configuration
®
Configuration is normally done via the applicomIO console. This console enables you to set the
parameters for your industrial architecture and to define the devices to be used.
In the configuration properties window, you can change the location of the applicomIO® boards. To
access a board via Ethernet link, select Remote Board (Ethernet link).
The User has to choice it Local Network Adapters connected on the same Ethernet media as the
applicomIO board. The Status will indicate the current state of the selected adapter.
Once the board has been declared and its access parameters have been set, the method for
configuration in remote mode via Ethernet link is strictly identical to a normal configuration, with the
following exceptions:
The Board Number gives the number attributed to the board by the applications using the board
locally. Caution: this parameter must correspond exactly to the hardware configuration (using
jumpers) attributed to the board for use on the remote machine. If this is not the case:
A configuration downloaded into flash memory will not be taken into account when the
board is restarted. This will continue until the hardware configuration has been corrected.
A configuration transmitted by standard initialization will not enable the local driver to
access the board.
To be able to do an automatic detection, the applicomIO board shall be connected on the same
ethernet network than the local network adapter selected.
It is allowed to change the configuration type to Remote Ethernet configuration type. To do this, the
user has to choose “Remote Ethernet” form the configuration manager (FILE/configuration
manager).
Limitation :
Initialization
®
In remote mode via Ethernet link, the initialization process for the applicomIO interface is similar
to that for local mode. You can start:
An initialization of boards via Ethernet link.
A download into flash memory of the board.
Caution:
During start-up, these initialization processes do not detect whether the board is in use or not.
Therefore, before starting an initialization, ensure that your board is not being used.
Remarks:
During a download to flash memory, only the files that are not present and that have been
modified since the last download are transmitted to the board. This enables considerable
time savings during download. In case of problems, you can always use the Clear Flash
Memory command.
Use
Once all the applications have been closed, after selection of Remote Board (Ethernet link) mode
in the console, all restarted applications will use the Ethernet link to communicate with the remote
board. The first time, a warning message will systematically appear to alert you to possible
disturbances in the functioning of the remote board, if the board is being used locally.
To ensure that you have properly established the connection between your computer and the
board, see chapter „Cabling and Indicator‟.
Caution:
In the same time, only one host is allowed to communicate with applicomIO board.
In the above two cases, configuration and initialization tools cannot be used on the target machine.
To remedy this, the applicomIO® product proposes three options enabling the user to configure and
initialize the boards in any environment:
Initialization (or download into flash memory) of applicomIO® boards by serial link.
Initialization is done by means of a serial link between the COM port of the machine on
which the configuration console is installed and the serial port of the applicomIO® board
installed on the remote machine. This function is described in a separate chapter:
“Initialization via the serial port”.
Initialization (or download into flash memory) of applicomIO® boards by Ethernet link.
Initialization is done by means of an Ethernet link between the local network board of the
machine on which the configuration console is installed and the Ethernet port of the
applicomIO® board installed on the remote machine. This function is described in a
separate chapter: “Initialization via the Ethernet Link”.
Remark: The serial and Ethernet port solution have the advantage of enabling automatic detection
of network devices.
To generate an initialization file (or download into flash memory ), define a simulation-type
configuration. To do this, open the Configuration Manager (File/Configuration Manager menu).
After you have selected the new configuration type, you have to restart the applicomIO® console in
order to work with this new configuration.
Once the configuration console has been restarted, the configuration is carried out like a
configuration in simulation mode.
Remark: By default, the “Save the Initialization to Disk” option is available only for a simulation-
type configuration. However, it is possible to use this process on a local-type configuration (normal
use). To do this, you must start the console in Expert mode (accessible from the File/Preferences
menu). Attention: In this case, the boards must be installed on the machine being configured.
To obtain the list of arguments accepted by this utility, open it by means of the /? option. .
Once the initialization file has been run, the applicomIO® boards will :
either be initialized in a volatile manner, if the file was generated via a simple initialization
command,
or be initialized in a persistent manner (by updating of their flash memory and restarting of
the boards upon completion of the download into flash memory), if the file was generated
from a command to download into flash memory.
This section can be consulted directly in the console using the main menu command
"Library/Property/.. EDS Information tab .../FILEINFO".
Section [DeviceInfo]
This section is purely informative. It describes the device characteristics, e.g.:
Key Description Value
VendorNumber Vendor number alphanumeric
ProductNumber Product reference number alphanumeric
ProductVersion Product version alphanumeric
ProductRevision Product revision alphanumeric
This section can be consulted directly in the console using the main menu command
"Library/Property/.. EDS Information tab .../DEVICEINFO".
[1a00sub0]
ParameterName=1.MappedObject
ObjectType=0x7
DataType=0x7
AccessType=RO
DefaultValue=0x60000108
PDOMapping=0
If the "SubNumber" key is greater than zero however, the storage structure must have the
following format:
[6000]
ParameterName=ReadState8InputLines
ObjectType=0x8
DataType=0x5
AccessType=ro
PDOMapping=0
SubNumber=0x3
[6000sub0]
ParameterName=NumberOfElements
ObjectType=0x7
DataType=0x5
AccessType=RO
DefaultValue=2
PDOMapping=0
[6000sub1]
[6000sub2]
ParameterName=ReadState8InputLines_9H_10H
ObjectType=0x7
DataType=0x5
AccessType=RO
PDOMapping=1
The main keys used:
Key Description Value
ParameterName Parameter name or function alphanumeric
ObjectType Contains the object code Numeric
DataType Index in the standardized data Numeric
types
DefaultValue Object default value Depends on the type of data
AccessType Data access type Read only = ro
Write only = wo
Read and write = rw
LowLimit Minimum value Numeric
HighLimit Maximum value Numeric
PDOMapping Mappable data No = 0
Yes = 1
SubNumber Number of subobjects From 0 to 255
b. [1001]
This section is used, if the device supports it, to map the error register, in the
input/output frames.
1-Frame properties:
From [1400] to [15FF]: PDO in reception (from PDO1 to PDO512)
From [1800] to [19FF]: PDO in transmission (from PDO1 to PDO512)
They contain the following subgroups:
SubObject Description Value
XXXXsub1 COB-ID of the PDO From 0x181 to 0x57F
XXXXsub2 Transmission type From 0 to 240 and from 252 to 255
XXXXsub3 Inhibit Time From 0 to 65535
2-Frame mapping:
From [1600] to [17FF]: PDO in reception (from PDO1 to PDO512)
From [1A00] to [1BFF]: PDO in transmission (from PDO1 to PDO512)
The mapping of the first RPDO consists of the content of objects [1600sub1] to [1600sub8]; that
of the second, objects [1601sub1] to [1601sub8], …
Use
This file allows you to use the basic functionalities of a device with I/O profile.
It will be proposed automatically during network detection if no valid EDS file corresponding to your
device is detected.
It contains the following objects:
- 0x1000 : Device Type
- 0x1001 : Error Register
- 0x1002 : Manufacturer Status Register
- 0x1003 : Pre-defined Error Field
- 0x1005 : COB-ID SYNC
- 0x1006 : Communication Cycle Period
- 0x1007 : Synchronous Window Length
- 0x1008 : Manufacturer Device Name
- 0x1009 : Manufacturer Hardware Version
- 0x100A : Manufacturer Software Version
- 0x100C : Guard Time
- 0x100D : Life Time Factor
- 0x1010 : Store Parameters
- 0x1011 : Restore default Parameters
- 0x1200 : Server SDO Parameter
st
- 0x1400 : 1 Receive PDO Parameter
nd
- 0x1401 : 2 Receive PDO Parameter
rd
- 0x1402 : 3 Receive PDO Parameter
th
- 0x1403 : 4 Receive PDO Parameter
st
- 0x1600 : 1 Receive PDO Mapping
nd
- 0x1601 : 2 Receive PDO Mapping
rd
- 0x1602 : 3 Receive PDO Mapping
th
- 0x1603 : 4 Receive PDO Mapping
st
- 0x1800 : 1 Transmit PDO Parameter
nd
- 0x1801 : 2 Transmit PDO Parameter
rd
- 0x1802 : 3 Transmit PDO Parameter
th
- 0x1803 : 4 Transmit PDO Parameter
st
- 0x1A00 : 1 Transmit PDO Mapping
nd
- 0x1A01 : 2 Transmit PDO Mapping
rd
- 0x1A02 : 3 Transmit PDO Mapping
th
- 0x1A03 : 4 Transmit PDO Mapping
- 0x6000 : Read Input 8-Bit
- 0x6200 : Write Output 8-Bit
- 0x6401 : Read Analogue 16-Bit
- 0x6411 : Write Analogue 16-Bit.
1 – Identical profile mandatory condition: Input [1000]-DefaultValue of the EDS identical to the
Device Type object read (first 16 bits)
3 – Product number in the device name: Input [DeviceInfo]-ProductNumber of the EDS contained in
the Manufacturer Device Name object read.
4 – Product name in the device name: Input [DeviceInfo]-ProductName of the EDS contained in the
Manufacturer Device Name object read.
If several files correspond to the criteria only one must be selected. If none of these criteria is
respected, applicomIO® suggests using file "generic.eds".
Standardization of the CAN bus does not define the network medium, however the CANopen
standard recommends the use of a differential pair. Since it provides excellent immunity against
electromagnetic interference, this solution can be used in industrial environment. Nevertheless, use
of differential mode makes finalizing the wiring slightly more difficult than simple mode single wire.
Detail of CAN bus in differential mode:
Note that a differential pair has a "polarity", identified by the "CAN high" and "CAN low" lines,
which must not be crossed under any circumstances.
Note also that there is an impedance adapter resistor at each end, which avoids signal rebounds on
the line. The value of these resistors mainly depends on the impedance of the cable used, the line
geometry and the transmission speed. Standard ISO 11898 defining a line with a transmission
speed of 1Mbit/s, recommends the use of cable with impedance 124 ohms and therefore RT values
between 118 and 130 ohms.
For further details consult the document "CIA Draft Recommendation DR-303".
If the transmission speed is too high compared with the topology, frame collisions may occur and all
devices will therefore be set to "Bus Off" status.
» CAN Bus
Status of the CAN bus:
: the CAN controller status is Bus Off: no communication is possible.
: No communication problem on the CAN bus.
» Network/Station
Status of the Network Manager:
: Communication problem with at least one of the devices configured (device missing,
configuration error, problem on the device, etc.).
: No communication problem, all configured devices are present and running.
» Bus Load
Minimum, current and maximum network load.
» Rx
Total number of bytes received.
» Tx
Total number of bytes sent.
» Rx Frames/s
Number of frames received per second.
» Station Number
Used to input the number of the station to be interrogated (1-127).
» Station Name
Displays the device name read on the network in the object 0x1008.
» Save Parameters
Save the parameters in the device's memory.
The saved parameters correspond to the last configuration sent to the board.
Use of the CANopen 0x1010 object under index 0x01: “Store parameters to all parameters that can
be saved” with the value “save” (0x73 0x61 0x76 0x65).
» Default Parameters
Resets device parameters to default values (manufacturer's parameters).
Use of the CANopen 0x1011 object under index 0x01: “Restore default parameters to all
parameters that can be restored” with the value “load” (0x6C 0x6F 0x61 0x64).
» Generating the EDS File
Performs a full read/write of the objects in the stations and generates a corresponding EDS file.
» Index
Enter the index of the object to be read or written in the equipment dictionary.
» Sub-Index
Enter the sub-index of the object to be read or written in the device dictionary.
» Read
Reads from the device dictionary the object referenced by the index and sub-index.
» Write
Writes in the device dictionary the object referenced by the index and sub-index.
» Read Area
Displays the bytes read in hexadecimal and in ASCII.
STATION IN "TIME-OUT"
The device does not answer: the device does not exist, wiring, power supply or speed
problem, etc.
The transfer type is "Producer / Consumer". In other words the data sent onto the network may be
intended for one or more recipients (or none!), the producer not checking the reception. This is
possible due to the high level of security on the CAN network (layer ISO 2).
The quantity of data carried by a PDO is limited to 64 bits, with granularity of 8 bits.
There are two types of PDO:
- “Transmit PDO” or TPDO
- “Receive PDO” or RPDO
TPDOs travel from the master to the device. They correspond to the device output modules (e.g.:
actuators, commands, etc.).
RPDOs travel from the device to the master. They correspond to the device input modules (e.g.:
temperature sensor, position sensor, etc.).
Start-up phases
1 – Transmission of a "Reset Node" broadcast to all devices.
2 – Transmission of the SDO messages referenced in "Device properties/Object dictionary" for
each device.
3 – Start-up of "Node Guarding" if it is valid (Guard Time and Time Life Factor not 0) for each
device.
4 – Individual start-up of each device if all SDO messages could be sent.
Potential problems
Device missing, bad speed or bad station number
The device does not start: the diagnostic tool indicates "Error SDO: Timeout"
Error in an SDO message (cannot access the object)
The device does not start: the diagnostic tool indicates "Error SDO: Abort Transmit".
Wiring problem, incorrect load resistance or interference on the line
The device starts with difficulty after quite a long time: the diagnostic tool indicates "Error SDO:
Timeout" and "Error NMT: Guarding Fail".
Other CANopen master on the line
The device restarts regularly, access to inputs/outputs is random.
'Emergency' messages
The device operates correctly but the diagnostic tool generates "Emergency" messages, e.g.: short
circuit on an output (emergency current error), power supply fault of outputs (emergency voltage
error), protocol error (emergency protocol error), etc.
The list of possible errors consists of the standard emergency messages (CIA DS301) and the
specific manufacturer emergency messages described in the device documentation.
Each event is stored in chronological order of arrival. The event characteristics can be consulted by
double clicking on the 1st column of the corresponding line or with the "Property" button.
This information corresponds to the "Abort Sdo Transfer Protocol" in document CIA DS301.
Case of "Abort SDO":
Object declared as "rw" in the EDS and only as "ro" in the device, check the manufacturer's
EDS file.
Object size in the EDS inconsistent with that in the device, check the manufacturer's EDS
file.
Objects 1400Sub1 to 15FFSub1, 1800Sub1 to 19FFSub1: PDO not available, delete it from
the configuration in "Device property/ PDO message and I/O mapping".
Objects 1400Sub2 to 15FFSub2, 1800Sub2 to 19FFSub2: Requested transmission mode
impossible for this PDO, check the manufacturer's documentation and set a transmission
mode supported for the PDO in "Device property/PDO message and I/O mapping".
Objects 1600 to 17FF, 1A00 to 1BFF: too many objects in the mapping or objects not
mappable, check the configuration in "Device property/PDO message and I/O mapping".
Other type of error specific to the manufacturer, refer to the device documentation.
The "Start" button is used to start file generation by polling the station. First choose the destination
file:
®
By default, the file DetectAuto.eds in the directory "CanOpen_eds" of the applicomIO work
directory is proposed. Accept the file name to start generation with the "Save" button or cancel with
the "Cancel" button.
Detection ends with the "Stop" button or by waiting until the EDS file has been 100% generated.
Validate with the "OK" button (or cancel with "Cancel"):
You can add the file generated to the device library so that it can be integrated in the configuration.
Procedure
Detection/generation of the EDS file takes place by reading and/or writing all the objects of indices
0x1000 to 0x9FFF of the device on line. These reads/writes are made using SDO messages and
are therefore very time consuming, depending on the bus transmission speed. Objects are built in
the EDS as follows:
- Index 0x1000 to 0x1FFF: "Communication objects", the name, size and access of the parameters
are set in standard DS301.
- Index 0x2000 to 0x5FFF: "Manufacturer objects", the name is generic of type "Entry XXXXSUBYY
no parameter name" where XXXX = index in hexadecimal and YY=sub-index in hexadecimal, the
size is determined according to the number of bytes in the reply to the read, the access type is
determined by making a write after the read.
- Index 0x6000 to 0x9FFF: "Standardized objects", the name, size and access depend on the
profile used, they are not currently referenced in the automatic generation. The same rule is
therefore used as for the "Manufacturer objects".
The functionality used to read an SDO object is accessible in the messaging mode library.
bit 31
bit 0
byte 3 byte 2 byte 1 byte 0
not used Sub-index Most significant end of Least significant end of
the index the index
The functionality used to write an SDO object is accessible in the messaging mode library.
bit 31
bit 0
byte 3 byte 2 byte 1 byte 0
not used Sub-index Most significant end of Least significant end of
the index the index
- wNbTx: number of bytes to transmit = 1 + size of the value to be written in the object.
- lpbyBufTx : pointer to the transmission buffer whose 1st byte contains the command 0x02 and
the next ones contain the bytes forming the value to be written.
- pwNbRx : pointer to the number of bytes received:
* On calling: indicates the maximum size of the reception buffer (meaningless for
the SDO write).
* In return: indicates the number of bytes received if dwStatus=0 (meaningless for
the SDO write).
- lpbyBufRx: pointer to the reception buffer: meaningless for the write.
- pdwStatus : pointer to an error status 32-bit word 1
The functionality used to send an NMT command is accessible in the messaging mode library.
The functionality used to for transmission and reception of a CAN frame is accessible in the messaging mode
library.
bit 31
bit 0
Byte 3 byte 2 byte 1 byte 0
not used not used Most significant end of Least significant end of
the transmission COB-ID the transmission COB-ID
The functionality used to manage "Emergency" events is accessible in the messaging mode library.
bit 48 40 36 32 27 24 22 16 10 8
bit 0
Byte 6 Byte 5 Byte 4 Byte 3 byte 2 byte 1
The functionality used to read the FIFO containing the PDOs used by the ApplicomIO CANopen master is
accessible in the messaging mode library.
This FIFO must be validated in the configurator for each device configured. It operates according to the First In First
Out principle, each time an event is read it is automatically deleted from the FIFO. A special command is used to
clear all FIFO events.
- lpbyBufTx: pointer to the transmission buffer whose 1st byte contains the PDO management command:
lpbyBufRx[4] = Least significant end of the number of bytes of the event =0x16.
lpbyBufRx[5] = Most significant end of the number of bytes of the event =0x00.
bit 48 40 36 32 27 24 22 16 10 8
bit 0
Byte 6 Byte 5 Byte 4 Byte 3 byte 2 byte 1
The functionality, used to write a SDO which size is greater than 255 bytes, is accessible in the messaging mode
library.
These 3 steps are available with AuWriteReadMsg_io function. To jump from one step to another, you need to fill
the code mentioned in the first byte of the transmit buffer of the AuWriteReadMsg_io function.
(1) : The data buffer must include the complete number of data defined in the first step (parameters
initialization). To write the data you could use multiple packets with a 255 bytes maximum size each. For
example, to write 5000 bytes in total, you have to write 19 packet of 255 bytes and one of 155 bytes
(19*255)+155=5000.
The size of the SDO object to write is controlled by the card.
In case of a bad request (bad initialization, not enough memory…), the function returns a status 4 error code.
Warning : if you want to use packet greater than 255 byte, you have to use the
AuSetApplicationMaxSize_io (1586, &dwStatus), which increase the maximum up to 1500 bytes.
bit 31
bit 0
byte 3 byte 2 byte 1 byte 0
not used Sub-index Most significant end of Least significant end of
the index the index
A sample explains the used of the AuWriteReadMsg_io function to write SDO object greater
than 255 bytes see directory « Development\MSVC\Sample LibApplicomIO\CANopen » in
applicomIO® installation directory.
This sample is based only on one C file : CANopenWideSdo.c
The functionality used to read the current state of a CANopen equipment in the applicomIO® scanner is available in
the messaging mode library.
The following example shows how to read an object using SDO, write an object using SDO and send an
®
NMT command to device number 6, from board number 1 of the applicomIO interface.
Remark: When including the "applicomio.h" file in a C++ project, you must put the include in extern "C"
(extern "C" { #include "applicomio.h" } )
For management of IO commands, you must be in expert mode and check the field "IO
1
Command" in the CANopen master properties ( ).
The area of 65 output bytes represents the command area, it is divided into two parts:
1 master command byte (MASTER CD).
Bits in the master command byte are set to control the following functions:
Bit 0: transmission of a SYNC and RTR TPDOs set (if the SYNC period is zero).
Bit 1: Transmission of a SYNC only (if the SYNC period is zero).
Bit 2: Stop/resume nodeguarding.
Bit 3: Reset RTR TPDO toggle bits.
64 "RTR TPDO" command bytes of devices 1 to 64. A byte is allocated to each device.
This byte is used to control 7 RTR bits for TPDO1,TPDO2,….,TPDO7 defined in the
2
device configuration( ) and a toggle bit (switching alternately from 0 to 1).
See also:
- in the knowledge base:
(1) Expert mode for general configuration of the CANopen master.
(2) Expert mode for configuration of PDOs.
The master command byte is the first byte (byte 0) of the outputs from device 0.
The master status byte is the first byte (byte 0) of the inputs from device 0.
The MASTER COMMAND bits will be used as toggle bits (alternately 0 and 1) to trigger the
commands.
The MASTER STATUS will correspond to the value passed in the MASTER COMMAND after
acknowledgement of the command.
Commands available:
Bit 0: Transmission of a SYNC and RTR TPDOs set (if the SYNC period is zero).
Bit 1: Transmission of a SYNC only (if the SYNC period is zero).
Bit 2: Stop/resume nodeguarding.
Bit 3: Reset RTR TPDO toggle bits.
7 6 5 4 3 2 1 0
- - - - Reset Tg NdGrd SYNC SYNC+ RTR
Remark: The outputs and inputs of device 0 are accessible via the data access library.
The toggle bit must be set alternately to „0‟ and ‟1‟ in order for the RTRs to be transmitted.
The RTR STATUS area seen in the application as INPUTs will be reset in the board as soon as
the RTR COMMAND byte is written and refreshed as the RTR PDO data arrives.
The application can read the device data when the toggle bit and the RTR bits in the inputs are
equal to the toggle bit and to the RTR bits written in the COMMAND.
Remark: The outputs and inputs of device 0 are accessible via the data access library.
The following example shows how to use the Command IO area with the data
access library.
Access this area on device 0.
Network configuration:
o A device 1 with a TPDO1 configured.
o A device 3 with a TPDO2 configured.
o Set the SYNC transmission period to 0 to disable it.
.
. Init
.
memset( byBufferOut, 0, 65);
byToggleBit ^= 0x80;
//Transmission of a SYNC
byBufferOut[0] = 0x02 ;
®
// Refresh data on the applicomIO board device 0
Equip = 0; Offset = 0; Nb = 4;
IO_WriteQByte (wCard, Equip,Offset, nb, byBufferOut, &Status );
IO_RefreshOutput (wCard, &Status );
.
.
. Processing
.
.
. Exit
See also:
In the knowledge base:
2 : Reading / writing objects with SDO messaging and sending NMT commands
3 : Use of CANopen Emergency Messages under OPC
Save in FIFO:
2
This option is used to save in a FIFO all TPDOs consumed.
Remark: So that the Synchronous Remote and Asynchronous Remote transmission types are
"
accessible the "IO Command option must be checked in the general configuration of the CANopen
master.
See also:
- in the knowledge base:
(1) Management of IO commands
Note: For COS and Cyclic connections, output sizes are determined by the output size for the
"Polling" connection.
The result of these requests can be viewed in "Equipment Information" in equipment properties of
the "Network Detection" tab.
The CAN network consists of a differential pair, which has a "polarity", as shown by the "CAN high"
and "CAN low" lines; under no circumstances should these be crossed.
Thin cable: Thinner and more flexible than the thick cable. It is normally used for the
drop lines. Supports up to 3A.
Ref.: BELDEN® 3084A (PVC) – 3085A (CPE)
Baud Rate
125 kbit/s
250 kbit/s
500 kbit/s
The twisted power supply pair must be connected to an external power source at +24V.
Troubleshooting
Synchronization Error with the Bus:
No healthy devices are present on the network!
®
The applicomIO board is not connected to the DeviceNet network or there is no +24V on
the network (the "Power Error" counter in the "Network" tab is incrementing).
The applicomIO® master does not have the same Baud Rate as the other devices in the
network (the "Error" or "Bus Off" counter is not equal to zero, or the "WARNING LEVEL"
is reached).
The DeviceNet network is not properly cabled (the "Error" or "Bus Off" counter is not equal
to zero, or the "WARNING LEVEL" is reached).
Profile Incompatible:
The device does not correspond to the configuration. The identity check has failed. Check
your configuration ("applicomIO® Description" tab).
The device does not correspond to the configuration. The connection sizes are different.
Check your configuration ("Connection Configuration" tab).
®
On-line actions (explicit message transmission, counter reading) are gathered in the applicomIO
DeviceNet console on two screens:
- DeviceNet on-line action: "Network" tab
- DeviceNet on-line action: "Explicit Message" tab
"Network" Tab
®
This tab indicates the connection status of the applicomIO board on the DeviceNet network.
LED
» Module/NetWork LED
LED indicating the channel status.
: OK.
: Scanner not active
: The channel is not "on line": MAC ID duplication check in progress or No power supply.
: Channel error: Bus Off. or MAC ID duplication detected.
®
: Network error. See applicomIO Status.
CAN
» Rx
Total number of bytes received.
» Tx
Total number of bytes sent.
» Rx Frames/s
Number of frames received per second.
» Tx Frames/s
Number of frames transmitted per second.
» OverRun
Reception buffer overrun counter. It displays the minimum number of frames lost.
» Errors
CAN error counter for transmission or reception. It displays the number of times when at least one
of the transmission or reception error counters of the CAN controller has reached or exceeded the
threshold of 96.
» Bus Off
CAN controller Bus Off status counter. It displays the number of times that the transmission error
counter has reached the value 255.
» Baud Rate
Transmission speed configured in the DeviceNet master.
» Reset Counters
Resets counters to zero: Rx and Tx, Rx Frames/s and Tx Frames/s counters, OverRun counter,
Error counter, BusOff counter and network load.
DeviceNet
» MAC ID
Address configured in the DeviceNet master.
» Status
DeviceNet Master status (See applicomIO® Status).
» Power Error
Counter detecting +24V power errors on the DeviceNet master channel.
» Reset counter
Resets the Power Error counter.
This tab enables the transmission of "Explicit Messages" on the DeviceNet network.
Address
» MAC ID
Address of the targeted device on the network. The address values range from 0 to 63.
» Class
DeviceNet object identifier. The address values range from 0 to 65535.
» Instance
DeviceNet object instance. The address values range from 0 to 65535.
» Attribute
Attribute of the DeviceNet object instance. If the attribute must be included in the message, the
value must range from 0 to 255. Otherwise, leave this field empty.
Command
» Send to Device
Transmits the explicit message defined by the service, the address and the data.
Communication Report
Displays the report of a read or write parameters operation:
: Messaging error. Communication with the device took place correctly but the device
returned an error message.
This tab enables you to modify, via the DeviceNet network, the Baud Rate and the MAC ID of the
devices supporting this functionality.
New Values
» MAC ID
New MAC ID to be applied to the device.
» Baud Rate
New Baud Rate to be applied to the device.
Receive
Displays the report of a read or write parameters operation:
: Messaging error. Communication with the device took place correctly but the device
returned an error message.
The "Apply Baud Rate" command sends the following "explicit message" to the DeviceNet
device:
Object: 3 – "DeviceNet"
Instance: 1
Attribute: 2 – "Baud Rate"
Service: 10hex - Set_Attribute_Single
Data: 0 [125 kBit/s], 1 [250 kBit/s], 2 [500 kBit/s].
'Strobe'-type Connection
"Strobe"-type messages enable rapid exchange of small quantities of input/output data between the
DeviceNet master and the devices.
In a single frame, the master transmits an output bit for each device configured with a "Strobe"-type
connection. The bit intended for the device is located in the frame at the position of the device's
MAC ID value.
The acknowledgement frames can be deleted by unticking the "Ack" box in the "Expert Mode"
dialog box.
In this example, the cycle time is 4 ms with an "Interscan Delay" configured at 2 ms.
Example:
For this device, "Strobe", "Polling" and "Cyclic"-type connections are configured as below:
The output bit of the "Strobe" message is the first bit of the first byte of the output variables of the
device in applicomIO.
Attribute ID Name
1 Vendor ID
2 Device Type
3 Product Code
4 Revision
Object Function
Connection Manages input/output connections and explicit messages.
Message Router Routes explicit messages to the target objects.
Identity Provides general information on the identity of the device.
DeviceNet Manages the configuration and status of the physical connection to the
DeviceNet network.
Assembly Groups together the attributes of several objects in a single data block, which
can be sent and received via a single connection.
Parameter Manages the configuration parameters of the device.
Application Device Manufacturer-specific objects.
®
With the applicomIO console:
Explicit messages are sent via the "Explicit Message" tab in "On-line Actions". To access
this tab, select a node in the "Network Detection" tree; the "On-line Actions" can then be
accessed with the button or with the "Network/On-line Actions..." command in the main
menu.
Messaging error. Communication with the device took place correctly but the device
returned an error message.
In this case, deactivate the Flex I/O device of the configuration and then reinitialize the
applicomIO® board with the PcInitIO command. Reactivate the Flex I/O device in your
configuration. You can now write in the Flex I/O device.
"Off-line" Configuration
Add your modules one by one with the "Add" command.
Select the module to add (double click on the module to view its parameters).
Caution: Any modifications will be taken into account by device only after the "Writing in the Flex
I/O" command has been used.
This tab enables you to configure the transition states of the headend. Double click on a parameter
to modify its value.
For more information, refer to the Allen-Bradley documentation.
®
If the applicomIO console is in "initialized" mode, the following mode is available.
» Memory Clean-up
This command forces the Flex I/O device to reinitialize with its default values.
This tab describes the input/output sizes and the configuration of module parameters.
» Configuring the Input/Output Sizes of a "Flex I/O" Module
Gives the sizes in words (16 bits) of the module inputs/outputs.
When the module is present in the "Flex I/O" configuration, you can modify the sizes by double
clicking or by pressing the space bar.
» Sizes for I/O Only
Resets "Input Size" and "Output Size" to their default values. They are then optimized for the
inputs / outputs.
Note: The "Input Size" and "Output Size" directly affect access to the parameters (Read Only or
Read-Write). If a parameter is " ", a symbol representing a key will appear next to it.
Double click on a parameter to modify its value.
For more information about the module parameters, refer to the Allen-Bradley documentation.
To do this, tick the "Device managed by another master" box in the "General Configuration" tab
(accessible in expert mode only).
When a device shares its inputs with another master, it is symbolized by the icon: if the device
is active, and by the icon: if the device is deactivated.
Communication is assured via the other master, which is in direct communication with this device.
This operation is transparent for the user.
Reading of Class 1 (Identity), Instance 1, Attribute 1 (VendorID) of applicom device no. 5 from board 1 of
the applicomIO® interface.
Remark: When including the "applicomio.h" file in a C++ project, you must include it in extern "C"
(extern "C" { #include « applicomio.h » } )
if (dwStatus == 0)
{
if (byRxBuf[0] == (byTxBuf[0] | 0x80))
{
/* No error message */
/* Response of device to the request */
}
else
{
/* Error message returned by device */
/* byRxBuf[0] == contains 0x94 */
}
}
else
See also:
In the documentation :
i. Status applicomIO
EtherNet/IP Compliance
The following attribute and service requirements for the Identity Object are supported. There is only
one instance of this object.
Class Attributes
Class Services
Instance Attributes
Instance Services
Class Services
Instance Attributes
Instance Services
Class Attributes
Class Services
Instance Attributes
Instance Services
Class Attributes
Class Services
Instance Attributes
Class Attributes
Class Services
Instance Attributes
Instance Services
Class Attributes
Class Services
Instance Attributes
Instance Services
Service
Number
Service identifier. A service name is associated with each number. To enter a personalized service
number, select the service name: "Customer Service".
Name
Explicit name of the service. A service number is associated with each name. The service name
"Customer service" is used to enter a personalized service number.
Data
Data
The data to be sent to the device.
The "…" button is used to set various control parameters. It allows data to be put into the desired
format.
Reception
Reception
Displays the data sent back by the device in response to a query.
The "…" button is used to set various control parameters. It allows data to be put into the desired
format.
Messaging
Connected
Unconnected
This tab is used to read and write device port parameters. To be active, a device shall
be selected.
These buttons can only be used if the board has been initialized.
Read the values from the device
Reads the values from the adapter.
Write values to the device
Writes values to the adapter.
In particular, you can change the adapter's IP address. To do this, the Link the
parameters checkbox must be unchecked to be able to enter the IP address in the
New IP address parameter.
EtherNet/IP Device
® st
Device variables in a device in applicomIO are made up in succession of variables for its 1
nd
connection then variables for its 2 connection if configured.
Default Items:
If the inputs/outputs datas are described in the EDS file, the console creates default items in
accordance with information from the EDS.
This items are available in OPC server.
1734-AENT PointIO
input:
Byte Byte 1 Byte 2 Byte 3 Byte 4 Byte 5 Byte 6 Byte 7 Byte 8 Byte 9 …
0
Status bits Data Data Data Data Data Data ….
Slot 1 Slot 2 Slot 3 Slot 4 Slot 4 Slot 5
Status bit
Each bit status corresponds to slot in rack optimization.
Ex Bit 0 = Slot 1, Bit 1 = Slot 2,…
Bit value:
1 = Bad value.
0 = value OK.
Data Slot n:
The byte 4 contains the data of the slot 1, if this slot is in Rack Optimization.
The byte 5 contains the data of the slot 2, if this slot is in Rack Optimization.
…
Output:
Byte Byte 1 Byte 2 Byte 3 Byte 4 Byte 5 Byte 6 Byte 7 Byte 8 Byte 9 …
0
8 bytes reserved Data Data ….
Slot 1 Slot 2
8 bytes reserved:
Data Slot n:
The byte 8 contains the data of the slot 1, if this slot is in Rack Optimization.
The byte 9 contains the data of the slot 2, if this slot is in Rack Optimization.
…
Input:
Byte Byte 1 Byte 2 Byte 3 Byte 4 Byte 5 Byte 6 Byte 7 Byte 8 Byte 9 …
0
Status bits Data Slot 1 Data Slot 2 Data Slot 3 ….
Status bit
Each bit status corresponds to slot in rack optimization.
Ex Bit 0 = Slot 1, Bit 1 = Slot 2,…
Bit value:
1 = Bad value.
0 = value OK.
Data Slot n:
The byte 4 and 5 contains the data of the slot 1, if this slot is in Rack Optimization.
The byte 6 and 7 contains the data of the slot 2, if this slot is in Rack Optimization.
Output:
Data Slot n:
The byte 0 et 1 contains the data of the slot 1, if this slot is in Rack Optimization.
The byte 2 et 3 contains the data of the slot 2, if this slot is in Rack Optimization.
…
Local slave
®
The input variables to the local slave in applicomIO are made up in succession of configuration
data from the connection then its input data.
Object Function
Connection Manages input/output and explicit message connections.
Message Router Routes explicit messages to target objects.
Identity Provides general information on the identity of the device.
DeviceNet Manages the configuration and status of the physical connection to the
DeviceNet network.
Assembly Groups the attributes of several objects in one data block which can be sent and
received via a single connection.
Parameter Manages the configuration parameters for the device.
Application Objects specific to the manufacturer of the device.
®
With the applicomIO console:
Explicit messages are sent using the "Explicit Message" tab from "On-line actions". To
access this, select a node from the "network detection" tree. The "On-line actions" are then
accessible using the button or the "Network/On-line action" command from the main
menu.
Explicit messaging
- wChan: 16-bit word giving the target applicomIO® channel. It is calculated using macro
CARD2CHAN which converts a board number to channel number (channel = (board-1)*4).
- wEquip: 16-bit word giving the number of the applicomIO® target device (0 to 127).
- dwMsgParam:
Unconnected: value 0x00000100UL.
Connected: value 0x00000101UL.
- wNbTx: number of bytes to send in the lpbyBufTx buffer.
- lpbyBufTx: pointer to the send buffer. The bytes are arranged as follows:
[0] : CIP Service.
[1] : Size of path in words (1 to 128).
[2]-[…] : Path
[2+PathSize]: Message data to be sent.
- pwNbRx: pointer to number of bytes received: indicates the number of bytes received if
the variable pointed to by pdwStatus is non-null.
See also:
in the documentation
applicomIO status
sample
Each time a new IP address is obtained by a DHCP or BOOTP server, this is saved in "flash
memory".
Any static IP configuration will also be saved in "flash memory".
If the applicomIO® board is initialized with the factory IP address, an information message
is displayed in the applicomIO® diagnostic tool.
If the applicomIO® board is initialized with parameters from the flash memory, an
information message is displayed in the applicomIO® diagnostic tool.
Distributing dynamic IP addresses with a bail could become a problem in industrial use
(loss of station due to change of IP address, end of bail, etc.)
To guard against this problem, reserve an IP address relative to a MAC address and set unlimited
bail.
If the Ethernet/IP local slave of the applicomIO® solution is used and no reservation is made, the IP
address of the board could be changed each time it is used. This makes communication with the
EtherNet/IP local slave difficult.
IMPORTANT: Each time the applicomIO® board is initialized, the current IP address will be
suggested to the DHCP server for it to attribute.
This options displays the expert parameters in the various configuration windows of the
applicomIO® console. Warning: Changing these parameters can change how the applicomIO®
solution operates.
Select "True" in the "Dynamic update of the DNS" line. This causes the board to register
automatically on the DNS server at each initialization.
Registration is only done on the primary server. It is done using the name of the host and the name
of the domain configured in static mode or obtained by the server in DHCP or BOOTP mode.
By default, this option is not enabled.
®
To do this, select File\Preferences\Expert mode from the applicomIO console
Any changes made to this parameter can stop one of the three services working properly.
TCP/IP appendix
IP address
Each interface on a TCP/IP network or subnetwork requires a unique IP address.
This address is determined according to the type of network:
open type network (e.g.: connected to the world wide web), the address or set of
addresses must be issued by a qualified organisation in the country where the network is
installed.
closed type network (intranet), the addresses are issued by the network administrator.
Using these two identifiers, the IP addresses can be divided into 5 classes:
The choice of an internal address, will therefore depend on the number of stations on this network,
generally a class C address is sufficient.
Special case: "loopback" destination address 127.0.0.1 , this address is used to test the TCP/IP
layer. A packet with a destination address of 127.0.0.1 will not leave on the network, the packet
drops to the IP layer then rises immediately to TCP.
Subnetwork mask
The class A and B addresses include many machines which are represented respectively on 24
and 16 bits. It is therefore recommended to divide the machine identifier into subnetwork identifier
and machine identifier.
For example, for a class B address:
This breakdown provides 254 subnetworks, with 254 machines per subnetwork. The subnetwork
mask is used to specify the bits used to create the subnetwork mask. This mask is a 32 bit word
containing bits set to 1 for the network and subnetwork identifiers, and bits set to 0 for the machine
identifier.
Example for a subnetwork mask of a class B address:
Using its IP address and the subnetwork mask, a machine can determine whether a packet is
intended for:
a machine on its own subnetwork.
a machine on another subnetwork (use of the IP address of the gateway).
a machine on a different network (use of the IP address of the gateway).
Example:
®
The applicom card has IP address 140.152.3.25 with a subnetwork mask at 255.255.255.0.
The address is therefore class B with a network id at 140.152, a subnetwork id at 3, and a machine
id at 25.The following devices must be queried:
Device 1 with address 140.152.7.10: identical network id (140.152), different subnetwork id
(7) => use of gateway.
Device 2 with address 140.152.3.20: identical network id (140.152), identical subnetwork id
(3), different machine id (20) => send direct to device.
Gateway
The TCP/IP IP layer (layer 3) can be used to change network or subnetwork via a dedicated
machine called a gateway or router. This machine requires at least two links on two different
networks. When the destination address is on a different network, IP uses the IP address of the
gateway to send the packet, this gateway is responsible for taking this packet completely and
sending it to the destination network.
Example: switch to an internal subnetwork:
Figure 1 : IP Gateway
The request intended for device 2 of address 140.152.7.10, is sent to the gateway 140.152.3.1
(switch from network 140.152.3 to 140.152.7). The gateway sends the request to device 2 , which
replies using the gateway 140.152.7.1.
We can quickly see that the wait time to find out whether a packet has not been acknowledged can
®
be very long: 542.5 seconds, or over 9 minutes. The applicom interface allows you to configure:
the number of retries.
the maximum interval between two retries.
To simplify the time-out calculation, it is easier to set the maximum interval between two retries at 1
®
second and then "juggle" with the number of retries, by default the applicom interface uses 2
retries, which gives you a time-out of about 3 seconds.
On very disturbed or very saturated networks (load greater than 30 %), it is best to put 4 retries.
Connection maintenance
The TCP connections can be maintained with the "connection maintenance" function in the TCP/IP
"Advanced parameters" (commonly called "keep alive"). This maintenance keeps the connection
alive even though there is no data circulating; also, if the partner device no longer responds to this
maintenance, the connection is automatically deleted.
®
The applicom interface can be used to validate or not this type of operating mode, whose
characteristics (not modifiable) are as follows:
Each curve corresponds to the response time of each device (2.5, 5, 7.5 and 10 ms).
These curves show that, as far as possible, you must avoid choosing period values which are too
small, which would penalize all the exchanges blocks in their respective refresh times.
Important:
These measurements correspond to a special configuration case: one exchange block of one word
in input, one exchange block of one word in output and identical device response time.
If several exchange blocks are configured in input (or in output), it is recommended to adapt their
periods according to the priority of the corresponding data. For example, the period for process
data (device Inputs or Outputs), which have high priority, must be less than that of information data
(e.g.: device status word), low-priority data.
This feature is called in the "Network detection" tab, by pressing the "Online action" button
Destination
IP address: Address of target device
Transport protocol:Type of transport protocol used to access the device
Values: TCP or UDP; by default TCP.
Destination port: Port used to connect to the target device
Write
Base register: Address of the register to write
Number: Number of words to write
Write: Press this button to write the specified register once
Continuous: Continuous write of the specified register
Stop on error: Stop writing as soon as an error is encountered
Number of writes: Total number of writes made
Use
Determination of the target device address
If you have carried out network detection beforehand and you select one of the
devices detected, the IP address of the device chosen will be automatically taken.
If no device is selected (you have not carried out network detection or if the "Network"
node is selected), a default IP address will be automatically calculated from the board
address with a station number = 0. You must specify the correct station number of the
target device.
Enter the protocol used (TCP/IP or UDP)
Enter the destination port (by default 502)
Read
Enter the value of the base register and the number of words to read.
Press the "Read" button to execute the command.
"Continuous" checkbox for a cyclic read of the register.
The "Stop on error" checkbox will stop the cyclic read if an error occurs.
The result of the read is displayed as well as the communication status.
Write
Enter the value of the base register and the number of words to write.
Press the "Write" button to execute the command.
"Continuous" checkbox for a cyclic write of the register.
The "Stop on error" checkbox will stop the cyclic write if an error occurs.
The result of the write is displayed as well as the communication status.
1
- pdwStatus: pointer to an applicomIO®. error status 32 bit word
if (dwStatus == 0)
{
if (byRxBuf[0] == (byTxBuf[0] + 0x80))
{
/* Error message returned by the device */
}
else
{
/* No error message */
/* Response by the device to the request
*/
}
}
else
{
/* Error returned by applicom */
}
See also:
In the documentation:
i. applicomIO Status
General points
Profibus DP is a fieldbus optimized for high-speed cyclic data exchange. Its characteristics,
described in European standard EN 50170 volume 2, allow exchanges of up to 244 bytes of useful
data at speeds from 9.6 kbit/s to 12 Mbit/s.
A text file is used to identify a master or slave Profibus DP device. The format of this file defined by
the standard allows the use of configuration tools independent of the device manufacturer. Each
device must have this identification file, generally designated by the extension “.GSD”. This file is
provided by the device manufacturer.
Each device is marked with an individual identification number (Ident Number). During the network
initialization phase, the master compares the identification number of each device with the one
defined at configuration time. This makes it possible to provide protection against configuration
faults.
Problem Cause
No equipment present after a network detection. Address conflict.
Break in cabling.
The network detection indicates a network problem. Address conflict.
Short circuit on the cable.
The correct operation of a Profibus network requires observance of the following points:
Each station has a unique physical address.
All stations are set to the same transmission speed or are capable of automatically
detecting the speed used.
The address of the highest station (HSA) of each master station is greater than or equal to
the address of the highest master station.
The exchange cycle control time in each slave station (Control Watchdog) is sufficient to
allow initialization and the data exchanges.
The receive wait time (TSL) of each master station is matched to the network architecture.
The value of this parameter increases for networks having several master stations or a
long cable length, or one using repeaters.
The presence of several files for the same equipment type is shown by the following dialog box:
A double click on the left mouse button or pressing the “Space” key allows viewing of the properties
of each GSD file compatible with the equipment detected on the network. After selecting the file,
validate with the “OK” button.
For a better integration of the equipments with the card configuration, it is recommended that the
GSD files for your equipments are added to the “Equipment library”. These files are generally
provided by the device manufacturer. For equipments which don‟t have a description file, the
configuration interface offers a virtual file “Generic device” which allows manual input of the
information necessary for integrating this equipment into the configuration. Use of the “Generic
device” is detailed in the chapter “Using the generic device”.
The functionality enabling use of Profibus DP services can be accessed from the DLL functions
library: "applicomIO.DLL".
Service Fonction
56 Read Input
57 Read_Output
58 Global Control
59 Get Config
60 Slave Diag
61 Set Global Control Group
62 Get Slave Parameter
63 Set Slave Parameter
67 Read Data Bloc C1
68 Write Data Block C1
69 Read Data Block C2
70 Write Data Block C2 -
72 Abort Data Block Comm C2
0x10037 Set Slave Adr
Parameter Type
wchan 16-bit integer. Number of the targeted communication
channel . One goes from a board number to a channel
number by using the CARD2CHAN macro.
wEquip 16-bit integer. Number of the targeted device.
dwMsgParam= 60 32-bit integer. Parameter associated with the messaging
command.
wNbTx 16-bit integer. Number of bytes sent.
byBufTx Table of bytes. Messaging command to be sent.
wNbRx 16-bit integer. Caution, this parameter is an input and output
parameter:
During call-up, maximum size of the returned table of bytes.
As feedback, number of bytes received.
byBufRx Table of bytes. Feedback from the device following the
command.
dwStatus 32-bit integer. Exchange status.
Parameter Type
wchan 16-bit integer. Number of the targeted communication
channel . One goes from a board number to a channel
number by using the CARD2CHAN macro.
wEquip 16-bit integer. Number of the targeted device.
dwMsgParam = 59 32-bit integer. Parameter associated with the messaging
command.
wNbTx 16-bit integer. Number of bytes sent.
byBufTx Table of bytes. Messaging command to be sent.
wNbRx 16-bit integer. Caution, this parameter is an input and output
parameter:
During call-up, maximum size of the returned table of bytes.
As feedback, number of bytes received.
byBufRx Table of bytes. Feedback from the device following the
command.
dwStatus 32-bit integer. Exchange status.
Parameter Type
wchan 16-bit integer. Number of the targeted communication
channel . One goes from a board number to a channel
number by using the CARD2CHAN macro.
wEquip 16-bit integer. Number of the targeted device.
dwMsgParam = 57 32-bit integer. Parameter associated with the messaging
command.
wNbTx 16-bit integer. Number of bytes sent.
byBufTx Table of bytes. Messaging command to be sent.
wNbRx 16-bit integer. Caution, this parameter is an input and output
parameter:
During call-up, maximum size of the returned table of bytes.
As feedback, number of bytes received.
byBufRx Table of bytes. Feedback from the device following the
command.
dwStatus 32-bit integer. Exchange status.
Parameter Type
wchan 16-bit integer. Number of the targeted communication
channel . One goes from a board number to a channel
number by using the CARD2CHAN macro.
wEquip 16-bit integer. Number of the targeted device.
dwMsgParam = 63 32-bit integer. Parameter associated with the messaging
command.
wNbTx 16-bit integer. Number of bytes sent.
byBufTx Table of bytes. Messaging command to be sent.
wNbRx 16-bit integer. Caution, this parameter is an input and output
parameter:
During call-up, maximum size of the returned table of bytes.
As feedback, number of bytes received.
byBufRx Table of bytes. Feedback from the device following the
command.
dwStatus 32-bit integer. Exchange status.
Parameter Type
wchan 16-bit integer. Number of the targeted communication
channel . One goes from a board number to a channel
number by using the CARD2CHAN macro.
wEquip 16-bit integer. Number of the targeted device.
dwMsgParam = 58 32-bit integer. Parameter associated with the messaging
command.
wNbTx 16-bit integer. Number of bytes sent.
byBufTx Table of bytes. Messaging command to be sent.
wNbRx 16-bit integer. Caution, this parameter is an input and output
parameter:
During call-up, maximum size of the returned table of bytes.
As feedback, number of bytes received.
byBufRx Table of bytes. Feedback from the device following the
command.
dwStatus 32-bit integer. Exchange status.
Parameter Type
wchan 16-bit integer. Number of the targeted communication
channel . One goes from a board number to a channel
number by using the CARD2CHAN macro.
wEquip 16-bit integer. Number of the targeted device.
dwMsgParam = 61 32-bit integer. Parameter associated with the messaging
command.
wNbTx 16-bit integer. Number of bytes sent.
byBufTx Table of bytes. Messaging command to be sent.
wNbRx 16-bit integer. Caution, this parameter is an input and output
parameter:
During call-up, maximum size of the returned table of bytes.
As feedback, number of bytes received.
byBufRx Table of bytes. Feedback from the device following the
command.
dwStatus 32-bit integer. Exchange status.
Parameter Type
wchan 16-bit integer. Number of the targeted communication
channel . One goes from a board number to a channel
number by using the CARD2CHAN macro.
wEquip 16-bit integer. Number of the targeted device.
dwMsgParam = 67 32-bit integer. Parameter associated with the messaging
command.
wNbTx 16-bit integer. Number of bytes sent.
byBufTx Table of bytes. Messaging command to be sent.
wNbRx 16-bit integer. Caution, this parameter is an input and output
parameter:
During call-up, maximum size of the returned table of bytes.
As feedback, number of bytes received.
byBufRx Table of bytes. Feedback from the device following the
command.
dwStatus 32-bit integer. Exchange status.
Parameter Type
wchan 16-bit integer. Number of the targeted communication
channel . One goes from a board number to a channel
number by using the CARD2CHAN macro.
wEquip 16-bit integer. Number of the targeted device.
dwMsgParam = 68 32-bit integer. Parameter associated with the messaging
command.
wNbTx 16-bit integer. Number of bytes sent.
byBufTx Table of bytes. Messaging command to be sent.
wNbRx 16-bit integer. Caution, this parameter is an input and output
parameter:
During call-up, maximum size of the returned table of bytes.
As feedback, number of bytes received.
byBufRx Table of bytes. Feedback from the device following the
command.
dwStatus 32-bit integer. Exchange status.
if (wLen)
{
if ( (wLen <= (244 -3)) )
{ /* Get slave data */;
GetData(&byTxBuf[wNbTx],wLen);
wNbTx += wLen;
}
else
Parameter Type
wchan 16-bit integer. Number of the targeted communication
channel . One goes from a board number to a channel
number by using the CARD2CHAN macro.
wEquip 16-bit integer. Number of the targeted device.
dwMsgParam = 69 32-bit integer. Parameter associated with the messaging
command.
wNbTx 16-bit integer. Number of bytes sent.
byBufTx Table of bytes. Messaging command to be sent.
wNbRx 16-bit integer. Caution, this parameter is an input and output
parameter:
During call-up, maximum size of the returned table of bytes.
As feedback, number of bytes received.
byBufRx Table of bytes. Feedback from the device following the
command.
dwStatus 32-bit integer. Exchange status.
Parameter Type
wchan 16-bit integer. Number of the targeted communication
channel . One goes from a board number to a channel
number by using the CARD2CHAN macro.
wEquip 16-bit integer. Number of the targeted device.
dwMsgParam = 70 32-bit integer. Parameter associated with the messaging
command.
wNbTx 16-bit integer. Number of bytes sent.
byBufTx Table of bytes. Messaging command to be sent.
wNbRx 16-bit integer. Caution, this parameter is an input and output
parameter:
During call-up, maximum size of the returned table of bytes.
As feedback, number of bytes received.
byBufRx Table of bytes. Feedback from the device following the
command.
dwStatus 32-bit integer. Exchange status.
if (wLen)
{
if ( (wLen <= (244 -3)) )
{ /* Get slave data */;
GetData(&byTxBuf[wNbTx],wLen);
wNbTx += wLen;
}
else
{ /* length error */
Parameter Type
wchan 16-bit integer. Number of the targeted communication
channel . One goes from a board number to a channel
number by using the CARD2CHAN macro.
wEquip 16-bit integer. Number of the targeted device.
dwMsgParam = 72 32-bit integer. Parameter associated with the messaging
command.
wNbTx 16-bit integer. Number of bytes sent.
byBufTx Table of bytes. Messaging command to be sent.
wNbRx 16-bit integer. Caution, this parameter is an input and output
parameter:
During call-up, maximum size of the returned table of bytes.
As feedback, number of bytes received.
byBufRx Table of bytes. Feedback from the device following the
command.
dwStatus 32-bit integer. Exchange status.
Parameter Type
wchan 16-bit integer. Number of the targeted communication
channel . One goes from a board number to a channel
number by using the CARD2CHAN macro.
wEquip 16-bit integer. Number of the targeted device.
dwMsgParam = 32-bit integer. Parameter associated with the messaging
0x00010037 command.
wNbTx 16-bit integer. Number of bytes sent.
byBufTx Table of bytes. Messaging command to be sent.
wNbRx 16-bit integer. Caution, this parameter is an input and output
parameter:
During call-up, maximum size of the returned table of bytes.
As feedback, number of bytes received.
byBufRx Table of bytes. Feedback from the device following the
command.
dwStatus 32-bit integer. Exchange status.
Notes :
applicomIO.h file shall be included like this in c++ project:
extern "C"
{
#include "applicomio.h"
}
PROFINET Service
Description
The functionality enabling use of PROFINET services can be accessed from the DLL functions
library: "applicomIO.DLL".
When you use the function « AuWriteReadMsg_io » with wEquip = 1 to 126, the action
of the code operation will be done only to the specified IO-Device.
When you use the function « AuWriteReadMsg_io » with wEquip = 127, the action of the
code operation will be done to all configured IO-Device.
OFFLINE/ONLINE/RUN
What is OPC?
OPC is in fact only the specification of a standard. This standard describes the set of objects and
their interfaces which any “OPC server” must implement so as to provide greater interoperability
between checking/control/supervision applications, for industrial equipment (API, sensors,
actuators) and automated office management applications.
The OPC concept is based on the client / server architecture of the COM model. The same client
application can call upon a number of “OPC servers” simultaneously and the servers can be located
either on the local machine or on remote machines (through DCOM, that is, distributed COM).
The applicomIO® OPC server is identified in the MS-Windows operating system by means of its
ProgID (program identifier):
ProgID “APPLICOMIO.OPCServer” ;
*These data types can be sent by the server only after modification of the default formats of the
byte, word or double word type variables. This modification is made using the check boxes of the
®
Data format section of the Expert tab of the OPC server parameters of the applicomIO console.
** Can correspond to each of the usable unit types.
The following table shows the variant types returned when using predefined items:
Note:
It is also possible to force the start-up of the server directly with the diagnostic window. To do this,
the OPCIO server must be started with the /WINDOWS option.
Syntax
Type Access rights
Standard IEC
BI* %I* Input bit READ ONLY
BI* %IX* Input bit READ ONLY
OI* %IB* Input byte READ ONLY
WI* %IW* Input word READ ONLY
DI* %ID* Input double word READ ONLY
FI* %IF* Input floating word READ ONLY
BO* %Q* Output bit READ/WRITE
BO* %QX* Output bit READ/WRITE
OO* %QB* Output byte READ/WRITE
WO* %QW* Output word READ/WRITE
DO* %QD* Output double word READ/WRITE
FO* %QF* Output floating word READ/WRITE
* designates respectively, for discrete and numeric type variables, the position of the item as a bit
or as a byte with respect to the start of the memory representation of the equipment.
For using arrays, simply add a "_" to the syntax followed by the number of data items in the array.
Eg : WO3_5 is an array of 5 words. The first word is at address 3.
When navigating in the usable items (diagnostic mode, OPC type browser, etc.), by default the
generic syntaxes do not appear. To make them appear:
Switch the console into Expert mode (menu File/Preferences/Expert mode)
Open the OPC server parameters configuration box (from the description area tree)
Select the Expert tab
In the Using OPC server with section, you can then enable the IEC syntaxes or standard
syntaxes check box
Note: It is possible to add display format modification suffixes after a generic syntax (see
knowledge base Display format modification suffixes).
The following table shows the default formats and the suffixes which can be used according to the
data type:
Format
Data type
Default Permitted
Byte (8 bits) _S All
Word (16 bits) _U All
Double word (32 bits) _S _H _B _% _A
Float (32 bits) _S _A _%
Note:
It is possible to modify the default formats of byte, word and double word type variables using the
check boxes in the Data format section of the Expert tab of the OPC server parameters of the
®
applicomIO console.
Remarks:
To use these items, you must use event mode. When an item changes value, the
information is returned directly to the client by event mode.
A synchronous/asynchronous read can only be carried out in the cache memory. It is
impossible to read in the device directly.
The successive values of an item are saved in a list until the server transmits them to the
client. This mechanism enables the client to obtain all the values of the item, even if several
emergencies are generated within a very short time.
By default, it is impossible to have a correct initial value for all these items. Consequently,
during initialization, the OPCIO server assigns an "uncertain" quality for each item, until an
emergency occurs. If this operation should cause a problem, however, you can force an
initial value for these items.
1. In the applicomIO installation directory, edit the file itemdll.ini and change the value of
the key "bEnableUncertainQuality" in section "EMCY_CAN", with value "FALSE".
2. Change the values of "bBitDefaultValue" and "nDefaultValue" in the same section.
The first key sets the initial value of the bit type data, and the second all the other data
types.
Transparency
For the client, the use of a COM object via DCOM or via the local COM mechanisms is completely
transparent. The operating system, via the COM library, manages the object and determines
whether it must be instantiated according to the configuration associated with the object.
Installation
®
When implementing the applicomIO OPC solution you will have to carry out the following
operations:
Set up a "server station" containing the solution applicomIO® that can be accessed,
either from a local OPC client (running on the machine), or from a remote OPC client (running
on another machine)
Set up a "client station" and querying a remote station.
Windows Firewall
The Windows firewall allows traffic across the network interface when initiated locally, but
by default stops any incoming “unsolicited” traffic. However, this firewall is “exception
based, meaning that the administrator cans specify applications and ports that are
exceptions to the rule and can respond to unsolicited requests.
The firewall exception can be specified at two main levels, the application level and the
port and protocol level. The application level is where you specify which applications are
able to respond to unsolicited requests and the port and protocol level is where you can
specify the firewall to allow or disallow traffic on a specific port for either TCP or UPD
traffic. To make any OPC client/server application work via DCOM, changes need to be
made on both levels.
Note: if may be appropriate to permanently turn off the firewall If the machine is
sufficiently protected behind a corporate firewall. When turn off, the individual firewall
settings outlined here need not to be performed to allow OPC communication.
Note: Only EXE files are added to the exceptions list. For in-process Clients (DLLs and
OCXs) you will need to add the EXE applications that call them to the list instead.
Name: DCOM
Port number: 125
DCOM Enhancements
“Service Pack 2 for Windows XP” and Vista has also made some security enhancements to
DCOM; two in particular need to be taken into consideration when using OPC on a
network: First, the default Launch and Access permissions dialogs have been modified to
allow the user to configure .limits on the permissions given to applications using DCOM.
Secondly, for each user now defined in the Launch and Access permissions, both local and
remote access can be explicitly defined.
Configuring DCOM
The program "DCOMCNFG"
Before a client can use a COM object on another machine, the properties of the COM object must
be configured on the client machine and on the remote machine. DCOM and the COM objects used
are configured by using the program supplied with the dcomcnfg system in the
Windows\System32 directory. After starting the program, for example by entering the command
dcomcnfg in the Run dialog box (Start menu), four tabs are available for the DCOM configuration.
Note:
If you reduce the security parameters, you will still have to restart the system so that they are taken
into account.
Caution:
The screen dumps were made under Windows XP SP2, there may be some slight changes
between screen shoots done with earlier operating system.
Only the tabs which have to be modified are described.
The parameters specified in this documentation simply guarantee that the DCOM protocol can be
started. However, most Windows NT security parameters have been reduced. To obtain a higher
level of security, you must strictly respect a configuration in compliance with the DCOM principles.
For further information, refer to articles Q176799, Q158508 and Q169321 in the "Microsoft
Knowledge Base".
Under Windows XP, the utility dcomcnfg takes the following form:
To obtain the general properties configuration box, select the node „My Computer‟ in the tree
under \Console Root\Component Services\Computers\, then choose the Properties option in the
menu with a right click or in the Action menu.
Do not use this tab. The OPC server rights will be set individually later on.
The following default rights can be set to use DCOM. These rights can be set individually for each
object and these default properties will then be ignored.
Note: This setting is necessary for OPCEnum.exe to function and for some OPC Servers and
Clients that set their DCOM 'Authentication Level' to 'None' in order to allow anonymous
connections. If you do not use OPCEnum you may not need to enable remote access to
anonymous users
Select the applicom OPC Server and click on the Properties … button to start the configuration of
the parameters specific to the OPC server.
Type Action
Interactive user This is the recommended default choice for the applicom® OPC server.
The user account which opened the current session is used. If, however, no user is logged on the machine,
there is no interactive user and the COM object cannot be created. In this case, select This user.
The running user The user account which started the OPC client is used. This user must then have the necessary rights, and
therefore belong to the Security tab. This mode generally results in the starting of a server instance for
each user running. This option must not be used with the applicom® OPCserver.
This user The user account indicated is used. This user must then have the necessary rights, and therefore belong to
the Security tab. The user must have the default rights allocated to the Users group of the machine, in
other words, must belong to the Users group. This choice must be used for the servers where no user is
logged on.
To work with the OPC server, only the access rights and the run rights have to be configured:
Note:
On the server machine as well as on the client machine, the accounts of the two persons logged on
must exist.
Example: The A user is logged on the machine hosting the server and the B user is logged on the
machine hosting the client. To use DCOM, a B account must exist on the server station (with the
same password as on the client machine) and an A account must exist on the client station (with
the same password).
If you work with a domain, you are recommended to use a group including the user accounts. The
rights are then managed from the domain server.
“General” tab
Remark
Under Windows XP, the DCOM configuration utility DCOMCNFG is slightly different from that
present on a Windows 2000 or NT4 workstation. Refer to paragraph “DCOM configuration”
Caution:
The screen dumps were made on a French Windows 2000 station. They may be different on
another system.