技术论坛

 关于定时中断与中断事件号的对应关系

返回主题列表
作者 主题
WWCWWC
至圣

经验值: 71712
发帖数: 8024
精华帖: 145
楼主    2018-10-23 10:02:31
主题:关于定时中断与中断事件号的对应关系 精华帖 

关于定时中断与中断事件号的对应关系

   在编辑200 smart时基脉冲或者PID控制等操作时,编程者经常性的需要调用系统资源定时中断。这些定时中断或者通过设置对应的定时时基存储区时间常数或者直接赋值,均可以得到相应的循环“脉冲”,当然这些所谓的脉冲还需要稍微编辑一下简易的程序段获得,这不是重点,重点在下面内容。

   今天,看到有这么一则“讨论”,大致含义是设置一个定时中断,且不需要对应系统定义的存储区时间数据存储区地址也可以获得。一直来我都是遵循西门子官方文档的说明进行的,难道这样也可以?吃了晚饭,也借于刚刚在今天下午“奋战”了4天的设备维保有了一点“眉目”的东风(维保日记后续补上),想验证一番今天下午在论坛中的这个说法。

   仍然按论坛讨论的话题,定义一个定时中断0,官方文档指定时间数据存储区地址为SMB34,对应的定时中断号为10。我这里给它特意连接到定时中断事件号11,看所连接的中断_0是否也可以正常计数。

验证PLC:200 smart CR60,软件:200 smart V2.1

定时中断初始化:


非常简洁的定时中断定义。

注意:

1)官方定义SMB34连接的中断为中断事件号10,我特意指定到定时中断事件号11。

2)从来没有留意过定时中断的时间范围注释是5 – 255mS,可能考虑到PLC程序的扫描时间周期原因而这样解释的。

在主程序OB1中调用定时中断初始化子程序:


指定连接的中断子程序(实现加1程序):


  如果这个可以允许,那么,VW0可以按100mS时间间隔被加1处理,看状态图标运行结果:


注意:VW0真的可以被执行加1操作!

   我开始不淡定了,既然软件可以这么默认,那么,我想“天马行空”了,先连接一个中断事件号0(外部输入I0.0上升沿中断)试试。


   没有被执行了,改为与定时中断相似的中断事件号T32(定时中断事件号21)。


   还是没有执行中断子程序。心里踏实了一下,这个如果能够允许任意对应关系,这个指令也就没有存在的价值了。

   仍然不相信上面的验证,再次,重新将定时事件连接到11,验证:


   声明,该程序仅仅只是图示段部分程序内容,没有其它应用程序段参与。还是有一些“不死心”,把定时中断时间数据SMB35对应到中断事件号10,结果会如何?


   也被执行中断连接子程序内容,再次开始不“淡定”了。依据,依据在哪里?只能打开系统手册看是否有关于定时中断具体解释。

首先,看软件帮助对定时中断时间的注释,图示:


软件中“自动”注释为5 – 255mS,软件帮助中定时中断注释为1 – 255mS,这个可以理解。

在上面的验证中既然“不需要对应”,那么,一个定时中断定义可以连接2个中断?


   验证,仍然可以正常执行。如果这样可以,那么,我按官方定义2个不同功能的定时中断岂不会“乱了朝纲”。为了区分是否存在“干扰”,我有意定义SMB34 = 100;SMB35 = 200mS。


结果是能够被区分的。

   真是“不试不知道,一试还真的被吓一跳”啊。可能V2.3版本的软件在这方面有所改进,有机会我在另一台电脑中测试一下。


HUANGZE75
至圣

经验值: 63260
发帖数: 12669
精华帖: 121
1楼    2018-10-23 10:22:41
主题:回复:关于定时中断与中断事件号的对应关系

非常不错技术贴,实践出真知,辛苦了王工有图有真相,对技术的不懈追求,精益求精点赞

WWCWWC
至圣

经验值: 71712
发帖数: 8024
精华帖: 145
2楼    2018-10-23 10:30:33
主题:回复:关于定时中断与中断事件号的对应关系

一直来我一直按官方所定义的定时中断时间数据寄存器地址编辑定时中断的。

但是,昨天看到论坛上居然有按对应关系无法实现定时中断的说法,出于好奇,晚上我单独做了一个验证,可结果还真的让我不能够淡定了,或许是软件的原因,我到时用V2.3版本再测试一下试试。

芳季
至圣

经验值: 66574
发帖数: 14746
精华帖: 100
3楼    2018-10-23 10:32:52
主题:回复:关于定时中断与中断事件号的对应关系

且慢………………

smb34smb35从上电开始不进行初始化,的值是多少?而定时中断认为这样的初始值是多少毫秒中断一次?你再试试:两个中断都不进行smb的写入就直接开中断,看看你的加一中断程序是否会运行。

WWCWWC
至圣

经验值: 71712
发帖数: 8024
精华帖: 145
4楼    2018-10-23 10:36:33
主题:回复:关于定时中断与中断事件号的对应关系

好。

   我认为这个原值是多少我没有必要“管”,我重新定义了的这么能够这样对应?

今天要出差到上海处理一起西门子伺服电机及驱动器的测试,等回来我单独测试看结果。

芳季
至圣

经验值: 66574
发帖数: 14746
精华帖: 100
5楼    2018-10-23 10:47:59
主题:回复:关于定时中断与中断事件号的对应关系

v2.2的软件硬件表示:没有出现这样的问题。我无法再找到2.1的软件和固件。

初始值是0,会认为是1毫秒。中断仍然是按照1毫秒时间执行。

smb的值run-stop可以保持,你们可能在之中已经记忆了某个数了。

芳季
至圣

