4. 如何用程序修改IPC的IP地址?

 

其中网口 X000 对应的 ModuleId 为 0, X001 对应的 ModuleId 为 1

具体说明见链接:https://infosys.beckhoff.com/content/1033/tcplclib_tc2_mdp/9007199433477899.html?id=884782310418154528

 

一、

通过 FB_MDP_ScanModules 功能块可以查询到对应的嵌入式控制器中的网卡数量, 以及第一张网卡所对于的ModuleId 编号。

(本次测试中网口 X000 对应的 ModuleId 为 0, X001 对应的 ModuleId 为 1)

 

FB_MDP_ScanModules1(

bExecute:=scanCmd , //启动命令上升沿有效

nModuleType:=eMDP_ModT_NIC , //NIC 网卡设备

iModIdx:=,
tTimeout:= ,
sAmsNetId:='' ,
bBusy=> ,
bError=> ,
nErrID=> ,
nDynModuleId=>,//nDynModuleId , //显示第一个网卡的 ModuleId 编号
iModuleTypeCount=> , //显示 cx5130 中的所有网卡总数
iModuleCount=> ); //显示扫描到的硬件模块总数

 
二、

通过 FB_MDP_NIC_Read 功能块可以查询到对于 ModuleId 编号编号下的网卡所对应的名称以及 IP 地址。

(本次测试中 X000 口对应的名称为 Local Area Connection 2, X001 口对应的名称为 Local Area Connection)

 <注: 测试中只有与外界有连接的网口, 插有网线, 并且网口灯亮, 的网口才可以查询到对于的 IP 地址>

 
FB_MDP_NIC_Read1(
bExecute:=readNICCmd ,
tTimeout:= ,
iModIdx:=ModIndex ,
sAmsNetId:= ,
bBusy=> ,
bError=> ,
nErrID=> ,
iErrPos=> ,
stMDP_ModuleHeader=> ,
stMDP_ModuleContent=> );

 
三、

通过功能块 FB_MDP_NIC_Write_IP 设置对应 moduleId 编号下网卡的 IP 地址。

 (注: 测试中只有与外界有连接的网口, 插有网线, 并且网口灯亮, 的网口才可以通过该功能块成功的设置对应的 IP 地址)

 
FB_MDP_NIC_Write_IP1(
bExecute:=setCmd ,
nDynModuleId:=moduleId,
sIPAddress:='169.254.45.234' ,
tTimeout:= ,
sAmsNetId:= ,
bBusy=> ,
bError=> ,
nErrID=> );