PLC简单工程的程序分段处理,让编程和维护更方便和简单!
三菱的PLC编程分为简单工程和结构化工程,在结构化工程中可以分段处理程序,可以为每一段的程序命名,在编辑的时候能在不同的页面进行,如下图:
结构化编程
这样我们无论是编程、监控、维护等方面都很方便找到,而不用再一个页面里上下拉去看程序,尤其实在步数很长的程序里,如果你不在程序里做声明或者程序折叠,你发现很麻烦,找一段程序或者某些元件会很头疼。我们知道在简单工程中,所有的程序都在一个界面,如果能行上图中进行分段编程就好了,今天我们就来说说简单工程的分段编程。
在新建中工程类型选择为简单工程,编程语言是梯形图, 同时在简单工程的右下方的“使用标签”进行打钩。
这里说下标签的意思,标签和我们的注释有点类似,是一个软元件的详细定义,起到提示的作用,在编程中可直接用标签代替软元件,方便编程和后期的监控维护等,比如Y1的标签是”正转“,我们在编程时可以直接OUT 正转,和OUT Y1是一样的。
工程建立后,我们在导航中的程序部件→程序→MAIN,这个时候我们右键”程序“,新建数据,数据名可以修改,这个数据名就是分段程序的标题,如下图:
简单工程分段程序
我们可以为每个分段程序命名,注意不能向结构化编程使用汉字进行命名,只能用数字和字母来命名。这样我们就能在每个分段程序中编程程序了,方便我们分类和查找。我们可以像原来一样不使用标签进行编程,在编译时它会提示你没有使用标签,没关系。编辑完成后我们也可以把数据进行合并,就是把每个分段程序合到一个程序里面。
数据合并
这里还需要注意一下,如果我们不使用标签,在”工具“→”自动分配软元件设置“里面把范围修改小一点,防止和程序中的软元件冲突,意思就是说如果自动分配软元件D500已经被使用了,你在程序里面就不能再用了。
以上就是简单工程的分段编程,你了解了吗,如果有什么不清楚的可以留言或者私信。
汇川技术PLC应用逻辑编程技巧(4)功能分块法的编程思路
哈喽,你好啊,我是雷工!
最近在熟悉汇川PLC编程,前边记录了
PLC应用逻辑编程技巧(1)(2)(3)
今天借着电梯控制的案例,了解功能分块的编程框架,简化复杂问题,
以下为学习笔记。
03 功能分块法编程
3.2、功能分块框架
接着前面引出的问题,可以采用功能分块的编程框架,将电梯控制功能分为5个功能模块,简化程序:
功能块1:实现楼层召唤、梯内召唤的登记显示;
功能块2:实现选择目标停靠层;
功能块3:实现梯内开关门控制;
功能块4:实现电梯启、停、运行的控制;
功能块5:实现电梯运行安全保护;
按上述5个功能分块,每个功能块的功能明确,逻辑设计起来也相对容易,修改调试时也会比较方便。
3.2、程序流程图
如下流程图所示,PLC每次扫描用户程序,依次执行各个功能块;
其中电梯运行和电梯开关门是两个互斥的功能块,同时只能执行1个,可以避免运行中开门或未关门运行的情况;
04 案例设计分析
上述将电梯功能分为了5个功能块,具体每个功能块实现哪些逻辑,可参考如下思路:
4.1、FB1:电梯召唤功能块
【1】自动运行模式时
①:各个楼层的电梯召唤请求登记;
②:梯内目标楼层请求登记;
③:若设置了闲时等待楼层,当电梯无召唤信息时,延时响应至等待楼层,现在都会设置为1层;
④:若为多梯群控,登记时刷新其他电梯楼层的召唤请求;
⑤:梯内双击或长按取消楼层选择;
⑥:单双层停靠设置等;
【2】人工控制模式时,只登记梯内的召唤;
【3】消防模式时,清除约定的不响应的楼层设置;
【4】检修模式时,只响应梯顶检修人员的控制;
4.2、FB2:目标停靠分析功能块
【1】如果是消防模式时,停靠就近楼层并打开电梯门;
【2】如果电梯处于静止状态时
①:根据有效的登记请求楼层,确定电梯的运行方向;
②:根据电梯的运行方向,检查当前楼层最近的有效请求层,作为运行目标层停靠;
③:如果电梯运行方向没有召唤登记,电梯开门,让相反方向召唤的人员进电梯;(这个有体会,所在小区当电梯下到1层,1层等待时按的是上,即使地下没人召唤,电梯也会先关门,然后再打开,运行方向变为上,这点应该还可以优化)
【3】如果电梯为运行状态
①:根据电梯的运行方向和速度,由当前速度及最小减速楼层距离,判断能响应的最近有效请求层,作为运行的目标层;
③:电梯不可以急停,运行中可以忽略过于接近的楼层请求;
4.3、FB3:启停速度功能块
在实际开发中可能既有功能分块法也有状态转移转移法,极可能状态转移法中嵌套分块也可能功能分块中嵌套状态转移,根据实际情况灵活运用。
例如该功能块中就可以使用状态转移法:
电梯状态1:电梯低速起步开始加速,直到最大运行速度;
电梯状态2:电梯减速,
电梯状态3:电梯低速运行,停靠
各个状态内,再编写具体的逻辑;
4.4、FB5:保护功能块
在电梯井中,在最高层、最底层附近的导轨上,一般设置有防冲顶和防墩地的保护信号块,PLC程序需要根据这两个信号进行对应判断和保护;
05 后记
编程的核心思想是将复杂的系统拆分为简单的控制逻辑在进行编程;
像前面了解的常见按设备运行过程拆分为若干个工作状态,然后进行状态转移法编程;
按功能分块的功能分块法编程;
除此之外还有按设备结构功能分区块、按工位分区块、按人工处理的逻辑步骤分区块等方法;
如有记录不准确之处欢迎大佬在评论区留言指正,更多话题也可以在交流群内交流;
相关问答
如何用一台电脑控制多个PLC
[最佳回答]现在的组态软件一般是不支持多PLC的,就算支持也可能需要特殊的授权,无形中增加了成本。比较经济的办法是:选择其中一台PLC作为主站,其余的PLC权作为...
PLC编程过程?
PLC编程的过程大致分为以下几步:1.确定控制任务和要求:根据控制对象的特点和需要控制的内容确定控制任务和要求,例如控制机器的启停、转速、温度、压力等。...
如何弱电控制强电原理:plc程序cpu220v电源开关24v继电器输出?
(可编程逻辑控制器)来控制强电设备。PLC作为控制器,它可以接收来自传感器、按钮等输入信号,并根据预设的程序逻辑进行...您好,弱电控制强电的原理是通过使用P...
plc编程时手动和自动如何处理最好?
2,自动是全部自动执行的环境,程序只是操作员起动一下,就自动执行了。正常情况下是不需要人再干涉了。3,一般我们用PLC内部标志位区分自动和手动。比如M0...
三菱plc气缸编程实例?
两线制:两根线及传输电源又传输信号,也就是传感器输出的负载和电源是串联在一起的,电源是从外部引入的,和负载串联在一起来驱动负载。三线制:三线制传感器...
plc做题怎么能快速找到正确思路?
要在做PLC题时快速找到正确思路,可以遵循以下几个步骤:理解题目要求:首先,你需要仔细阅读题目,确保自己完全理解了题目的要求和场景。确定控制需求:明确需...
西门子PLC与伺服驱动器如何接线?
为了在西门子PLC与伺服驱动器之间实现信号沟通,你需要将PLC的输出端口连接到伺服驱动器的输入端口,同时将伺服驱动器的输出端口连接到PLC的输入端口。一般来...
台达plc的定时器怎么编程-133****2617的回答-懂得
台达PLC的T1为100ms时间继电器,59mX60s=3540s=35400ms,所以直接使用是不行的,因为台达PLC中的常数值最大为32767。你可用两个时间继电器实现,即将59...
如何用三菱PLC传送带字母的一组数?
字母和数字不是一种数据类型,需要分开发送字母属于字符串,需要使用Ascii码表转换成十六进制数据发送字母和数字不是一种数据类型,需要分开发送字母属于字符...
西门子plc的自动程序和手动程序是编写在一起的吗?还是编写在两个文件当中?
可以分开二个子程来独立写。比如I0.0是手自动信号,在I0.0为0时调用手动子程序,在I0.0为1时调用自动子程序即可。在这个过程序2个子程序是不会同时工作的,在2个...