全国服务热线 19514718569

西门子S7-400中央处理器CPU412-2西门子代理商 西门子总代理

更新时间:2024-01-07 08:08:00
价格:¥888/台
西门子:西门子代理商
西门子CPU:西门子plc
德国:全新原装
联系电话:
联系手机: 19514718569
联系人:吴悦
让卖家联系我
详细介绍

西门子S7-400中央处理器CPU412-2西门子代理商 西门子总代理

西门子S7-400中央处理器CPU412-2西门子代理商 西门子总代理

西门子S7-400中央处理器CPU412-2西门子代理商 西门子总代理

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等具体而明确的输入地址(可以是juedui地址或符号地址,参见图5-36)。

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

  例如,在图5-35中的信号C在逻辑块中为输出"线圈"信号,同样必须由调用它的逻辑块将其定义为Q0.1或Q1.1等具体而明确的输出地址(可以是juedui地址或符号地址,参见图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:可以使用全部变量。

PTO发生器输出高速度脉冲串单段多段操作

下列PTO初始化和操作顺序使用“首次扫描”内存位SM0.1以初始化脉冲输出。使用“首次扫描”位调用初始化子程序减少扫描时间,因为随后的扫描不调用此子程序(“首次扫描”位只在转变为RUN模式后在首次扫描时设置)。然而,在应用当中可能有其他限制需要初始化(或重新初始化)脉冲输出。在那种情况下,可以使用另一个条件调用初始化程序。

  1.初始化单段操作的PTO输出

  一般地,使用子程序为脉冲输出配置和初始化PTO。从主程序调用初始化子程序。使用首次扫描内存位SM0.1初始化被PTO使用的输出为0,并调用子程序完成初始化操作。当使用子程序调用时,随后的扫描不调用子程序,这减少了扫描执行时间,并优化了程序的结构。

  在从主程序创建对初始化子程序的调用后,使用下列步骤在初始化子程序中创建对配置脉冲输出Q0.0的控制逻辑:

  (1)载入16#85(选择微秒增量)或16#8D(选择毫秒增量)到SMB67设置控制字节。这两个数值都启用PTO/PWM功能,选择PTO操作,设置更新脉冲计数和周期时间数值,选择时基(us 或ms)

  (2)将数值载入SMW68,设置周期时间。

  (3)将脉冲计数的双字数值载入SMD72中

  (4)一旦脉冲串输出完成,要完成相应功能,可以通过将脉冲串完成事件(中断事件19)连接到中断子程序设置一个中断。使用ATCH指令和执行全局中断启用指令ENI来调用此中断程序。

  (5)执行PLS指令。

  (6)退出子程序。

  2.调整单段操作的PTO周期时间

  对于单段PTO操作,可以使用中断程序或子程序改变周期时间。当使用单段PTO操作时,要改变中断程序或子程序中的PTO周期时间,可按下列步骤进行:

  (l)载入16#81(μs)或16#89(ms)到SMB67,设置控制字节(启用PTOPWM功能、选择PTO操作、选择时基和设置更新周期时间数值)。

  (2)将新数值载入SMW68,设置周期时间。

  (3)执行PLS指令。在启动新的周期时间的PTO波形前,S7-200先完成现有的PTO操作。

  (4)退出中断程序或子程序。

  3.改变单段操作的PTO脉冲计数

  对于单段PTO操作,可以使用中断程序或子程序改变脉冲计数。当使用单段PTO操作时,要改变中断程序或子程序中的PTO脉冲计数,可按下列步骤进行:

  (l)载入16#84(us)或16#8C(ms)到SMB67,设置控制字节(启用PTO/PWM功能、选择PTO操作、选择时基和设置更新脉冲计数数值)。

  (2)将新脉冲计数的双字数值载入SMD72。

  (3)执行PLS指令。在启动新的周期时间的PTO波形前,S7-200先完成现有的PTO操作。

  (4)退出中断程序或子程序。

  单段PTO操作示例如图5-77所示。

  4.改变单段操作的PTO周期时间和脉冲计数

  对于单段PTO操作,可以使用中断程序或子程序改变周期时间和脉冲计数。当使用单段PTO操作时,要改变中断程序或子程序中的PTO周期时间和脉冲计数,可按下列步骤进行:

单段PTO操作示例

  (1)载入16#85(us)或16#8D(ms)到SMB67,设置控制字节(启用PTO/PWM功能、选择PTO操作、选择时基和设置更新周期时间和脉冲计数数值)。

  (2)将新数值载入SMW68,设置周期时间。

  (3)将新脉冲计数的双字数值载入SMC72中。

  (4)执行PLS指令。在启动带有新的脉冲计数和周期时间的波形前,S7-200先完成现有的PTO操作。

  (5)退出中断程序或子程序。

  单段PTO操作示例波形图如图5-78所示。

单段PTO操作示例波形图

  图5-78单段PTO操作示例波形图

  5.初始化多段操作的PTO输出

  一般地,使用子程序为多段PTO操作的脉冲输出配置和初始化PTO。从主程序调用初始化子程序。使用首次扫描内存位SM0.1初始化被PTO使用的输出为0,并调用子程序完成初始化操作。当使用“首次扫描”调用初始化子程序,随后的扫描不调用子程序,这减少了扫描执行时间。

  (1)通过载入下列数值之一到SMB67配置控制字节:16#A0(选择微秒增量)或16#A8(选择毫秒增量)。这些数值都启用PTO/PWM功能、选择PTO操作、选择多段PTO操作和选择时基(微秒或毫秒)。

  (2)在SMW168中,载入字大小数值用于启动概要表的V内存偏移量。

  (3)使用V内存在概要表中设置段数值。确保段域数(表格的第一个字节)是正确的。

  (4)如果在PTO概要图完成后要执行相应的功能,可以通过将脉冲串完成事件(中断事件19)连接到中断子程序来对一个中断进行编程。使用ATCH指令和执行全局中断启用指令ENI(供选用)。

  (5)执行PLS指令。

  (6)退出子程序。

  多段PTO操作示例如图 5-79所示。


没有

联系方式

  • 地址:上海松江 上海市松江区石湖荡镇塔汇路755弄29号1幢一层A区213室
  • 邮编:201600
  • 联系电话:未提供
  • 经理:吴悦
  • 手机:19514718569
  • QQ:2810544350
  • Email:2810544350@qq.com
产品分类