当前位置: 主页 > PLC控制

请帮忙讲解下列程序

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

首先利用系统时钟,取1秒脉冲,如m100.5(1秒)脉冲。用这个脉冲建立1小时定时器(3600秒)程序:
AM950.2//启动条件
AM100.5//秒脉冲
FPM200.1
JNB_001
LMW0
L1
+I
TMW0
_001:NOP0
////建立1小时循环////
A(
LMW0
L3600
==I
)
JNB_002
L0
TMW0
_002:NOP0
///小于10秒激活(启动)///
AM950.2
A(
L10
LMW0
<=I
)
=M200.0//M200.0S是每一个小时激活10秒钟标志位

最佳答案

这个程序的控制思路是:(实际上上次我回答的是lad梯形图,你直接复制到STep7(STL)然后再转换为梯形图比较容易看懂。
首先设置在cpu系统时钟,系统时钟标志位为一个字节的时钟脉冲。建立这个时钟脉冲在cpu属性中的“周期/时钟存储器”–勾选并输入一个存储器字节,如题输入100,则MB100就是整个时钟脉冲信号了,关于时钟存储器设置:
字节位Bit7Bit6Bit5Bit4Bit3Bit2Bit1Bit0
频率(Hz)0.50.6211.2522.5510
周期(秒)21.610.80.50.40.20.1
这样MB100的第五位对应的是1秒的时钟脉冲。
AM950.2//这个是你所需要扩展启动这个定时器的条件位
AM100.5//系统时钟秒脉冲
FPM200.1//取上升沿指令,因为不加上升沿是会产生一个周期内多次加1的原因
JNB_001//当逻辑的运算结果不为1时,跳转到_001,不执行加的指令,保证每一秒加一次,上升沿指令也是必须的,不然在1秒内会累加多次。
LMW0
L1
+I
TMW0//MW0的累加(累加3600秒=1小时的时钟数据存储器)
_001:NOP0
///建立1小时的循环机制///
A(
LMW0
L3600
==I
)
JNB_002//同样的条状指令,只要MW0等于3600就执行清零,否则不执行
L0
TMW0
_002:NOP0

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

提问者对于答案的评价:

专家置评

已阅,最佳答案正确。

  • 关注微信

猜你喜欢

微信公众号