2016 - 2024

感恩一路有你

plc中请描述三种设置子程序的方法 在PLC编程中是否可多次调用同一个子程序为什么?

浏览量:4395 时间:2023-03-26 15:09:27 作者:采采

在PLC编程中是否可多次调用同一个子程序为什么?

1.反复调用子程序会对定时器和计数器产生影响,定时器会一直响应最近的调用。计数器的作用是累加或减去每次调用的逻辑运算。

2.对于200来说,定时器和计数器不能做成接口函数,但是可以做成FB类型的自变量函数调用。

3.S7-200 PLC的定时器是一个增量式定时器,用来实现时间控制,可以按工作模式和时间基准(时基)分类,也叫定时精度和分辨率。1)工作模式根据工作模式的不同,定时器分为三种:上电延时型(TON)、带记忆的上电延时型(TONR)和断电延时型(TOF),我们要根据实际需要来选择。2)时基标准根据时基标准,定时器可分为1ms.10ms.100ms3三种不同的时基标准,计时精度、计时范围、定时器刷新都不一样,使用时要注意它们之间的区别。3)定时器的工作和类型当TON enabled端子输入有效时,定时器开始计数,电流值从0开始递增。当大于等于预设值时,定时器输出状态位置1(输出接点有效),当前值最大值为32767。当使能端子无效时,定时器复位(当前值被清除,输出状态位置为0)。当带记忆的TONR的使能端(in)输入有效时,定时器开始计数,电流值增加。当当前值大于或等于预设值(PT)时,输出状态位置设置为1。当使能端输入无效时,保持当前值,当使能端再次接通时,定时器在原存储值的基础上递增。带记忆的通电延时定时器使用线圈的复位命令(R)进入复位操作。当复位线圈有效时,定时器的当前值被清除,输出状态位置为0。当断电延迟(TOF)使能引脚(IN)输入有效时,定时器输出状态位立即置1,当前值复位。当使能端子断开时,定时器开始计数,电流值从0开始增加。当当前值达到预设值时,定时器状态位复位为0,定时器停止计数,保持当前值。

4.西门子S7-200PLC共有255个计数器(不包括高速计数器)可以使用。计数形式可分为三类:向上计数、向下计数和上下计数。1) CTU加法计数是一种通过获得计数输入信号的上升沿来进行加法和计数的计数方法。每当计数输入信号有一个上升沿,计数器将增加 "1 "从0开始。当计数达到设定值(PV)时,计数器的输出触点将打开。如果继续输入计数信号,计数值仍将增加,输出触点将保持接通。计数器有一个清零信号(R)输入。当清除信号为 "1 ",则电流表清零至 "0 ",设定值写入,输出接点强。切断。2)Counter-down(CTD)Counter-down是一种通过获取计数输入信号的上升沿进行递减计数的计数方法。每当计数输入信号的上升沿出现时,计数器开始减去 "L "当当前计数值减少到 "0 ",计数器的输出触点打开。如果在计数值为 "0 ",计数值将保持 "0 "并且输出触点将保持接通。计数器有一个清零信号(R)输入。当清除信号为 "1 ",设定值被写入为当前计数值,输出触点被强制关闭。3) CTUD(加减计数)加减计数有两个输入端,即通过获得对应计数输入信号的上升沿进行加减计数。上下计数的本质和向上计数是一样的。每当计数输入信号的上升沿出现时,计数器就开始加 "1 "从0开始,当计数达到设定值(PV)时,计数器的输出触点打开。如果继续输入计数信号,计数值仍将增加,输出触点将保持接通。当当前值加到最大值32767时,如果再次输入计数信号,当前值将变为-32768,然后继续计数。同时,倒计时输入信号也起作用。每当倒计时输入有一个上升沿,计数器将减少 "1 "从目前的价值来看。当当前值减小到最小值-32768时,如果再次输入倒计时信号,当前值将变为32767,然后继续倒计时。计数器有一个清零信号(R)输入。当清除信号为 "L ",当前计数值被清除为 "0 ",设定值被写入,输出触点被强制断开。

PLC控制器程序是由什么构成的?

PLC控制程序由主程序、子程序和中断程序组成。

1.主程序主程序(OBI)是程序的主体,每个项目只能有一个主程序。子程序和中断程序可以在主程序中调用。主程序通过指令控制整个应用程序的执行,CPU每扫描一次主程序执行一次。STEP7-Micro/Win程序编辑器窗口下部的选项卡用于选择不同的程序。因为程序已经被分离,所以不需要在每个程序的末尾添加无条件的结束指令,比如END、RET或者RETI。

2.子程序子程序是可选的指令集合,只有被其他程序调用时才执行。同一个子程序可以在不同的地方调用多次。使用子程序可以简化程序代码,减少扫描时间。一个设计良好的子程序可以很容易地移植到其他项目中。

3.中断程序中断程序是一组可选的指令。中断程序不是由主程序调用,而是当中断事件发生时,由可编程控制器的操作系统调用。中断程序用于处理预定义的中断事件。因为无法预测中断事件何时发生,所以不允许中断程序覆盖其他程序可能使用的内存。

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。