[西门子] 用梯形图编写交通灯程序

[复制链接]
查看105 | 回复0 | 2024-12-9 08:42:54 | 显示全部楼层 |阅读模式

一、打开博图,新建一个工程,trafficlight,插入一个函数块,函数与函数块的区别是有没有背景数据块,函数没有背景数据块,函数块有背景数据块。

1、分配输入输出端口

交通灯实际上不用启停,不加也可以。

2、根据逻辑关系规划好波形图,根据波形图来设计程序

根据波形图,交通灯总共有六步,步与步之间由时间切换,为了方便用了脉冲计时器,只要有脉冲就输出给定时间的高电平。

3、在函数块内建立一个IEC_TIMER类型的数组,有六个就可以了,西门子PLC所有定时器都是这种类型数据。

4、脉冲定时器的波形如下图,根据波形图就很容易理解它的工作原理

二、编写程序

用复位置位来切换步,每一步都置位当前步,复位上一步。当前步有效的前提下,满足条件下转换(就是时间到了)到下一步,最后根据输出情况输出实际信号。

1、启动步,第0步,用了起保停。第一个时钟周期进入第0步,当按下启动按键时转换到第一步。

2、第一步,置位state1,复位state0,延时20s。因为第一步也是第六步的下一步,所以第六步满足条件也切换到第一步,同时复位第六步。

3、其它几部基本都类似

4、统一输出

最后主程序调入就行了,输出的是实际Q点,不用转换了。

编写一个简单的HMI就可以看效果了

用梯形图编写程序应该是很多同学比较熟悉的,直观好理解,但是要注意逻辑关系与PLC 的扫描周期问题,不要输出双线圈,只也是为什么要集中输出。


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

本帖子中包含更多资源

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

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

本版积分规则