industrialNETworXnetx

| 08.11.2007 | 10:12 | 16 replies

CIFX 50-RE PC Card & Windows XP

Hello,

One question. I have the following:

* CIFX 50-RE PC card
* Installed it in Windows XP, cifX setup & test work fine
* I have put EtherCAT Slave software on it (0.96.0)
* Compiled examples from the CD, work fine

BUT:

Do I have enough to have an EtherCAT slave? Can it work with Win XP? I need just inputs/outputs using CoE (that is, PDO), nothing fancy!

Anyone knows something about it? Am I missing something?

Regards,
DN

Andreas Jacob

Andreas Jacob

Hilscher Gesellschaft fuer Systemautomation mbH

| 08.11.2007 | 10:24

Hi DN,

what kind of "Compiled examples from the CD" do you have ? As I know is the only existing example from the cifX CD the C-Toolkit example.

But anyway, yes you have enough with the cifX card and the stack to have an EtherCAT Slave device.

| 08.11.2007 | 11:01

Hello,

well, yes, there is only one example (Toolkitsample.cpp), I wasn't really precise. I played with it a bit, and everything "works", but in fact does not.

Somehow my card is always in INIT. I have set in ECAT_DPM_WARMSTART_REQ_T ulSystemFlags to 0, thereby clearing the app_controlled flag. I know I'm missing something, but I don't know what.

Best regards,
dn

code- small

code- small

Hilscher Gesellschaft für Systemautomation mbH

| 08.11.2007 | 11:16

Hi DN,

What EtherCAT master do you have connected?

Greets,
code-small

| 09.11.2007 | 08:32

Hi everyone,

I'm using EtherCAT Studio .net from Koenig PA.

Best regards,

DN

code- small

code- small

Hilscher Gesellschaft für Systemautomation mbH

| 09.11.2007 | 10:49

Hi Dn,

That is actually all what is required to build a small EtherCAT system. However, did you put the XML file into the master's Device Description File repository? Have you tried the 4 Byte In/ 4 Byte Out configuration?
What values do you use for the warmstart message?

There is no problem with Win XP.

Greets,
code-small

th_elste

th_elste

| 09.11.2007 | 13:07

Hi,

I've a similar problem with the CIFX50RE. I've had some performance problem with an older firmware version. I requested a new version from Hilscher support following the advice from code-small and got version 0.97.1 Build 2. Problem is, I can't get the card to work at all with this version anymore. It is refusing to go from INIT to PREOP with 0x0016 set in the Al-Status register, which translates afaik into "Invalid mailbox configuration". I've tried using TwinCat and the IgH-Master. My warmstart parameters are set to:

