6GK5216-0BA00-2AC2 SCALANCE XC216, 可管理层面 2 IE 交换机; IEC 62443-4-2 认证; 16X 10/100Mbit/s RJ45 端口; 1x 控制台端口,诊断 LED; 冗余电源; 温度范围 -40°C 至 +70°C; 安装:凹顶导轨/S7 型轨/墙壁 Office 冗余功能 特性(RSTP,VLAN,...); PROFINET IO 设备; 以太网/IP一致性; C 型插头插槽; |
1、什么是博途基本仿真?
博途基本仿真,即SIMATICS7-PLCSIM,它是安装在博途平台下的一个软件,它除了支持程序的基本仿真之外,还支持西门子之间的S7通信。
3、什么是S7通信?
S7通信协议是西门子PLC内部集成的一种通信协议,相比TCP通信协议,它经过特殊的优化,更加适合西门子PLC之间来进行数据交换。
二、软硬件准备
在本案例中使用的软硬件如下所示:
序号 | 名称 | 描述 |
1 | 操作系统 | W10版 |
2 | 博途编程软件 | STEP7 V16 Pro |
3 | 博途仿真软件 | S7-PLCSIM V16 |
三、实现步骤
西门子PLC之间的S7通信有两种类型,一种是在同一项目内,一个是不在同一项目内。这里以同一项目内的S7通信,来进行演示。
步骤1:新建博途项目
打开博途软件,新建项目,并命名为“同一项目内的S7仿真”,如图所示。
步骤2:添加两个PLC设备
在项目树下,添加新设备,在弹出窗口选择控制器,并选择一款PLC型号,命名为“客户端”,选择固件版本号为V4.4,点击确定。
注意:PLC的固件版本选择V4.0以上
步骤3:添加DB块
服务器:在服务器PLC的程序块下“添加新块”,选择“数据块”,命名为“服务器”,点击确定。
客户端:同上。
步骤4:DB块中添加数据
服务器:在步骤3中添加的DB块,去掉优化的块访问,并添加对应数据,
客户端:同上。
步骤5:建立连接设置
在设备和网络视图中,连接两个PLC,并PLC属性中,勾选两个PLC中的“允许来自远程对象的PUT/GET通信访问”。
步骤6:指令设置
从指令选项卡中,将GET指令拖入到程序块中,并点击组态进行设置,并填写参数,如图所示。
发送数据指令同理,如图所示。
步骤7:开始仿真
客户端:在工具栏中,点击仿真,根据提示进行程序下载,并将PLC转至“RUN”,如图所示。
服务器:同上。
注意:PLCSIM多支持2个项目存在。
步骤8:接收数据测试
在博途项目中,选择双视图模式,并依次打开两个PLC的数据块,并进行监控。在服务中修改字节1的数据,改成十六进制的“12”,在客户端中,点击接收,可以看到客户端中的字节1数据更改为十六进制的“12”,此时则说明接收数据成功。
步骤9:发送数据测试
在客户端中将字节2的数据改成十六进制“34”,并修改发送信号,可以看到在服务器中的字节2显示为十六进制“34”,此时说明发送数据程序。
一、产品数量统计
要计算良品率,需要统计生产过程中的产品数量、良品数量。如果该产品可以使用传感器稳定检测,则可以通过传感器来进行计数统计。此部分我们略过。
二、良品率计算
为了更直观的显示,我们采用FC带参数的方式来编写。效果图如下所示。
在该程序中,需要给定两个参数,分别是总数量和良品数,输出的结果分别是产品良品率和产品不良品率。其变量和数据类型,在全局数据块中添加,如下图所示。
一般来说,我们的产品数量为整数,而良品率为百分比的小数,总数量和良品数的数据类型为DInt,良品率和不良品率的数据类型为Real。看程序的实现。需要在FC中定义接口,数据类型和全局变量一致,如下图所示。
在该接口中,可以看到Temp类型中定义了相关的数据类型,这些是中间变量,在程序中会用到。看程序的编写。
该程序中,使用减法指令,将总数量减去良品数,得到不良品数量。
为了计算良品率和不良品率时,保留小数,需要将整数转换成实数。
这段程序,计算了不良品率。因为我们知道在除法中除数不能为0,需要对不良品为0的时候进行判断。当不良品数等于0时,不良品率为0.0,不良品大于0的时候,通过不良品数除以总数量,再乘以100来得到不良品率。对于良品率也是一样的计算方式,如下图所示。
SIEMENS | 模块 | 6ES7288-7DP01-0AA0 |
Siemens | 模块 | 6ES7231-4HF32-0XB0 |
Siemens | 模块 | 6ES7288-3AR02-0AA0 |
Siemens | 电源 | 6EP1332-4BA00 |
Siemens | 电源 | 6EP1336-2BA10 |
SIEMENS | 模块 | 6ES7132-6BH01-0BA0 |
SIEMENS | 模块 | 6ES7231-5PD32-0XB0 |
Siemens | 模块 | 6ES7223-1PL32-0XB0 |
合信 | 模块 | CTS7214-1AD33-0X24 |
SIEMENS | 模块 | 6ES7288-2QT16-0AA0 |
Siemens | 控制单元 | 6SL3244-0BB12-1BA1 |
SIEMENS | 模块 | 6ES7512-1DK01-0AB0 |
SIEMENS | 模块 | 6ES7132-6BF01-0AA0 |
Siemens | 电缆 | 6ES7288-6EC01-0AA0 |
SIEMENS | 交换机 | 6GK5216-0BA00-2AC2 |
SIEMENS | 交换机 | 6GK5208-0BA00-2AC2 |
Siemens | 模块 | 6ES7288-2DT08-0AA0 |
Siemens | 模块 | 6ES7155-6AR00-0AN0 |
SIENENS | 交换机 | 6GK5008-0BA10-1AB2 |
SIEMENS | 模块 | 6ES7134-6GD01-0BA1 |
合信 | 模块 | CTH2214-1AX33-0X24 |
SIEMENS | 软件 | 6ES7870-1AA01-0YA0 |
SIEMENS | 模块 | 6ES7135-6GB00-0BA1 |
Siemens | 模块 | 6ES7231-5PF32-0XB0 |
950 | 模块 | 6ES7134-6JD00-0CA1 |
SIEMENS | 模块 | 6ES7132-6BF01-0BA0 |
SIEMENS | 模块 | 6ES7131-6BF01-0BA0 |
Siemens | 软件 | 6ES7810-4CC08-0YA5 |
SIEMENS | 交换机 | 6GK5106-2BB00-2AC2 |
Siemens | WINCC软件 | 6AV6381-2BM07-5AV0 |
Siemens | WINCC软件 | 6AV6381-2BQ07-5AV0 |
Siemens | 通讯模块 | 6GK7542-1AX00-0XE0 |
Siemens | 移动面板 | 6AV6645-7AB10-2AS0 |
SIEMENS | 模块 | 6ES7134-6HD01-0BA1 |
Siemens | 电源 | 6EP3437-8SB00-0AY0 |
SIEMENS | 模块 | 6ES7138-6AA01-0BA0 |
Siemens | 变频器 | 6SE6440-2UD15-5AA1 |
SIEMENS | 变频器 | 6SE6420-2AB12-5AA1 |
SIEMENS | 模块 | 6ES7288-1ST40-0AA1 |
SIEMENS | 模块 | 6ES7288-1SR30-0AA1 |
SIEMENS | 模块 | 6ES7288-1SR60-0AA1 |
SIEMENS | 模块 | 6ES7288-1SR20-0AA1 |
SIEMENS | 模块 | 6ES7288-1SR40-0AA1 |
SIEMENS | 软件 | 6AV2101-0AA04-0AA5 |
SIEMENS | 软件 | 6AV2101-0AA03-0AA5 |
SIEMENS | 交换机 | 6GK5116-0BA00-2AB2 |
SIEMENS | 套件 | 6ES7400-0HR01-4AB0 |
SIEMENS | CPU | 6ES7288-1ST20-0AA1 |
SIEMENS | 模块 | 6ES7416-3ES07-0AB0 |
SIEMENS | 模块 | 6ES7288-1ST60-0AA1 |
SIEMENS | 电缆 | 6XV1861-4AU10 |
SIEMENS | 触摸屏 | 6AV6648-0DC11-3AX0 |
SIEMENS | 电机 | 1FL6024-2AF21-1MB1 |
SIEMENS | DP电缆 | 6XV1851-4AT50 |
SIEMENS | 软件 | 6ES7822-1AA08-0YA5 |
SIEMENS | 软件 | 6AV2101-0AA08-0AA5 |
SIEMENS | CPU | 6ES7515-2AN03-0AB0 |
SIEMENS | 存储卡 | 6ES7954-8LE04-0AA0 |
SIEMENS | 支架 | 6AV6574-1AF04-4AA0 |
SIEMENS | 软件 | 6AV2102-0AA03-0AA5 |