请帮忙讲解下列程序

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

相关推荐

  • s7200smart与smart line v3以太网通讯

    我采用国产双屏蔽8芯超5类以太网线,国产带屏蔽RJ45水晶头连接,当通讯线为18米时,通讯正常,当超过30米,通讯就连接不上了,不知什么原因,请高手指教 问题补充:通讯线符合国标,…

    SIMATIC S7-200 2017年5月31日
  • 找不到s7-200smart的ip地址

    用管理员拼可以搜到CPU的信息,cpu地址:192.168.2.1但是编程软件搜不到cpu地址,电脑ip:192.168.2.13是什么原因,新手求教 最佳答案 S7-200sma…

    SIMATIC S7-200 2017年6月3日
  • EM277故障原因分析?

    一个项目有六个200从站,一个300主站,通过DP线缆连接。目前有几个站频繁的发生故障,故障发生时,300主站报BUSF故障,故障从站的EM277模块,CPU FAULT…

    2021年7月5日
  • 关于cpu224xp与pc通讯问题

    pc是win7 32位的,安装的是V4.0 sp9的STEP7,手上有一台cpu224xp的plc,和一根原装的USB-R485电缆,想实现plc与pc的通信。…

    2017年11月17日
  • 能否通过Profibus完成计算机向PLC下载程序?

    请问诸位高手,我的PC机上装有CP5611A2,我PLC226有EM277模块,我能否通过Profibus网络进行程序的下载和PLC状态的监视,就像使用PC/PPI编程电缆那样? …

    SIMATIC S7-200 2021年7月5日
  • 步进控制程序

    谁有步进控制程序发我一下,当有输入点触发时就一直发脉冲,电机转动,输入点关闭或再触发一下后,电机停止,需要有加减速可以调整的,谢谢 最佳答案 1.  使用&nb…

    SIMATIC S7-200 2021年7月4日
  • 中断程序

    在PLC200里面,程序用到指令ATCH,然后在下一步程序用ENI,我看到注释说ENI表示开中断,请问开中断是什么意思呢 最佳答案 执行ENI指令后,中断被使能,如果触发中断的条件…

    SIMATIC S7-200 2021年7月5日
  • 子程序的调用

    200的子程序可以像300的FC一样被重复调用吗?MIANNETWORK1LD     SM0.0=  &nb…

    SIMATIC S7-200 2020年11月1日
  • S7200编程做一个时序库文件名称参数设置问题请教!谢谢

    图中:LW0处命名规则是什么?以T+数字的不让命名?下侧T250这个定时器这样用,其他程序是不是就不能再使用了,有其他使用方法吗?这样的定时器只在本库文件中存在,在调用库程序时别的…

    SIMATIC S7-200 2021年7月5日
  • 3台PLC如何连接

    我要控制6台步进电机,每个PLC只能控制两台,我想用三个PLC来控制,另两个PLC只用他们的那两个脉冲输出端口,主可以程序只写在一个PLC里,控制另两个PLC的输出吗?如何实现,谢…

    SIMATIC S7-200 2021年7月4日