企业信息

    浔之漫智控技术(上海)有限公司

  • 6
  • 公司认证: 营业执照已认证
  • 企业性质:外资企业
    成立时间:
  • 公司地址: 上海市 松江区 石湖荡镇塔汇路755弄29号1幢一层A区213室
  • 姓名: 刘经理
  • 认证: 手机已认证 身份证未认证 微信已绑定

西门子交换机6GK7542-5FX00-0XE0

时间:2023-07-05点击次数:52

西门子交换机6GK7542-5FX00-0XE0

PLC程序变量

(1) 变量与参数。“变量”与“参数”是S7中常用的名词,在不同的使用场合有不同的含义。为了防止概念的混淆,可根据不同的用途,将S7中的变量分为“程序变量”与“诊断变量”两大类;将参数分为"程序参数"与"配置参数(组态参数)"两大类。

“诊断变量”用于PLC调试阶段,如“变量表调试”所指的就是“诊断变量”。诊断变量包括的范围很广、凡是PLC中可以赋值或进行显示的信号与数据统称为诊断变量(Varlable),它包括输入、输出、内部标志寄存器、定时器、计数器、数据块中的内容等。

“配置参数(组态参数)”用于PLC硬件的配置(组态),通过“配置参数(组态参数)”的设定,可以定义PLC的组成模块、I/O地址、通信接口等。

“程序变量”与“程序参数”是在PLC程序设计阶段需要使用的“变量”与“参数”。因此,除非特别说明,这里所讲的“变量”均是指“程序变量”,“参数”均是指“程序参数”;而在调试部分,硬件组态(配置)部分所述的“变量”均是指“诊断变量”,“参数”均是指“配置参数”。

S7可以使用的"程序变量"包括程序参数、局部变量(又称临时变量Temporary)、静态变量(Static)3 种基本类型,并且有规定的使用范围。

(2) 变量的作用。在PLC程序中可以使用变量,是S7系列PLC的特点之一。在S7中使用变量可以实现以下功能:

1) 增加程序的通用性。在PLC程序设计阶段,为了提高程序的通用性,可以通过变量使得同一逻辑块用在不同的控制场合。

例如:对于图5-35所示的逻辑块,设其功能为实现逻辑运算C=B·A;D=D 1,并且采用变量进行编程。

调用该逻辑块时,若对变量A赋值为I0.1、变量B 赋值为I0.2、变量D赋值为MW10、变量C赋值为Q01 时,程序的执行结果为:

Q0.1=I02·I0.1:MW10=MW10 1。

图5-35 变量的作用

2) 便于程序检查。使用了变量后,在调用该逻辑块时,在调用指令中可以显示该逻辑块所需要的相应输入、输出信号(见图5-36),以方便程序设计与检查。

由于S7对变量与符号地址有规定的格式要求(不可以使用S7关键词,有关S7的关键词可以参见附录),因此,在图5-36中已经将图5-35所对应的逻辑块变量A、B、C、D、分别采用了符号地址IN_A、IN_B、OUT_C、INOUT_D进行编程。

图5-36 调用变量编程的块

(3) 变量的分类与使用范围。S7可以使用的"程序变量"包括程序参数、局部变量(又称临时变量Temp)、静态变量(Stat)3种基本类型。

1) 程序参数。S7的程序参数用于传递逻辑块之间的数据。当采用调用式结构时,应通过参数定义执行被调用的逻辑块所需要的数据;也可以通过参数将被调用的逻辑块的执行结果返回给调用的块。

在S7中,从参数的用途与功能上,程序参数可以分为输入参数(IN)、输出参数(OUT)、输入/输出参数(IN_OUT)3种;从参数的性质上可以分为形式参数(Format Parameter)与实际参数(Actual Parameter)2种。

● 输入参数(IN):它是逻辑块执行所需要的基本输入参数,在逻辑块中只能进行"读"操作,必须由调用它的其他逻辑块予以赋值。

例如,在图5-35中,信号A、B在逻辑块中为"触点"信号,它必须由调用它的块将其定义为I0.1、10.2或11.1、11.2等具体而明确的输入地址(可以是**地址或符号地址,参见图5-36)。

● 输出参数(OUT):它是逻辑块执行结果存储所需要的基本输出参数,在逻辑块中只能进行"与"操作,必须由调用它的其他逻辑块定义地址,执行结果可以用于其他逻辑块。

例如,在图5-35中的信号C在逻辑块中为输出"线圈"信号,同样必须由调用它的逻辑块将其定义为Q0.1或Q1.1等具体而明确的输出(可以是**或符号地址,参见图5-36)。

● 输入/输出参数(IN_OUT):它是逻辑块执行所需要的基本输入/输出参数,在逻辑块中可以进行“读/写”操作。在逻辑块中一方面要求有“初始值”输入(初始值可以在变量表中设定),另一方面又可以进行输出。因此,必须由调用它的其他逻辑块或变量表给定"初始值";但在逻辑块的执行过程中将改变参数值,改变后的输入/输出参数同样可以用于其他逻辑块。

例如,在图5-35中的D在逻辑块需要进行加"1"运算,它必须由调用它的块给定初始值(MW10),运算结果同时又保存在MW10中(参见图5-36)。

● 形式参数与实际参数:在使用了变量后,功能块中所使用的信号与数据只能以“符号”的形式出现,如图5-35中的A、B、C、D等,这些“符号”称为形式参数(Format Parameter)。而在调用块中对“符号”所赋予的实际地址或实际数值,如图5-36中的10.1、10.2、00.1、MW10等称为实际参数(Aetual Parameter)。

2) 局部变量。S7中的局部变量又称为"临时变量(Temporary)",它用于存储逻辑块内中间状态暂存的寄存器(堆栈L),堆栈的状态仅在所在的逻辑块内生效,不可以用于其他逻辑块。

3) 静态变量。静态变量(Static)只能用于功能块FB,它存储在与功能块配套的即时数据块DI中,仅对所调用的FB块有效,结果可以记忆,但只能与FB配套使用,不能用于其他逻辑块。

4) 变量的使用范围。程序变量在逻辑块中的使用有规定的范围,具体如下。

●组织块OB:只能使用临时变量(Temp);

● 程序块FC;可以使用临时变量(Temp)与程序参数输入(IN)、输出(OUT)与输入/输出(IN/out);

● 功能块FB:可以使用全部变量。




http://tianxia56.b2b168.com