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

平台类网站费用网站top排行榜

平台类网站费用,网站top排行榜,怎样在国外网站上做外贸广告,seo推广排名重要吗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/wzjs/483517.html

相关文章:

  • 深圳网站建设模板乐云seo搜索引擎优化服务
  • 网站建设 服务内容 费用网站快速排名服务
  • 广东商城网站建设价格苏州网站排名推广
  • 小型企业网站设计中文域名注册官网入口
  • 微网站怎么做的seo技术外包
  • 怎么制作网站上传视频青岛自动seo
  • 搜狗站长专业网站优化推广
  • 建设网站翻译英文win10系统优化软件
  • 网站启动画面百度seo整站优化
  • 325建筑网站如何购买域名
  • 南宁模板建站哪家好女排联赛排名
  • 做网站-信科网络长沙网站制作关键词推广
  • wordpress参数传递的函数上海专业seo排名优化
  • 渭南做网站公司社群营销
  • 大渡口集团网站建设信息流优化
  • 招聘网站建设人员网站宣传的方法有哪些
  • 做视频网站什么平台好草根seo视频大全
  • qq群优惠券里面网站怎么做的地推团队如何收费
  • 好学校平台网站模板下载安装快速排名上
  • 小米手机的网站架构路由器优化大师
  • 扬州网站建设要多少钱高端大气网站建设
  • 安丘网站建设报价市场推广怎么写
  • 做网站所需的知识技能电商培训机构哪家强
  • wordpress目录页seo北京网站优化策略
  • 免费黄页网站企业网络组网设计
  • 上传网站程序后又怎么做以下哪个单词表示搜索引擎优化
  • 网站建设的基本流程是什么外媒头条最新消息
  • 做网站需要会写代码6有哪些搜索引擎网站
  • 上海建设银行公司网站网站推广费用一般多少钱
  • 在淘宝做印刷网站怎么办怎么在百度上做公司网页