We are testing Secure meter using Serial and TCP interface respectively.
From the serial interface, we will get the response for the same request multiple times. Whereas from TCP interface we can get the response for the same request for the first time only.
For our testing purpose, we have created one intermediate environment which acts as a server and connected it to the meter via optical port. And we connect TCP from our testing application which acts as a client.
Your data seems to be correct and there is no reason why meter should reply. Check your TCP server code. There is no timestamp so I don't know what it time difference between reads. There is an inactivity timeout and you must read the next packet before it's elapsed.
As you said, There is an inactivity timeout and you must read the next packet before it's elapsed. In this case, if any event or alert generated from meter after timeout then how this is handled, how to get it at the client-side.
One more question, Is DLMS supports asyncronous communication in TCP/IP interface ?
If meter sends event you are receiving data from media.OnReceived. You can get received message using
GXDLMSClient.GetData-method.
GetData(byte[] reply, GXReplyData data, GXReplyData notify)
In case when the connection is disconnected between DLMS Client running in Head End System (HES) and the DLMS Server running in Meter,
1. If there is any Alert generated at Meter side, how will the Meter send that Alert to HES?
2. Will the Meter initiate a connection with the HES (DLMS client)?
3. Do we need to maintain the continuous connection between the DLMS Client and DLMS Server?
4. Can we connect with Server from HES, only when we need to send some command to read some data from Meter? In that case how the Meter will send Alerts or Events?
It depends on the meter and how it's configured. Sometime connection must be up between the meter and client so client can receive alerts. Some meters are configured to send alerts different TCP/IP address.
You need to verify this from the meter vendor how meter implements it.
If you read something from the meter and meter sends alert at the same time, the received alert is found on the GetData notify parameter. This happens all the time when we are communicating over the air and connection speed is slow.
Hi,
Hi,
Your data seems to be correct and there is no reason why meter should reply. Check your TCP server code. There is no timestamp so I don't know what it time difference between reads. There is an inactivity timeout and you must read the next packet before it's elapsed.
BR,
Mikko
Hi Mikko,
Hi Mikko,
Thanks for your quick reply.
The issue has been resolved now by updating the server side code.
Hi Bhaumik,
Hi Bhaumik,
Thanks from this info.
BR,
Mikko
Hi Mikko,
Hi Mikko,
As you said, There is an inactivity timeout and you must read the next packet before it's elapsed. In this case, if any event or alert generated from meter after timeout then how this is handled, how to get it at the client-side.
One more question, Is DLMS supports asyncronous communication in TCP/IP interface ?
Hi Mikko,
Hi Mikko,
Did you find time to check this?
Regards,
Hi Bhaumik,
Hi Bhaumik,
If meter sends event you are receiving data from media.OnReceived. You can get received message using
GXDLMSClient.GetData-method.
GetData(byte[] reply, GXReplyData data, GXReplyData notify)
Received event is saved to notify parameter.
BR,
Mikko
Hi Mikko,
Hi Mikko,
Thanks for the update.
In case when the connection is disconnected between DLMS Client running in Head End System (HES) and the DLMS Server running in Meter,
1. If there is any Alert generated at Meter side, how will the Meter send that Alert to HES?
2. Will the Meter initiate a connection with the HES (DLMS client)?
3. Do we need to maintain the continuous connection between the DLMS Client and DLMS Server?
4. Can we connect with Server from HES, only when we need to send some command to read some data from Meter? In that case how the Meter will send Alerts or Events?
Hi,
Hi,
It depends on the meter and how it's configured. Sometime connection must be up between the meter and client so client can receive alerts. Some meters are configured to send alerts different TCP/IP address.
You need to verify this from the meter vendor how meter implements it.
If you read something from the meter and meter sends alert at the same time, the received alert is found on the GetData notify parameter. This happens all the time when we are communicating over the air and connection speed is slow.
BR,
Mikko