VENDOR_ID = 0x00000044
PRODUCT_CODE = 0x6e657478
REVISION_NUMBER = 0x00050000
SERIAL_NUMBER = 0x00000003
INPUT_LENGTH = 4
OUTPUT_LENGTH = 4
IO_DATA_STATUS = 0
WATCHDOG_TIME = 0
BUS_STARTUP = manual (I've tried automatic, too)
COMMUNICATION_SYSTEM = Ethercat

Maybe these problems are related, so I've decided to post this here and start no new thread.

Regards
Thomas

| 14.11.2007 | 16:19

Hello everyone,

since there is (at least) two ways to program for the Hilscher EtherCAT slave, I'm asking myself is dual-memory approach enough, i.e. is there something that must done with stack task to enable the whole thing?!

Best regards,

DN

code- small

code- small

Hilscher Gesellschaft für Systemautomation mbH

| 14.11.2007 | 17:16

Hi,

@DN:

No, the minimum requirement for the EtherCAT slave is that the Warmstart Message is sent and confirmed successfully.

If configured to manual, you have to set the BusOn additionally.

@all:

the current warmstart values for the standard configuration of the cifX is:

all cifX EtherCAT Slave firmware versions from V0.97.0.0 on

VENDOR_ID = 0x00000044
PRODUCT_CODE = 0x00000001
REVISION_NUMBER = 0x00020000

Have you got a XML file with the firmware? If not, please request the current one from netX support.

The current XML file delivered with the firmware is matching those values.

@th_elste:

Please can you add the firmware version of the old version.

The error "Invalid mailbox configuration" is caused by having the wrong XML file selected by TwinCAT.

The change of the XML file happened on the switch to V0.97.0.0 which relates to an update of the ESC implementation.

Please check if you got a XML file delivered with the firmware. Otherwise, be advised to request one from netX support.

Greets,

code-small

| 15.11.2007 | 09:30

Hello,

I got the XML (Hilscher cifX RE.xml) with the new firmware (0.97.1 build 2), but when I looked inside I found:

ProductCode="#x00000001" RevisionNo="#x00010000" Is the different revision a problem?

I additionally found out that the König PA EtherCAT master (in trace mode) shows messages like this all the time:

ECATMaster [00000bec][E]Command: Process frame error: invalid working counter for acyclic command (Cmd:4, Addr: 0x013003e9, Read diagnostic slave state)(received value is #0).

Anyone having any idea?

Thanks everyone,
DN

code- small

code- small

Hilscher Gesellschaft für Systemautomation mbH

| 15.11.2007 | 09:35

Hi Dn,

Somewhy you got the wrong XML file.
Please request a new file for the cifX which contains RevisionNo="#x0020000".

There have been changes which render XML files not usable which were working with firmware version before V0.97.0.0 .

Greets,
code-small

| 15.11.2007 | 09:52

Thanks a lot!

DN

th_elste

th_elste

| 19.11.2007 | 10:52

Hi,

I've received a new XML file from Hilscher support today, too. The card seems to be working again.

Thanks for your advice
Thomas

| 19.11.2007 | 15:16

Hi,

Thomas, can you describe here what is your configuration? I got the XML as well, but it didn't help.

Best regards,

DN

th_elste

th_elste

| 20.11.2007 | 12:54

Hello DN,

I'm using the card under Linux with the Hilscher C-Toolkit (slightly modified), so I've no idea, if this works for the Windows driver as well. But these are my warmstart parameters:

# Bootloader to use
BOOTLOADER = /usr/share/libcifxtk/NXCIF50-RTE-922.bin

# Firmwarefile to use
FIRMWARE = /usr/share/libcifxtk/ecscifx.mod

# Vendor ID of the Ethercat-Slave (default 0x00000044)
VENDOR_ID = 0x00000044

# Product Code of the Ethercat-Slave (default 0x6e657478)
PRODUCT_CODE = 0x00000001

# Revision Number (default 0x00050000)
REVISION_NUMBER = 0x00020000

# Serial Number (default 0x00000003)
SERIAL_NUMBER = 0x00000000

# Process Data input length 0-64 Bytes (default 4)
INPUT_LENGTH = 4

# Process Data ouput length, 0-64 Bytes (default 4)
OUTPUT_LENGTH = 4

# I/O Data status size, 0,1 or 4 Bytes (default 0)
IO_DATA_STATUS = 0

# Watchdog timeout, 0-65535, 0 means off (default 0)
WATCHDOG_TIME = 0

# Bus Startup type, automatic or manual (default manual)
BUS_STARTUP = manual

# Communictation System to use, Ethercat (default Ethercat)
COMMUNICATION_SYSTEM = Ethercat

(Don't mind the syntax. I'm using a text based config file for the toolkit.)

Greets
Thomas

| 21.11.2007 | 11:38

Hi thomas,

I'm using this:

packECAT.tData.ulWatchdogTime   = 10000;
packECAT.tData.ulVendorId       = 0x00000044;
packECAT.tData.ulProductCode    = 0x00000001;
packECAT.tData.ulRevisionNumber = 0x00020000;
packECAT.tData.ulProcessDataInputSize  = 4;
packECAT.tData.ulProcessDataOutputSize = 4;

Everything else is set to 0. I set the communication system, firmware etc. by a Control Panel applet Hilscher provides with the driver installation.

Best regards
DN

th_elste

th_elste

| 21.11.2007 | 16:34

Hello DN,

the only difference between our settings seems to be the watchdog time. I've never used the watchdog so far and have therefore always set it to 0.
The only other thing I'm doing after the firmware is downloaded to the netX is setting the bits APP_COS_APP_READY, APP_COS_BUS_ON, APP_COS_BUS_ON_ENABLE in the application change of state register in the control block of the com channel located at 0x308 in the DPM (netX_DPM_Interface_Rev04.pdf, page 51).

Greets
Thomas

Login