PROFIBUS-DP通讯应用
○ 前言
○ 案例假定
○ 总线架构及数据流向
○ 硬件配置
○ 创建工程
○ 添加控制器
○ 添加主站IO模块
○ 主站IO分配
○ 主站通讯配置
○ 添加甲车间从站
○ 添加乙车间从站
○ 配置从站A
○ 配置从站B
○ 条件判断组态
○ 电机控制组态
○ 异常停机报警组态
○ 总结
○ 声明
前言
NO.1
工业信息安全是国家安全的重要防线,一旦失控,将给国家经济安全、社会稳定和人民群众的生命财产造成不可估量的重大损失。目前,为有效应对工业信息安全风险和工业信息安全建设难点。
赛宁网安实践落实五大中心一体化解决方案,包括工业网络安全人才培训中心、工业网络安全攻防演练中心、工业网络安全攻防技术研究中心、工控系统验证评估中心、工业企业能力展示中心。
通过工业信息化安全体系的建设,落实应急演练和人才培养,行之有效提升工业企业的安全意识和防护能力,为制造强国、网络强国建设保驾护航。
本文将会通过一个简单的应用案例介绍Profibus-DP协议应用场景和实现方法,通过这篇文章,您可以了解Profibus-DP协议一般用在哪里以及如何使用。
案例假定
NO.2
假设有这样一个简单的物料输送系统:
甲乙两个车间之间有8条并排布置的皮带输送线,8条皮带驱动电机全部装于甲车间。每条皮带在甲乙两个车间各设置了一个跑偏检测开关和一个用于急停的拉绳开关,另外在中控室也为每条皮带设置了急停开关,这5个开关(全为常闭,即1正常0异常)共同构成皮带电机的运行条件。
中控室还为每条皮带配置了一个带自锁的启停开关,和异常停机报警器。
各区域的主要IO点分配如下图所示。
总线架构及数据流向
NO.3
基于上述需求,可设计以个基于PROFIBUS-DP的PLC控制系统,PLC作为PROFIBUS-DP主站,位于中控室,两个车间分别配置一个PROFIBUS-DP从站,总线架构及数据流向如下图所示。
硬件配置
NO.4
PROFIBUS-DP最典型的应用,当属西门子S7-300系列PLC与ET200M系列分布式IO的组合应用,该组合在整个工业自动化领域也有着非常广泛的应用。组合以上需求进行PLC硬件选型,得下图所示的模块清单。
创建工程
NO.5
打开西门子TIA Portal (v16)软件,创建一个新工程,过程如下图所示。
添加控制器
NO.6
按下图所示的方法添加清单中订货号一致的PLC控制器。
添加主站IO模块
NO.7
从硬件目录中找到清单中订货号一致的DI和DO模块各一个,拖动至机架相应位置,过程如下图所示。
主站IO分配
NO.8
适当展开“Device overview”查看并记录两个IO模块自动分配的地址。下图中16点的DI模块用了输入地址0和1两个字节,而8点的输出模块用到了输出地址4一个字节。我们可以作如下分配:
IB0(I0.0~I0.7):8个皮带机的启停开关
IB1(I1.0~I1.7):8个皮带机的急停按钮
OB4(O4.0~O4.7):8个皮带机的异常停机报警灯。
主站通讯配置
NO.9
按下图所示的方法配置PROFIBUS-DP接口参数并创建PROFIBUS-DP总线。
添加甲车间从站
NO.10
点击“Network view”选项卡,进入网络视图,在硬件目录中找到清单中的接口模拟,拖至紫色的PROFIBUS总线上,然后将站点名称和设备名称均写为“A”,最后并为它选择主站,过程如下图所示。
添加乙车间从站
NO.11
拖动同样的接口模块至总线添加乙车间的从站,并将站点名称和设备名称均修改为B。该总线主站已被选择过,这里不需要再重复选择,过程如下图所示。
配置从站A
NO.12
1、切换设备视图
2、选择设备A
3、添加甲车间需要的两个模块(方法见主站,不赘述)
4、查看并分配IO地址如下:
IB2:8个跑偏检测;
IB3:8个拉绳开关;
OB0:8个皮带电机。
5~7、确认从站地址为3,与接口模块拨码一致。
配置从站B
NO.13
1、选择设备B
2、添加乙车间需要的1个模块DI模块(乙车间没有DO模块)
3、查看并分配IO地址如下:
IB4:8个跑偏检测;
IB5:8个拉绳开关。
4~6、确认从站地址为4,与接口模块拨码一致。
条件判断组态
NO.14
双击PLC_1/Program block/Main进入梯形图编辑界面,然后将每条皮带的5个运行条件开关串联,分别输出给M0.0~M0.7中间地址。
注1:Network 3~7按规律编辑的,为了便于截图而隐藏。
注2:实现该功能其实最简单的是字节与运算,但该编辑器没有字节的与运算块,只有双字节和四字节的,而这些输入地址是连续的,需要处理才能进行双字节与运算。这里点数并不算多,不如选择右图所示更直观的位逻辑运算来实现。
注3:这里以用地址为主,Tag名是自动生成的无实际意义
电机控制组态
NO.15
1、第一个运算块的功能是将IB0(I0.0~I0.78个皮带的启停开关信号)写入中间地址MB2,以便下一步的整字(双字节)与运算而不被干扰。
2、第二个运算块的功能是将MW0(MB0,MB1)和MW2(MB2,MB3)进行整字与运算,结果写入MW4(MB4,MB5),实际有用的是MB0和MB2与运算后写入MB4,MB1,MB3和MB5在整个程序中不使用不会形成干扰。
3、第三个运算块的功能是将与运算的结果有效的字节写入从站A(甲车间)的输出通道,实现对皮带电机的控制。
异常停机报警组态
NO.16
1、第一个块的功能是将运行条件MW0与16#FFFF进行异或,实现了按位取反的效果,运算结果写入MW6中,有效部分MB6分别代表8个皮带运行条件不成立。
2、第二个块的功能是将MW2(MB2,MB3)和MW6(MB6,MB7)进行与运算后写入MW8(MB8,MB9)。忽略未使用的MB3、MB7和MB9,等效于MB2和MB6进行与运算后写入MB8,上页中已将IB0赋值给MB2了,因此MB2代表8个启停开关,而MB6代表8个皮带运行条件不成立,因此MB8代表8个皮带有开机请求但运行条件不成立,即异常停机报警信号。
3、第三个块的功能是将8个异常停机信号中间变量写入输出寄存器QB4,驱动输出模块所接的报警器。
总结
NO.17
以上便是PROFIBUS-DP相关的软件组态全过程。
声明
NO.18
本文作者:老何
本文编辑:Yusa
感谢 老何 师傅 (๑•̀ㅂ•́)و✧
往期回顾
扫码关注我们
天虞实验室为赛宁网安旗下专业技术团队,重点攻关公司业务相关信息安全前沿技术。
原文始发于微信公众号(天虞实验室):赛宁工控靶场场景实操:PROFIBUS-DP通讯应用