#include "stdafx.h" using namespace std; void main() { USHORT nAdsState; //包含PLC的状态信息 USHORT nDeviceState; long nErr, nPort; AmsAddr Addr; PAmsAddr pAddr = &Addr; //建立端口通讯 nPort = AdsPortOpen(); nErr = AdsGetLocalAddress(pAddr); if (nErr) cerr << "Error: AdsGetLocalAddress: " << nErr << '\n'; pAddr->port = 851; do { //向PLC读取PLC的状态信息 nErr = AdsSyncReadStateReq(pAddr, &nAdsState, &nDeviceState); if (nErr) cerr << "Error: AdsSyncReadStateReq: " << nErr << '\n'; else { cout << "PLCState: " << nAdsState << '\n'; // 输出PLC状态信息 } cout.flush(); } while (getchar() == '\n'); // 在“回车”时实现循环读取 //关闭通讯端口 nErr = AdsPortClose(); if (nErr) cerr << "Error: AdsPortClose: " << nErr << '\n'; }