跳转至

设置配方本体#

1562151394909

激活后,Set Recipe Body任务将向设备发送S7F3(设置配方本体)SECS/GEM消息。

1562151450558

输入#

名称 数据类型 是否是触发器 描述
recipeName String 我们要检索的配方的名称
recipeBody any 配方的新本体
激活 Any 激活任务

输出#

名称 数据类型 描述
成功 Boolean 任务成功执行时触发
错误 Error 任务因某种原因失败时触发

设置#

General选项卡上,您有常用设置和以下设置:

名称 数据类型 默认 描述
流函数名称 String S7F3 消息中使用的SECS-GEM流函数名称。
请求消息 Object {
"type": "A",
"name": "PPID",
"value": ""
}
自定义请求消息,而不是默认消息。
使用S7F1(请求上传) Boolean true 用于指定在从主机发送S7F3进程程序时是否要求查询S7F1进程程序的参数
S7F1成功代码: String 0x00 允许使用逗号作为分隔符的多个值(“0x01, 0x04, 0x05, 0x00”)。如果为空,则任何回复都是成功的。
请求消息 Object {
"type": "L",
"value": [
{
"type": "A",
"name": "PPID",
"value": ""
},
{
"type": "BI",
"name": "PPBODY",
"value": ""
}
]
}
自定义请求消息,而不是默认消息
配方名称项目路径位置 String /[1] 项目路径位置,在主消息上,应在其中插入“配方名称”输入。如果为空,则不执行替换,主消息将按原样发送。
配方本体路径 String /[2] 路径位置,在回复消息上,应在其中检索配方本体
配方本体类型 enum BufferRecipeBody
String\RecipeBody
BufferRecipeBody 可以解释消息内容上的配方本体。
回复路径 String / 结果代码在回复消息中所处的位置
成功代码 S 0x00 允许使用逗号作为分隔符的多个值(“0x01, 0x04, 0x05, 0x00”)。如果为空,则任何回复都是成功的。

回复路径是浏览SECS/GEM消息的有用方式,在下面您可以找到一个示例:

示例:

{
    "type": "L",
    "value": [
        { "type": "A", "value": "test" },
        { "type": "BO", "value": true },
        { "type": "BI", "value": "0x01" },
        { "type": "I1", "value": 1 },
        { "type": "I2", "value": 2 },
        { "type": "I4", "value": 4 },
        { "type": "I8", "value": 8 },
        { "type": "U1", "value": 11 },
        { "type": "U2", "value": 22 },
        { "type": "U4", "value": 44 },
        { "type": "U8", "value": 88 },
        { "type": "F4", "value": 3.14 },
        { "type": "F8", "value": 3.1415 },
        { "type": "L", "value": [
            { "type": "BO", "value": [true, false, false, true] },
            { "type": "BI", "value": [1, 2, 255] },
            { "type": "I1", "value": [1, 2, 3] },
            { "type": "I2", "value": [2, 3, 4] },
            { "type": "I4", "value": [4, 5, 6] },
            { "type": "I8", "value": [8, 9, 10] },
            { "type": "U1", "value": [11, 12, 13] },
            { "type": "U2", "value": [22, 23, 24] },
            { "type": "U4", "value": [44, 45, 46] },
            { "type": "U8", "value": [88, 89, 90] },
            { "type": "F4", "value": [3.14, 3.15, 3.16] },
            { "type": "F8", "value": [3.1415, 3.141516, 3.14151617] }
        ]}
    ]
}

SECS/GEM项目值可以使用类似路径的字符串从消息中提取。 分隔符是“/”字符。 索引从1 (1..n)开始。如果使用类型前缀,则将匹配工单索引。

以下示例应有助于解释如何使用它们:

  • “/” -> 将返回根节点
  • “/[1]” -> 将返回字符串“test”
  • “/[4]” -> 将返回整数1
  • “/U1” -> 将返回11
  • “/U1[1]” -> 也会返回11
  • “/L/[3]” -> 将返回[1,2,3]
  • “/[14]/[3]”-> 也会返回[1,2,3]

请求消息和回复消息可以是自定义创建的SECS-GEM消息。可使用JSON格式创建消息正文,如回复消息示例中所示。

可以使用 JSON 格式构建 SECS/GEM 消息,其中每个 SECS/GEM 项都表示为具有以下格式的对象:
{
   "name": "OptionalName",
   "comment": "Optional Comment/Description",
   "type": "A",
   "value": "test"
}

支持的类型包括:

  • A - ASCII(字符串)
  • BI - 二进制值 BO - 布尔值
  • I1I2I4I8 - 有符号整数
  • U1U2U4U8 - 无符号整数
  • F4F8 - 浮点型/双精度
  • L - 列表

1562152171958

行为#

在此任务中,您可以在将驱动程序放入工作流时选择驱动程序(如果您有多个与控制器关联的驱动程序)。

激活后,将向设备的驱动程序发送一条S7F1(请求上传)消息。如果设备回复成功,将向设备的驱动程序发送一条S7F3(设置配方本体)消息。

如果回复与正确路径中预期的内容相匹配,并且具有正确的成功代码,则该任务将在Success输出中发出true值。如果任务由于某种原因无法发送消息,或者收到意外回复,则发出Error

备注#

没有做特别的备注。