什么是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的时间,需要用到区域指针中的“日期/时间”和“作业邮箱”。关于“日期/时间”和“作业邮箱”的详细说明请参考WinCC Flexible 之前版本的说明。
1 简介
西门子新一代精彩系列面板SMART LINE V3支持硬件时钟功能。如果需要使用面板来同步PLC的时间,需要用到区域指针中的“日期/时间”和“作业邮箱”。关于“日期/时间”和“作业邮箱”的详细说明请参考WinCC Flexible 之前版本的说明。
假定用户在阅读本文档之前,已经熟悉WinCC Flexible 软件和STEP 7-Micro/WIN SMART软件基本功能的使用。
测试环境如下:
软件版本:
WinCC Flexible SMART V3
STEP 7-Micro/WIN SMART
硬件:
SMART 700IE V3
CPU ST60
2 组态步骤
2.1 面板程序组态
在连接的“区域指针”的用于每个连接的选项下激活“日期/时间”和“作业邮箱”,并配置相应的地址参数。如下图所示:
图2-1 区域指针配置
创建必要的变量。创建Bool类型变量“TriggerFlag”对应的地址为V20.0。创建Byte类型变量“TriggerJob”对应的地址为VB31。同时创建Byte类型变量分别用来显示PLC同步后的时间。如下图所示:
图 2-2 创建必要的变量
关于“作业邮箱”和“日期/时间”中各个参数的含义。如下图所示:
图 2-3 作业邮箱
图 2-4 日期/时间
创建一个画面,创建 IO 域用来显示同步后的 PLC 时钟。此处注意,需要把 IO 域的格式类型设置为“十六进制”,把格式样式设置为“FF”。如下图所示:
图 2-5 IO 格式样式
在画面上添加一个按钮,在按钮的事件下调用“SetValue”函数,把变量
“TriggerJob”赋值为 41。用于将面板的当前日期时间传送给 PLC。如下图所示:
图 2-6 按钮事件
2.2 PLC程序组态
在PLC中通过地址V20.0作为触发条件。实现日期时间的格式化转换和PLC时钟的设置工作。为了验证结果,此处通过周期调用READ_RTC读取PLC的时钟信息到VB100开始的存储区。用于在上位机显示PLC的时钟信息。如下图:
图2-7PLC程序数据区定义及说明
2.3 注意事项
本项目中面板程序的“日期/时间”中定义的起始地址为VW0。对应的年、月、日、时、分、秒和星期的地址为:VB10、VB9、VB8、VB1、VB2、VB3、VB7。
而s7-200中SET_RTC中的时间参数地址为VB70。对应的年、月、日、时、分、秒和星期的地址为:VB70、VB71、VB72、VB73、VB74、VB75、VB77。
因此,需要做日期格式的调整。给S7-200设定系统时间时,不要给时间信息中的“星期”字节赋“0”值,需要给出确切的“星期几”否则会导致时钟同步失败。或者将此字节置为常数1。两次连续的作业之间至少需要间隔5秒钟,否则HMI设备将过载。因此点击按钮约5秒后才能看到同步结果。
另外,此处调用READ_RTC函数把PLC时钟读取到VB100,并且在面板程序中创建变量显示PLC的时钟,仅是为了验证同步效果。如无此需求,请忽略.
相关问答
plc编程时间和速度可调怎么编程?
在PLC编程中,时间和速度可调的编程通常需要使用PLC的内置功能和指令。首先,你需要确定PLC支持时间和速度可调的功能。然后,你可以使用PLC的内置计时器和计数器...
plc编程时间怎么写?
PLC编程时间的书写通常遵循特定的格式:小时:分钟:秒。例如,8小时30分钟20秒的编程时间可以表示为"08:30:20"。在PLC编程中,时间常用于指定程序的延时、定时和...
l用人机界面怎样修改plc时间?
这个需要您先在PLC程序里面编写好修改时间指令,在触摸屏上面才可以修改PLC时间。如果PLC里面没有修改时间的程序指令,那您在触摸屏上面是不能修改的,这些都需...
plc怎样用按钮加减时间?
在PLC程序中,可以通过读取按钮输入状态来实现对时间值的加减操作。首先,需要定义一个计时器或计数器来存储当前的时间值。然后,分别为加和减按钮分配不同的IO...
PLC系统时间如何修改?想修改欧姆龙PLC内部的时间?
回答如下:要修改欧姆龙PLC的内部时间,您可以按照以下步骤进行操作:1.连接到PLC:使用编程连接线将编程电缆连接到PLC和计算机之间的编程端口。2.打开编程...
怎样设置编程时间?
很多小型PLC如西门子S7-200、三菱FX2N等并不提供以小时(或大于小时)为时基的定时器。这些PLC提供的指令最大只有100ms*32767,也就是约3200杪左右,不到一小时...
plc程序时间继电器怎么修改数值?
可以通过以下步骤来修改PLC程序中时间继电器的数值:1.打开PLC编程软件,并连接到PLC控制器。2.找到程序中对应的时间继电器的地址或者标签。3.在程序中找到...
plc中的时间如何利用和校正?
系统时钟在使用西门子的系统中经常使用到,具体又怎么设定和读取使用呢?本文跟大家一起探讨下。1、设定PLCCPU的当前时间方法a.可以在硬件组态中设定如...5...
触摸屏是怎么修改plc的时间的?
要通过触摸屏修改PLC的时间,您可以按照以下步骤进行操作:首先,确保您的PLC和触摸屏已经连接并正常通信。在触摸屏的主界面或菜单中,找到设置或系统设置选项...
plc定时开关怎么设置?
欧姆龙PLC编程定时器可以通过以下步骤来设置定时开关:可以通过欧姆龙PLC编程来设定定时器时间。设置定时器是欧姆龙PLC编程中常见的操作之一,具有很高的实用...