前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Siemens -- 配方数据的自动传送

Siemens -- 配方数据的自动传送

作者头像
科控物联
发布于 2022-04-19 06:10:56
发布于 2022-04-19 06:10:56
2K0
举报
文章被收录于专栏:科控自动化科控自动化

1 配方概述

配方是相关数据的集合,例如,生产参数或者生产数据的集合。配方有固定的数据结构,数据结构在组态期间定义,一个配方包含多条配方数据记录,这些数据记录仅在数值方面有所不同,结构均相同。配方数据记录可以在HMI和PLC之间进行传送,并且每条数据记录始终作为一个整体传输。下方为一个“Color“配方示例:

名称

Color

元素

name

red

green

blue

1

black

0

0

0

2

gray

128

128

128

3

marron

128

0

0

4

lime

0

255

0

5

olive

128

128

0

6

silver

192

192

192

7

white

255

255

255

8

orange

255

165

0

配方有三个概念:配方名称、配方元素和配方数据记录。在以上示例中,“Color”为配方名称,“red”、“green”、“blue”为配方元素,而表格中的每一行数据为配方数据记录,”black”等值为配方数据记录的名称。

2 配方的操作方式及配方数据记录的传送方式

2.1 配方的操作方式

配方的操作方式共有三种,通过以下三种方式均可以实现配方的操作:

  1. 配方视图:以表格形式显示配方数据记录,并通过集成的“配方视图”控件对配方进行操作。
  2. 配方画面:使用I/O域、符号I/O域和按钮等元素,通过配方系统函数进行配方的管理及操作。
  3. 作业信箱:使用作业信箱69/70作业号操作配方,必要时也可组态“数据记录”区域指针实现同步传送功能。 在本文档中,只包含作业信箱相关的内容,有关配方视图及配方画面内容,请参考其它文档。

2.2 配方数据记录的传送方式

在HMI及PLC之间配方数据的传送方式分为两种:

  1. 非同步传送
  2. 通过“数据记录“区域指针实现同步传送 通常情况下,使用“配方视图“或者”配方画面“操作配方时,建议组态“非同步传送“功能。使用作业信箱方式操作配方时,建议组态”同步传送“功能。 当现场具备以下条件时,可以使用非同步传送方式:
  • PLC能够排除HMI任意覆盖数据的风险
  • PLC不需要有关配方编号和配方数据记录编号的信息
  • 数据记录的传送由操作员在HMI上触发 对于以下情况,同步传送是一种非常有用的解决方案:
  • 在传送数据记录时,PLC是“主动方“
  • PLC需要对有关配方号和配方数据记录编号的信息进行评估
  • 数据记录的传送由作业信箱触发

3 作业信箱方式传送数据记录

PLC可以使用“作业信箱”将作业传送到HMI设备,然后HMI设备触发相应的操作。具体功能包含以下内容:

  • 设置日期和时间
  • 用户登录注销
  • 时间同步
  • 画面切换
  • 删除报警缓冲区
  • 配方数据记录传送 在本文档中,只包含配方数据记录传送相关的内容。有关作业信箱中其它作业内容,请参考其它文档。

3.1 “作业信箱”区域指针的数据结构

“作业信箱”区域指针的数据区由连续的4个Word组成,每个Word变量代表的含义如下表所示:

最高有效字节

最低有效字节

Word1

0

作业号

Word2

参数1

Word3

参数2

Word4

参数3

根据作业的不同,需要使用的参数数量也不同,例如作业69(从PLC读取数据记录)需要3个参数,而作业70(将数据记录写入PLC)仅需要2个参数。

3.2 “作业信箱“区域指针的组态

3.2.1 组态用于“作业信箱”区域指针的变量

“作业信箱”区域指针需要连续的4 个Word类型变量用于公共数据区域。如果HMI变量访问模式为“符号访问”,在全局数据块中定义长度为4的数组类型变量,如Array[0..3] of Word。如果HMI变量访问模式为“绝对访问”,在全局数据块中定义长度为4的数组类型变量,或者定义4 个连续的Word类型变量均可。

通常情况下,“区域指针”所使用的变量仅在全局数据块中定义。

对于SIMATIC S7-300/400 PLC,HMI变量的访问模式仅支持“绝对访问”。对于SIMATIC S7-1200/1500 PLC,激活全局数据块属性中的“优化的块访问“选项,HMI变量的访问模式只能是”符号访问“。未激活全局数据块属性中的”优化的块访问“选项,HMI变量的访问模式可以是”符号访问“,也可以是”绝对访问”。

  • 符号访问模式:
  • 绝对访问模式:

3.2.2 组态“作业信箱”区域指针

在HMI设备“连接”下的“区域指针”中,激活“作业信箱”区域指针,并设定“数据记录”区域指针的变量地址,采集周期建议保留默认的“1s”采集周期。

  • 符号访问模式:
  • 绝对访问模式:

3.3 “作业信箱”区域指针的使用

