SMART200的数据类型和变量寻址方式

发布时间:2024-08-27  

为什么要区分数据类型

现实生活中我们可以随意在纸上写出一串数字,并运用小学学过的知识准确识别出数字的大小。但在计算机中,受到机器运算方式和存储空间的限制,必须将数据分成不同的组织形式,以便进行更高效的运算,每种数据类型所占存储空间不同,可表示的数值范围也不同。

PLC编程需要认识的基本数据类型

学习PLC编程需要熟知以下数据类型

图片

按数据类型的所占存储空间的大小进行分类如下:

图片

从上图可以看出,除字符串数据类型,其他数据类型都是按照位的长度来分类的。其实不论是什么数据类型,存储后只要以二进制的形式查看,都是1/8/16/32等二进制位的0或1组合。

图片

相同的二进制数按照不同的规则解析,可以解析成不同类型的数据,可表示的数据大小最终受限于所占用的存储空间的大小。

PLC中的变量

PLC中变量的概念可以认为是一个用于存储数据的存储空间,空间的内容可变,所以称为变量。

由于PLC的数据存储器已经被明确划分好了种类和范围,我们可以直接使用这些明确的存储区而不需要像计算机编程那样先声明一个某类型的变量再在后面的程序中使用。

在西门子PLC编程只需要指定出变量的存储区类型,地址索引和长度,而变量的类型(用哪种规则解析)是由具体调用的指令来和子程序的接口来定义的。

指令区分数据类型,匹配相应的变量长度。例如ADD_I指令会将长16位(2个字节)的变量按整型来处理计算,ADD_DI指令会将长32位(4个字节)的变量按双整型来处理计算,而ADD_R指令会将长32位(4个字节)的变量按浮点数来处理计算。

图片

下图左边的子程序形参类型决定了实参变量的类型,在调用子程序时,会按照形参定义的数据类型处理对应长度的变量。

图片

变量的寻址

因为各种存储空间已经被划分好,不需要再定义,那么我们怎样才能找到这片存储空间呢?这就是寻址的概念。西门子PLC的寻址方式分为两种,直接寻址和间接寻址。直接寻址又可以分为两种,绝对寻址和符号寻址。

图片

直接寻址

PLC的数据存储空间,这里总结出直接访问数据存储空间的三个要素,存储区类型,地址索引和长度。

图片

例如如果访问的是V0.0,其中V代表存储器类型是V存储器,0代表存储器索引值,.0代表访问的长度是1个位并且指出是第0个位。

例如如果访问的是VB1,其中V代表存储器类型是V存储器,1代表存储器索引值,B代表访问的长度是1个字节。

例如如果访问的是VW2,其中V代表存储器类型是V存储器,2代表存储器索引值,W代表访问的长度是1个字(2个字节)。

例如如果访问的是VD4,其中V代表存储器类型是V存储器,4代表存储器索引值,D代表访问的长度是1个双字(4个字节)。

图片

如果访问的是VD0,,其中V代表存储器类型是V存储器,0代表存储器索引值,D代表访问的长度是1个双字(4个字节),这次访问包含了V0.0-V3.7共32个位区域,VB0-VB3共4个字节区域,VW0-VW2共2个字区域。

绝对寻址

绝对寻址直接指出存储区类型,地址索引和访问长度即可。

图片

符号寻址

为绝对地址定义一个符号,同时添加相应的注释。符号也是可以用来寻址的,即通过符号名称找到对应的地址,例如在编程时可以通过“瞬时流量1”这个符号名称来找到VD6000这个地址。符号表中定义变量是不需要指定变量的数据类型的,而变量的类型(用哪种规则解析)是由具体调用的指令来和子程序的接口来确定的。其中地址的基本要素也是存储区类型,地址索引和访问长度。

图片

在程序中直接使用符号名称来指代某个变量,在定义符号表时已经定义了数据存储器的类型,地址索引和访问长度。

图片

直接寻址的两种方式单独显示即同时显示的切换方法如下

图片

间接寻址

你可以将指针想象成一辆自动取送货的小车,变量是货架上的一个个货位,只需要将货位号发给小车,小车就能找到这个位置来取送货物。

图片

间接寻址的过程是,首先定义一个指针变量,让指针变量指向存储区的纯数值索引。再通过指针访问这个存储区,通过改变指针数值,指向另一个存储区,再访问另一个存储区。

指针是包含另一个存储位置地址的双字存储位置。只能将 V 存储位置、L 存储位置或累加器寄存器(AC1、AC2、AC3)用作指针。要创建指针,必须使用“移动双字”指令,将间接寻址的存储位置地址移至指针位置。指针还可以作为参数传递至子程序。

注意:修改指针值时,切记调整所访问数据的大小:访问字节时,指针值加 1;访问定时器或计数器的字或当前值时,指针值加 2;访问双字时,指针值加 4。

