有车一族或许都有这样的经历:前往各大商场时,常常需要使用商场的地下停车场。
而停车场外的电子显示牌,会实时显示停车场的剩余车位数量以及是否已满等信息。
那么问题来了,如果要运用工控 PLC 实现类似的功能,程序该如何编写呢? 在某停车场中,其最大停车容量为 150 辆车。停车场使用两位数码管实时显示空闲车位的数量,同时通过出入传感器精准检测进出停车场的车辆数目。具体规则如下:
当有车辆进入停车场时,空闲车位数量自动减 1; 当有车辆驶出停车场时,空闲车位数量自动加 1。
在车辆入场控制方面,根据空闲车位数量不同,入口处指示灯会有相应变化:
第一步:(开机预置计数器的值为150)
第二步:(车辆进出计数)
第三步:(空闲车位数转换为4位SEG码)
第四步:(高位数码为0时不显示,否则显示高位数码)
第五步:(低位数码显示)
第六步:(空闲车位大于5时绿灯常亮,空闲车位小于或等于5时绿灯闪烁)
第七步:(空闲车位为0时红灯亮)
第一步:(开机设置计数器值为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时,红灯亮)
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |