使用 SFB104 “IP_CONF”,可以在程序中配置CPU的集成 PROFINET 接口,最初的组态将被 STEP 7 程序覆盖。可以配置接口的如下参数:
- IP 参数: IP 地址, 子网掩码和网关地址
- PROFINET IO 设备名
带集成PROFINET接口的S7- 300 CPU, IM154-8 CPU 和 IM 151-8 PN/DPCPU 从V3.2版本开始支持SFB14 "IP_CONF" 功能。 带集成PROFINET接口 的S7-400 CPU 从V6.0版本开始支持 SFB104 "IP_CONF" 功能。
实现步骤
在硬件组态中明确指定使用不同的方法配置IP参数而不是通过硬件组态,如图1,图2。
图01
图02
如图3,下载硬件组态后,如果是第一次下载或者是恢复了出厂设置,plc IP地址为“ 0.0.0.0 ”设备名称为空;如果之前分配过 IP 地址和设备名,则保持之前的参数。
图03
在程序中,调用 SFB104 “IP_CONF”,在“CONF_DB” 指定的数据块中构建信息,数据块的具体格式见图5,本例中手动创建 DB105 作为“CONF_DB”。
图04
( 88 KB )
图05 当激活 “REQ” 后,新的参数开始传输,完成传送后新的参数生效。本例中 IP 地址“192.168.0.12”,设备名称 “cpu317-2pn-dp” 。
图06
图07
注意:
- IP 地址和设备名称也可以单独修改,在数据块的 “Header” 部分 “subfield_unt” 可以指定子域的个数。
- “CONF_DB”指定数据块的详细格式和含义,请按 F1 参考帮助。
- 设备名称有严格的字符限制,具体要求请一定参考帮助。比如,不能使用大写字母;不要使用除 “-” 以外的符号,比如括号,斜杠等;否则会有DW#16#C0809400 的报错信息。
- DB 块中设备名称构建完成后,必须在下一个字节以数字 “0” 作为结束的标志,本例中:DB105.DBB43。
- 数据块中的参数 “subfield_mod”,“1” 数据断电保持;“2” 无保持。如果设置为 “2”,则断电后 IP 地址恢复为 “0.0.0.0” ,设备名称恢复为空。
- 本例程仅作为使用参考,不能直接用于工程!