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!

Advanced Modbus driver sending Modbus/TCP messages with Transaction Identifier '0' causes connection problem

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
  • Advanced Modbus driver sending Modbus/TCP messages with Transaction Identifier '0' causes connection problem
Options
  • 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
308
AndrewScott
Admiral AndrewScott
98
BevanWeiss
Spock BevanWeiss
91
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
acj47
Ensign acj47
Ensign

Posted: ‎2023-04-27 09:45 PM . Last Modified: ‎2023-05-02 11:44 PM

0 Likes
16
3388
  • Mark as New
  • Bookmark
  • Subscribe
  • Mute
  • 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: ‎2023-04-27 09:45 PM . Last Modified: ‎2023-05-02 11:44 PM

Advanced Modbus driver sending Modbus/TCP messages with Transaction Identifier '0' causes connection problem

It appears the advanced modbus driver for ClearSCADA / GeoSCADA Expert uses a Modbus TCP ‘transaction identifier’ value ‘0’ until it gets a valid response from the outstation, at which point it starts incrementing the transaction identifier value. However, my outstation will not respond to transaction identifier ‘0’ and must have a non-zero identifier. 

 

Both Modbus Poll and Modscan software have no issues communicating to the outstation as soon as the transaction identifier is greater than zero. 

 

Please advise how I can adjust ClearSCADA / GeoSCADA Expert settings to always have a non-zero transaction identifier. 

Attachments
Labels
  • Labels:
  • Drivers
  • 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 16
AndrewScott
Admiral AndrewScott
Admiral

Posted: ‎2023-04-28 03:44 AM

0 Likes
1
3378
  • Mark as New
  • Bookmark
  • Subscribe
  • Mute
  • 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: ‎2023-04-28 03:44 AM

This appears to be a fault with the "Sungrow LC" outstation - it should be replying to requests with a transaction identifier of zero. There is nothing special about transaction identifier zero in the Modbus/TCP standard, so there is no reason for it not to reply.

 

There are no settings to control the transaction identifiers in Geo SCADA. It starts at zero and increments after receiving a valid reply (with correct identifier) or following a failed request (after all retries have failed). Eventually it will rollover from 65535 back to zero.

 

How many Comms Retires have you specified on the channel? See Defining Scan Parameter Settings for a Channel  in the help.

What does the driver log files show when trying to establish comms with this outstation?


Andrew Scott, R&D Principal Technologist, AVEVA
Reply

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

acj47
Ensign acj47
Ensign

Posted: ‎2023-04-28 07:00 AM

In response to AndrewScott
0 Likes
0
3368
  • Mark as New
  • Bookmark
  • Subscribe
  • Mute
  • 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: ‎2023-04-28 07:00 AM

Hi Andrew, I have set the ‘comms retries’ to a large value (15) and clearscada simply resends transaction identifier ‘0’ and the outstation does not respond.

 

I understand there are no settings and the root issue lies with the outstation, however, this is a very critical system so I have to ask, is there any way a developer could make an adjustment to the modbus driver to send Transaction identifier value ’1’ instead of ‘0’?
 
Or, alternatively, start with value ‘0’, but increment the transaction identifier by ‘1’ each attempt while it is trying to establish comms to the device, instead of holding at ‘0’ until it stops attempting to communicate? (This is how the Modbus Poll software tools works)
 
I understand this would not be a tested and validated driver for ClearScada but I would be willing to give it a chance to see if I can get communication to this device while I am on site.
 
Please let me know what is possible, thank you.
Reply

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

acj47
Ensign acj47
Ensign

Posted: ‎2023-04-28 07:03 AM

0 Likes
0
3367
  • Mark as New
  • Bookmark
  • Subscribe
  • Mute
  • 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: ‎2023-04-28 07:03 AM

Hi Andrew, I looked at your response again. Are you saying that it will increment to value ‘1’ after a failed request?

Reply

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

AndrewScott
Admiral AndrewScott
Admiral

Posted: ‎2023-04-28 07:29 AM

0 Likes
0
3364
  • Mark as New
  • Bookmark
  • Subscribe
  • Mute
  • 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: ‎2023-04-28 07:29 AM

Yes, once the 15 retires have all failed and therefore the whole request has failed, the next request should use a transaction identifier of one.


Andrew Scott, R&D Principal Technologist, AVEVA
Reply

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

acj47
Ensign acj47
Ensign

Posted: ‎2023-04-28 07:43 AM

