Profibus GSD file Import - I/O setting - selection of conversions rule.

In Analog transmitter GSD contains 2 bytes of Process data input with 2 bitoffset and gradient of 0 .01. Which coneversion rule reqired ? If I select 1Byte to DInt then after how to convert two indevedual byte to real process value?

 Gsd Input word.JPG


Add New Comment


fenilgandhi   

asked 2 months ago
Closed



Best Answer

1

Hi,

If you are using the Wizard to define the datatype of the GSD file, select a DInt type with the two bytes. After, in your program, execute the function dint_to_real.

Other option is read both bytes in a variables "word" and convert to real with words_to_real(real, word1, word2, BigEndian)

I hope this could help you.

Best regards

Daniel Gil   

answered 2 months ago


 


By fenilgandhi on 10/9/2017 | Like (0) | Report

Hi Daniel,
Thanks for Support.
I am using 2Byte to 1DInt unsigned
conversation rule.
Then I am converting Dint to Int.
After that by SHR function block I am Shifting Bit offset 2.
This is correct procedure?


By Daniel Gil on 10/9/2017 | Like (0) | Report

You are welcome.

Maybe you'll have some troubles if you use DInt, because it's necessary to use the SHR function I think is better if you convert to DWordIO the two bytes of GSD

The code could be something similar to this:
P_real := dword_to_real ( shr( in := TEST_1.Value, n := 2 ) ) * 0.01 + 0;
where:
"P_real" is real and "TEST1" is DWordIO

Please, you must check the conversion with the real system.


By fenilgandhi on 10/10/2017 | Like (0) | Report

Hi Daniel,
Thanks for solution.

Dword_to_real Conversion Creating some problem.
For example Dword 16#19 showing real Out Value 0.
How to convert this value?


By Daniel Gil on 10/10/2017 | Like (0) | Report

dwords_to_real use IEEE format.

Try with dword_to_dint
P_real := dword_to_dint ( shr( in := TEST_1.Value, n := 2 ) ) * 0.01 + Offset;

Best regards


By fenilgandhi on 10/10/2017 | Like (0) | Report

Thanks for Solution. Working with Dword_to_Dint.


Add New Comment


Answers

1

Hi,

If you are using the Wizard to define the datatype of the GSD file, select a DInt type with the two bytes. After, in your program, execute the function dint_to_real.

Other option is read both bytes in a variables "word" and convert to real with words_to_real(real, word1, word2, BigEndian)

I hope this could help you.

Best regards

Daniel Gil   

answered 2 months ago


 


By fenilgandhi on 10/9/2017 | Like (0) | Report

Hi Daniel,
Thanks for Support.
I am using 2Byte to 1DInt unsigned
conversation rule.
Then I am converting Dint to Int.
After that by SHR function block I am Shifting Bit offset 2.
This is correct procedure?


By Daniel Gil on 10/9/2017 | Like (0) | Report

You are welcome.

Maybe you'll have some troubles if you use DInt, because it's necessary to use the SHR function I think is better if you convert to DWordIO the two bytes of GSD

The code could be something similar to this:
P_real := dword_to_real ( shr( in := TEST_1.Value, n := 2 ) ) * 0.01 + 0;
where:
"P_real" is real and "TEST1" is DWordIO

Please, you must check the conversion with the real system.


By fenilgandhi on 10/10/2017 | Like (0) | Report

Hi Daniel,
Thanks for solution.

Dword_to_real Conversion Creating some problem.
For example Dword 16#19 showing real Out Value 0.
How to convert this value?


By Daniel Gil on 10/10/2017 | Like (0) | Report

dwords_to_real use IEEE format.

Try with dword_to_dint
P_real := dword_to_dint ( shr( in := TEST_1.Value, n := 2 ) ) * 0.01 + Offset;

Best regards


By fenilgandhi on 10/10/2017 | Like (0) | Report

Thanks for Solution. Working with Dword_to_Dint.


Add New Comment



Get weekly AKS updates


Partner Exclusive Webinars

 

> – Login to the partner portal to register



Points Redemption Program - Redeem your points for ABB training, Bluetooth speakers and mugs. Terms and conditions >


Earn points when you refer a friend
AKS Referral Program is "Live" - Learn more



AKS Experts


avatar
Ask Flavio Mussolin   

Rank: 4

ABB AVP, Senior Electronic and Automation Engineer with over 30 years of experience in the field of process automation automotive, pharmaceutical, hollow glass, steel and rolling.


avatar
Ask Dieter Henkel   

Rank: 23


avatar
Ask nikismith   

Rank: 270

I have been a part of the Recording & Control Factory team for 17 years in total, having spent a number of years as a repairs technician withi the manufacturing department, but being in my current role for 9 years now.


avatar
Ask Govindaraj   

Rank: 10

Working in ABB India Operation Center. Have Project engineering and commissioning experience in ABB 800xA, Freelance, AC500.


avatar
Ask MMM   

Rank: 5

ABB PA CT Technical Support


avatar
Ask Harsha.D   

Rank: 6

Tech.Support,software and commisioning engineer with Proficient knowledge in 800xA and its products, RNRP,Networking in general.


avatar
Ask Rob Lyon   

Rank: 3

info@lymac.co.nz I'm an independent DCS software and commissioning engineer with extensive experience in 800xA and other ABB products. I've worked in almost every corner of the world and still haven't seen it all.


avatar
Ask Stefan Stromqvist   

Rank: 1

I joined ABB in the year of 1994 and has since 1999 been working as a Service & Support Engineer at BU Control Technologies in Västerås, Sweden. My areas of expertise are: 800xA Base, 800xA for Advant Master, Information Management, operating systems, RNRP and Ethernet comms/networking in general.


avatar
Ask Sumit Gargav   

Rank: 2

I have worked with Freelance in majority, with 800xA FD and Melody system partly. Also had opportunity to work with Protocols - HART,Profibus,FF & Modbus.


avatar
Ask WvanWees   

Rank: 7

I'm a senior service engineer working for ABB in The Netherlands.


avatar
Ask kstoilov   

Rank: 15

Control System Engineer: 800xA, Compact 800, AC500, AC31-50, Advant Master, Simatic, AC&DC Drives 11 years worked for ABB - Control Systems