什么是PLC程序执行时间?如何设置?
系统执行时间
S7-1200 CPU的循环扫描时间(看门狗时间)默认为150ms,最大可修改为6000ms,如图1:
图1. 设置最大循环时间
当编程结束后,需要了解程序的循环周期,可通过如下方法查询。
将程序下载到PLC后,进行在线连接,查看路径:“在线和诊断”--->“循环时间”,如图2:
图2. 查看PLC循环时间
子程序执行时间
使用S7-1200 CPU时,若需要了解某个子程序的执行时间,依据如下方法进行编程。
首先,设置PLC系统时钟,按图3方法设置:
图3. 设置PLC系统时钟
接着,创建数据块DB1,块名称为“time”,并创建变量,如图4:
图4. 创建数据块
注:若选择“已优化”DB块,则创建的DB块变量不显示“偏移量”列,后续程序中变量则为符号寻址。
然后,在OB1中编程,读取子程序执行前、后的系统时间,再运用指令 T_DIFF 做时间相减。
如下例程中测试了“块_1(FC1)”子程序的执行时间,如图5:
图5. 子程序执行时间例程
最后,通过监控表查看该子程序的执行时间,如图6:
常问问题
为何程序下载完毕后PLC无法运行,PLC诊断信息中出现“超出最大程序循环时间”?
可能的原因:
1、程序过长,执行时间超过设置的最大循环时间;
2、程序中有死循环程序导致执行时间超过最大循环时间;
3、定时中断程序的执行时间大于所设定的定时间隔时间,导致定时中断事件缓冲区溢出而停机。
电气相关知识和经验是用来分享,希望本文能对你有帮助。与人玫瑰,手留余香。
欢迎大家关注,点赞,评论及转发。
回复粉丝疑问,如何实现PLC的定时停机功能
今天收到粉丝的私信,是关于PLC实时时钟的
能帮我写个三菱FX1NC的程序吗?例如到2018年12月31月0点,PIc就不在工作,需要输入密码才可以继续工作且不在锁定?谢谢
哈哈,这个功能实现的目的,大家都懂的,特别是中国自动化行业的特殊国情。
RTC(Real-Time Clock)是实时时钟的意思,是PLC中一个非常重要的系统功能,所谓实时时钟,其实就是一个钟表,它用来记录时间。时间值包括年月日时分秒星期等等,一般都是存储在PLC的特殊寄存器里,当然,这个时间值也可以修改,就和我们平常看新闻联播调整手表一样。需要注意的是,PLC的实时时钟一般都是通过电池来工作的,而有的PLC标配是不带电池的,需要另外购买,这点一定要注意。
1 获取PLC的时间
三菱PLC时通过 指令 TRD 来获取实时时钟的值的。
图一
如图一所示,当我们调用了TRD功能块时,那么,PLC的实时时钟时间就会读取到从D0开始的六个寄存器里,依次是年,月,日,时,分,秒,星期。大家看一下模拟运行的结果,再看一下小编电脑上的时间,这正是小编当前编辑到这段时候的时间。这就说明我们正确的把时间读了出来。
2 与所需要的时间做比较
获取了正确的时间,这个课题我们就成功了一半,接下来就是和标准时间相比较了。
图二
如 图二所示,我们用一个比较语句,当时钟走到2018年12月31日零点的时候,变量m_xPLC 就会置1,这下我们就可以为所欲为了。比如让蜂鸣器不停的叫,让一个没用的气缸不停的动作,让一个电机开三秒,停三秒,或者直接触发急停。总之,不会让他过好年了。你懂得!
3 异常状态的解除
当我们达到某种条件后,就需要解除这种异常状态了,当然,如果你钱多或是不怕他们关门放狗,大可去现场把这句程序删除,但是,更多的是通过软件的方法解除。
图三
如 图三所示,当寄存器D1000的值等于12345的时候,我们就把变量m_xPLC置0,这样异常状态就会解除。
这就是实现定时功能的最简单方式,它的基本思路就是读取PLC的实时时间,然后和设定的时间做比较,当满足条件的时候,采取相应的措施。当然,这只是一个简单的例子,还有很多漏洞,实际需要的时候还是需要大家自己完善。
相关问答
1200plcclock是什么指令?
三菱PLC中,时钟有自己特殊的地址寄存器:D8019-----对应星期D8018-----对应年份D8017-----对应月份D8016-----对应日期D8015-----对应小时D8014----...
plc实时时钟是什么?
plc实时时钟是通过编写程序、调用PLC内部时钟数据;驱动外田由译码器和数码管构成的显示电路;实时显示当前的时间;PLC实时时钟使得自动化控制设备与数字电路相...
1200plc中的clock指令怎么用?
Clock指令是用于生成一个周期性的脉冲信号,可以用于控制定时器和计数器等功能模块。在1200PLC中,使用Clock指令需要先定义一个计时器,然后在程序中使用Clock...
怎么样读取plc每次开机时间和停机时间-ZOL问答
开机时,可用初始脉冲M9002作为使能信号,关机时用一个与交流电源连接的继电器与一个接点(例如X7)作为使能信号(因为关机瞬间,PLC还没断电,内部电源有电容),把时钟...
plc没有时钟是什么意思?
就是PLC内部的时间显示,这时时间还可以通过程序调用,实现其它的功能,如可以通过时钟功能设守PLC运行到某天某时间停机等等。还可调到人机界面上显示当前的时间...
西门子PLC时钟指令?
西门子PLC(可编程逻辑控制器)中的时钟指令用于获取和设置PLC内部的时间。通过时钟指令,可以实现对程序的时间控制和同步操作。常见的时钟指令包括获取当前时间...
西门子PLCs7-200时钟读取时为什么要BTI和BCDI连用我知道BTI...
[回答]BTI是一个字节数据转成一个整数数据,而BCDI是一个字的以BCD编码数据转成一个字的以BIN编码的数据.当然有差别,因为数值对应的编码不同.第1条BTI指令...
1200plcclock脉冲怎么用?
在1200PLC中,可以使用Clock脉冲来实现定时器和计数器的功能。Clock脉冲是一个周期性的信号,可以用来触发定时器和计数器的计数和计时操作。下面是使用Clock脉...
plc定时启停设置?
三菱PLC在规定日期定时停机,这个程序非常好编写,方法也有很多。以三菱FX2N的PLC为例,我可以告诉你一种“在超出规定的开机时间里停机”的方法,用三菱PLC的自...
plc定时器是模拟量还是数字量?
1.PLC定时器是数字量。2.这是因为PLC(可编程逻辑控制器)是一种数字化的电子设备,它通过数字信号来控制和监控工业过程。PLC定时器是其中的一种功能模块,用...