![](http://img.11467.com/2022/10-17/1937740762.jpg)
西门子PLC可编程控制器CPU313C 西门子PLC可编程控制器CPU313C
2)是上一次的延申,认识PLC之后开始逻辑锻炼-熟悉PLC工作原理。结合我的学习经历,写程序,熟悉程序逻辑和练习语言一样,只有不断写不断看好的程序,才能使自己能力得到提升。
3)程序要求:
用一个按钮启动、保持 、停止电机运行:1,写出功能,2,优化程序。
1,程序开始
1)新建项目-组态-编辑符号,这些过程在基础锻炼篇有讲述。
直接从上一次的程序开始,不再从新组态项目。
我的个想法:一个按钮启动停止,按下按钮输出置位,当再次按下按钮输出复位,中间添加一个中间位或者直接使用输出点做中间位。
程序模拟
如上图,实际结果却不能实现,现在我们将对整个逻辑进行分析,分析为什么不能实现的原因。上图梯形图转换成语句表程序如下图。
逻辑分析
启动过程:
(1)按下按钮StartOrStopMotor后,StartOrStopMotor变为1,在个循环中。
(2)然后因为电机未启动(即MotorRunning为0),所以常闭点为通,会将MotorRunning置1。启动过程完成。
(3)程序继续执行,到第二段程序时,StartOrStopMotor继续是1,然后因为上一段已经将MotorRunning置为1,所以这时候复位指令会继续执行,结果是MotorRunning又会变为0,导致整个功能不能实现。
停止过程:
即启动过程的第三步。
2)次实验程序失败,该怎么改进呢?
将置位复位顺序改变一下?
这样做的结果就是造成电机输出点一直输出而不能停掉,这个太危险,如果不是在模拟,而是在实际运行,估计会被骂死。
3)现在考虑第二种办法使用中间位。
修改程序如下图,可以实现初定义的要求。
更改后逻辑
启动过程:
(1)当电机未运行时,按下启动停止按钮,在你松开的时候将电机运行置位为1,从而完成启动。
(2)继续执行下一段时,因为没有电机运行信号和电机启动停止信号不能同时出现,所以电机不会被停止。
停止过程:
(1)当电机在运行状态时,段程序(即启动过程程序)不会通,所以不会启动电机.
(2)当松开停止按钮时,会产生一个下降沿。电机运行输出信号会被切断。从而完成电机停止过程。
以上即使用中间位完成电机启动,中间位使用的是脉冲。
2,总结
1)指令解释:N_TRIG下降沿,检测这条指令前的状态从1变为0,SR和RS是置位复位指令和复位置位指令,他们的区别是执行的先后(即顺序)不一样。MOVE将IN值传递到OUT。==比较是否相等指令。
2)以上完成了功能的实现,现在有两个问题,用上升沿是否可以实现?程序是否还可以优化(减少指令)?
实现请写出梯形图或者语句表程序,实现或者不能实现都可以举例说明逻辑。
3)下图为使用上升沿实现功能程序。
使用上升沿和其他办法实现一键启停按钮,对比一下程序的优劣,谁更好,谁更容易,更稳定实现呢。
可分析一下使用MOVE的逻辑顺序。
4)下面再延申一些,用一个按钮实现照明灯输出,5S后自动熄灭,如果按钮一直按着,灯就一直输出,一旦松开就必须再亮5S后再熄灭,如果5S内有人按下按钮,灯将亮直到松开5S后才熄灭。(这是自己当时自己想的一个题目来锻炼自己,后来发现,其实实际中小区门也是可以这样实现的)
5)当时自己的学习过程就是自己这么琢磨过来的,到了这里,我的逻辑思维能力已经上升一大步,对西门子常用指令也会变得熟悉,再有对CPU的执行顺序也变得有些明白。下一次再重复练习一次简单的逻辑功能后,我将从实际控制开始练习了,工控中不可避免的控制元件气缸开始,然后多电机运行,电机分时启动,FC FB 了解。
- 西门子PLC中央处理单元CPU313C 2025-02-05
- 西门子PLC中央处理器CPU313C 2025-02-05
- 西门子PLC模块CPU313C 2025-02-05
- 西门子S7-300CPU313C中央控制单元 2025-02-05
- 西门子S7-300CPU313C中央控制器 2025-02-05
- 西门子S7-300CPU313C模块控制器 2025-02-05
- 西门子S7-300CPU313C可编程控制器 2025-02-05
- 西门子S7-300CPU313C中央处理单元 2025-02-05
- 西门子S7-300CPU313C中央处理器 2025-02-05
- 西门子S7-300CPU313C模块 2025-02-05