[ Visual Studio C++ ] [ 倍福 TwinCAT ] 多轴开放体系软件结构设计

        本文主要是以TwinCAT软件和Windows操作系统为基础来进行开展的。通过利用动态链接库、专用数据接口函数实现与VC++的数据传递,可以节省许多时间,降低开发成本,提升系统的总体性能,为今后的生产加工实践和工程应用等方面做了基础性的工作。
TwinCAT软件作为接口通信和数据传递的工具,用VC++创建一个人机控制界面窗口,包含输入输出、电机启停、执行插补运算等功能。其软件平台结构如下图所示。

                                                     [ Visual Studio C++ ] [ 倍福 TwinCAT ] 多轴开放体系软件结构设计

       TwinCAT软件提供了ADS-DLL、ADS-OCX和ADS-OPC接口,用于创建HMI的链接。使用VisualC++开发HMI时,可以使用ADS-DLL方式。TcAdsDll提供和其它ADS设备通信的功能,通过TwinCAT路由器和C语言API函数实现混合编程。

在VisualC++中进行链接和程序开发时所需要的文件:
TcAdsDll.dll—动态链接库;
TcAdsDll.lib—使用TcAdsDll的函数库;TcAdsApi.h—声明ADS功能的头文件;TcAdsDef.h—声明结构和常数的头文件;
具体的实现步骤如下:
(1)使用VC++集成开发环境中的菜单选项“File→New”,并在项目选项卡中选择“MFCAppWizard
(exe)”,输入目录名“Twincat”。
(2)在安装的TwinCAT软件的目录下直接找到
TcAdsDef.h和TcAdsApi.h,把这两个文件复制放到VC++的工程目录下,然后将ADSAPI文件添加到命
令菜单的“Options”里,即通过“Tools→Options→
Directories”进行添加,如下图所示。

                                                     [ Visual Studio C++ ] [ 倍福 TwinCAT ] 多轴开放体系软件结构设计

在VC编制程序时
一定要添加下面的两个头文件:
#include“TcAdsApi.h”#include“TcAdsDef.h”
然后把TcAdsDll.lib库用到VC++项目中(即添加动态链接库),在VC++工程菜单里选择“project→settings→link”,在“Object/libararymodules”的文本框中写入Tcadsdll.lib,然后点“OK”就可以添加进去。如下图所示。

                                                    [ Visual Studio C++ ] [ 倍福 TwinCAT ] 多轴开放体系软件结构设计            

(3)初始化控制端口:
Nport=AdsPortopen();PAddr=&Addr;
nErr=AdsGetLocalAddress(pAddr);

if(nErr)
MessageBox(“Error:AdsGetLocalAddress”);

Paddr->port=801;//建立连接,这是固定的客户端

其中,801端口对应的是实时系统的ADS设备,是对TwinCAT平台下PLC模块的物理地址映射。