当前位置: 首页 > news >正文

餐饮网站做的比较好的是哪个邵阳市最新消息

餐饮网站做的比较好的是哪个,邵阳市最新消息,书店商城网站html模板下载,视频网站如何做盗链S7-1200 中 AT 覆盖参数的应用:灵活访问数据区域的实用指南 在 S7-1200 的编程过程中,经常需要对声明参数内的数据区域进行灵活访问。例如,有时需要将一个 Word 类型的参数按位进行操作,或者将一个 DWord 类型的参数拆分为多个不同…

S7-1200 中 AT 覆盖参数的应用:灵活访问数据区域的实用指南

在 S7-1200 的编程过程中,经常需要对声明参数内的数据区域进行灵活访问。例如,有时需要将一个 Word 类型的参数按位进行操作,或者将一个 DWord 类型的参数拆分为多个不同的数据类型进行处理。通过附加声明(AT 覆盖)的方式,可以实现对已声明参数的不同数据类型寻址,极大地提升了数据操作的灵活性。本文将详细介绍 AT 覆盖参数的创建方法、顺序规则及注意事项,帮助工程师更好地掌握这一实用技巧。

一、AT 覆盖参数:数据类型灵活转换

AT 覆盖参数是 S7-1200 中一种特殊的参数声明方式,它允许为同一个数据区域赋予不同的数据类型,从而实现对该区域的多样化访问。例如,对于一个 int 类型的参数,可以通过 AT 覆盖将其声明为一个由 16 个 Bool 组成的数组,这样就能够直接对该 int 类型参数的每一位进行操作,无需进行复杂的位运算转换。

这种方法在工业控制场景中非常实用。比如,在处理一个 16 位的控制字时,既可以整体对这个控制字进行赋值或传递,又可以通过 Bool 数组单独控制每一位对应的设备状态,大大简化了程序编写。

二、创建 AT 覆盖参数的详细步骤

创建 AT 覆盖参数需要按照一定的流程进行操作,不同的块类型和设置会影响创建过程,下面详细介绍具体步骤。

步骤 1:创建非优化访问的块

首先,在 S7-1200 的项目中,新建一个 FB 块(功能块)或 FC 块(功能)。以 FB 块为例,右键点击 FB 块,进入该块的属性设置界面。在属性中,需要将 “优化的块访问” 选项取消勾选。这是因为优化的块访问会对数据存储进行优化,导致无法直接通过地址偏移进行参数覆盖,只有非优化的块访问才能支持 AT 覆盖参数的创建。

步骤 2:在块接口中添加参数并设置 AT 覆盖

双击进入 FB 块,展开 “块接口” 区域,如图所示。在 “Input”(输入)区域添加一个参数,例如命名为 “A”,数据类型设置为 int。接着,在参数 “A” 下面的一行,在 “数据类型” 这一列手动输入 “AT”。

此时,系统会自动生成一个新的参数 “Input_1”,其数据类型默认为 int。将 “Input_1” 的数据类型修改为 “Array [0..15] of Bool”,然后编译该 FB 块。编译完成后可以看到,参数 “A” 和 “Input_1” 的偏移量都是 0.0,这表明它们指向同一个数据地址,只是以不同的数据类型呈现。

按照同样的方法,可以在 “Output”(输出)区域创建参数 “B” 和对应的 AT 覆盖参数 “Output_1”,这样就能够对参数 “A” 和 “B” 进行位操作了。

步骤 3:处理优化的块访问情况

如果 FB 块需要保留 “优化的块访问”(即勾选该选项),则需要在 “保持性” 一列中选择 “在 IDB 中设置”,之后才能使用 AT 参数覆盖功能。

此外,对于标准访问的 FB 块输入参数,还可以使用结构体(Struct)进行覆盖。例如,一个 DWord 类型的参数可以被一个包含字、字节和布尔值的结构体覆盖,通过这种方式可以更灵活地对不同数据段进行操作。

步骤 4:调用 FB 块

在 OB1 中调用创建好的 FB 块时,FB 块的管脚不会显示 AT 覆盖生成的参数(如 Input_1 和 Output_1),如图 所示,这些参数仅在块内部用于数据访问。

三、AT 覆盖参数的顺序与对应关系

当使用 AT 覆盖参数后,需要明确参数之间的地址对应关系,以确保正确访问数据。例如,在 FB1 的接口区创建一个 DWord 类型的参数 var1,并创建一个 Array [0..31] of Bool 类型的 AT 覆盖参数 var2。在主程序 OB1 中调用 FB1,

并为 var1 赋值实参为 MD10(DWord 类型),此时 var2 与 var1(即 MD10)的对应关系如下:

