请帮忙讲解下列程序

前辈好,我是初学者,可否请您讲解下下列程序?每一行帮忙进行中文解释。比如: 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

相关推荐

  • 西门子200跟编程电缆怎么通讯?有几种方式

    我有一个西门子200plc 距离监控室比较远 所以放了一根光纤 我想把plc的通讯口通过光纤传输到监控室,请问光纤传输到控制室后通过什么和编程软件通讯…

    SIMATIC S7-200 2017年7月26日
  • s7-200可以run状态下,上载程序吗

    在run状态下,设备运转时,上载程序,可以吗? 最佳答案 在run状态下,设备运转时,完全可以上载程序。 提问者对于答案的评价:run状态上载成功。 专家置评 已阅,最佳答案正确。…

    SIMATIC S7-200 2020年10月31日
  • 西门子200 232pc/ppi电缆

    我想买一根国产的pc/ppi电缆,请问大伙有没有谁用过比较好且价格便宜的?我在网上看到好像usb的pc/ppi电缆是不支持自由口通讯的?请问是这样么?然后,如果我买一根232的PC…

    SIMATIC S7-200 2020年11月1日
  • 西门子200模拟量处理

    200的热电偶模块怎样编程,只要2路输入,多余的怎么处理 最佳答案 参考程序:LD     SM0.0MOVW &nbs…

    SIMATIC S7-200 2017年11月1日
  • TD200显示问题

    各位前辈,小弟在执行运行中程序编辑时,下载一些程序添加项到PLC后,TD200原有的显示内容就消失了,且此时显示为:TD200 V3.0.2.2  &…

    SIMATIC S7-200 2021年7月5日
  • 请问用EM231RTD模块采集的两路温度有偏差,需要先标定吗

    用的PT1000,两个PT1000都摆在桌子上,但是两个温度能差0.2度,这种情况该怎么解决?是否需要标定。如果需要该怎么标定?PLC用的s7-200CN,CPU224XP。谢谢大…

    2017年11月6日
  • pc access与两个S7-200

    pc access能同时读取两个S7-200的数据吗? 最佳答案 可以 在pc access下建立两个PLC (地址不相同即可)看看手册ht…

    SIMATIC S7-200 2020年11月5日
  • S7-200与汇川MD330的Modbus 485通讯

    我看MD320的说明书,155页,1007运行速度、100F负载速度,这两个速度有什么区别?我的电机有编码器,那么编码器读回的速度是百分数还是转速(r/min)?谢谢! 最佳答案 …

    SIMATIC S7-200 2017年11月23日
  • 200PLC模拟量?

    CPU224XP,有个4-20MA的PH值传感器输入到CPU,4MA对应0,20MA对应14,具体怎么由AIW0转换到实际的PH值啊,步骤写具体点啊,我想实际去模拟一下 最佳答案 …

    SIMATIC S7-200 2021年7月5日
  • 请问编码器选型?谢谢

    1.编码器的线数就是其分辨率(也就是一转所发出的脉冲数)。可一般根据什么参数去确定到底需要多少线的编码器哪?有没有计算公式?谢谢!2. STL中LPS、LRD、LPP指令…

    SIMATIC S7-200 2020年10月31日