主程序:EI允许中断
X0的上升沿触发中断:复位测量结束为标志Y0,清除D0中的值,然后启动1ms的T246开始定时,退出X0中断程序后,T246继续定时
X1下降沿触发中断,来保存测量值,置位测量结束标志Y0,用Y0的常闭触点断开T246的线圈,用M8000的常开触点将T246复位。
离开X1的中中断程序I100后,在该程序用RST指令对T246的复位有保持功能,需要在用指针I1的表示X0的中断程序开始时,用一直断开的M8000的常闭触点来解除对T246的复位作用,否则T246不能再次定时。T246为1ms,最大设定值为32767,即X0和X1产生中断时间间隔应小于32.767s。
注:三菱PLC不能对中断进行仿真,需要下载到硬件中来 *** 作。
基于中断的彩灯控制
这个就是PLC启动后自动开始进行彩灯移位闪亮。需要下载到硬件中去仿真。
扩展资料1)源 *** 作数[S]是元件编号个位为0的X,目标 *** 作数[D1] 是元件编号个位为0的Y,目标 *** 作数[D2] 是元件编号个位为0的Y、M和S,n的取值范围是2~8。
2)考虑到输入滤波应答延迟为10ms,对于每一个输出按20ms顺序中断,立即执行。
3)利用本指令通过8点晶体管输出获得64点输入,但读一次64点输入所许时间为20ms×8=160ms,不适应高速输入 *** 作。
4)该指令只有16位运算,占9个程序步。
ORGANIZATION_BLOCK 主程序:OB1TITLE=程序注释
BEGIN
Network 1 // 网络标题
// 网络注释:电梯向上运行
LD M0.3
AN I2.0
AN I1.2
AN M3.3
AN M3.0
AN M0.1
LD M0.2
O M0.1
LDNI2.0
A M3.3
OLD
AN I1.2
AN I1.1
OLD
AN I1.2
AN M1.1
AN M1.6
AN M1.7
= M1.0
Network 2
// 电梯向下运行
LD M0.0
AN I2.0
AN M3.2
AN M3.1
AN I1.0
AN M0.2
LD M0.1
O M0.2
LDNI2.0
A M3.2
OLD
AN I1.0
AN I1.1
OLD
AN I1.0
AN M1.0
AN M1.6
AN M1.7
= M1.1
Network 3
// 一层上呼和一层内选
LD I0.0
LDNI1.0
A M0.0
OLD
= M0.0
Network 4
// 二层上呼和二层内选
LD I0.1
LDNI1.1
AN M3.3
A M0.1
OLD
= M0.1
Network 5
// 二层下呼
LD I0.2
LDNI1.1
AN M3.2
A M0.2
OLD
= M0.2
Network 6
// 三层下呼和三层内选
LD I0.3
LDNI1.2
A M0.3
OLD
= M0.3
Network 7
// 电梯自动开门和手动开门
LD I1.0
LDNM3.3
AN M3.2
A I1.1
OLD
O I1.2
EU
LD M1.6
O I2.2
OLD
AN I2.0
= M1.6
Network 8
// 开门后延时3秒
LD I2.0
AN I2.1
TONT37, 30
Network 9
// 自动关门和手动关门
LD T37
O M1.7
O I2.3
AN I2.1
= M1.7
Network 10
// 电梯停于一层,三层和二层同时按下
LD M0.3
A M0.2
O M3.2
LDNI1.1
O M1.0
ALD
= M3.2
Network 11
// 电梯停于三层,一层和二层同时按上
LD M0.0
A M0.1
O M3.3
LDNI1.1
O M1.1
ALD
= M3.3
Network 12
// 电梯停于一层,将要上三层,二层按上
LD M0.3
A M0.1
O M3.0
AN I1.1
= M3.0
Network 13
// 电梯停于三层,将要下一层,二层按下
LD M0.2
A M0.0
O M3.1
AN I1.1
= M3.1
Network 14
// 一层上选和一层内选后,指示灯亮
LD M0.0
= Q0.0
Network 15
// 二层上选和二层内选后,指示灯亮
LD M0.1
LD M3.3
AN I1.1
OLD
= Q0.1
Network 16
// 二层下选后,指示灯亮
LD M0.2
LD M3.2
AN I1.1
OLD
= Q0.2
Network 17
// 三层下选和三层内选后,指示灯亮
LD M0.3
= Q0.3
Network 18
// 停于一层,指示灯亮
LD I1.0
= Q0.5
Network 19
// 停于二层或路过二层指示灯亮
LD I1.1
= Q0.6
Network 20
// 停于三层指示灯亮
LD I1.2
= Q0.7
Network 21
// 电梯上行,电动机运转
LD M1.0
= Q1.0
Network 22
// 电梯下行,电动机运转
LD M1.1
= Q1.1
Network 23
// 开门,电动机运转
LD M1.6
= Q1.6
Network 24
// 关门,电动机运转
LD M1.7
= Q1.7
END_ORGANIZATION_BLOCK
SUBROUTINE_BLOCK SBR_0:SBR0
TITLE=子程序注释
BEGIN
Network 1 // 网络标题
// 网络注释
END_SUBROUTINE_BLOCK
INTERRUPT_BLOCK INT_0:INT0
TITLE=中断程序注释
BEGIN
Network 1 // 网络标题
// 网络注释
END_INTERRUPT_BLOCK
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)