全国服务热线 18674345958

SIMATIC西门子授权代理商丨沧州市西门子变频器一级代理

更新时间:2025-01-10 07:00:00
价格:请来电询价
西门子:西门子变频器总代理
西门子变频器:西门子变频器总代理商
德国:西门子变频器一级总代理
联系电话:18674345958
联系手机: 18674345958
联系人:李经理
让卖家联系我
详细介绍

西门子STEP 7在使用STL指令编程时,状态位的状态极其重要,有些指令的执行与状态位有关,比如“位逻辑指令A”,而大部分指令的执行却与状态位无关,比如“装载指令L”。对于刚刚接触STEP 7的朋友们来说很难理解。

 

       指令的执行与状态位有关的指令有如下:

       位逻辑指令、定时器指令、计数器指令

 

       这些指令在执行前,状态位的相关位的状态会影响到执行结果,比如如下程序:

      A     M      0.0

      CU    C      0 //M0.0有上升沿时,计数器C0就加1

      A     M      0.1

      L     C#5

      S     C      0

      A     M      0.2

      R     C      0

      A     C      0

      =     M      0.7

 

       如果将以上程序改为如下程序,则结果完全不同:

       A     M      0.0

      CLR   

      CU    C      0 //M0.0有上升沿时,因为有了CLR指令将状态位RLO位置0,所以计数器C0不在计数

      L     C#5

 

       指令的执行与状态位有关的指令有如下:


       转换指令、数据块指令、逻辑控制指令、整数运算指令、浮点型数学运算指令、转载与传送指令、程序控制指令、移位和循环指令、字逻辑指令、累加器指令。、

 

       无论状态位是什么状态,这些指令在每个扫描周期都会被执行,因此,在指令前加位逻辑限制条件没有用。比如:L指令,无论L指令执行之前是什么位逻辑指令,在每个扫描周期L指令都会被执行,只有在L指令前加跳转指令,才会不被执行。比如如下指令:

       L MW0  //装载MW0的数据到ACCU1-L中,每个扫描中期都会执行

       T MW10  //将ACCU-L中的数据输出到MW10,每个扫描中期都会执行

 

       如果将以上程序改为如下:

       A M100.0

       CLR

       L MW0  //装载MW0的数据到ACCU1-L中,无论M100.0状态如何,均会执行

       T MW10  //将ACCU-L中的数据输出到MW10,无论M100.0状态如何,均会执行

       因此,无论M100.0状态如何,L MW0和T MW10始终都会执行。

 

       如果不想让L MW0和T MW10指令执行,则应该改为如下:

       A M100.0  //

       JC _001  //当M100.0为1时,程序跳转到_001处;如果M100.0为0时,往下执行

       L MW0  //装载MW0的数据到ACCU1-L中,当M100.0为1时不执行

       T MW10  //将ACCU-L中的数据输出到MW10,当M100.0为1时不执行

       _001: BLD 0  //程序跳转到此处继续执行


联系方式

  • 地址:上海跃韦科技集团有限公司
  • 邮编:201400
  • 电话:18674345958
  • 经理:李经理
  • 手机:18674345958
  • 微信:yingsheng16816816888
  • QQ:526554675