0 Likes
1
3359
  • Mark as New
  • Bookmark
  • Subscribe
  • Mute
  • 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: ‎2023-04-28 07:43 AM

Hi Andrew,

 

I have attached a log file as you requested in the original response. 

 

I just let it run for 5+ minutes (Comms Retries set to '3' now), I never saw it use a transaction identifier other than zero, even in the retries after the Reestablishment Interval (set to 10 sec).  Can you please advise if it's working correctly, because if it were to use '1' after the first failed attempt, I would be able to get comms to the outstation. WireShark log file and image with transaction identifier messages from ClearSCADA attached. 

 

Thank you! 

Attachments
DriverAdvancedModbus_001.log
SungrowLCTest_2023.04.28.pcapng.zip
Reply

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

AndrewScott
Admiral AndrewScott
Admiral

Posted: ‎2023-04-28 08:41 AM

In response to acj47
0 Likes
0
3350
  • Mark as New
  • Bookmark
  • Subscribe
  • Mute
  • 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: ‎2023-04-28 08:41 AM

From the driver log I can see what is happening. The first request is a 'Start MDRP Comms' request which is a special case. This type of request doesn't normally fail (and therefore doesn't increment the transaction identifier on failure), as it is always retried forever (using the Reestablishment Interval after the initial Comms Retries have all failed).

I therefore can't see any workaround for this issue.

 

I would suggest contacting Sungrow to see if they can fix their outstation's firmware so it replies to requests with transaction identifier zero.

Alternatively, contact Schneider customer support and request a change to the Advanced Modbus driver in a future monthly release of Geo SCADA Expert.


Andrew Scott, R&D Principal Technologist, AVEVA
Reply

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

acj47
Ensign acj47
Ensign

Posted: ‎2023-04-28 08:51 AM . Last Modified: ‎2023-04-28 08:53 AM

0 Likes
2
3349
  • Mark as New
  • Bookmark
  • Subscribe
  • Mute
  • 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: ‎2023-04-28 08:51 AM . Last Modified: ‎2023-04-28 08:53 AM

Hi Andrew,

 

Thank you. A few questions: 

 

1) Why does the driver decide to use MDRP instead of 'normal' comms? 

2) How can I configure the driver to not use MDRP? 

 

Thanks! 

 

 

Reply

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

AndrewScott
Admiral AndrewScott
Admiral

Posted: ‎2023-04-28 09:10 AM . Last Modified: ‎2023-04-28 09:12 AM

In response to acj47
0 Likes
1
3346
  • Mark as New
  • Bookmark
  • Subscribe
  • Mute
  • 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: ‎2023-04-28 09:10 AM . Last Modified: ‎2023-04-28 09:12 AM

MDRP is a contraction of "multi-drop" which is an old term which refers to connecting several devices to a single communications channel.

In Geo SCADA drivers it just refers to direct serial or IP comms. This is the only type of comms supported by standard Modbus. The only other type of comms is PSTN (dial-up using modems).


Andrew Scott, R&D Principal Technologist, AVEVA
Reply

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

acj47
Ensign acj47
Ensign

Posted: ‎2023-04-28 09:14 AM

In response to AndrewScott
0 Likes
0
3345
  • Mark as New
  • Bookmark
  • Subscribe
  • Mute
  • 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: ‎2023-04-28 09:14 AM

Hi Andrew,

 

OK so if I'm understanding correctly: 

- the Advanced Modbus driver in ClearSCADA can only use MDRP? 

- so that would mean that the Advanced Modbus driver will never increment the transaction identifier to '1' after the first attempt failed, because MDRP makes it stay at zero? 

 

 

Reply

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

AndrewScott
Admiral AndrewScott
Admiral

Posted: ‎2023-04-28 09:26 AM

0 Likes
1
3343
  • Mark as New
  • Bookmark
  • Subscribe
  • Mute
  • 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: ‎2023-04-28 09:26 AM

The 'Start MDRP Comms' request is always the very first request for an outstation in this driver (and most others). If it fails it won't increment the transaction identifier and therefore all retries will also have a transaction identifier of zero.

 

The name of this request dates back to the 1990's hence the use of old terminology.


Andrew Scott, R&D Principal Technologist, AVEVA
Reply

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

geoffpatton
Captain geoffpatton
Captain

Posted: ‎2023-04-28 09:30 AM

0 Likes
0
3343
  • Mark as New
  • Bookmark
  • Subscribe
  • Mute
  • 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: ‎2023-04-28 09:30 AM

