RMCLink C++ Wrapper Class CRMCLink::Disconnect Method |
Closes the connection associated with this CRMCLink object, if one has been established.
C++ |
void Disconnect(); |
On serial connections, the serial port will be released for use by other applications. On Ethernet connection, the TCP/IP connection will be closed.
This method is synchronous, which means that it will not return until the link is disconnected. However, disconnecting generally takes only a fraction of a second.
WARNING: For Ethernet connections, it is highly recommended that the connection not be disconnected and re-connected between transactions. Doing so will have lower performance, and more importantly, each call to Connect() will consume a TCP connection in the Windows operating system. This TCP connection will not be fully released by the operating system until typically 2 minutes after Disconnect() is called. Therefore, it is possible to consume all available TCP connections by repeated calls to Connect()/Disconnect() and as a result be unable to re-connect over RMCLink or even adversely affect other applications running on the same PC.
The following code example illustrates the use of the Disconnect method.
C++ |
#include <windows.h>
#include <stdio.h>
#include "RMCLink.h"
void main()
{
// In order to create COM objects, we must initialize the COM sub-system.
::CoInitialize(0);
// Create a new RMCLink object.
CRMCLink* pRMC = CRMCLink::CreateEthernetLink(CRMCLink::dtRMC70, _T("192.168.0.22"));
if ( pRMC != NULL )
{
// Establish the connection.
HRESULT hr = pRMC->Connect();
if ( SUCCEEDED(hr) )
{
// Read F8:8 and F8:9 (Axis 0 Actual Position and Velocity)
float afData[2];
hr = pRMC->ReadFFile(CRMCLink::fn70StatusAxis0, 8, 2, afData);
if ( SUCCEEDED(hr) )
{
printf("Actual Position = %.3f, Actual Velocity = %.3f\n",
afData[0], afData[1]);
}
// Close the connection.
pRMC->Disconnect();
}
// Free the RMCLink object we created.
delete pRMC;
}
// Release the COM sub-system.
::CoUninitialize();
}
|
See Also
CRMCLink Class | RMCLink C++ Wrapper Class
Copyright (c) 2024 Delta Computer Systems, Inc. dba Delta Motion