PLC控制四个设备的运行:一个水泵输入X0输出Y0、一个雾化器输入X1输出Y1、一个杀菌灯输入X02输出Y2、一个增氧泵输入X3输出Y3。设备打开则控制运行关闭则忽略PLC上电以1分钟间隔依次启动水泵、雾化器、杀菌灯、增氧泵水泵:每隔1小时运行30分钟循环工作;雾化器:每隔9小时运行20分钟循环工作;杀菌灯:每隔6小时运行30分钟循环工作;增氧泵:每隔4小时运行30分钟循环工作。按上述要求用写一个
LD K100 ;设定计时器K100,间隔1分钟
MOV #0 D0 ;D0存储当前设备编号,初始值为0
MOV #30 D1 ;D1存储水泵每次运行的时间,初始值为30
MOV #20 D2 ;D2存储雾化器每次运行的时间,初始值为20
MOV #30 D3 ;D3存储杀菌灯每次运行的时间,初始值为30
MOV #30 D4 ;D4存储增氧泵每次运行的时间,初始值为30
START:
TON K100 ;计时器K100计时
MOV D0 M100 ;M100存储当前设备编号
CMP #3 D5 ;判断当前设备编号是否为3
JEQ OXYGEN_PUMP ;如果是3,跳转到增氧泵
ADD #1 D0 ;设备编号加1
CMP #3 D0 ;如果设备编号为3,重置为0
JNE START ;如果不是3,跳转到START
WATER_PUMP:
LD X0 ;读取水泵开关信号
OUT Y0 ;控制水泵运行
SUB #1 D1 ;水泵运行时间减1
CMP #0 D1 ;判断水泵运行时间是否为0
JNZ START ;如果不为0,跳转到START
MOV #30 D1 ;如果为0,重置水泵运行时间为30
JMP START ;跳转到START
ATOMIZER:
LD X1 ;读取雾化器开关信号
OUT Y1 ;控制雾化器运行
SUB #1 D2 ;雾化器运行时间减1
CMP #0 D2 ;判断雾化器运行时间是否为0
JNZ START ;如果不为0,跳转到START
MOV #20 D2 ;如果为0,重置雾化器运行时间为20
JMP START ;跳转到START
STERILIZATION_LAMP:
LD X2 ;读取杀菌灯开关信号
OUT Y2 ;控制杀菌灯运行
SUB #1 D3 ;杀菌灯运行时间减1
CMP #0 D3 ;判断杀菌灯运行时间是否为0
JNZ START ;如果不为0,跳转到START
MOV #30 D3 ;如果为0,重置杀菌灯运行时间为30
JMP START ;跳转到START
OXYGEN_PUMP:
LD X3 ;读取增氧泵开关信号
OUT Y3 ;控制增氧泵运行
SUB #1 D4 ;增氧泵运行时间减1
CMP #0 D4 ;判断增氧泵运行时间是否为0
JNZ START ;如果不为0,跳转到START
MOV #30 D4 ;如果为0,重置增氧泵运行时间为30
JMP START ;跳转到START
``
原文地址: https://www.cveoy.top/t/topic/cmyT 著作权归作者所有。请勿转载和采集!