倍福Twincat 3.0软件与C++通讯问题(ADS通讯)

倍福Twincat 3.0软件与C++通讯问题


倍福公司所开发的Twincat 3.0软件是基于Visual studio开发环境的一款自动化软件,目前其与C++程序通讯的方式主要还是靠ADS-DLL接口进行数据和信息传递,作者在Visual C++上进行混合编程开发,通过TwinCAT路由器和C语言API函数实现混合编程。
倍福软件提供:
TcAdsDll.dll—动态链接库;
TcAdsDll.lib—使用TcAdsDll的函数库;
TcAdsApi.h—声明ADS功能的头文件;
TcAdsDef.h—声明结构和常数的头文件;
具体步骤如下:
1.首先启动Visual Studio 2013,创建一个新项目,我们选择Visual C++→MFC→MFC应用程序。输入项目名称并保存确定,后续可以选择基于对话框的程序类型。
新建MFC项目
2.之后添加链接库,方便各种函数的调用,打开项目属性→配置属性→链接器→常规→附加库目录→输入目录名称(C:\TwinCAT\AdsApi\TcAdsDll\x64\lib,这是安装Twincat的通讯库函数的默认路径)。
添加附加库目录
3.再依次添加:链接器→输入→附加依赖项,输入文件名“TcAdsDll.lib”,点击确定。
添加依赖项4.还需要将头文件进行声明,将C:\TwinCAT\AdsApi\TcAdsDll\Include目录下的 "TcAdsDef.h"和 "TcAdsAPI.h" 先后声明在头文件MFCApplication3Dlg.h中(先声明TcAdsDef.h文件,不然编译报错)。
声明头文件
5.到此可以成功调用Twincat的ads通讯库的函数了,继续进行ADS通讯的初始化。

 //声明全局变量
 long nErr;
 long nPort;
 AmsAddr Addr;
 PAmsAddr pAddr;
 //初始化内容:建立路由、获取NetID、设置PLC端口号
 pAddr = &Addr;
 nPort = AdsPortOpen();
 //如果是远程ADS则使用下面注释的两句确定AmsNetId,id填入远程控制器的ip
 //AmsNetId id = {192,168,1,1,1,1};
 //pAddr->netId = id;
 //如果是本地ADS通讯则使用下面两条语句确定AmsNetId
 nErr = AdsGetLocalAddress(pAddr);
 if (nErr) cerr << "Error: AdsGetLocalAddress: " << nErr << '\n';
 //确定端口号
 pAddr->port = 851
  • 12
    点赞
  • 65
    收藏
    觉得还不错? 一键收藏
  • 14
    评论
评论 14
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值