Hello!
I'm currently working with a smart-serial protocol configured with a "redundantPolling" feature.
I was looking for a way of having a parameter that will indicate which communication is currently being used by my protocol. If I'm in the main connection (id = 0) or on a redundant one (id = 1, for example).
My objective was to have a way of alarming when we switch from one connection to the other in the protocol (some way of indicating what interface is active and if the backup interface is currently being used)
These are my conclusions so far:
- Using the resources from Dataminer, this is what I've tried:
- Using a trigger to signal when the pair enters a timeout (doesn't work on smart serial)
- Trying to identify the IP and the port that is being used (I don't think there is a parameter that receives the IP and port currently being used. What exists, is a static parameter that shows all possible IPs and ports from the settings)
- Use one of the general parameters (don't know why, but the "Communication Info" Table isn't indicating reliable information)
- Create a subscription to the element itself to find out the state it is in (Not advisable and also leads to the risk of not being able to correctly identify the connection that the protocol is using, just from the state of the element)
- Trying to use the "smartipheader", that is, making the responses of the device come with the IP and Port (this does not work for the case of smart serial with headers and trailers)
- The second approach was to use the device itself. That is, being able to ask the device which connection I am currently using, but we need a generic implementation with data coming from DM, so that we can apply this to other drivers as well.
Thank you!
Best regards,
Ana
Hi Ana! sorry for the late reply here:
The Development Library tells the following related to Redundant polling:
However, note that for redundant polling with smart-serial connections, the communication state needs to be set using the NT_CHANGE_COMMUNICATION_STATE Notify call in order for the redundant polling connections to switch.
Not sure if you already implemented it this way or not, but if we currently only expect the element to switch the smart - serial connection after this notify call is executed, then maybe you can keep track of the connection yourself saving and toggling the state each time the timeout notify is being called.
In case you were able to solve it in another way, please share as well 😉
Thanks.
A new feature request is available here: https://community.dataminer.services/new-feature-suggestions/ability-to-monitor-active-connection-in-redundant-connection-setup/
Hi Thijs.
Thank you for your answer!
In my particular case, I don’t need a notify call executing to change the state of the element. In the Lawo protocol, the switching to the redundant polling connection is happening automatically (even if it’s a smart-serial connection because we use the interface to also send requests).
We reached the conclusion that, currently, there is no feature that allows me to detect the currently active interface. A task has been created in order to have this support (TaskRef: 154783)
Cheers