[西门子] PLC自动程序框架模板--流程控制

[复制链接]
查看208 | 回复0 | 2024-6-16 19:42:43 | 显示全部楼层 |阅读模式
本帖最后由 PLC狂人 于 2024-6-16 20:00 编辑

导读:在自动化设备中,很多设备是有步序动作的,完成了一个动作后再接着往下执行下一个动作:比如包装类设备、循环工艺流程、流水线作业等等项目(如图1所示)。那么针对这种流程控制工艺,我们有哪几种编程方式呢?你会选择哪种?



图1

方法一:起保停法

“起保停”法是以启动、保持、停止方式编写的流程控制程序,如程序段1中,当设备在自动模式下“#I_输入条件[0]”接通后,“#O_输出动作[0]”线圈会自锁。而当下一个条件“#I_输入条件[1]”接通后,会把上一个输出动作断开,这样的话保证了一次只有一个输出动作。

在程序段4中,最后输出的线圈的触点串联到程序段1中,相当于是形成一个循环。







方法二:移位寄存器法

移位寄存器法指的是每完成一个动作后将寄存器中的值移动一位,利用其中的位状态实现步骤的转移。

在程序段1中,切换到自动模式后,将寄存器的值赋值为1。

在程序段2中,当“#S_移位寄存器”中的值第0位接通了,输入条件满足了后,往左移动1位。当第1位接通了后,判断条件是否满足,满足了后往左再移动1位,依次类推。





程序段3是输出动作:哪1位的值为1就输出相应线圈



方法三:寄存器赋值法

寄存器赋值法指的是用一个寄存器存储数值,当完成了一个步序后,赋值一个数值。比如程序段1中,“#S_步序”中的值等于10执行相应动作,条件满足后,将“20”赋值“#S_步序”中,依次类推。这种寄存器赋值法要注意尽量不要用连续的序号,比如“1-2-3”等,因为中间有时候需要插入其他的步序的话不方便,用“10-20-30”这种就比较好。





方法四:SCL的Case语句编写

SCL的Case语句也是判断数值的数据是否满足从而执行动作。程序中判断“S_步序号”这个寄存器中的值,当值等于10时,执行动作,紧接着用IF语句条件判断条件是否满足,满足了之后动作关闭,并将寄存器中的值赋值为20,依次类推。





写在最后:如果文章对您有所帮助,那帮忙点个“赞”和“在看”呗!!


本帖子中包含更多资源

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

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

本版积分规则