1. 网卡

1.6. 通过TC3程序代码来修改控制器的IP地址 ,用什么功能块实现?

用FB_MDP_NIC_Write_IP功能块实现修改控制器的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=> );