示例使用VS2010开发EtherNet/IP
开发语言使用C++
为什么选择C++呢?
C++开发出来的程序,提供C标准API后,将可以提供给Dlphi、Labview、VB、QT、C#、C\C++、C#、Java等几乎所有编程语言使用。
效率问题
① 在底层我们将采用socket和多线程方式开发,在数据处理方面使用指针为主。
② EtherNet/IP在设计之初就是为高效,低延迟而设定
③ 采用最基础的C++ 标准函数,单次效率可以做到1ms以内。
源代码下载和应用:
www.jngbus.com
编程开始:
① 创建项目
使用dll库方式,为后续提供模块给各种程序调用准备
我们开发过程只采用C98和C11标准,socket、STL库,在移植到嵌入式、linux时候,只需改为gcc、g++编译和少量API修改即可。
创建项目
选择共享型的DLL库
② 编写数据结构体
// 协议头数据
struct EncapsulationHeader
{
int nCommand; // 命令
int nLength; // 成都
int nSessionID; // 会话ID Session Handle
int nStatus; // 状态数据
__int64 nSenderContext; // 上下文,描述相关信息
int nOptions; // 选项
EncapsulationHeader()
{
memset(this, 0, sizeof(EncapsulationHeader));
}
};
③ 添加socket网络通讯
由于我们是作为client,所以开发过程中不需要做server
等后续做EtherNet/IP Server时候,再讲解
创建UDP和TCP俩种处理场景,将会使用到
函数socket();connect();send()和recv()等这几个函数
在recv时候采用多线程处理即可。文章来源:https://www.toymoban.com/news/detail-810772.html
往下就不继续讲述了。估计需要2、3天时间把软件写出来和测试了。文章来源地址https://www.toymoban.com/news/detail-810772.html
到了这里,关于EtherNet/IP开发:JAVA、C#和C++开发源代码的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!