IP地址的写法:
long nErr, nPort;
AmsAddr Addr; //ip地址
PAmsAddr pAddr = &Addr;
unsigned long lHdlVar;
int nIndex;
short Data[10];
char szVar []={
"MAIN.PLCVar"}; //变量名称
// Open communication port on the ADS router
nPort = AdsPortOpen();
nErr = AdsGetLocalAddress(pAddr);
if (nErr) cerr << "Error: AdsGetLocalAddress: " << nErr << '\n';
pAddr->port = AMSPORT_R0_PLC_RTS1;
// Fetch handle for the PLC variable 获取句柄,知道是要读写哪个变量
nErr = AdsSyncReadWriteReq(pAddr, ADSIGRP_SYM_HNDBYNAME, 0x0, sizeof(lHdlVar), &lHdlVar, sizeof(szVar), szVar);
if (nErr) cerr << "Error: AdsSyncReadWriteReq: " << nErr << '\n';
// Write value of a PLC variable (by handle) 写入数据
nData = 12;
nErr = AdsSyncWriteReq(pAddr, ADSIGRP_SYM_VALBYHND, lHdlVar, sizeof(nData), &nData);
if (nErr) cerr << "Error1: AdsSyncWriteReq: " << nErr << '\n';
// Read values of the PLC variables (by handle)//读取数据的dpi
nErr = AdsSyncReadReq(pAddr, ADSIGRP_SYM_VALBYHND, lHdlVar, sizeof(Data), &Data[0]);
if (nErr)
cerr << "Error: AdsSyncReadReq: " << nErr << '\n';
else
{
//读取数组数据
for (nIndex = 0; nIndex < 10;