资讯详情

LabWindows/CVI与倍福控制器的ADS通讯方法

一、倍福PLC地址分区

地址分区

Index Group

Offset

标志

偏移量计算

Input

16#F020

0X 0001 F400

%IBn

16#1F400 n

%IWn

16#1F400 n*2

%IDn

16#1F400 n*4

output

16#F030

0X 0003 E800

%QBn

16#3E800 n

%QWn

16#3E800 n*2

%QDn

16#3E800 n*4

Memory

16#4020

0X 0000 0000

%MBn

16#0000 n

%MWn

16#0000 n*2

%MDn

16#0000 n*4

二、步骤

(1)添加库文件

TcAdsDll.lib、TcAdsAPI.h、TcAdsDef.h

(2)定义变量

long nErr, nPort; //定义端口变量

AmsAddr Addr;&nbs;           //定义AMS地址变量

PAmsAddr  pAddr = &Addr;    //定义端口地址变量

(3)、打开ADS通讯端口

       nPort = AdsPortOpen();

       pAddr->netId.b[0]=5;

       pAddr->netId.b[1]=99; 

       pAddr->netId.b[2]=105; 

       pAddr->netId.b[3]=76; 

       pAddr->netId.b[4]=1; 

       pAddr->netId.b[5]=1; 

pAddr->port =851;

注、控制器在本地使用以下函数代替地址指定,否则需要指定netId。

       nErr=AdsGetLocalAddress(pAddr);    //得到本地端口地址

       if (nErr) {

              MessagePopup("错误","Error: AdsGetLocalAddress:"); //检查获取地址的操作是否执行成功 

    }

(4)数据读写

常用函数:

AdsSyncReadReq( AmsAddr*      pAddr,           // Ams address of ADS server

                     unsigned long      indexGroup,   //index group in ADS server interface

                     unsigned long      indexOffset,   // index offset in ADS server interface

                     unsigned long      length,          // count of bytes to read

                     void*                    pData            // pointer to the client buffer

);//从ADS服务器中同步读数据

AdsSyncWriteReq();//同步数据写到一个ADS设备

AdsSyncReadWriteReq();//同步写入数据到ADS服务器中并从ADS设备接收返回数据

(5)关闭通讯端口

AdsPortClose( );

标签: 贴片电感cvi1014kz05

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

 锐单商城 - 一站式电子元器件采购平台  

 深圳锐单电子有限公司