Help
  • Explore Community
  • Get Started
  • Ask the Community
  • How-To & Best Practices
  • Contact Support
Notifications
Login / Register
Community
Community
Notifications
close
  • Forums
  • Knowledge Center
  • Events & Webinars
  • Ideas
  • Blogs
Help
Help
  • Explore Community
  • Get Started
  • Ask the Community
  • How-To & Best Practices
  • Contact Support
Login / Register
Sustainability
Sustainability

We Value Your Feedback!
Could you please spare a few minutes to share your thoughts on Cloud Connected vs On-Premise Services. Your feedback can help us shape the future of services.
Learn more about the survey or Click here to Launch the survey
Schneider Electric Services Innovation Team!

16 Bit Modbus Point to High Byte Low Byte

EcoStruxure Geo SCADA Expert Forum

Schneider Electric support forum about installation, configuration, integration and troubleshooting of EcoStruxure Geo SCADA Expert (ClearSCADA, ViewX, WebX).

cancel
Turn on suggestions
Auto-suggest helps you quickly narrow down your search results by suggesting possible matches as you type.
Showing results forΒ 
ShowΒ Β onlyΒ  | Search instead forΒ 
Did you mean:Β 
  • Home
  • Schneider Electric Community
  • Remote Operations
  • EcoStruxure Geo SCADA Expert Forum
  • 16 Bit Modbus Point to High Byte Low Byte
Options
  • Subscribe to RSS Feed
  • Mark Topic as New
  • Mark Topic as Read
  • Float this Topic for Current User
  • Bookmark
  • Subscribe
  • Mute
  • Printer Friendly Page
Invite a Co-worker
Send a co-worker an invite to the portal.Just enter their email address and we'll connect them to register. After joining, they will belong to the same company.
You have entered an invalid email address. Please re-enter the email address.
This co-worker has already been invited to the Exchange portal. Please invite another co-worker.
Please enter email address
Send Invite Cancel
Invitation Sent
Your invitation was sent.Thanks for sharing Exchange with your co-worker.
Send New Invite Close
Top Experts
User Count
sbeadle
Kirk sbeadle Kirk
307
AndrewScott
Admiral AndrewScott
96
BevanWeiss
Spock BevanWeiss
90
AdamWoodlandToo
Lt. Commander AdamWoodlandToo
37
View All
Related Products
product field
Schneider Electric
EcoStruxureβ„’ Geo SCADA Expert

Invite a Colleague

Found this content useful? Share it with a Colleague!

Invite a Colleague Invite
Back to EcoStruxure Geo SCADA Expert Forum
Bmorrison
Crewman Bmorrison
Crewman

Posted: β€Ž2021-11-05 08:12 PM . Last Modified: β€Ž2023-05-03 12:00 AM

0 Likes
5
5158
  • Mark as New
  • Bookmark
  • Subscribe
  • Mute
  • Subscribe to RSS Feed
  • Permalink
  • Print
  • Email to a Friend
  • Report Inappropriate Content

Link copied. Please paste this link to share this article on your social media post.

Posted: β€Ž2021-11-05 08:12 PM . Last Modified: β€Ž2023-05-03 12:00 AM

16 Bit Modbus Point to High Byte Low Byte

Trying to find away to extract the high byte and low byte of a 16 bit modbus register. The high byte contains a min value and the low byte contains seconds that a Lufkin sam POC has been in a current state. 

Labels
  • Labels:
  • SCADA
  • Tags:
  • english
  • scada
  • SCADA app
  • SCADA software
  • SCADA tutorial
  • Telemetry and SCADA
Reply

Link copied. Please paste this link to share this article on your social media post.

  • All forum topics
  • Previous Topic
  • Next Topic
Replies 5
BevanWeiss
Spock BevanWeiss
Spock

Posted: β€Ž2021-11-05 10:41 PM

1 Like
0
5147
  • Mark as New
  • Bookmark
  • Subscribe
  • Mute
  • Subscribe to RSS Feed
  • Permalink
  • Print
  • Email to a Friend
  • Report Inappropriate Content

Link copied. Please paste this link to share this article on your social media post.

Posted: β€Ž2021-11-05 10:41 PM

The Modbus protocols don't really recognise 'bytes'.  Only registers in this context.

