n
1 Mini-IP组态功能介绍
1.1 描述
PROFINET存在一些特殊的应用,例如:批量生产的机器设备需要新的方法来分配IP地址和设备名称。其背景就是为了方便用户调试设备而无需专业的软件工具,例如无需Step7工具软件。况且批量生产出来的设备无需存在设备名和IP地址,方便在同一生产过程中使用该批设备,分配IP地址和设备名使用直接连接的HMI。参考图 1 批量机器概念。机器1为OEM设备制造商生产出来的一系列机器,在生产过程中可能需要X个机器。这里作为智能设备参与生产控制,而生产用户则无需使用Step7来设置IP地址和设备名,仅需要机器的HMI即可。n
图 1 批量机器概念n
分配给IO控制器的IP地址和设备名已知有2种方法:n
- 通过下载硬件组态其中包含明确的IP地址和设备名到控制器中。n
- 通过Step7菜单命令,PLC->Ethernet->Edit Ethernet Node。
现在可以通过用户程序SFB104来分配IP地址和设备名。
用户程序SFB104分配IP地址和设备名需要:#n- Step7 5.5或更高n
- PN CPU必须支持,S7-300固件版本3.2或更高S7-400固件版本6.0或更高
2 Mini-IP组态功能组态
2.1 智能机器的组态
参照图1的网络拓扑作为一个例子来描述SFB104分配IP地址和设备名的功能。 IO控制器使用 CPU319-3PN/DP v3.2,2个智能机器设备由ET200S IM151-8PN (6ES7 151-8AB01-0AB0) v3.2和WinCC flexible Runtime2007组成。
批量生产的机器设备,根据实际的硬件在Step7中进行硬件组态。新建一个S7-300站,然后打开硬件组态,从硬件目录中直接拖入IM151-8PN/DP CPU v3.2而无需添加机架。参考图 2 IM151-8 PN/DP CPU硬件组态。注意:PROFINET接口 X1的逻辑地址为2047(16#07FF)。n
图 2 IM151-8 PN/DP CPU硬件组态n
双击该PROFINET接口 X1打开属性窗口,在“General”标签页中,激活“Use different method to obtain device name”,即使用不同的方法来获取设备名。参考图 3 IM151-8接口属性窗口。n
图 3 IM151-8接口属性窗口n
但此时IP地址的获取也必须“使用不同的方法来获取”。点击图3的“Properties”按钮,弹出以太网接口对话框,激活“Use different method to obtain IP address”,即通过不同的方法来获取IP地址。参考图 4 以太网接口对话框。n
图 4 以太网接口对话框n
最后在图3的属性对话框中,选择“I-device”标签页,激活“i-device mode”,创建输入/输出的传输区域,保存编译硬件,并生成安装该机器设备的GSDML文件。
对于PROFINET智能设备功能,请参考西门子网上课堂《PROFINET智能设备使用入门》如下链接:80146728
在OB1中,编写SFB104,背景DB为DB104,具体的编程如下:n
CALL "IP_CONF" , DB104
REQ :=M10.0 //使能,上升沿有效
LADDR :=MW12 //PN接口的地址,这里是16#7FF,参考图2中的X1地址2047
CONF_DB:="CONF_DB" //组态DB,也就是IP和设备名的具体结构,参考图5或该程
DONE :=M10.1 //序块的在线帮助
BUSY :=M10.2
ERROR :=M10.3
STATUS :=MD14
ERR_LOC:=MD18
A M 10.3
JCN kk2
SET
= M 11.3
L MD 14
T MD 30
L MD 18
T MD 34
kk2: NOP 0 //查看错误信息n
组态DB的具体结构,请参考SFB104的在线帮助,根据在线帮助,建立一个DB1来作为组态DB。参考图 5 组态DB。n
图 5 组态DBn
在Step7中设置PG/PC接口为TCP/IP->本机网卡,然后下载机器设备项目到目标设备IM151-8中。由于新的设备没有IP地址,通过“View”按钮,浏览到该设备。参考图 6 选择节点地址对话框。n
图 6 选择节点地址对话框n
点击“OK”按钮,弹出分配IP对话框, 激活“Permanent”,设置IP地址为192.168.0.7,这样该IP地址可以作为访问地址。点击“Yes”按钮下载组态。参考图 7 分配IP对话框。下载硬件组态和用户程序。n
图 7 分配IP对话框n
需要注意的是访问地址必需与Step7中的设置的访问地址一致,点击Step7项目的S7 Program(1),然后使用菜单PLCAccess Address,参考图 8 选择访问地址菜单。n
图 8 选择访问地址菜单n
然后弹出访问地址对话框,设置访问地址,例如192.168.0.7。参考图 9 访问地址界面。只有按照访问地址去下载PLC项目才能监视项目程序。n
图 9 访问地址界面n
2.2 PROFINET系统的组态
在Step7中对PROFINET IO系统进行硬件组态,参考图 10 PROFINET IO系统组态。该站为CPU319-3PN/DP,且设备名为PN-IO,IP地址是192.168.0.1。插入机器设备的GSDML文件到Ethernet(1)总线上,2个智能机器设备的设备名分别为cccc和dddd。n
图 10 PROFINET IO系统组态n
双击机器设备cccc、dddd的图标,弹出属性对话框,取消“Assign IP address via IO controller”,即IO控制器不再给IO设备分配IP地址。参考图 11 机器设备属性对话框。n
图 11 机器设备属性对话框n
最后保存编译项目并下载组态到IO控制器中,具体组态PROFINET IO通讯的详细信息请参考网上课堂的下载中心的链接:72325620
2.3 HMI分配IP地址和设备名
在WinCC flexible中,创建两个画面,其中第一个画面,加入Alarm view对象,用于查看连接状态。其属性设置参考图 12 画面1组态图 12 。n
图 12 画面1组态n
在第2个画面中,组态SFB104功能相关的变量信息,参考图 13画面2组态。变量的具体含义,请参考图 5 组态DB。在WinCC flexible中建立上述变量并与之相关联。n
图 13画面2组态
最后组态WinCC flexible和PLC的连接组态信息。其中192.168.0.123是PG的IP地址。192.168.0.7则是下载机器设备时作为访问的IP地址。参考图 14 连接组态。最后,保存和编译设备,并运行Runtime。
图 14 连接组态
在运行的界面中设置相关的IP地址和设备名信息。其中:
MW12=16#7FF表示PN接口的地址 X1地址2047,参考图2。
DB1.DBW2=2,表示组态DB中存在2个子域(Subfield),即IP地址和设备名。
DB1.DBW6~DB1.DBW10表示IP子域的头信息。
DB1.DBB12~DB1.DBB23表示IP地址,子网掩码,路由器IP,这里设置192.168.0.66/24,该IP地址由工艺或自己决定,只要不冲突即可。当修改完IP地址后,Step7无法访问该机器,WinCC flexible可参考图12输入修改后的IP(例如:192.168.0.66)重新建立与该机器的连接。
DB1.DBW24~DB1.DBW28表示设备名子域的头信息。
DB1.DBB30~DB1.DBB33表示设备名为“cccc”。切记,设备名必须小写。由于设置的设备名字节长度为4,且小于组态DB中定义的Array字节长度240,所以DB1.DBB34必须为0,即NULL,表示设备名结束符。参考图 15 运行画面。
图 15 运行画面
然后WinCC runtime连接另一个机器设备,根据IO系统的机器设备名,按照同样的方法设置设备名dddd和IP地址。
关键词
PROFINET,IP组态,SFB104
原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc328584.html