登录

行业资讯

西门子中国一级代理商-PLC代理

西门子中国一级代理商-PLC代理

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:可以使用全部变量。

18

西门子代理商
西门子PLC代理商
西门子授权代理商
西门子模块代理商
西门子总代理商
20



6ES7211-1BE40-0XB0CPU 1211C   AC/DC/Rly,6输入/4输出,集成2AI
6ES7211-1AE40-0XB0CPU 1211C   DC/DC/DC,6输入/4输出,集成2AI
6ES7211-1HE40-0XB0CPU 1211C   DC/DC/Rly,6输入/4输出,集成2AI
6ES7212-1BE40-0XB0CPU 1212C   AC/DC/Rly,8输入/6输出,集成2AI
6ES7212-1AE40-0XB0CPU 1212C   DC/DC/DC,8输入/6输出,集成2AI
6ES7212-1HE40-0XB0CPU 1212C   DC/DC/Rly,8输入/6输出,集成2AI
6ES7214-1BG40-0XB0CPU 1214C   AC/DC/Rly,14输入/10输出,集成2AI
6ES7214-1AG40-0XB0CPU 1214C   DC/DC/DC,14输入/10输出,集成2AI
6ES7214-1HG40-0XB0CPU 1214C   DC/DC/Rly,14输入/10输出,集成2AI
6ES7215-1BG40-0XB0CPU 1215C   AC/DC/Rly,14输入/10输出,集成2AI/2AO
6ES7215-1AG40-0XB0CPU 1215C   DC/DC/DC,14输入/10输出,集成2AI/2AO
6ES7215-1HG40-0XB0CPU 1215C   DC/DC/Rly,14输入/10输出,集成2AI/2AO
6ES72171AG400XB0CPU 1217C   DC/DC/DC,14输入/10输出,集成2AI/2AO



浔之漫智控技术(上海)有限公司专注于西门子等

免责声明: 八方资源网为互联网信息服务提供者,所有的信息均有发布者提供,如您发现信息有违规/侵权,请立即投诉举报

相关资讯

查看更多
资讯分类
商务服务 污水处理 机械 传媒 机床 五金 农业 工程机械 焊接切割 泵阀 热泵 农机 汽车 汽车用品 汽配 汽修 通信 电子 暖通空调 电气 广电 印刷 纸业 丝印特印 灯饰 安防 消防 过滤 耐火材料 环保 LED 添加剂 食品机械 仪器仪表 太阳能 包装 水工业 加工 二手设备 工艺礼品 古玩 服装 美容美发 服饰 制鞋 家电 家具 运动休闲 影音 酒店 家居 办公 音响灯光 农化 水果 养殖 皮具 教育装备 玩具 零食 食品 二手 IT 建材 小家电 卫浴 陶瓷 超硬材料 化工 橡胶 塑料 钢铁 表面处理 冶金 石油 能源 纺织 房地产 皮革 涂料 石材 创业 项目 生活服务 教育 船舶 维修 广告 交通运输 医疗 代理 物流 图片 展会 咨询 库存积压
八方资源网 资讯