OpenPLC对各类数据类型的寻址方式

您所在的位置:网站首页 openplc论坛 OpenPLC对各类数据类型的寻址方式

OpenPLC对各类数据类型的寻址方式

2023-12-26 07:15| 来源: 网络整理| 查看: 265

   OpenPLC的CPU内存中,包括着由程序文件和数据文件组成的处理器文件,这些文件是CPU必须的。其中,程序文件由包含用户程序和操作系统组态信息,数据文件包括用户的数据和程序文件所需要的系统组态数据。数据文件是一直保留的,只要后备电池没有耗尽,即使掉电或者是不在运行模式,都不会丢失,除非是通过程序有意进行改动或删除。这一点是OpenPLC与其它PLC的不同之处,其它PLC的数据内存是可变内存,当PLC不在运行模式后,内存就被自动清除。 一、OpenPLC的常数和各类数据文件OpenPLC的常数在OpenPLC程序中,常数可以直接被输入,不需要寻址,以下是OpenPLC可以输入的常数类型:1.有符号整数,范围从-32768到327672.大的十进制数可以用浮点方式输入,范围与下面科学计数的范围一样。3.科学计数可以采用指数方式,最大是32位数。按照IEEE 754规定的浮点数标准,可以达到(±1.175494×10-38到±3.402828×10+38)4.16进制数,八进制,二进制和ASCII常数都可以被相关的指令接受,但要加合适的前缀,这些前缀是:a)&H,表示16进制,范围从0到FFFF,(如,&HFF06)b)&O,表示8进制数,范围从0-177777,(如&O177000)c)&B,表示二进制数,位数CPU的位数一样(如&B0010101111001010)d)&A,表示ASCII码,(如&Ahi)OpenPLC的数据文件    OpenPLC的用户程序中,只要不是常数的数据,都要以数据文件的方式放在OpenPLC的可寻址内存中。每个数据文件用来存储一个字节的数据,OpenPLC中一共有三种基本的数据文件:

O    输出映射数据字,I    输入映射数据字;S    状态字;包含OpenPLC的组态信息和描述OpenPLC的运行和操作条件的状态数据;

    除了以上三种数据文件外,对于一些特殊的用户数据类型还有另外的一些数据文件。有些是被默认用来作为一些特殊类型的数据的文件的,有:

B3        16位字的位存储T4        定时器数据结构,每个有三个数据字C5        计数器数据机构,每个有三个数据字R6        控制数据结构,每个有三个数据字N7        整数数据字存储F8        浮点数存储

    其它还有很多不对应数据类型的数据文件,如对PPC21的10到255,PPC31的9到999,这些可以附加的存储器,可以用来存储为、定时器、计数器、控制元素、整数、浮点数,或者存储其它任何下面所描述的数据类型。在编程时,输入一个数据文件的文件号码,就会将该数据文件和类型与这个号码对应起来,比如,创建一个数据文件12,作为一个附加的位存储数据文件,可以按如下方式写程序:B12/X,或者,B12:x, 或者,B12:x/x    这个指令将把文件12定下来用作位存储(X,必须是一个有效位或者字地址,位文件的地址结构将在后面叙述)。数据文件也可以通过编程单元的文件生成功能被用来预定为特殊的数据类型。OpenPLC的状态文件    状态文件通常是默认的。每个16位的状态字包含着OpenPLC的组态数据或者当OpenPLC运行和操作时,描述其条件的状态数据。任何状态字都可以被用户访问,大多数状态字是动态的,用户程序可以对之进行改写,比如当用户程序运行时,希望改变OpenPLC的组态方式。也有一些状态字是静态的,它们只能在OpenPLC处于编程模式的时候才能被改变。状态字是由下列方式进行能够寻址的:S:e    “e”表示一个16位的状态字元素的树木,(如S:1,表示一个数据字包含16个处理器的状态位)    第一个状态字的编号为0,最后一个随着OpenPLC的型号的不同而不同。单个的状态位也可以用布尔逻辑来寻址,如:S:e/b        “b”是一个从0到15的数,表示要操作的是哪一位(如S:1/15表示要    操作字1的最高位;这个重要的状态位每次当OpenPLC切换到运行模式时,每个扫描周期就增加一次。OpenPLC的位文件    位文件是用来进行位存储的。文件3是被默认作为位文件,寻址的前缀是“B3”。前缀“B”也用在其它没有使用的文件号码上,将该文件作为附加的位文件。当用来作为位存储时,文件3的单个位通常用下面的方法寻址:

B3/b        “b”是一个从0到4096的数,

    OpenPLC也允许在位存储文件中,用不同的办法来寻址位,由于所有的位都是16位字的一个组成部分,因此,也可以按下面的方式:

B3:e/b       其中,“e”是一个字元素,从0到255, “b”是一个从0到15的数,表示该字的某一位。

    上述两种方法其实是一样的。位文件是由16位的数据字组成的,这些字也可以作为整个字来进行处理,整体位数据字可以用如下方式来寻址和操作:

B3:e        “e”是一个从0到255的字元素,(新的PPC31可以从0到999)

OpenPLC的定时器结构文件    文件4是被缺省地作为定时器的文件的。这个文件中的所有的数据都必须加前缀T4。每个定时器元素结构由三个16位数据字构成,安排如图4.3。

图4.3  OpenPLC的定时器数据结构

编程时,对整个定时器的结构字采用如下方式来寻址:

T4:/e        “e”是一个从0到255的数字,表示三字结构元素的数量。

    每个定时器数据字结构中的数据字也可以作为单独的一个字被寻址,方式如下:

T4:e.m        其中,“e”是三字结构元素的序号,“m”是按照规定的区分各个数据字的代号,如ACC,表示累计值,PRE表示预先设定值。如果不用代号,就用序号也可以,那么,m就表示0,1,2,内容见图4.3。

对于定时器的状态,可以用如下方式来寻址定位:

T4:e.m        其中,m表示三个状态位的代号,如TT,DN,EN等。比如,T4:3.TT就表示定时器3的TT位的状态。OpenPLC的计数器结构文件 文件5是被默认为计数器的数据结构的。对这个文件的数据进行寻址时,必须加上前缀“C5”,每个三字结构的格式见图4.4。

图4.4 OpenPLC的计数器字结构

对计数器的寻址与定时器的寻址方式类似。见下面:

C5:e            对三字结构计数器元素寻址C5:e.m            对结构



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3