经验值: 66574
发帖数: 14746
精华帖: 100
6楼    2018-10-23 11:00:53
主题:回复:关于定时中断与中断事件号的对应关系

21640

楼主图里有这样的一个实验结果。这可是100毫秒程序加得的值?这上面是2164秒,折合分钟是36分钟。我刚才整个实验过程也就耗时大约5分钟。楼主做这个试验plc要通电半个小时?

假如这是毫秒,那么就是21秒。一通电,一运行,一看见结果,一截图,基本就是21秒。没毛病。

全部让我猜中了。(此处应该有掌声)

还是那句话,这些BUG应该不轮到我们遇到的。

WWCWWC
至圣

经验值: 71712
发帖数: 8024
精华帖: 145
7楼    2018-10-23 11:07:38
主题:回复:关于定时中断与中断事件号的对应关系

季侠,这个定时中断次数(你理解的时间)不重要,因为我是一边写,一边验证的,所以这个时间没有什么依据,对应那些问题,可能在写一段文字后,再截图时间就那样了。

你做的验证也是那样?


芳季
至圣

经验值: 66574
发帖数: 14746
精华帖: 100
8楼    2018-10-23 11:15:25
主题:回复:关于定时中断与中断事件号的对应关系

我做的试验一切正常。

就仅仅是初始的时候不写任何值到smb然后他默认按1毫秒走。

我算你一边写一边通电,整个过程不要半小时吧?

你回来在说。我天天都等你……

淡定。淡定

OG无敌 AME逗逼
游士

经验值: 207
发帖数: 39
精华帖: 0
9楼    2018-10-24 08:46:32
主题:回复:关于定时中断与中断事件号的对应关系

我那天碰到的时可以连接事件号10和事件号11  但是按照官方的定义连接后,PID向导创建的PID无法正常运行,只有将SMB34或者SMB35事件号更改为11后,PID可以正常运行

有没有可能时因为我使用的是WIN10系统,软件V2.3引起的问题

芳季
至圣

经验值: 66574
发帖数: 14746
精华帖: 100
10楼    2018-10-24 09:11:41
主题:回复:关于定时中断与中断事件号的对应关系

你那天那都没有程序,没得谈。只能靠猜。你想想,你本来就是别的地方出错了你不知道,整天疑这是这里错,就晒这边的程序,怎么知道你原来是那边出的错呀。

肯定是有事情重复了。

OG无敌 AME逗逼
游士

经验值: 207
发帖数: 39
精华帖: 0
11楼    2018-10-24 10:01:19
主题:回复:关于定时中断与中断事件号的对应关系






这就是所有的程序  别的地方没有调用过中断啊 说明的

芳季
至圣

经验值: 66574
发帖数: 14746
精华帖: 100
12楼    2018-10-24 10:03:55
主题:回复:关于定时中断与中断事件号的对应关系

你也别占用人家的贴了。回去看自己的贴,我已经回复你了。

shine
至圣

经验值: 19950
发帖数: 8944
精华帖: 39
13楼    2018-10-24 10:35:16
精编帖  主题:回复:关于定时中断与中断事件号的对应关系

你的测试,只是说明了一个情况:

SMB35有一个初始值,即使程序没有设定SMB35,只要你连接了中断事件11,也会按照默认的时间触发中断

你省去给SMB34赋值,直接关联中断呢?中断子程序一样会被执行

shine
至圣

经验值: 19950
发帖数: 8944
精华帖: 39
14楼    2018-10-24 10:43:45
精编帖  主题:回复:关于定时中断与中断事件号的对应关系

建议再增加测试内容:

主程序中:

检测I0.0的上升沿,然后启动T32的延时断开继电器,定时5s,同时对VW0清零

然后在T32的下降沿,读取VW0的值到VW2

修改SMB34的值,进行测试,记录不同SMB34设定时对应的VW2的值,比较VW2的值的变化。

如果VW2的值跟着SMB34的变化而变化,说明这是一个bug,否则,只能证明我在13楼的说法

shine
至圣

经验值: 19950
发帖数: 8944
精华帖: 39
16楼    2018-10-24 11:37:49
主题:回复:关于定时中断与中断事件号的对应关系

我不怀疑什么。

只是让楼主去测试一下,我认为他得出的结论,论据不足。

我认为我提出的测试办法,VW2的值不会跟着SMB34变化

芳季
至圣

经验值: 66574
发帖数: 14746
精华帖: 100
17楼    2018-10-24 11:48:51
主题:回复:关于定时中断与中断事件号的对应关系

他坐飞机了,等他的话等几天吧。你要什么效果我帮你试。你说你要证明什么就可以了。我知道他的程序有你所说的漏洞。

你是说在他的程序上面加上你的设想?

shine
至圣

经验值: 19950
发帖数: 8944
精华帖: 39
18楼    2018-10-24 12:09:49
主题:回复:关于定时中断与中断事件号的对应关系

我想说的是:

只要连接了事件10/11,对应的中断子程序都会被执行。不管是否设置了SMB34/35。

其实像你在6楼所质疑的一样,SMB34设定的是100ms,而VW0增加并不是按100ms增加,而是可能按1ms或者5ms的周期在增加,而这个周期,是SMB35的

芳季
至圣

经验值: 66574
发帖数: 14746
精华帖: 100
19楼    2018-10-24 12:42:11
主题:回复:关于定时中断与中断事件号的对应关系

哦,是是是。是这个意思。

这个要等楼主回来,他准会试试的。


我又试了一下。结果,没什么意外。明显能察觉vd的变化速度。

上图把10换成11,也没有什么意外。反过来就把34换成35就没试过了。相信也没有什么意外的。

您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。