摘要:从 S7-200 SMART V2.5 版本开始,S7-200 SMART 开始支持做 PROFINET IO 通信的智能设备。从而,两个 S7-200 SMART 之间可以进行 PROFINET IO 通信,一个CPU 作PROFINET IO 控制器,一个
从 S7-200 SMART V2.5 版本开始,S7-200 SMART 开始支持做 PROFINET IO 通信的智能设备。从而,两个 S7-200 SMART 之间可以进行 PROFINET IO 通信,一个CPU 作PROFINET IO 控制器,一个 CPU 作 PROFINET 通信的设备。组态的时候有两种方法,一种是通过硬件目录组态另外一种是通过GSD文件组态。
本文是通过GSD文件组态,阐述添加GSD文件、通信诊断、查找设备。
添加GSD文件
标准型的 SR/ST CPU 从 V2.4 这个版本起,就能当作 PROFINET IO 控制器来用啦,从 V2.5 版本开始呢,还能当作智能设备。咱们能把 PROFINET IO 设备的 GSD 文件导进 STEP 7-Micro/WIN SMART 里,也能通过 STEP 7-Micro/WIN SMART V2.5 导出 GSD 文件来实现 PROFINET 通信。那啥是 GSD 文件呀?GSD(General Station Description)文件其实就是通用站描述文件,专门用来存设备属性的,它的结构和规则是由 GSDML(通用站描述标记语言)来确定的;一般来说,GSD 文件的后缀名是.XML 。那从哪儿能搞到 GSD 文件呢?咱们可以从正在用的 PROFINET IO 设备的制造商那儿拿到这个设备的 GSD 文件,然后把它导进 STEP 7-Micro/WIN SMART 里。
比如说:S7-200 SMART 要跟 V90PN 通信,就能从下面这个链接地址搞到 V90PN 的 GSD 文件 。
用 STEP 7-Micro/WIN SMART 导入 GSD 文件,对 GSD 版本有啥要求不?支持 GSD V2.33 或者更早的版本,软件会按照 GSDML 模式 V2.33 来验证 GSDML 文件。要是对象通过验证了,STEP 7-Micro/WIN SMART 就会把它放到目录里。对于比 V2.33 高的 GSD 文件,也能导进去,不过 STEP 7-Micro/WIN SMART 可不会验证 GSDXML 模式。属性“RequiredSchemaVersion”指定版本比 V2.33 高的所有对象(包括 DAP(设备访问点)、模块和子模块)都会被忽略掉。
STEP 7-Micro/WIN SMART 不会对其描述进行检查,也不会将其置于设备目录中。
添加GSD文件步骤
1、咱得从设备制造商那儿拿到 GSD 文件,要是这文件是压缩包,得提前给它解压缩,然后把这文件存到某个地方,就比如说本示例里,GSD 文件存的路径是 D:\PROFINET_test 。
2、把 STEP 7-Micro/WIN SMART 打开,点菜单栏里的文件菜单,再点“GSDML 管理”。就像图 1 里“点击 GSDML 管理”那样。
图1.点击GSDML管理
3、在弹出的对话框中选择浏览,如图2.GSDML管理中点击浏览 所示。
图2.GSDML管理中点击浏览
4、找到存储GSD文件的路径,选择文件并打开,如图3.路径中选择文件并打开 所示。
图3.路径中选择文件并打开
5、如图4.GSD文件导入完毕所示,已经将 V90PN 导入至 STEP 7-Micro/WIN SMART 中。
图4.GSD文件导入完毕
删除GSD文件步骤
在步骤 5 显示的那个界面上,如果有那种长期都不用的 GSD 文件,就在“导入的 GSDML 文件”这个列表里,把想要删除的文件前面的复选框给勾上,然后点删除。
图5.删除GSD文件
在弹出来的对话框里点 Yes ,就能把 GSD 文件给删掉啦,就像图 6“确认删除”显示的那样。
图6.确认删除
导出GSD文件步骤
打开PROFINET向导
1、把 PLC 角色勾选为智能设备;以太网端口选固定的 IP 地址还有站名:IP 地址是 192.168.0.40,子网掩码是 255.255.255.0,设备名称是 st40 。就像图 7 显示的那样。
图7.设置PLC角色IP地址及设备名称
2、添加传输区,头一个条目是从 IB1152 开始的 10 个字节的输入区域,第二个条目是从 QB1152 开始的 10 个字节的输出区域,找找合适的路径来存 GSD 文件,然后直接把 GSD 文件导出来。就像图 8 显示的那样。
图8.添加传输区并导出GSD文件
3、导出的GSD文件如图9.所示。
图9.导出的GSD文件
查找PROFINET设备
使用软件菜单里“查找 PROFINET 设备”这个功能,只能实现给 PROFINET IO 设备分配设备名称这一个功能。
设置的步骤是这样的:
1、打开查找 PROFINET 设备的办法有两种,就像图 1“查找查找 PROFINET 设备”显示的那样。
图1.查找PROFINET设备
2、在弹出来的查找设备对话框里,把通信接口选成本机网卡驱动,然后点击查找设备,就能找到所连接的 V90PN ,选中已经查找到的设备,再点击右侧的编辑按钮。就像图 2“查找设备”显示的那样。
图2.查找设备
注意:所有的 PROFINET 设备都一定得有设备名称。用 STEP 7-Micro/WIN SMART 来确定设备名称。通过 PROFINET DCP(发现和组态协议)给设备分配设备名称。一定要保证 PROFINET 设备和 PC 在同一个子网里面。
3、把要修改的设备名称填好,点击设置之后,名称修改就生效啦。就像图 3“设置名称”显示的那样。
图3.设置名称
注意:查找 PROFINET 设备只能修改 IO 设备的设备名称,没法修改 IP 地址和子网掩码,IO 设备的 IP 地址和子网掩码得在 PROFINET 向导配置里去修改。
要修改的设备名称得遵守标准 DNS(域名系统)的命名规范。命名规则是这样的:最多能支持 63 个字符。设备名称能有小写字母 a 到 z、数字 0 到 9、连字符“-”和句点“.”。设备名称也能有中文字符(不管是简体还是繁体)。
设备名称不能是 n.n.n.n 这种格式,这里面的 n 是 0 到 999 之间的数。设备名称也不能以字符串 port-nnn 或者字符串 port-nnn-nnnnn 开头,这里面的 n 是 0 到 9 的数字。比如说,port-123 和 port-123-45678 就是无效的设备名称。设备名称不能以连字符“-”或者句点“.”开头或者结尾。
PROFINET通信诊断
在进行 PROFINET IO 通信,也就是 IO 控制器/智能设备的通信时,有可能会出错。对于 PROFIENT 通信的诊断,有下面这三种办法:通过 CPU 指示灯的状态来诊断,通过 PLC 信息来诊断,通过特殊存储器来诊断。
方法一:通过CPU指示灯状态诊断
如果 S7-200 SMART CPU 当作 PROFIENT 控制器和 PROFINET IO 设备进行通信。那可以查看下面这个表中 LED 的状态,来了解 CPU 所处的状态,做个简单的诊断。就像表 1 显示的那样。表 1.LED 指示灯状态诊断 CPU 状态
从表1.中可以看出:
当 S7-200 SMART 被组态成 PROFINET 控制器以后,不管 CPU 是处于停止状态还是运行状态,要是失去连接或者出现警告,ERROR 指示灯就会以 1Hz 的频率闪烁。
当 S7-200 SMART 被组态为 PROFINET 智能设备后,如果和上位 IO 控制器没有连接上或者组态不匹配,ERROR 指示灯也会以 1Hz 闪烁。
方法二:通过PLC信息诊断
S7-200 SMART 当作控制器的时候,能通过 PLC 信息去查看有关 PROFINET 通信故障的诊断信息。
1、通信能搜索到 CPU。
2、在菜单栏里选择 PLC,接着在菜单栏的功能区再选择 PLC,就像图 1 显示的那样。
图1.打开PLC信息
3、打开的PLC信息对话框,如图2所示。
图2.PLC信息
①系统页面的系统对话框显示:已组态的 PROFINET 设备 (Configured PROFINET device),PROFINET 设备的状态是这样的:不可用 (Not available),就是 CPU 找不到设备;正常 (OK)诊断 (Diagnosis),意思是报告有警告。
②对于已经组态的 IO 设备,点击②能够查看具体某个设备的信息。
③这是事件日志。
④这是 PROFINET 报警。
4、点击已经组态的IO设备,查看有关设备的详细信息,如图3.所示
图3.PROFINET设备详细信息
①处会显示设备的信息,包括设备名称、设备类型、设备编号、转换后的名称还有 IP 地址。
②这里显示设备的状态:不可用 (Not avaliable),意思是 CPU 找不到设备,设备名称和实际设备不相符;正常 (OK)诊断 (Diagnosis),就是报告有警告。
③模块状态,这个对话框会显示插槽中每个模块的状态。模块状态的分类如下:正常 (OK)、错误 (Error)。如果点击“状态”列中的“错误”按钮,那么在右侧就会显示相应的详细错误信息。在图 3 中显示的错误是,ET200SP 插槽 1 所使用的底座是白色底座,在组态里没有组态启用新的电位组,所以就报错了。
5、通过事件日志能够查看 CPU 存储的事件历史记录,这里面有上电、掉电、错误以及模式跳转等事件。而且还列出了事件发生的时间。显示的事件日志最多有 32 个。就像图 4 显示的那样。
图4.事件日志
6、查看 PROFIENT 报警,会显示和 PROFINET 有关的警告信息,包括设备编号、设备名称、插槽编号、子插槽编号还有警告描述。就像图 5 显示的那样。
图5.PROFINET报警
S7-200 SMART 作为智能设备时,可以通过PLC信息查看智能设备的状态,如图6.所示
图6.智能设备诊断
也可以在事件日志中查看,如图7.所示。
图7.事件日志查看诊断
方法三:通过特殊存储器诊断
从 V2.4 版本开始,S7 - 200 SMART 把特殊存储器 SMB1807 - SMB1935 预留出来用于 PROFINET 通信诊断。要注意!要是程序使用的范围在 SMB1800 至 SMB1999 之间,并且是在 STEP 7 - Micro/WIN SMART V2.3 或者更早的版本里创建的,那么这个程序在 V2.4 版本里会被清除掉,必须重新编辑程序,去使用其他读/写 SM 地址。从 V2.5 版本开始,S7 - 200 SMART 预留 SM1936.0 - SM1937.0 用于诊断智能设备和上位控制器的通信连接状态以及 IO 数据状态。具体的存储区分配如表 2 所示。
表 2.特殊存储器使用分配
SMB1800-SMB1807
SMB1800
1
诊断站点状态
每字节的数值
对应每个设备的状态。
00H:不提供。
80H:正常。
81H:诊断。(设备已断开连接。)
82H:有错。(设备已连接,但有些模块存在报警。)
SMB1808-SMB1871
SM 1808.0-1815.7
1
诊断模块报警状态
每个设备8个字节(64位)
每位对应每个模块的报警状态
0为正常;1为故障
SM 1816.0-1823.7
2
SM 1824.0-1831.7
3
SM 1832.0-1839.7
4
SM 1840.0-1847.7
5
SM 1848.0-1855.7
6
SM 1856.0-1863.7
7
SM 1864.0-1871.7
8
SMB1872-SMB1935
SM 1872.0-1879.7
1
诊断模块数据状态
每个设备8个字节(64位)
每位对应每个模块的数据状态
0为正常;1为错误
SM 1880.0-1887.7
2
SM 1888.0-1895.7
3
SM 1896.0-1903.7
4
SM 1904.0-1911.7
5
SM 1912.0-1919.7
6
SM 1920.0-1927.7
7
SM 1928.0-1935.7
8
SMB1936
SMB1936
-
智能设备与
控制器
连接状态
每字节的数值
对应每个设备的状态。
00H:未组态。
80H:正常。
81H:未连接。(智能设备未连接控制器。)
82H:诊断。(智能设备与控制器已经连接,但智能设备的组态与上位控制器不匹配)
SM1937.0
SM1937.0
-
智能设备
IO数据状态
IO数据状态
0为正常;1为数据错误
S7-200 SMART PROINET通信常见问题
1、紧凑型 CPU 支持 PROFINET 通信吗?
答:标准型 SR/ST CPU 从 V2.4 版本开始,支持当作 PROFINET IO 控制器,从 V2.5 版本开始支持当作智能设备。紧凑型 CPU CRs 没有以太网接口,所以不支持和 PROFINET 通信有关的功能。
2、做 PROFINET 通信,能使用第三方交换机吗?
答:能。但是,在 Profinet IO 通信中,如果用了不能识别 RT 实时数据优先级的第三方交换机,实时数据就不会被交换机优先转发。用这类交换机的时候,为了避免因为到了看门狗时间数据还没更新而造成通信故障误报,得调整 IO 设备的更新时间和看门狗时间。Profinet RT 性能等级的通信,得用符合“PROFINET 一致性等级 A”或者更高等级的交换机。所有西门子 SCALANCE 系列交换机都符合这些要求。要是还想用其他 PROFINET 功能(比如,拓扑识别、诊断、不带可更换介质时支持设备更换),那就必须用符合“PROFINET 一致性等级 B”或者更高等级的交换机。
3、最大模块数量 64 该怎么理解?
答:最大模块数是所有设备的模块加起来的总数。举个例子,就像图 1 显示的那样:组态 8 个 ET200SP IM155 - 6 PN HF 接口模块,在其中一个接口模块下面组态 DI16 ST 数字量输入模块,组态到 56 个 DI 模块以后,再添加模块,就会弹出对话框,如图 2 所示。
图1.组态举例
图2.设备模块总数
4、设备编号是否可以修改?
答:不可以修改,S7 - 200 SMART 最多能够带 8 个 IO 设备,设备编号是固定的,从 1 到 8 ,就像图 3 显示的那样。
图3.设备编号不可修改
5、如何导入S7-1200/1500/300/400通过TIA Portal导出的GSD文件?
答:在自己进行测试的时候,S7 - 200 SMART 能够和像 S7 - 1200 这样的智能设备通信。从 TIA Portal 导出 GSD 文件,添加到 S7 - 200 SMART 里,组态 PROFINET 向导,点击生成之后报错,就像图 4 显示的那样。
图4.报错
需要在导出GSD文件之前,需要进行勾选,如图5.所示
图5.勾选参数
6、为什么和V90PN通信有错误出现时,PLC信息无诊断信息显示?
答:查看PROFINET 向导配置时的组态
激活诊断选项,默认是:当前无效,需要选择:标准报警,否则有错误不会在PLC信息中显示出来,如图5.所示
图6.激活诊断
7、PROFINET通信控制器和IO设备是否可以跨网段通信?
答:基于网络结构模型,做PROFINET通信时,不可以跨网段通信,IO设备和控制器必须处于同一子网中!
来源:PLC技术玩