@acj47 You mentioned that this is critical. A resolution might take a while to be implemented if one is done at all by either Sungrow or Schneider.

You could try setting up NodeRed on the server or another computer and see if one of the Modbus nodes can retrieve the data. If it successfully retrieves the data you can also setup NodeRed to be a Modbus slave which Geo SCADA can poll.

Reply

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

acj47
Ensign acj47
Ensign

Posted: ‎2023-04-28 10:41 AM . Last Modified: ‎2023-04-28 10:42 AM

In response to AndrewScott
0 Likes
0
3340
  • Mark as New
  • Bookmark
  • Subscribe
  • Mute
  • 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: ‎2023-04-28 10:41 AM . Last Modified: ‎2023-04-28 10:42 AM

Hi Andrew,


Thanks for the explanation. I guess my final question is this: is the Advanced Modbus driver supposed to increment the transaction identifier to '1' after a failed response, or will it always stay at '0' ? 

 

If the answer is stay at '0' , what would the timeline be to get an update in an upcoming release to allow it either to start at '1' , or increment to '1' after a failed response? 

 

Thank you. 

Reply

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

AndrewScott
Admiral AndrewScott
Admiral

Posted: ‎2023-04-28 12:34 PM

0 Likes
0
3333
  • Mark as New
  • Bookmark
  • Subscribe
  • Mute
  • 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: ‎2023-04-28 12:34 PM

I'm unsure whether the driver not incrementing the transaction identifier after a failed 'Start MDRP Comms' request should be considered a fault. As its just going to keep retrying the request forever it doesn't really need to change the transaction identifier, as retries all have the same identifier. For other types of request the identifier is incremented after the final attempt has failed.


Andrew Scott, R&D Principal Technologist, AVEVA
Reply

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

acj47
Ensign acj47
Ensign

Posted: ‎2023-05-02 11:12 AM

0 Likes
0
3266
  • Mark as New
  • Bookmark
  • Subscribe
  • Mute
  • 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: ‎2023-05-02 11:12 AM

Hi Andrew, 

 

As much as I would like to get Sungrow to fix their issue, I don't think it is very likely. And due to the fact that other tools (Modbus Poll and Modscan software) increment the transaction identifier (instead of resending '0'), Sungrow seems convinced that the issue lies with Schneider (even though I agree with you that they should respond to '0'). 

 

Can you please please see if its possible to add an update to the Advanced Modbus Driver to allow the transaction identifier to increment when attempting to establish comms with the outstation? 

 

Thank you. 

Reply

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

Felchap1205
Felchap1205
Cadet

Posted: ‎2023-05-04 07:15 AM

0 Likes
1
3218
  • Mark as New
  • Bookmark
  • Subscribe
  • Mute
  • 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: ‎2023-05-04 07:15 AM

Hi everybody, 

I work with Acj47 on this project and wanted to know if you could help us with some questions we had.

From Sungrow's documentation they say their modbus solution is built to be compatible with the GB/T 19582-2008 standard. Does Schneider's clear scada officially support this standard? If so, is 0 a valid transaction identifier within that standard or is that topic not covered?

Thanks for your support!

Reply

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

AndrewScott
Admiral AndrewScott
Admiral

Posted: ‎2023-05-04 07:50 AM . Last Modified: ‎2023-05-04 07:59 AM

In response to Felchap1205
0 Likes
0
3215
  • Mark as New
  • Bookmark
  • Subscribe
  • Mute
  • 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: ‎2023-05-04 07:50 AM . Last Modified: ‎2023-05-04 07:59 AM

Geo SCADA conforms to the official Modbus/TCP standard:

https://www.modbus.org/docs/Modbus_Messaging_Implementation_Guide_V1_0b.pdf 

All transaction identifiers are valid, including zero, in this standard. Transaction identifiers are described in sections "3.1.3 MBAP Header description" (page 5), "4.4.1.2 Build a MODBUS Request" (page 23) and "4.4.1.3 Process MODBUS Confirmation" (page 24).

 

GB/T 19582-2008 is a Chinese national standard. There is limited information online about it (just an overview) and its unclear if this deviates from the official Modbus/TCP standard:

https://www.chinesestandard.net/PDF/English.aspx/GBT19582.3-2008 


Andrew Scott, R&D Principal Technologist, AVEVA
Reply

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

Preview Exit Preview

never-displayed

You must be signed in to add attachments

never-displayed

 
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