Ask our Experts
Didn't find what you are looking for? Ask our experts!
Dear Community Members, We are currently experiencing a technical issue that is affecting the ability to create new posts. Our team is actively investigating the root cause and working to resolve it as quickly as possible. We apologize for the inconvenience and appreciate your patience. SE Community Team!
Schneider Electric support forum about installation, configuration, integration and troubleshooting of EcoStruxure Geo SCADA Expert (ClearSCADA, ViewX, WebX).
Search in
Link copied. Please paste this link to share this article on your social media post.
Posted: 2022-03-02 05:15 AM . Last Modified: 2023-05-02 11:58 PM
I am trying to build a script for automatic dnp3 download file resend on error. I know that I have to use logic to look in the Event Journal and search for corresponding Download File events. I almost wrote it but I have one thing that I can not find. If the client wants to cancel the script (I have made user methods in the outstation for activating the script and cancel it) I have to stop the queued request.
There is a method Cancel Queued Request... with argument:
I don't want to cancel all the requests. I want to cancel only the exact request but I can't find how to retrieve that ID. Can't find anything in the database. Also there is no ID in the event journal message or in the Status display of the outstation. I found out the ID is written in the DNP3 logs:
02-MAR-2022 13:08:01.301 [Client Sink] Received request 0x1004 for object 8639 (3 arguments)
1: VT_BSTR rtu.cpp
2: VT_BSTR rtu.cpp
3: VT_BOOL TRUE
02-MAR-2022 13:08:01.301 [Main] Received Download File request (Id:42) for "Projects.test.test.RTU"
02-MAR-2022 13:08:01.303 [Main] Queued Download File request (Id:42) for "Projects.test.test.RTU"
But I don't want to write a script which retrieves it from the log files. Are the Queued Requests only stored in the cache and is there some way to retrieve the ids or just to be written in the event journal messages?
Link copied. Please paste this link to share this article on your social media post.
Link copied. Please paste this link to share this article on your social media post.
Posted: 2022-03-03 05:15 AM
Unfortunately the database doesn't provide a data access interface to the request queue, it is internal to each database object, plus it may be rather difficult to programmatically identify which is the right request to cancel.
The "Cancel Queued Request" method is really only designed to be used interactively from ViewX or WebX when cancelling an individual request.
Link copied. Please paste this link to share this article on your social media post.
Link copied. Please paste this link to share this article on your social media post.
Posted: 2022-03-03 02:35 PM
Hi @AndrewScott,
Is the .NET API or similar able to more easily retrieve the 'Queued Request ID'?
I guess it would be quite driver specific, so likely not easy to uniformly expose (although it does appear to be exposed sufficiently for use within ViewX.. so perhaps it's already exposed in the .NET API)
Link copied. Please paste this link to share this article on your social media post.
Link copied. Please paste this link to share this article on your social media post.
Posted: 2022-03-04 02:04 AM
@BevanWeiss ViewX uses an internal API which retrieves the entire right-click context menu for an object. This includes all the methods on the object, each method includes its arguments, this particular method argument has an enumeration, and the enumeration is made up of the request ID (value) and a request description (label). This is uniform for all drivers.
Link copied. Please paste this link to share this article on your social media post.
You’ve reached the end of your document
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.