一、前言
将AmsNetID参数简单理解为一个地址。
二、讲解
1. 参数功能
- AmsNetID 该参数是包含六个数字类似于IP地址的字符串形式,例如"10.61.113.64.7.1",如果为空字符串,则默认使用本机的AmsNetID。
2. 参数使用
AmsNetID
(1) 原型:
TYPE T_AmsNetId : STRING(23);
END_TYPE
(2)官方解释:
(3)查看本机AmsNetID方式:
鼠标右击倍福图标,点击About TwinCAT,截图如下:
(4)修改本机AmsNetID方式:
鼠标右击倍福图标,鼠标滑动到Router,点击Chang AMS NetId 截图如下:
在弹出的窗口中,修改确认即可,截图如下:
(5)实例:
远程ADS通信代码:
bool CTCCOMM:: ConnectToTC()
{
//建立路由、获取NetID、设置PLC端口号
pAddr = &Addr;
nPort = AdsPortOpen();
//设置AmsNetID
pAddr->netId .b [0]=169;
pAddr->netId .b [1]=254;
pAddr->netId .b [2]=63;
pAddr->netId .b [3]=114;
pAddr->netId .b [4]=1;
pAddr->netId .b [5]=1;
//确定端口号
pAddr->port =851;
AfxMessageBox(_T("连接倍福成功!"));
return true;
}
本地ADS通信代码:
bool CTCCOMM:: ConnectToTC()
{
//建立路由、获取NetID、设置PLC端口号
pAddr = &Addr;
nPort = AdsPortOpen();
if (AdsGetLocalAddress(pAddr))//为0时无错误
{
AfxMessageBox(_T("无法获取本地地址"));
return false;
}
//确定端口号
pAddr->port =851;
AfxMessageBox(_T("连接倍福成功!"));
return true;
}