请帮忙讲解下列程序

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

相关推荐

  • 226控制伺服电机

    现有一套伺服系统用226cn控制,机械手的运动位置是高速前进,然后低速前进加工,最后高速返回零点。用脉冲包络来控制这些步的话,返回的时候需要怎样设置包络?另外返回的反转指令靠什么来…

    SIMATIC S7-200 2017年8月18日
  • 找个老师

    想找个高手教教我,搞不明白PID和模拟量 我是北京的,有方便的吗,我QQ527366513  最佳答案 论坛里版主都是高手,你去找找他们吧。 提问者对于答案的评…

    SIMATIC S7-200 2021年7月4日
  • em235读取4-20mA信号为负值

    em235模块跳线1、6为on,输入4-20mA信号,电流表测得电流12mA,可是监控到的通道值却是-20000多(把这个信号接到em231模块上显示是正常的),郁闷中,最后只好把…

    SIMATIC S7-200 2020年11月1日
  • 200CPU 输出点的使用

    要使用cpu 224xpcn的输出点作为一个开关控制220V的交流回路,把cpu的L+和Q0.0两点接在回路中,为啥Q0.0没有输出时和有输出时回路都是通的?把这两点和回…

    SIMATIC S7-200 2017年11月20日
  • S7200和S7300通讯

    网络中既有S7200也有S7300(S7300一套,S7200十二套),上位机又要用WINCC监控,怎么实现呀?有多少种方法?刚入行,谢了 问题补充:采用EM277时,S7300最…

    SIMATIC S7-200 2021年7月4日
  • 自由口通讯无返回值

    特意买了个温度仪和226CPU学习自由口通讯。学习模仿编程了N个版本,有的可以读取到温度,只是这个温度值偶尔对的。所以,线路应该是没问题的。下面的这个程序,是最简单的吧?点一次M3…

    2021年7月5日
  • 测试显示时间

    最近想做个测试时间的,机器在旋转的的时候,0-90度之间旋转,测试的是0-15度,15-90度和0-90度之间的时间,在威纶触摸屏上以毫秒的方式显示出来,怎么实现呢? 最佳答案 用…

    SIMATIC S7-200 2021年7月5日
  • s7-200.cpu222与pc通讯问题

    plc用pc/ppi+usb转串口线接上笔记本后,打开step7中,pg/pc  设置中那个interface  parameter&nbs…

    SIMATIC S7-200 2020年11月1日
  • cp243-1 SF红灯闪烁

    cp243-1 SF红灯闪烁 最佳答案 见同类问答案:http://www.ad.siemens.com.cn/service/answer/solution.aspx?…

    SIMATIC S7-200 2017年6月8日
  • s7 200与intouch连接中的问题!

    上位系统用intouch软件!通过SMC中的SIDirect DAServer来与S7 200PLC进行通讯!(通讯模块为CP243-1).1、可以正常PING…

    SIMATIC S7-200 2020年11月1日