So, in Geo SCADA Expert you will need to pull in the whole register.  Then you can either use a pair of calculation points (my recommendation) or some logic to split the register into the upper and lower byte.

You can do bitwise AND and a shift, or bitwise AND and division depending on how you want to roll.

 

It will 'cost' you three licenced points to get your two pieces of data... but that's not so bad.

There are other options, but I don't recommend them... e.g. you could have some digital points referencing the bits of the register.. I believe the Modbus driver allows up to 8 states for digital inputs, so that would 'consume' up to 3 bits per digital.  Then you'd again use a calculation point to combine them... go the first route I propose though.


Lead Control Systems Engineer for Alliance Automation (VIC).
All opinions are my own and do not represent the opinions or policies of my employer, or of my cat..
  • Tags:
  • english
  • scada
  • SCADA app
  • SCADA software
  • SCADA tutorial
  • Telemetry and SCADA
Reply

Link copied. Please paste this link to share this article on your social media post.

du5tin
Lt. Commander du5tin
Lt. Commander

Posted: β€Ž2022-02-02 09:43 AM

0 Likes
3
4992
  • Mark as New
  • Bookmark
  • Subscribe
  • Mute
  • Subscribe to RSS Feed
  • Permalink
  • Print
  • Email to a Friend
  • Report Inappropriate Content

Link copied. Please paste this link to share this article on your social media post.

Posted: β€Ž2022-02-02 09:43 AM

Have you tried using the Lufkin POC Modbus driver? It might have support for some of the more esoteric points that are contained in a single register like these two you are looking at. 

 

There is a lot of "noise" in Modbus spec in oil and gas. This is just one of many examples. The Modbus driver in Geo SCADA covers about 80-85% of the edge cases but is sorely lacking in support for these sorts of things. Its been a massive thorn in my side my whole career. "Can we poll this with Geo SCADA?" "Yes, but a, b, and c don't work. Or the data is garbled. Or we get too many false comm fail alarms." "okay, don't build it then. we'll leave it in a different system or not poll it at all, too hard."

 

Being able to select High word/low word swap, high byte/low byte swap, maybe reversing the bits altogether. Being able to adjust the polling "map" or "plan" for devices that have "missing" registers and refuse to respond when GS requests too many registers at once. Enter AutoSOL ACM or Kepware or another OPC driver just to handle the weirdness we can often see. 

  • Tags:
  • english
  • scada
  • SCADA app
  • SCADA software
  • SCADA tutorial
  • Telemetry and SCADA
Reply

Link copied. Please paste this link to share this article on your social media post.

BevanWeiss
Spock BevanWeiss
Spock

Posted: β€Ž2022-02-02 01:56 PM

In response to du5tin
0 Likes
2
4982
  • Mark as New
  • Bookmark
  • Subscribe
  • Mute
  • Subscribe to RSS Feed
  • Permalink
  • Print
  • Email to a Friend
  • Report Inappropriate Content

Link copied. Please paste this link to share this article on your social media post.

Posted: β€Ž2022-02-02 01:56 PM

Quite a lot of the issues stem from vendors badly implementing Modbus.

Things like bit swaps simply shouldn't happen, it's pretty well defined in the Modbus spec.

That should mean even byte swapping shouldn't be an issue.

 

However, because Modbus was register based, and didn't define the ordering of values > 16bits, then word swapping is an issue.  My recollection is that Geo SCADA Expert supports this (when you use a REAL / 32bit INT you can select high word / low word, or low word / high word).

 

I have run into issues with devices that don't support full length accesses however.  And I'm not sure I'd consider this a true breach of the Modbus spec.. I'm not sure of a good way for Geo SCADA Expert to handle that however.

 

I can't even recall what exception code is returned for such overlength accesses.. I suspect it's nothing useful, potentially like 'Invalid access' or such.

 

It would be nice to support an upper bound on the data transfer lengths requested / issued.  This would then ensure that I don't need to put dummy gaps in my Rockwell ControlLogix ENxT ModbusTCP registers to avoid consolidated accesses exceeding the reduced transfer limits.

I might raise a feature request for this...


Lead Control Systems Engineer for Alliance Automation (VIC).
All opinions are my own and do not represent the opinions or policies of my employer, or of my cat..
  • Tags:
  • english
  • scada
  • SCADA app
  • SCADA software
  • SCADA tutorial
  • Telemetry and SCADA
Reply