var2[0]M10.0MB10
var2[7]M10.7
var2[8]M11.0MB11
var2[15]M11.7
var2[16]M12.0MB12
var2[23]M12.7
var2[24]M13.0MB13
var2[31]M13.7

var2 [0] 对应 M10.0,var2 [1] 对应 M10.1……var2 [7] 对应 M10.7;var2 [8] 对应 M11.0,以此类推,var2 [31] 对应 M13.7。这种对应关系是由数据的存储结构决定的,低位在前,高位在后。

四、AT 覆盖参数的注意事项和规则

在使用 AT 覆盖参数时,需要遵循一定的规则和注意事项,以避免出现错误。

  1. 适用范围:在 LAD、FBD 和 SCL 编程语言中都允许使用参数覆盖;可以在 FB、FC 块中使用,但 S7-1200 的 OB 块是优化块,不支持 AT 功能;无法覆盖库中声明为接口参数的块,也无法覆盖接口中声明为参数的结构化 PLC 参数。
  2. 数据宽度:覆盖参数的数据宽度必须小于等于被覆盖参数的数据宽度,否则会导致数据访问越界。
  3. 数据类型限制:不可以覆盖 VARIANT 数据类型的参数;多重实例声明不能覆盖;Bool、Byte、SINT、USInt 和 Char 不能使用 PLC 数据类型、数组、结构体的参数覆盖;如果被覆盖参数是字符串、字节数组、字符数组等,其长度应与偶数个字节数对应。
  4. FB 与 FC 的差异:对于 FC 块使用 AT 覆盖时,覆盖参数和被覆盖参数的数据长度必须相同;而 FB 块在不同接口(如 Input、Output、Temp 等)对数据类型的组合有不同规则,具体可参考表 2。
  5. 其他限制:无法通过片段访问对覆盖参数进行寻址。
覆盖参数被覆盖参数
基本数据类型结构化数据类型Any 指针DB_ANY
FBInput基本数据类型
结构化数据类型
Any 指针
Temp基本数据类型
结构化数据类型
Any 指针
Static、Output基本数据类型
结构化数据类型
Any 指针
InOut基本数据类型
结构化数据类型
Any 指针
FCTemp基本数据类型
结构化数据类型
Any 指针
Input、Output、InOut基本数据类型
结构化数据类型
Any 指针

如果在程序中无法实现 AT 覆盖的需求,可以考虑使用片段访问,或者使用 “SCATTER”(分散)和 “GATHER”(聚集)指令来处理数据。

通过 AT 覆盖参数的功能,S7-1200 能够灵活地对声明参数内的数据区域进行访问,实现了不同数据类型之间的便捷转换和操作,在工业控制程序编写中具有很高的实用价值。在实际应用中,需要严格遵循相关规则和注意事项,确保程序的正确性和稳定性。

http://www.dtcms.com/a/426313.html

相关文章:

  • 为什么自己做的网站用QQ打不开淘宝优惠券查询网站怎么做
  • 做防水广告在哪个网站最好企业所得税怎么征收2022政策
  • 深圳网站制作公司网站建设公司网站开发 流程
  • 炒币做合约哪个网站最好wordpress二维码生成
  • 贵州企业网站建设招商中铁建设集团有限公司西北分公司
  • 石家庄建站网页模板怎么做北京赛网站
  • 赛车网站开发seo报价单
  • 想做个卷帘门百度优化网站公司logo在线设计生成器
  • 做网站需要登陆服务器网站吗老师问我做网站用到什么创新技术
  • 怎么个人做网站wordpress主题 破解
  • 中国建设工程招聘信息网站聊城经济开发区人才网
  • 杭州建设网站网站织梦网站被做跳转还被删除文件
  • 如何查看vs中建设好的网站wordpress手机发布时间
  • 苏州网站设计服务百度联盟一天多少收入
  • 学习网站建设的书籍做wow宏的网站
  • 黑龙江建设局网站做网站公司专业
  • 网站建设平台信息网站头部特效
  • 企业网站模板论坛枣庄住房和城市建设局网站
  • 营销型网站架构师洛阳网站建设外包
  • 网站加载速度慢滕州市中远建设工程公司网站首页
  • 网站菜单分类怎么做商务网站建设定义
  • 做简历网站有什么常州网站推广优化
  • 四川星星建设集团有限公司网站广东东莞智通人才招聘网
  • 建门户网站大连微信网站开发
  • 网站加强阵地建设与管理wordpress 布局块调整
  • 网站设计例子办公室装修费用会计处理
  • 道外网站建设最新企业名录搜索软件
  • 统一企业官方网站山东省济宁市嘉祥县建设局网站
  • 如何优化自己的网站西宁市网站建设公司推荐
  • 诗人做的网站wordpress升级注意事项