哪些存储区支持间接寻址

S7-200 SMART 允许指针访问下列存储区:I、Q、V、M、S、T(仅限当前值)、C(仅限当前值)、SM、AI 和 AQ。单个位或访问 HC、L 或 AC 存储区不支持间接寻址访问。


总结

直接寻址时,绝对寻址和符号寻址这两种方式本质是三要素,一般在编程中,不需要监视的临时变量,中间过渡变量可以采用绝对寻址的方法来使用,需要监视的变量更适合符号寻址,也方便调试监控。而间接寻址更适合批量操作一定区域的变量,特别是与循环指令配合使用。


文章来源于:电子工程世界    原文链接
本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。

相关文章

    (用户定义数据类型、系统数据类型和数组类型)的数据块。 (2)全局数据块(DB)及其应用 全局数据块用于存储程序数据,因此,数据块包含用户程序使用的变量数据。一个程序中可以创建多个数据......
    块****DB可以分为:全局数据块、背景数据块和基于数据类型(用户定义数据类型、系统数据类型和数组类型)的数据块。 (2)全局数据块**(DB)**及其应用 全局数据块用于存储程序数据,因此,数据块包含用户程序使用的变量数据......
    不能超过工作存储区或装载存储区。SIMATICS7-1500 PLC的非优化数据最大数据空间为64KB。而优化的数据块的存储空间要大得多,但其存储空间与CPU的类型有关。 按照功能分,数据块DB可以分为:全局数据......
    记录 用于电机设置的参数集 配方 使用 PLC 数据类型有以下优点: PLC 数据类型元素也可以间接寻址,这意味着地址可变,并且到运行时才会计算。 基于 PLC 数据类型的变量继承 PLC 数据类型......
    度浮点数 10 else 程序语句 构成if…… else 选择结构 11 enum 数据类型说明 枚举 12 extern 存储类型说明 在其他程序模块中说明了全局变量 13 float 数据类型......
    变量由以下部分组成:   ●  名称(例如,CONVEYOR_ON):  变量名称只对一个 PLC  有效,并且在整个程序和此特定 PLC  中只能出现一次。  ●  数据类型(例如,BOOL......
    示波器常见故障类型有哪些 如何维修;示波器的作用是不可替代的,它一直是工程师设计和调试产品的好帮手。示波器可用于观察各种信号幅度随时间变化的波形,也可用于测试各种电气量,如电压、电流、频率、相位......
    SMART200的数据类型和变量寻址方式;为什么要区分数据类型 现实生活中我们可以随意在纸上写出一串数字,并运用小学学过的知识准确识别出数字的大小。但在计算机中,受到......
    单片机C语言的知识汇总(2);C51常量 1、常量数据类型说明:(1)整型常量能表示为十进制如 123,0,-89 等。十六进制则以 0x 开头如 0x34,-0x3B 等。长整......
    需要定义一个 PLC 数据类型 (UDT)。 并在该数据类型中声明所需的数据元素并指定它们的名称和数据类型。 然后,再切换到 PLC 变量表中并在此指定较高级的 PLC 变量。 选择 PLC 数据类型作为变量的数据类型......

我们与500+贴片厂合作,完美满足客户的定制需求。为品牌提供定制化的推广方案、专属产品特色页,多渠道推广,SEM/SEO精准营销以及与公众号的联合推广...详细>>

利用葫芦芯平台的卓越技术服务和新产品推广能力,原厂代理能轻松打入消费物联网(IOT)、信息与通信(ICT)、汽车及新能源汽车、工业自动化及工业物联网、装备及功率电子...详细>>

充分利用其强大的电子元器件采购流量,创新性地为这些物料提供了一个全新的窗口。我们的高效数字营销技术,不仅可以助你轻松识别与连接到需求方,更能够极大地提高“闲置物料”的处理能力,通过葫芦芯平台...详细>>

我们的目标很明确:构建一个全方位的半导体产业生态系统。成为一家全球领先的半导体互联网生态公司。目前,我们已成功打造了智能汽车、智能家居、大健康医疗、机器人和材料等五大生态领域。更为重要的是...详细>>

我们深知加工与定制类服务商的价值和重要性,因此,我们倾力为您提供最顶尖的营销资源。在我们的平台上,您可以直接接触到100万的研发工程师和采购工程师,以及10万的活跃客户群体...详细>>

凭借我们强大的专业流量和尖端的互联网数字营销技术,我们承诺为原厂提供免费的产品资料推广服务。无论是最新的资讯、技术动态还是创新产品,都可以通过我们的平台迅速传达给目标客户...详细>>

我们不止于将线索转化为潜在客户。葫芦芯平台致力于形成业务闭环,从引流、宣传到最终销售,全程跟进,确保每一个potential lead都得到妥善处理,从而大幅提高转化率。不仅如此...详细>>