Welcome on the Ocf Client (Ocf Api)’s Cheat Sheet. This post will help you to get started Ocf Client.
You can also get the PDF here.
Here is the contents:
- Ocf Clients for Embedded
- Create a client for embedded system (UDP)
 - Create a client for embedded system (COM)
 
 - Ocf Clients for .NET
- Create a native client for .NET application
 - Create a secure native client for .NET application (communication with AES encryption)
 
 - Ocf Clients for ADS PLC
- Create an ADS client for PLC application
 
 - Retrieve data thanks to Ocf
 - Register the licenses
 
Let’s begin!
Ocf Clients for Embedded
Create a client for embedded system (UDP)
Prototype : 
public static dynamic CreateOcfEmbeddedUdpClient(string hostName, int port, int timeout);
Sample : 
dynamic client = OcfApi.CreateOcfWcfClient("127.0.0.1", 10000, 200);
Create a client for embedded system (COM)
Prototype : 
public static dynamic CreateOcfEmbeddedComClient(string portName, SerialDataBaudRate rate, int timeout, SerialDataLength length = SerialDataLength.DL8, Handshake handShake = Handshake.None, Parity parity = Parity.None,  StopBits stopBits = StopBits.One);
Sample : 
dynamic client = OcfApi.CreateOcfEmbeddedComClient("COM5", SerialDataBaudRate.BR19200, 1000);
Ocf Clients for .NET
Create a native client for .NET application
Prototype (Udp) : public static dynamic CreateOcfNativeUdpClient(string hostName, int port, int timeout); Prototype (Tcp) : public static dynamic CreateOcfNativeTcpClient(string hostName, int port, int timeout);
Create a secure native client for .NET application (communication with AES encryption)
Prototype (Udp) : public static dynamic CreateOcfNativeUdpEncryptedClient( string hostName, int port, string passphrase, int timeout); Prototype (Tcp) : public static dynamic CreateOcfNativeTcpEncryptedClient( string hostName, int port, string passphrase, int timeout);
Ocf Clients for ADS PLC
Create an ADS client for PLC application
Prototype (ADS) : public static dynamic CreateOcfAdsClient(string netId, int port, int timeout = DefaultTimeOut); Sample : dynamic client = OcfApi. CreateOcfAdsClient( "192.168.10.12.1.1", 801);
Retrieve data thanks to Ocf
Get a child of the remote object model
dynamic axisX = client.Robot.AxisX;
Reach a property of the remote object model
In C#:
Console.WriteLine("AxisX :", client.Robot.AxisX.Position);
client.Robot.AxisX.Position = 100;
In Xaml :
<GroupBox Header="{Binding Client.Name}" Margin="5">
Invoke a method of the remote object model
client.PowerEnable();
Manage communication errors with Ocf
Define handler on unhandled exceptions :
Application.Current.DispatcherUnhandledException +=   CurrentDispatcherUnhandledException;
Manage OcfException globally :
private void CurrentDomainUnhandledException(object sender, UnhandledExceptionEventArgs e)
{
if (e.Exception is OcfException)
ShowException(e.Exception as Exception);
}
Register the licenses
Register a license to create a server/client Ocf
Prototype :
public static void RegisterLicense(string companyName, string key)
Sample :
OcfApi.RegisterLicense("CompanyName", "XXXX-XXXX-XXXX-XXXX");
    



