PLC程序中的配方应用

news/2024/10/16 2:24:13
  1. 建立ARRAYDB
  • 集合配方需要的所有元素结构,组成一个UDT(包含范围最全)
  • 新建一组ARRAY DB,元素的个数就是配方需要的副本的个数
  • 数组DB勾选仅存储在装载内存中,以便数据量大的配方不占用数据工作存储器空间,节省资源
  • 在ARRAY DB的起始值处填写配方的具体值
  • 1200不支持ARRAY DB,所以用普通全局DB替代也可
  1. 配方表的导入导出
  • 导入
//export
#statExRecipe.req := #H_animinal.start_export_button;
#RecipeExport_Instance(REQ := #statExRecipe.req,DONE => #statExRecipe.done,BUSY => #statExRecipe.busy,ERROR => #statExRecipe.error,STATUS => #statExRecipe.status,RECIPE_DB := "Product_Recipe");
  • 导出
//import
#statImRecipe.req := #H_animinal.start_import_button;
#RecipeImport_Instance(REQ:=#statImRecipe.req,DONE=>#statImRecipe.done,BUSY=>#statImRecipe.busy,ERROR=>#statImRecipe.error,STATUS=>#statImRecipe.status,RECIPE_DB:="Product_Recipe");
  • 导入导出位置
  1. DBL的读出和写入
  • 从DBL读出到程序中使用,靠index索引,靠req使能,statReturnRDDBL=16#7002时表示读出完成
  • read_DBL本身是异步指令,整个过程会横跨多个扫描周期,另外因为是从存储卡读取而来,读取速度上不是很快
  • DBL因为使能了仅存储在装载内存中,故不能在线,它只有起始值,没有在线值。
  • 写入同理
//read_DBL
#statReadDBL.req := #H_animinal.start_readDBL_button;
#statReturnRDDBL:=READ_DBL(REQ := #statReadDBL.req, SRCBLK :="Product_Recipe"."THIS"[#H_animinal.recipe_index] , BUSY => #statReadDBL.busy, DSTBLK => #H_current_params);
IF 16#7002 = #statReturnRDDBL THEN#H_animinal.start_readDBL_button := FALSE;
END_IF;
//write DBL
#statWriteDBL.req := #H_animinal.start_writeDBL_button;
#statReturnWRDBL := WRIT_DBL(REQ := #statWriteDBL.req, SRCBLK :=#H_current_params, BUSY => #statWriteDBL.busy, DSTBLK => "Product_Recipe"."THIS"[#H_animinal.recipe_index]);
IF 16#7002 = #statReturnWRDBL THEN#H_animinal.start_writeDBL_button := FALSE;
END_IF;

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.ryyt.cn/news/26387.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

Redis 高可用之主从哨兵集群实战

搭建集群 架构规划为一个主库节点,一个从库节点,三个哨兵节点,其中主从库节点内存配置需保持一致,哨兵节点对配置要求较低,可配置在主从节点上。 搭建主库 主从库节点内存配置需保持一致,主从库连接密码保持一致。主库不进行任何持久化配置,交给从库完成。 编写配置文件…

Juummmmppingg!

You jump,I jump.To jump,or not to jump,that is the question.灵感来源是无聊的时候自己和自己玩的数学小游戏 初始版本 给定了从1到50这50个正整数, 正直善良的勇者啊,请选定起始方块(这也算访问一次,但不计入跳跃数量( (我都乱写了你就让让我吧), 然后在这些方块上…

测试与发布

目录测试报告一、bug的发现与解决二、场景测试(scenario testing)发布说明一、功能说明二、对运行环境的要求三、安装方法四、已知的限制和缺陷五、发布方式和发布地址 测试报告 一、bug的发现与解决1.在测试过程中总共发现了多少Bug?每个类别的Bug分别为多少个? 答:共发现…

Trusted Types API

Trusted Types API: 锁定 DOM API 的不安全部分,以防止客户端跨站脚本(XSS)攻击untrusted<!DOCTYPE html> <html lang="en"><head><meta charset="UTF-8" /><meta name="viewport" content="width=device-wi…

【MMD x EEVEE教程】工具篇 • blender设置

这篇教程适合有一定基础的萌新....*& blender下载官方网址https://www.blender.org/官方blender,都是最新版,如果需要找旧版的blender可以到这里来https://download.blender.org/release/ ,里边包好了所有版本的blender,因为是做MMD,下载自己需要版本后,建议额外下载…

ojdbc6jar包手动解压导入本地仓库

报错 Cannot resolve com.oracle:ojdbc6:11.2.0.1.0 <!--oracle驱动--> <dependency><groupId>com.oracle</groupId><artifactId>ojdbc6</artifactId><version>11.2.0.1.0</version> </dependency>解决方式: 手动导入 …

瑞芯微-I2S | ALSA基础-3

针对音频设备,linux内核中包含了两类音频设备驱动框架;OSS:开放声音系统 包含dsp和mixer字符设备接口,应用访问底层硬件是直接通过sound设备节点实现的;ALSA:先进linux声音架构(Advanced Linux Sound Archiecture) 以card和组件(PCM、mixer等)为组件,应用是通过ALSA…

赏猎技巧之burp

高并发 Race conditions 竞态条件 理论 https://portswigger.net/web-security/race-conditions 操作 https://portswigger.net/burp/documentation/desktop/tools/repeater/send-group#sending-requests-in-parallelHTTP/1 keep-alive 不能开主要在于胡扯烂造,大家就当相声看…