什么是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的日期与时间,比如在发生故障的时候需要追溯事件记录,然后分析故障原因,那么精确的时间就会使得追踪很方便;或者因为一些冬夏时至的功能控制发生了变化;或者我们需要在非常精确的现实时间点启动或者停止PLC命令等等。所以我们就需要读取PLC的日期时间并且在需要的时候对PLC的时间进行校准。
很多人觉得西门子日期格式很复杂,只是因为这些格式没有被系统的放在一起进行比较,通过本文的学习可以看出,西门子的日期格式虽然看起来复杂,但使用起来很方便,只要使用过一次后就可以对他们非常了解。
一 西门子S7-200/200smart系列
这系列的读取和写入指令非常简单,运用一个指令并填写地址即可,数据有固定格式。
二 S7-300/400、S1200、S1500系列
这一系列PLC的日期和时间数据类型较为复杂,包括;1日期( Date)、2日时间(Time_Of_ Day)、3长日时间LTOD (LTime_Of_Day)、4日期时间DT( Date_And_Time)、5日期长时间LDT (Date_And_LTime)、6长日期时间DTL。
对于西门子S7-300/400,S1200,S1500这些数据类型不是通用的。
其中“X”号为包含在该系统下
我们需要弄清这些日期格式
(1)日期 DATE
数据类型将日期作为无符号整数保存。数据中包括年、月和日;
数据类型 DATE 的操作数为十六进制形式,对应于自 01-01-1990 以来的日期值 (16#0000)。变量内容用距离1990年1月1日的天数以整数格式进行表示。常数格式为日期前加D#,例如D#2168 - 12-31表示的日期为2168年12月31日,相应变量的内容为W#16#FF62。下表列出了Date数据类型的属性。
DATE数据属性
(2)日时间 (Time_Of_ Day)
TOD (TIME_OF_DAY) 数据类型占用一个双字,存储从当天 0:00 h 开始的毫秒数,为无符号整数,常数表示格式为时间前加TOD#。
Time_Of_ Day数据属性
(3)长日时间 LTOD (LTime_Of_Day)
长日时间LTOD( LTime_Of_Day)数据类型占用2个双字,存储从当天0:00开始的纳秒数,为无符号整数。纳秒级的数据,只有S1500系列才拥有。
(4)日期时间 DT( Date_And_Time)
日期时间DT( Date_And_Time)数据类型存储日期和时间信息,格式为BCD。
(5)日期长时间 LDT (Date_And_LTime)
日期长时间LDT( Date_And_LTime)数据类型可存储自1970年1月1日0:00以来的日期和时间信息(单位为纳秒)。
(6)长日期时间 DTL
长日期时间( DTL)数据类型的操作数长度为12 个字节,以预定义结构存储日期和时间信息。
DTL数据类型的结构由几个部分组成,每一部分都包含不同的数据类型和取值范围。指定值的数据类型必须与相应元素的数据类型相匹配。表5-18给出了DTL数据类型的结构组成。
今天和大家分享一下数据格式;
下篇文章我会和大家分享具体的西门子PLC读取和写入日期和时间的实例以及注意事项。
喜欢的话请点赞并分享,您的支持是我坚持下去的动力!送人玫瑰,手有余香!
相关问答
plc编程时间怎么写?
PLC编程时间的书写通常遵循特定的格式:小时:分钟:秒。例如,8小时30分钟20秒的编程时间可以表示为"08:30:20"。在PLC编程中,时间常用于指定程序的延时、定时和...
plc怎么编写运行时间并在触摸屏上显示?
关于这个问题,编写PLC的运行时间并在触摸屏上显示可以通过以下步骤实现:1.在PLC程序中创建一个计时器(Timer),用于记录运行时间。根据PLC的型号和编程软件...
PLC原始时间如何设定?
2、菜单命令设定系统时钟3、菜单命令设定系统时钟4、菜单命令设定系统时钟上述几种方法,都会弹出"设置时钟"的对话框,勾选"来自PG/PC",使用计算机时钟...
plc中如何设定电机运行时间?
在PLC中设定电机运行时间需要用到定时器或计数器功能块。首先需要确定电机的运行时间,然后在PLC程序中创建一个定时器或计数器功能块,并设置其预设值为电机运...
plc通信为什么设置时间?
如果你不设置系统时钟,系统运行时,默认时钟是2001-1-100:00:00开始计时(具体时间不同版本PLC不同),所以你要设置系统时间与计算机的时间一致,保持同步。...
plc网络延迟时间怎么设置?
PLC网络延迟时间可以通过修改PLC的通信参数来进行设置。在PLC的通信设置中,可以设置发送和接收数据的超时时间、重试次数等参数,以达到减小延迟时间的目的。同...
plc怎么加时间指令?
可以通过PLC的高级指令或使用计时器配合写逻辑程序来实现加时间指令。1.加时间指令通常需要结合计时器实现,在程序中通过设置时间参数和计数器的触发条件来...
怎么把plc设置时间限制?
可以通过在PLC程序中设定计时器的时间来实现PLC的时间限制。具体方法如下:1.利用PLC的定时器模块,设定需要限制的时间;2.利用计时器模块输出时间的信号,控...
PLC系统时间如何修改?想修改欧姆龙PLC内部的时间?
回答如下:要修改欧姆龙PLC的内部时间,您可以按照以下步骤进行操作:1.连接到PLC:使用编程连接线将编程电缆连接到PLC和计算机之间的编程端口。2.打开编程...
plc怎么设置时间到期自动停机?
使用PLC的自带的特殊辅助继电器-分钟继电器(M8014),在使用数据存储器D加一指令(INB),在另一行再使用一个比较指令,比较数据存储器D里的值是否等于或大于给...