You are on page 1of 2

If I want to explain the differences as simply as I can, I should mention that the PZD (Process data) has two

words.
First one is used to send and receive the set point, and the second one is used to send and receive drive status (for
example ON, OFF, READY, FAULT and ...).
But in PKW (Parameter identifier value), you can use 4 words to Read or Write parameters value (for example motor
parameters, rated speed and ...). The first two words are used to identify the parameter number and the last two
words are used for parameters value.
The biggest problem in PKW communication is how to read or write parameters value. The first time, when I wanted
to use PKW, I had a lot of problems! Here, I will explain it basically.
There is 4 words in PKW for input and output.
For example QW512, QW514, QW 516 and QW 518 are defined for outputs and IW512, IW514, IW 516 and IW 518
are defined for inputs.
QW512 and QW514 are used for parameter number and QW516 and QW518 are used for parameter value.
If you want to read the value of a parameter, first you should convert the parameter number from DEC to HEX. For
example we want to read the parameter number 918 (it refers to Profibus address), the HEX format of 918 is 396.
Then we should send X396 to QW512 that X is 1 for read and 2 or 3 for write. For example to read the value of
parameter number 918, QW512 would be 1396.
For the second word (QW514), we have XYZY that XY is 0 for parameter number under 2000 and 80 for parameter
number between 2000 and 3999. ZY is index number for some parameters that need index and it could be 01, 02,
.
If you want to read a parameter value, QW516 and QW518 are not used, but for writing a value in a parameter
number we should use these two addresses to send the value and I will explain it later!
For input addresses, IW512 and IW514 are used to receive parameter number and IW516 and IW518 are used to
receive parameter value. If the value is a word, we can calculate it by converting the value of IW518 for HEX to DEC.
But if the value is double word, it is not as simple as single word and this is the problem!
First of all, we have a basic formula: Value=(sign)*Power*M
Do NOT Forget this formula!
If you want to read the double word, first you should convert these two word to bits:
IW516 IW518 -> Bit31 Bit00
Bit31 is the sign (0 is positive and 1 is negative).
Bit30 to Bit23 (8 bits) should be convert to DEC and we named it P and then we can calculate the power by this
formula: Power=2^(P-127).
Bit22 to Bit00 should be convert to DEC and we named it R. Then we can calculate M by this formula: M=1+(N/
(2^23))
Now we have Sign, Power and M and we can calculate the value by Value=(sign)*Power*M.
Example: Reading from parameter P1082 (1082 = 43A (hex))
PROFIBUS => MICROMASTER : 143A 0000 0000 0000, requests the value from P1082.
143A -> QW512
0000 -> QW514
0000 -> QW516
0000 -> QW518
MICROMASTER => PROFIBUS : 243A 0000 4248 0000
243A -> IW512
0000 -> IW514
4248 -> IW516

0000 -> IW517


the response indicates that it is a double word (2 in 243A indicates the double word) with the value 4248 0000.
To read this double word we use the above formula:
Value=(sign)*Power*M
In this example, 4248 0000 is bit format is
0100 0010 0100 1000 0000 0000 0000 0000
Bit31=0 -> sign=1.
Bit30 to Bit23=1000 0100 -> P=132 -> Power=2^(132-127)=32
Bit22 to Bit00= 100 1000 0000 0000 0000 0000 -> N= 4718592 -> M=1+(4718592/(8388608))= 1.5625.
Then Value=(sign)*Power*M= (1)*32*1.5625=50.