西门子1200PLC传送配方数据的程序指令

2019年1月12日14:16:11 发表评论 320 阅读

RecipeExport(配方导出)指令

表格 9- 155 RecipeExport 指令

在配方可以导出之前,必须创建配方数据块。 配方数据块的名称用作新 CSV文件的文件名。 如果具有相同名称的 CSV 文件已经存在,则在导出操作期间会被覆盖。

可以使用 CPU 的内置 Web 服务器的文件浏览器页面来访问配方CSV文件。 该文件被置于 CPU 装载存储器根目录的配方文件夹中。

表格 9- 156 参数的数据类型

表格 9- 157 ERROR 和 STATUS 的值

ERROR STATUS (W#16#....) 说明
0 0000 无错误
0 7000 无 REQ 沿时调用: BUSY = 0,DONE = 0
0 7001 有 REQ 沿时首次调用(工作): BUSY = 1,DONE = 0
0 7002 第 N 次调用(工作): BUSY = 1,DONE = 0
1 8070 所有实例存储器都在使用。
1 8090 文件名称包含无效字符
1 8091 无法处理使用 RECIPE_DB 引用的数据结构。
1 8092 RECIPE_DB 中指定的数据结构超过 5000 字节
1 80B3 MC 或内部装载存储器中没有足够的空间
ERROR STATUS (W#16#....) 说明
1 80B4 MC 受写保护
1 80B6 未启用配方数据块属性“仅存储在装载存储器中”(Only store in load memory)。
1 80C0 CSV 文件被临时锁定
1 80C1 DB 被临时锁定

RecipeImport(配方导入)指令

表格 9- 158 RecipeImport 指令

表格 9- 159 参数的数据类型

参数和类型 数据类型 说明
REQ IN Bool 控制参数 REQUEST: 在上升沿激活导入。
RECIPE_DB 输入/输出 Variant 指向配方数据块的指针。 有关详细信息,请参见“配方数据块实例 (页 464)”。 数据块名称中的字符必须遵守 Windows 文件系统命名限制。 字符 \ / : * ? " < > | 及空格字符均不许使用。
DONE OUT Bool 上一请求已完成且没有出错后,DONE 位将保持为 TRUE

一个扫描周期时间。 (默认值:False)

BUSY OUT Bool · 0 - 无操作正在进行

· 1 - 操作正在进行

ERROR OUT Bool 上一请求因错误而终止后,ERROR 位将保持为 TRUE 一个扫描周期时间。 STATUS 参数中的错误代码值仅在 ERROR = TRUE 的一个扫描周期内有效。
STATUS OUT Word 执行条件代码(默认值:0)

只有配方数据块中包含一个与 CSV 文件数据结构一致的结构,才能执行配方导入操作。

CSV 文件规则:

  • CSV文件必须位于内部装载存储器根目录的“Recipes”文件夹中;如果安装了可选的外部“程 序”存储器卡,则 CSV 文件也可以位于外部装载存储器的相应文件夹中。
  • CSV文件的名称必须与RECIPE_DB 参数中的数据块名称相匹配。
  • CSV 文件的第一行(标题)包含配方成分的名称。导入期间会忽略第一行。导入过程期间,不会检查 CSV 文件和数据块中配方成分的名称是否一致。
  • 在每种情况下,CSV文件每一行的第一个值都作为配方的索引编号。各个配方按索引的顺序导入。 因此,CSV 文件中的索引必须按升序排列并且不能间断(否则,STATUS 参数中会输出错误消息 80B0)。
  • CSV文件中包含的配方数据记录数不能超过配方数据块中提供的数量。数据记录的最大值由数据块中的数组限值指出。

表格 9- 160 ERROR 和 STATUS 的值

 

ERROR STATUS (W#16#....) 说明
0 0000 无错误
0 7000 无 REQ 沿时调用: BUSY = 0,DONE = 0
0 7001 有 REQ 沿时首次调用(工作): BUSY = 1,DONE = 0
0 7002 第 N 次调用(工作): BUSY = 1,DONE = 0
1 8070 所有实例存储器都在使用。
1 8090 文件名称包含无效字符。
1 8092 没有匹配的 CSV 文件可导入。 可能原因: CSV 文件的名称与配方 DB

的名称不匹配。

1 80C0 CSV 文件被临时锁定。
1 80C1 数据块被临时锁定。
1 80B0 CSV

文件中的索引编号不连续、未按升序排列或超过数据块中的最大数(数组 限值)。

1 80B1 配方数据块的结构与 CSV 文件不匹配: CSV 文件包含过多的字段。
1 80B2 配方数据块的结构与 CSV 文件不匹配: CSV 文件包含过少的字段。
1 80B6 未启用配方数据块属性“仅存储在装载存储器中”(Only store in load memory)。
1 80D0 +n 配方数据块的结构与 CSV 文件不匹配: 字段 n 中的数据类型不匹配

(n<=46)。

1 80FF 配方数据块的结构与 CSV 文件不匹配: 字段 n 中的数据类型不匹配

(n>46)。

 

weinxin
plc入门知识问答
每一个PLC工程师都应该关注的微信公众账号,只需输入您的问题,就会有答案

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: