通常在使用canoe实现以太网通讯的时候,使用canoe5610来进行通信,但是5610的价格昂贵,其实使用普通的canoe、canalyzer也可以实现udp通信,capl里边自带了以太网通信接口,可以使用本地的以太网interface来跟外界通信。代码如下:
variables
{
dword UdpServer;
dword UdpLocal;
dword UdpSocketLocalHandle = 0;
dword UdpServerPort = 12345;
}
on start
{
char Local_AddrStr[16] = “192.168.1.2”;
char Server_AddrStr[16] = “192.168.1.3”;
UdpLocal = ipGetAddressAsNumber(Local_AddrStr);
UdpServer = ipGetAddressAsNumber(Server_AddrStr);
UdpSocketLocalHandle = UdpOpen(UdpLocal, UdpServerPort);
if (UdpSocketLocalHandle == ~0)// Check for valid socket handle
{
write(“UdpSocketLocalHandle <%BASE_FILE_NAME%> UdpOpen failed: Result %d”, IpGetLastError());
}
}
on timer testTimer
{
char test[5] = “test”;
udpSendTo(UdpSocketLocalHandle, UdpServer, 12356 ,test, 5);
UdpReceiveFrom(UdpSocketLocalHandle, test, 5);
}
自己创建timer定时发送接受数据。
有用的朋友欢迎收藏点赞!