OpenPLC的CPU内存中,包括着由程序文件和数据文件组成的处理器文件,这些文件是CPU必须的。其中,程序文件由包含用户程序和操作系统组态信息,数据文件包括用户的数据和程序文件所需要的系统组态数据。数据文件是一直保留的,只要后备电池没有耗尽,即使掉电或者是不在运行模式,都不会丢失,除非是通过程序有意进行改动或删除。这一点是OpenPLC与其它PLC的不同之处,其它PLC的数据内存是可变内存,当PLC不在运行模式后,内存就被自动清除。 WWW_PLC※JS_COM-PmLC-技.术_网
一、OpenPLC的常数和各类数据文件WW.W_PLC※JS_C,OM-PL,C-技.术_网
OpenPLC的常数P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户
在OpenPLC程序中,常数可以直接被输入,不需要寻址,以下是OpenPLC可以输入的常数类型:WWcW_PLCJS_COM-PLC-技.术_网
1.有符号整数,范围从-32768到32767WW.W_PLC※JS_C,OM-PL,C-技.术_网
2.大的十进制数可以用浮点方式输入,范围与下面科学计数的范围一样。plcjs.技.术_网
3.科学计数可以采用指数方式,最大是32位数。按照IEEE 754规定的浮点数标准,可以达到(±1.175494×10-38到±3.402828×10+38)WWW_PLC※JS_COM-PmLC-技.术_网
4.16进制数,八进制,二进制和ASCII常数都可以被相关的指令接受,但要加合适的前缀,这些前缀是:WWW_PLCJS@_COM%-PLC-技.术_网
a)&H,表示16进制,范围从0到FFFF,(如,&HFF06)WW.W_PLCJS_COM-PLC-技.术_网
b)&O,表示8进制数,范围从0-177777,(如&O177000)WW.W_PLCJS_COM-PLC-技.术_网
c)&B,表示二进制数,位数CPU的位数一样(如&B0010101111001010)P.L.C.技.术.网——可编程控制器技术门户
d)&A,表示ASCII码,(如&Ahi)WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户)
OpenPLC的数据文件WW.W_PLCJS_COM-PLC-技.术_网
OpenPLC的用户程序中,只要不是常数的数据,都要以数据文件的方式放在OpenPLC的可寻址内存中。每个数据文件用来存储一个字节的数据,OpenPLC中一共有三种基本的数据文件:WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)
WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)
O 输出映射数据字,WWW.PLCJS.COM——可编程控制器技术门户
I 输入映射数据字;WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)
S 状态字;包含OpenPLC的组态信息和描述OpenPLC的运行和操作条件的状态数据;——可——编——程——控-制-器-技——术——门——户
WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)
除了以上三种数据文件外,对于一些特殊的用户数据类型还有另外的一些数据文件。有些是被默认用来作为一些特殊类型的数据的文件的,有:WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户)
WWcW_PLCJS_COM-PLC-技.术_网
B3 16位字的位存储WW.W_PLCJS_COM-PLC-技.术_网
T4 定时器数据结构,每个有三个数据字WWW.PLCJS.COM——可编程控制器技术门户
C5 计数器数据机构,每个有三个数据字plcjs.技.术_网
R6 控制数据结构,每个有三个数据字WWcW_PLCJS_COM-PLC-技.术_网
N7 整数数据字存储WWW_PLC※JS_COM-PmLC-技.术_网
F8 浮点数存储WWW_P※LCJS_CO※M-PLC-技-.术_网
WW.W_PLCJS_COM-PLC-技.术_网
其它还有很多不对应数据类型的数据文件,如对PPC21的10到255,PPC31的9到999,这些可以附加的存储器,可以用来存储为、定时器、计数器、控制元素、整数、浮点数,或者存储其它任何下面所描述的数据类型。在编程时,输入一个数据文件的文件号码,就会将该数据文件和类型与这个号码对应起来,比如,创建一个数据文件12,作为一个附加的位存储数据文件,可以按如下方式写程序:WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户)
B12/X,或者,B12:x, 或者,B12:x/xWWW_P※LCJS_CO※M-PLC-技-.术_网
这个指令将把文件12定下来用作位存储(X,必须是一个有效位或者字地址,位文件的地址结构将在后面叙述)。数据文件也可以通过编程单元的文件生成功能被用来预定为特殊的数据类型。WWW_PLCJS_COM-PLC-技.术_网
OpenPLC的状态文件WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户)
状态文件通常是默认的。每个16位的状态字包含着OpenPLC的组态数据或者当OpenPLC运行和操作时,描述其条件的状态数据。任何状态字都可以被用户访问,大多数状态字是动态的,用户程序可以对之进行改写,比如当用户程序运行时,希望改变OpenPLC的组态方式。也有一些状态字是静态的,它们只能在OpenPLC处于编程模式的时候才能被改变。状态字是由下列方式进行能够寻址的:P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户
S:e “e”表示一个16位的状态字元素的树木,(如S:1,表示一个数据字包含16个处理器的状态位)WW.W_PLC※JS_C,OM-PL,C-技.术_网
第一个状态字的编号为0,最后一个随着OpenPLC的型号的不同而不同。单个的状态位也可以用布尔逻辑来寻址,如:WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户)
S:e/b “b”是一个从0到15的数,表示要操作的是哪一位(如S:1/15表示要 操作字1的最高位;这个重要的状态位每次当OpenPLC切换到运行模式时,每个扫描周期就增加一次。WWW_PLCJS_COM-PLC-技.术_网
OpenPLC的位文件WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户)
位文件是用来进行位存储的。文件3是被默认作为位文件,寻址的前缀是“B3”。前缀“B”也用在其它没有使用的文件号码上,将该文件作为附加的位文件。当用来作为位存储时,文件3的单个位通常用下面的方法寻址:plcjs.技.术_网
P.L.C.技.术.网——可编程控制器技术门户
B3/b “b”是一个从0到4096的数,WWW_P※LCJS_COM-PLC-)技.术_网
WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)
OpenPLC也允许在位存储文件中,用不同的办法来寻址位,由于所有的位都是16位字的一个组成部分,因此,也可以按下面的方式:WW.W_PLCJS_COM-PLC-技.术_网
WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)
B3:e/b 其中,“e”是一个字元素,从0到255, “b”是一个从0到15的数,表示该字的某一位。P.L.C.技.术.网——可编程控制器技术门户
WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)
上述两种方法其实是一样的。位文件是由16位的数据字组成的,这些字也可以作为整个字来进行处理,整体位数据字可以用如下方式来寻址和操作:WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户)
WW.W_PLC※JS_C,OM-PL,C-技.术_网
B3:e “e”是一个从0到255的字元素,(新的PPC31可以从0到999)W1WW_P4LCJS_COM-PLC-技.术_网
W1WW_P4LCJS_COM-PLC-技.术_网
OpenPLC的定时器结构文件WWcW_PLCJS_COM-PLC-技.术_网
文件4是被缺省地作为定时器的文件的。这个文件中的所有的数据都必须加前缀T4。每个定时器元素结构由三个16位数据字构成,安排如图4.3。WWW_PLCJS@_COM%-PLC-技.术_网
WW.W_PLCJS_COM-PLC-技.术_网
——可——编——程——控-制-器-技——术——门——户
图4.3 OpenPLC的定时器数据结构WW.W_PLCJS_COM-PLC-技.术_网
WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)
编程时,对整个定时器的结构字采用如下方式来寻址:plcjs.技.术_网
plcjs.技.术_网
T4:/e “e”是一个从0到255的数字,表示三字结构元素的数量。WWW_PL※CJS_COM-PLC-技.术_网
WWcW_PLCJS_COM-PLC-技.术_网
每个定时器数据字结构中的数据字也可以作为单独的一个字被寻址,方式如下:W1WW_P4LCJS_COM-PLC-技.术_网
WWW_PLC※JS_COM-PmLC-技.术_网
T4:e.m 其中,“e”是三字结构元素的序号,“m”是按照规定的区分各个数据字的代号,如ACC,表示累计值,PRE表示预先设定值。如果不用代号,就用序号也可以,那么,m就表示0,1,2,内容见图4.3。WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)