GSD file interpretation of Module entries

Ken Roach

Lifetime Supporting Member + Moderator
Join Date
Apr 2002
Location
Seattle, WA
Posts
17,442
I have a customer who is trying to use Allen-Bradley PowerFlex 70 drives with a Profibus interface with an SST Profibus scanner for the PLC-5 controller.

If you're familiar with A-B drives and the way they work on networks, they generally map two 16-bit Words of Input and Output data each.

The first 16-bit Word of Input is bitwise status; drive enabled, running, etc. The second 16-bit Word of Input is a value that feeds back the Output Frequency.
The same is true for Output data, except the Command word represents Stop, Start, Jog, etc. and the Frequency Reference is the frequency at which the drive will run.

What's working strangely in this configuration is that the two bytes that make up each 16-bit Word for the drive appear to be swapped when they end up in the PLC-5 data table.

What I've gotten from SST and A-B technical support is that the SST module will map Word data differently from Byte data; if your GSD file defines a data object as Word type, it will be mapped High byte first. If it defines the data object as Byte type, it will be mapped Low byte first. That's all they had to say, so far.

So how do I change my GSD file ? The only place I can imagine the format of the I/O Module is defined is in a string of octets in the Module configuration section:

Module = "Ctrl/Stat & Ref/Fdbk (2+2bytes)" 0xC1, 0x83, 0x83, 0x01;
EndModule;

Does anyone know what those four hex bytes mean in a GSD file ?

I have searched all over various Profibus trade organization sites and even downloaded their GSD Editor, but only want to solve this one little conflict, not develop a Profibus product or join the PTO, and thus don't want to pay 300 GBP for the Specification.
 
The quick answer is

A partial listing from our .GSD file for our motion controller.

; Each axis of MDT uses 2 registers in and 2 registers out.
;
; Module word-organization with Send and Receive Data for 2 axes.
; 4 Word Consistency (RMC with two axes)
Module = "2 Axes without Sync" 0xF3
EndModule

This is what we use for two axes. The high nibble specifies word, access data consistency, in and out etc. The 3 specifies 4 registers. I would try 0xF1 for one axis. I am sure the high byte would be F for any motion application. The one is 1 less than the number of input or output registers to be transfered. I can look up what each of the bits are that make up the F but I know that for our applications ( motion ) we always use data consistency and word access.

I can look up what all four bytes mean. Sometime we too need to use more than one byte but not for less than 16 registers.

You should need just 0F1 if you truely need only two word registers in and two word register out with data consistency.
 
Aha, so it's not unlike the path values in DeviceNet EDS files, where the data format is not a byte but a set of bits within a nibble.

300 pounds sterling sounds cheaper all the time.

Thanks for your help, Peter. I'll post what the solution is if I get any more from A-B or SST.
 

Similar Topics

Inside GSD file I have something like this: Max_User_Prm_Data_Len = 3 Ext_User_Prm_Data_Const(0) = 0xC0, 0x00, 0x00 and few lines below like...
Replies
0
Views
2,010
Did anyone please help me with gsd file of krones heating module(make Siemens)
Replies
0
Views
74
Did anyone please help me with gsd file of krones heating module(make Siemens)
Replies
0
Views
85
Hi guys, I need a GSD file for the following sinamics drive (S120). IO Device SINAMICS S120 CU320-2 PN V4.4 PN-V2.2 with DriveES/SIMOTION...
Replies
6
Views
1,286
I have a device that is connected via modbus to a modbus-profinet converter, and then to a scalance switch. I have no idea how to establish...
Replies
4
Views
1,721
Back
Top Bottom