Link copied. Please paste this link to share this article on your social media post.

du5tin
Lt. Commander du5tin
Lt. Commander

Posted: β€Ž2022-02-03 07:49 AM

In response to BevanWeiss
0 Likes
1
4959
  • Mark as New
  • Bookmark
  • Subscribe
  • Mute
  • Subscribe to RSS Feed
  • Permalink
  • Print
  • Email to a Friend
  • Report Inappropriate Content

Link copied. Please paste this link to share this article on your social media post.

Posted: β€Ž2022-02-03 07:49 AM

I totally agree! We see all kinds of poorly made devices and improper Modbus support. I know its not really a problem the dev team should solve in the driver but clients buy hundreds of these bad devices and then expect them to work like an app on their phone. Its quickly become on of my pet peeves. The worst devices are those with single or two register gaps in the map (i.e. 40001-40007 are populated, 40008-40009 are empty/null, 40010-40020 are populated) and don't respond with data or an error if a request comes in for those 'empty' registers. These devices just silently fail and its up to the programmer to figure out why its not working. I've had to work with so many of these... 

 

 

If any transmitter or device manufacturer reads this in the future... in your Modbus enabled device make all the registers read something (even zero), use the same bit order and word order as the standard specifies, make sure data is always one register per data point, don't be afraid to use coils for statuses (I dislike packed bits, particularly for control), and definitely make sure your device responds with an illegal address or some sort of error code if the request is not supported!

  • Tags:
  • english
  • scada
  • SCADA app
  • SCADA software
  • SCADA tutorial
  • Telemetry and SCADA
Reply

Link copied. Please paste this link to share this article on your social media post.

BevanWeiss
Spock BevanWeiss
Spock

Posted: β€Ž2022-02-07 02:06 PM

In response to du5tin
0 Likes
0
4956
  • Mark as New
  • Bookmark
  • Subscribe
  • Mute
  • Subscribe to RSS Feed
  • Permalink
  • Print
  • Email to a Friend
  • Report Inappropriate Content

Link copied. Please paste this link to share this article on your social media post.

Posted: β€Ž2022-02-07 02:06 PM

Haha... the problems with standards πŸ˜›  There's too many..

 

Both you and I differ in our recommendation to Device Vendors also πŸ˜›

 

I would have:

  • Ensure all data is exposed in Holding Registers (even if a copy is also exposed as Coils / Contacts / Input Registers)
  • Ensure your Modbus register mapping is contiguous (no gaps)
  • If ModbusTCP, ignore the Unit ID (unless required, such as where multiple sub-units are meaningful, and can't be implemented as unique device IPs..)
  • Ensure that you support all lengths of read / write transactions (i.e. support both single register, and full length=125 register reads, 123 register writes)

 

Some Modbus clients (like Schneider M580 DTMs) can ONLY access Holding Registers.. Coils / Contacts / Input Registers just don't exist for it... which makes it painful when things are only accessible in Coils / Contacts / Input Registers.


Lead Control Systems Engineer for Alliance Automation (VIC).
All opinions are my own and do not represent the opinions or policies of my employer, or of my cat..
  • Tags:
  • english
  • scada
  • SCADA app
  • SCADA software
  • SCADA tutorial
  • Telemetry and SCADA
Reply

Link copied. Please paste this link to share this article on your social media post.

To The Top!

Forums

  • APC UPS Data Center Backup Solutions
  • EcoStruxure IT
  • EcoStruxure Geo SCADA Expert
  • Metering & Power Quality
  • Schneider Electric Wiser

Knowledge Center

Events & webinars

Ideas

Blogs

Get Started

  • Ask the Community
  • Community Guidelines
  • Community User Guide
  • How-To & Best Practice
  • Experts Leaderboard
  • Contact Support
Brand-Logo
Subscribing is a smart move!
You can subscribe to this board after you log in or create your free account.
Forum-Icon

Create your free account or log in to subscribe to the board - and gain access to more than 10,000+ support articles along with insights from experts and peers.

Register today for FREE

Register Now

Already have an account? Login

Terms & Conditions Privacy Notice Change your Cookie Settings Β© 2025 Schneider Electric

This is a heading

With achievable small steps, users progress and continually feel satisfaction in task accomplishment.

Usetiful Onboarding Checklist remembers the progress of every user, allowing them to take bite-sized journeys and continue where they left.

of