“作业信箱”区域指针的使用相对简单,只需要对第一个字的低字节赋值作业号69或者70,第二个字赋值要读取或者写入的配方编号,第三个字赋值要读取或者写入的配方数据记录编号即可,对于作业号69,还需要对第4个字赋值覆盖或者不覆盖现有数据记录的数值0或者1。

  • 从PLC读取数据记录:

最高有效字节

最低有效字节

Word1

0

69

Word2

配方编号(1-999)

Word3

配方数据记录编号(1-65535)

Word4

0:不覆盖 1:覆盖

  • 将数据记录写入PLC:

最高有效字节

最低有效字节

Word1

0

70

Word2

配方编号(1-999)

Word3

配方数据记录编号(1-65535)

Word4

例如,要通过“作业信箱”实现第3个配方的第5条数据记录的下载,需根据作业号70所对应的参数结构要求执行赋值操作。如下表所示:

Word1

Word2

Word3

Word4

高字节

低字节

70

3

5

例如,要通过“作业信箱”实现将PLC数据上载保存为第1个配方的第3条数据记录,并覆盖已有数据记录,需根据作业号69所对应的参数结构要求执行赋值操作。如下表所示:

Word1

Word2

Word3

Word4

高字节

低字节

69

1

3

1

4 同步传送

同步传送功能,是指PLC和HMI两个通信伙伴均在公共数据区设置状态字。此机制可防止在PLC控制程序中随意覆盖配方数据记录。下载配方数据后,系统会在公用数据区存储传送的配方编号、配方数据记录编号以及完成状态。如果需要进行再次传送配方数据,则必须将状态字设置为0才可传送。

4.1 “数据记录”区域指针的数据结构

“数据记录”区域指针的数据区需要连续的5个Word类型变量,每个Word变量代表的含义如下表所示:

Word1

当前配方编号(1-999)

Word2

当前配方数据记录编号(1-65535)

Word3

预留

Word4

状态(0,2,4,12)

Word5

预留

状态字(第4个字)为HMI所写入的“传送结果”,含义如下表所示:

数值

含义

0

允许传送

2

正在传送

4

传送已完成,没有错误

12

传送完成,出现错误

4.2 “数据记录“区域指针的组态

4.2.1 组态用于“数据记录”区域指针的变量

“数据记录”区域指针需要连续的5 个Word类型变量用于公共数据区域。如果HMI变量访问模式为“符号访问”,在全局数据块中定义长度为5的数组类型变量,如Array[0..4] of Word。如果HMI变量访问模式为“绝对访问”,在全局数据块中定义长度为5的数组类型变量,或者定义5 个连续的WORD类型变量均可。

通常情况下,“区域指针”所使用的变量仅在全局数据块中定义。

对于SIMATIC S7-300/400 PLC,HMI变量的访问模式只能是“绝对访问”。对于SIMATIC S7-1200/1500 PLC,激活全局数据块属性中的“优化的块访问“选项,HMI变量的访问模式只能是”符号访问“,未激活全局数据块属性中的”优化的块访问“选项,HMI变量的访问模式可以是”符号访问“,也可以是”绝对访问“。

  • 符号访问模式:
  • 绝对访问模式:

4.2.2 组态“数据记录”区域指针

在HMI设备“连接”下的“区域指针”中,激活“数据记录”区域指针,并设定“数据记录”区域指针的变量地址。

  • 符号访问模式:
  • 绝对访问模式:

4.2.3 协调的数据传输

在配方的“同步”属性中,激活“协调的数据传输”选项,并选择相应的“HMI连接”,否则HMI不会在公共数据区设置配方编号、配方数据记录编号以及完成状态。激活“协调的数据传输”选项如下图所示:

4.3 配方传送流程

通常情况下,建议在使用作业信箱方式操作配方时组态”同步传送“功能。但通过配方视图及配方画面操作配方也可以组态同步传送功能。以下为作业信箱方式操作配方的传送流程。

4.3.1 HMI->PLC传送流程

4.3.2 PLC->HMI传送流程

4.4 传送数据记录时可能导致出错的原因

以下为数据记录传送出错被取消的可能原因:

  • PLC中无对应变量
  • 不能覆盖数据记录
  • 配方号不存在
  • 配方数据记录号不存在 传送出错被取消时,根据配方操作方式的不同,HMI设备作出的反应也不一样:
  • 通过“配方视图”触发传送:配方视图状态栏显示信息并输出系统报警。
  • 通过“配方画面”触发传送:输出系统报警。
  • 通过“作业信箱”触发传送:HMI设备不返回任何信息。 配方视图状态栏显示信息如下图所示:

输出的系统报警根据原因不同报警也不同,可能情况如下图所示:

  1. 未将状态字设置为“0(允许传送)”:
  1. 传送指定的配方号不存在
  1. 传送指定的配方数据记录号不存在
  1. 与PLC通讯中断
  1. PLC变量不存在
  1. 数据记录已经存在,不能覆盖数据记录
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-04-15,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 科控物联 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档