同步传送配方数据记录

1. 简介

现场实际操作配方时,往往希望PLC 作为“主动方“,从而可以控制配方数据记录的写入和读取。如何防止在控制程序中随意覆盖数据就需要选择同步传送。如果选择同步传送,两个通信伙伴均在公用数据区设置状态位。

同步传送的要求:

为了在 HMI 设备与 PLC 之间实现数据记录的同步传送,组态时必须满足下列要求:

  • 设置了区域指针: 在“区域指针”(Area pointer) 中选择“通信 > 连接”(Communication > Connections) 编辑器。
  • 在配方中指定要与 HMI 设备同步传送数据记录的 PLC链接。
  • 在巡视窗口的“配方”(Recipes) 编辑器中,选择“常规 > 同步 > 设置”(General > Synchronization > Settings) 下的“协调数据记录传送”(Coordinated transfer of data records) 选项。
  • 数据区的结构:

    数据区的长度固定为5个字。数据区的结构:

     
    15
     
    0
    1.字
    当前配方号(1-999)
    2.字
    当前数据记录号(0-65535)
    3.字
    预留
    4.字
    状态(0、2、4、12)
    5.字
    预留

    状态字(第 4 个字)可采用以下值:

    数值
    含义
    十进制
    二进制
    0
    0000 0000
    允许传送,数据信箱为空
    2
    0000 0010
    传送
    4
    0000 0100
    传送已完成,没有错误
    12
    0000 1100
    传送完成,出现错误

    2. 在HMI 设备与PLC 之间实现数据记录同步传送的组态

    如何建立HMI设备中的配方和PLC关联可以参考以下的视频和FAQ链接。

    TIA Portal V13 WinCC配方组态及配方视图的使用

    http://www.ad.siemens.com.cn/service/elearning/cn/Course.aspx?CourseID=1550

    TIA Portal V13 WinCC不使用配方视图来操作配方

    http://www.ad.siemens.com.cn/service/elearning/cn/Course.aspx?CourseID=1551

    通过作业信69和70实现配方数据记录的写入和读取功能

    http://www.ad.siemens.com.cn/productportal/Prods/HMI/Comfortpanel/Q7_configuration/FAQ128.html

    2.1 组态数据记录区域指针

    1. 创建用于”数据记录“区域指针的变量

    2. HMI设备连接中激活“数据记录”区域指针,同时关联PLC变量。

    2.2 勾选“协调的数据传输”功能

    在巡视窗口的“配方”(Recipes) 编辑器中,选择“常规 > 同步 > 设置”(General > Synchronization > Settings) 下的“协调数据记录传送”(Coordinated transfer of data records) 选项,指定要与HMI 设备同步传送数据记录的PLC。

    3. 运行PLC和HMI项目

    传送配方数据记录的方式可以由PLC或HMI设备任意一方发起。PLC利用作业信箱功能发起数据记录的写入和读取。HMI 设备可利用配方视图控件或调用用于配方操作的系统函数实现数据记录的写入和读取。

    3.1 通过配方视图执行数据记录的读取操作

    操作员在配方视图中执行“从PLC 读取”操作。

    执行操作后,可以查看对应的状态。对比之前分配的用户数据记录区域指针的变量。

    其中变量DB_1.DataRecordTag 的第1个字显示当前配方编号为1,第2个字显示当前配方数据记录编号为1,第4个字显示传送状态为4 。可以看到第1个配方的第1条数据记录已经正常从PLC读取成功。


    3.2 通过配方视图执行数据记录的写入操作

    操作员在配方视图中执行“写入PLC ”操作。

    执行操作后,可以查看对应的状态。对比之前分配的用户数据记录区域指针的变量。

    其中变量DB_1.DataRecordTag 的第1个字显示当前配方编号为1,第2个字显示当前配方数据记录编号为2,第4个字显示传送状态为4 。可以看到第1个配方的第2条数据记录已经正常写入PLC。

    4. 注意事项

    4.1 执行配方数据记录的写入和操作后的注意事项

    首次执行配方数据记录的写入和读取操作成功后,如需进行下一次操作,需将状态字设置为0。如果未将状态字复位为0,再次执行数据记录的写入和读取时会产生错误,通过报警视图可以看到系统报警290026,提示“不能传送。重设PLC上的数据邮箱”。

    4.2 “数据记录”区域指针变量使用符号访问方式

    区域指针-“数据记录”功能关联PLC变量的访问模式为符号访问时,“数据记录”的长度为5,需在PLC中定义数据类型为5个字的数组变量,否则会提示报错。例如定义数据类型为Word类型的数组Array[0..4] of Word 。

    4.3 “数据记录”区域指针变量使用绝对访问方式

    区域指针-“数据记录”功能关联PLC变量的访问模式为绝对访问时,“数据记录”的长度为5,需在PLC中建立5个地址连续的Word类型的变量,同时确保所分配的5个变量不能在PLC程序中有其他地方使用。在作业信箱的地址中填写第一个变量的绝对地址即可。

    如果通讯对象是S7-1200/1500 PLC时,共享数据块DB默认启用了“优化的块访问”,如果需要使用绝对访问方式进行寻址,需要在共享数据块DB属性中取消“优化的块访问”,然后点击共享数据块DB进行编译。