一、打开博图,新建一个工程,trafficlight,插入一个函数块,函数与函数块的区别是有没有背景数据块,函数没有背景数据块,函数块有背景数据块。
1、分配输入输出端口 交通灯实际上不用启停,不加也可以。
2、根据逻辑关系规划好波形图,根据波形图来设计程序 根据波形图,交通灯总共有六步,步与步之间由时间切换,为了方便用了脉冲计时器,只要有脉冲就输出给定时间的高电平。
3、在函数块内建立一个IEC_TIMER类型的数组,有六个就可以了,西门子PLC所有定时器都是这种类型数据。 4、脉冲定时器的波形如下图,根据波形图就很容易理解它的工作原理
二、编写程序 用复位置位来切换步,每一步都置位当前步,复位上一步。当前步有效的前提下,满足条件下转换(就是时间到了)到下一步,最后根据输出情况输出实际信号。 1、启动步,第0步,用了起保停。第一个时钟周期进入第0步,当按下启动按键时转换到第一步。 2、第一步,置位state1,复位state0,延时20s。因为第一步也是第六步的下一步,所以第六步满足条件也切换到第一步,同时复位第六步。
3、其它几部基本都类似
4、统一输出 最后主程序调入就行了,输出的是实际Q点,不用转换了。
编写一个简单的HMI就可以看效果了 用梯形图编写程序应该是很多同学比较熟悉的,直观好理解,但是要注意逻辑关系与PLC 的扫描周期问题,不要输出双线圈,只也是为什么要集中输出。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |