吾爱破解 - LCG - LSG |安卓破解|病毒分析|www.52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 997|回复: 1
收起左侧

[经验求助] PLC十字路口的交通灯控制编程

[复制链接]
zhangtihao 发表于 2023-2-16 22:13
50吾爱币
救急家人们,PLC十字路口的交通灯控制编程
请设计十字路口交通灯。当按下启动按钮时,信号灯系统开始工作,且先南北红灯亮、东西绿灯亮。当按下停止按钮时,所有的信号灯全部熄灭。以南北方向为例,工作时红灯亮9s,并闪烁2次(即2s),黄灯亮3s,绿灯亮9s。东西方向和其相反 (附加要求东西南北方向各有一个数码管倒计时显示,20分)用gxWORKS+got仿真结果。

最佳答案

查看完整内容

为了设计这个十字路口交通灯,我们可以使用 PLC(可编程逻辑控制器)和 GX Works 3 软件来编写程序,然后使用 GOT(人机界面)进行仿真。 首先,我们需要为南北方向和东西方向各创建一个数码管,用于显示倒计时。我们可以使用 GX Works 3 软件中的数据设定功能来创建这些数码管,并使用 LD 指令在程序中将计时器的值传输到数码管。 接下来,我们可以使用 S 系列 PLC 中的定时器和计数器功能来实现交通灯的计时控制。在程序中 ...

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

寒雨孤夜 发表于 2023-2-16 22:13
为了设计这个十字路口交通灯,我们可以使用 PLC(可编程逻辑控制器)和 GX Works 3 软件来编写程序,然后使用 GOT(人机界面)进行仿真。

首先,我们需要为南北方向和东西方向各创建一个数码管,用于显示倒计时。我们可以使用 GX Works 3 软件中的数据设定功能来创建这些数码管,并使用 LD 指令在程序中将计时器的值传输到数码管。

接下来,我们可以使用 S 系列 PLC 中的定时器和计数器功能来实现交通灯的计时控制。在程序中,我们可以使用 LD 指令和 MOV 指令来控制定时器和计数器的值,并使用 SET 指令和 RST 指令来控制交通灯的开关状态。

下面是一个示例程序,它实现了按下启动按钮时南北红灯亮、东西绿灯亮,按下停止按钮时所有的信号灯全部熄灭的功能:
[Asm] 纯文本查看 复制代码
LD X1       // 检测启动按钮是否按下
OUT Y1,1    // 如果按下,将南北红灯设置为亮
OUT Y2,0    // 将南北绿灯设置为灭
OUT Y3,0    // 将东西红灯设置为灭
OUT Y4,1    // 将东西绿灯设置为亮
MOV #9000, D0 // 将计时器的初值设为 9s
MOV #2000, D1 // 将计数器的初值设为 2
MOV #3000, D2 // 将黄灯计时器的初值设为 3s
MOV #20, D3   // 将总倒计时计数器的初值设为 20s

// 南北方向信号灯控制
LBL START_SOUTH_NORTH
LD D0
JEQ RED_SOUTH_NORTH
OUT Y1,1
OUT Y2,0
JMP START_SOUTH_NORTH_END

LBL RED_SOUTH_NORTH
OUT Y1,0
LD D1
JEQ YELLOW_SOUTH_NORTH
MOV #2000, D1
OUT Y2,1
JMP START_SOUTH_NORTH_END

LBL YELLOW_SOUTH_NORTH
OUT Y1,0
OUT Y2,0
LD D2
JEQ GREEN_SOUTH_NORTH
MOV #9000, D0
MOV #2, D1
OUT Y3,0
OUT Y4,1
JMP START_EAST_WEST

LBL GREEN_SOUTH_NORTH
OUT Y3,0
OUT Y4,1
LD D0
JEQ RED_EAST_WEST
JMP START_SOUTH_NORTH_END

LBL START_SOUTH_NORTH_END

// 东西方向信号灯控制
LBL START_EAST_WEST
LD D0
JEQ RED_EAST_WEST
OUT Y3,1
OUT Y4,0
JMP START_EAST_WEST_END

LBL RED_EAST_WEST
OUT Y3,0
LD D1
JEQ YELLOW_EAST_WEST
MOV #2000, D1
OUT Y4,1
JMP START_EAST_WEST_END

LBL YELLOW_EAST_WEST
OUT Y3,0
OUT Y4,0
LD D2
JEQ GREEN_EAST_WEST
MOV #9000, D0
MOV #2, D1
OUT Y1,0
OUT Y2,1
JMP START_SOUTH_NORTH

LBL GREEN_EAST_WEST
OUT Y1,0
OUT Y2,1
LD D0
JEQ RED_SOUTH_NORTH
JMP START_EAST_WEST_END

LBL START_EAST_WEST_END

// 总倒计时控制
LBL START_TOTAL_TIME
LD D3
JEQ STOP_ALL_LIGHTS
SUB #100, D3   // 每秒钟减少100毫秒
LD D3
MOV D3, W0
MOV #1, W1
MOV #1, W2
MOV #0x0B, W3
CALL &0FFFE6 // 将倒计时的值传输到数码管中
JMP START_TOTAL



以上不是我写的,是chatGPT的回答,仅供参考。
快速回复 收藏帖子 返回列表 搜索

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-5-30 05:30

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表