EcoStruxure Geo SCADA Expert Forum
Schneider Electric support forum about installation, configuration, integration and troubleshooting of EcoStruxure Geo SCADA Expert (ClearSCADA, ViewX, WebX).
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.
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.