[西门子] 使用SCL编写车辆控制案例

[复制链接]
查看118 | 回复0 | 2024-9-29 19:04:35 | 显示全部楼层 |阅读模式
>

文末有55个实战案例资料

导读:在前面的文章中我们介绍了SCL中的沿脉冲、定时器等指令,那么本文就来介绍SCL中计数器指令如何使用。

1200PLC中计数器指令有“加计数”“减计数”“加减计数”,我们只需要学会一种,另外的几种就可以举一反三了。

1.计数器指令解读

如果输入信号CU出现上升沿,增计数器的当前值CV1。每检测到一个上升沿,计 数器值就会递增1。如果计数器的当前值大于等于设定值PV,则输出Q的信号状态变为 TRUE。在其他任何情况下,输出Q的信号状态均为FALSE。当前值CV递增直至达到所指定数据类型的上限。达到上限时,CU再有上升沿,CV不再增加。当复位输入端RTRUE 时,计数器当前值CV清零。

2.使用计数器指令实现电机的单按钮启停(奇数次启动电机,偶数次停止电机)

当按下“xStart”按钮后,计数器的值加1,如果当前值“"C0".CV”等于1时,将启动电机,如果不等于1则停止电机;同时如果计数器的输出点("C0".QU)有输出了则复位计数器,以便于下次循环计数。

注意:在使用有关于有背景数据块这类的指令时,不使用的管脚可以不填写地址,比如下图这两个管脚就没填写地址。

编译之后,没填写地址的管脚会缩略,如果缩略了,可以重新展开,如下图所示

示例:停车场空闲车位指示

某停车场最多可停50辆车,使用带有BCD码驱动的两位数码管显示

当前空闲车位数量,控制要求如下。

① 用出/入传感器检测进出停车场的车辆,每进一辆车停车场空闲车

位数量减1,每出一辆车空闲车位数量增1

② 空闲车位的数量大于5时,入口处指示灯亮,允许入场;小于等于5时,指示灯闪烁,提醒待进场车辆将满场;等于0时,指示灯熄灭,禁止车辆入场。

③ 可以手动增加或减少空闲车位的数量。

新建DB数据块

程序行913:当手动增加或者有车辆出去时空闲车位加1,同时限制车位的总数是需要少于50的;当手动减少或者有车辆进入时空闲车位减1,同时限制车位的总数是需要大于0的。

程序行1422:是判断空闲车位在哪个区间,指示灯状态不一样

程序行24:是将数据转化成BCD码输出显示

最近有很多小伙伴说要案例书籍,说是手机上看文章不是很方便,我抽时间把55个实战案例全部整理出来,案例都是比较典型的,其中包括气缸控制程序、报警程序、程序框架、运动控制程序封装、模拟量控制变频器、通信等实战案例。需要的可以加我微信:biao467524527,如果加不上可以私信我!


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

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

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

本版积分规则