请帮忙讲解下列程序

前辈好,我是初学者,可否请您讲解下下列程序?每一行帮忙进行中文解释。比如: JNB   MW   _001:Nop   等是什么意思?谢谢

首先利用系统时钟,取1秒脉冲,如m100.5(1秒)脉冲。用这个脉冲建立1小时定时器(3600秒)程序:
      A     M    950.2        //启动条件
      A     M    100.5        //秒脉冲
      FP    M    200.1
      JNB   _001
      L     MW     0
      L     1
      +I    
      T     MW     0
_001: NOP   0
////建立1小时循环////
      A(    
      L     MW     0
      L     3600
      ==I   
      )     
      JNB   _002
      L     0
      T     MW     0         
_002: NOP   0
///小于10秒激活(启动)///
      A     M    950.2
      A(    
      L     10
      L     MW     0
      <=I   
      )     
      =     M    200.0     //M200.0S是每一个小时激活10秒钟的标志位

最佳答案

这个程序的控制思路是:(实际上上次我回答的是lad梯形图,你直接复制到step7(stl)然后再转换为梯形图比较容易看懂。
首先设置在cpu系统时钟,系统时钟标志位为一个字节的时钟脉冲。建立这个时钟脉冲在cpu属性中的“周期/时钟存储器”--勾选并输入一个存储器字节,如题输入100,则MB100就是整个时钟脉冲信号了,关于时钟存储器设置:
 字节位   Bit7     Bit6     Bit5      Bit4      Bit3      Bit2      Bit1     Bit0  
 频率(Hz)   0.5     0.62        1       1.25       2          2.5        5          10
 周期(秒)     2        1.6         1         0.8       0.5        0.4      0.2       0.1 
这样MB100的第五位对应的是1秒的时钟脉冲。
      A     M    950.2        //这个是你所需要扩展启动这个定时器的条件位
      A     M    100.5        //系统时钟秒脉冲
      FP    M    200.1        //取上升沿指令,因为不加上升沿是会产生一个周期内多次加1的原因
      JNB   _001              //当逻辑的运算结果不为1时,跳转到_001,不执行加的指令,保证每一秒加一次,上升沿指令也是必须的,不然在1秒内会累加多次。
      L     MW     0
      L     1
      +I    
      T     MW     0            //MW0的累加(累加3600秒=1小时的时钟数据存储器)
_001: NOP   0
///建立1小时的循环机制/// 
     A(    
      L     MW     0
      L     3600
      ==I   
      )     
      JNB   _002                 //同样的条状指令,只要MW0等于3600就执行清零,否则不执行
      L     0
      T     MW     0         
_002: NOP   0

      A     M    950.2       //你原程序的控制条件
      A(    
      L     11
      L     MW     0        //当MW0小于11时,接通标志位M200.0
      <=I   
      )     
      =     M    200.0     //M200.0是每一个小时激活10秒钟的标志位
仔细想了想,应该写与11的比较,才比较合理,如果是与10比较,相当于只有到9秒的工作机制。

提问者对于答案的评价:

专家置评

已阅,最佳答案正确。

原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc184140.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2017年6月29日 下午4:15
下一篇 2017年6月29日 下午4:16

相关推荐

  • 按钮控制比例阀门

    现在要用按钮(自复位)控制比例阀门的开度,按住按钮,阀门一直打开,松手按钮,阀门停止,阀门是模拟量控制,阀门开度采集AIW0,开度控制AQW0,按钮I0.0。请教如何编写程序,或者…

    SIMATIC S7-200 2020年11月1日
  • 电子膨胀阀

    丹佛斯电子膨胀阀使用PLC怎么控制 问题补充:我听说是通过给步进电机脉冲来控制,然后根据过热度来调节。请问那位大哥做过这个控制?能否告诉我一下! 最佳答案 ETS电子膨胀阀配有驱动…

    SIMATIC S7-200 2021年7月5日
  • CPU226和流量计MODBUS通讯问题

    项目要求实时记录第三方流量计的数据,手里有个226,通过标准指令库和流量计通讯,经销商给出的地址如下:压力:0001-0002 long 两位小数点,累计流量:…

    SIMATIC S7-200 2021年7月5日
  • PC adapter 是否可用于调试S200自由口模式

    想使用S200的自由口,但是不知道使用哪种线来连接笔记本(无RS232口)另外请问下S200的PLC与西门子触摸屏使用的串口线叫什么线缆?谢谢! 问题补充:PC adap…

    SIMATIC S7-200 2017年6月6日
  • CPU224带7个扩展

    一个CPU224,两个32入/32出数字量扩展,两个8输入的模拟量,两个4输入的热电阻模块,一个量输出的模拟量扩展,能带的起来吗? 问题补充:两输出的模拟量扩展 最佳答案 带不起来…

    SIMATIC S7-200 2020年11月1日
  • 怎么用SMB28的值转换成脉冲周期啊?

    用PLC自带电位计SMB28的转换成伺服电机的周期来改变速度!这个怎么做啊?怎么采取  转换?求教 最佳答案 楼主是希望将模入转为脉冲信号来改变速度吧,可以采用…

    SIMATIC S7-200 2020年11月1日
  • 西门子TP070通讯问题

    请问TP070是用什么通讯线与S7-200连接的?可以用TD200里面带的那根TD/CPU的线吗?(那线好像就是485的)谢谢。 最佳答案 请参考:《S7-200 224…

    SIMATIC S7-200 2020年10月31日
  • 不使用电机可以测试变频器吗?

    我这边有一台西门子变频器,订货编号:6SL3224-0BE32-2UA0。想不使用电机测试一下输出电压,现在用的是STARER用USB连接的PC,取得控制权之后,按运行总是出现&n…

    SIMATIC S7-200 2021年7月5日
  • S7-200 220V电源接24V输出上了,还有得救没?

    最近在安装设备时,几个人一起安装,结果悲剧了。我们不小心把220AC的供电电源接到24DC输出端子上了,上电后就听见砰的一声。拿回来和电脑也无法通信。我们用的是s7-224xp怎么…

    SIMATIC S7-200 2020年11月1日
  • 无法绝对寻址

    STEP 7-MicroWIN SMART v2.3.02  打开软件无法绝对寻址  无法直接输入I0.1之类…

    2021年7月5日