[西门子] 博途S7 - 300 PLC:停车场空闲车位数码显示程序设计(附程...

[复制链接]
查看79 | 回复0 | 3 天前 | 显示全部楼层 |阅读模式
有车一族或许都有这样的经历:前往各大商场时,常常需要使用商场的地下停车场。


而停车场外的电子显示牌,会实时显示停车场的剩余车位数量以及是否已满等信息


那么问题来了,如果要运用工控 PLC 实现类似的功能,程序该如何编写呢?


01控制要求

在某停车场中,其最大停车容量为 150 辆车。停车场使用两位数码管实时显示空闲车位的数量,同时通过出入传感器精准检测进出停车场的车辆数目。具体规则如下:

  • 当有车辆进入停车场时,空闲车位数量自动减 1;

  • 当有车辆驶出停车场时,空闲车位数量自动加 1。


在车辆入场控制方面,根据空闲车位数量不同,入口处指示灯会有相应变化:

  • 当空闲车位数量大于 5 时,入口处绿灯常亮,允许车辆入场;

  • 当空闲车位数量小于或等于 5 时,绿灯开始闪烁,以此提醒待入场车辆停车场即将满场;

  • 当空闲车位数量为 0 时,红灯亮起,禁止车辆入场



02PLC变量表



03程序设计

第一步:(开机预置计数器的值为150)


第二步:(车辆进出计数)


第三步:(空闲车位数转换为4位SEG码)


第四步:(高位数码为0时不显示,否则显示高位数码)


第五步:(低位数码显示)


第六步:(空闲车位大于5时绿灯常亮,空闲车位小于或等于5时绿灯闪烁)


第七步:(空闲车位为0时红灯亮)



04演示效果

第一步:(开机设置计数器值为150)


第二步:(计数器C0的当前值MW20为空闲车位数量,空闲车位MW20大于0时,每进1车,空闲车位数量减1,使空闲车位数量最小为0,不出现负数,空闲车位MW20小于50时,每出1车,空闲车位数量加1,使空闲车位数量不会超出最大值150。)


第三步:(将空闲车位 BCD(MW10)由SEG指令转换为七段显示码保存到MD40 中,其中MB43 为个位,MB42为十位)


第四步:(当十位BCD码(MB42)为0(七段码16#3F)时,将0送入QB125,不显示十位的0,否则,将 MB42送入 QB125,显示对应的十位数字)


第五步:(将 MB43送入 QB124,显示对应的个位数字)


第六步:(当空闲车位数量大于0且小于或等于5时,绿灯闪烁,当空闲车位数量大于5时,绿灯常亮)


第七步:(当空闲车位数量等于0时,红灯亮) 免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册哦

x
您需要登录后才可以回帖 登录 | 注册哦

本版积分规则