最佳答案
中断连接指令(ATCH)使中断事件(EVNT)与中断程序号码(INT)相联系,并启动中断事件。根据指定事件优先级组,PLC按照先来先服务的顺序对中断提供服务。
任何时刻只能激活一个用户中断。其它中断处于激活状态时,CPU发出中断暂时入队,等待以后处理。如果发生的中断数目过多,队列无法处理,则设定队列溢出状态位。当队空时,重置这些位。
中断程序必须由三部分构成:中断程序标号(即中断事件的编号)、中断程序指令和无条件返回指令。在中断程序中不能使用DISI、ENI、HDEF、LSCR和END指令。
扩展资料:
中断优先级
给中断源指定处理的次序就是给中断源确定中断优先级。中断按以下固定的优先级顺序执行:通信(最高优先级)、I/O中断和定时中断(最低优先级)。在上述3个优先级范围内,CPU按照先来先服务的原则处理中断,任何时刻只能执行一个用户中断程序。
如果发生中断过于频繁,使中断产生的速率比可处理的速率快,或中断被DISI指令禁止,中断队列溢出状态位被置1。只应在中断程序中使用这些位,因为当队列变空或返回主程序时,这些位会被复位。
参考资料:百度百科-中断指令
其他答案共有6条回答
-
积极的音响
定义高速计数器无外乎下面几个步骤:
1、建一个初始化程序,用SM0.1控制;
2、在初始化程序中,初始化高速计数器,置控制寄存器(HSC0为SMB37),不同的计数器对应不同的DI点,HSC0为I0.0,HSC3为I0.1,HSC4为I0.2,HSC5为I0.3(222不支持HSC1和HSC2),执行HDEF指令,你可以用模式0。
3、置计数器初始值(HSC0为SMD38),如果从零启动就置零。
4、置预置值(HSC0为SMD42),计数器计到这个值可以产生一个中断,一般利用这个中断调用相应的中断程序把当前值(SMD38)复零,否则计数器到头就不再计数了,当然你也可以置一个大点的值,在其他程序中清除当前值(SMD38),确保永远到不了头就可以了。
5、指定中断程序(ATCH),中断事件是12,程序号看你程序了。
6、打开中断(ENI),这条指令没有的话,2.5是不起作用的。
7、启动高速计数器(HSC),按前面的初始化,你就要启动HSC0,即N为0。
8、程序中读取高速计数器的值,对于HSC0,HC0单元中的内容就是当前的计数值,这个单元只读不能写,你可以通过修改SMD38的内容改变当前的计数值。
-
谨慎的母鸡
Input:要线性转换的输入
ISH: 输入值的上限
ISL:输入值的下限
OSH:输出值的上限
OSL:输出值的下限
Output:线性转换后的值
例如:要将4-20mA信号转换0.0~10.0的输出值,那么:Input填写输入,例如AIW0
ISH填写32000(S7-200的4-20mA对应于6400~32000)
ISL填写6400
OSH填写10.0
OSL填写0.0
Output填写要保存的输出值,例如VD0
中断连接指令
中断连接指令的表示:中断连接指令由指令的允许端 EN、指令助记符ATCH、中断程序号(入口号)INT n和中断事件的事件号 EVNT 构成。用梯中断连接指令的操作:中断连接指令(ATCH)使中断事件(EVNT)与中断程序号码(INT)相联系,并启动中断事件。根据指定事件优先级组,PLC按照先来先服务的顺序对中断提供服务。
以上内容参考:百度百科-ATCH
-
从容的小熊猫
首先你需要在主程序或者在初次调用子程序中编写T96的定时时间和开全局中断ENI。然后再用ATCH中断连接指令连接T96的中断号位22号,就可以了,之后你在所对应的中断程序中,编写你想处理的程序就可以了
以下举例:
主程序
LD
I0.0
TON
T96,100
定时器t96的定时时间是100ms
LD
SM0.1
ATCH
INT_22,0
解释;连接T96的中断,当T96的定时时间等于设定时间时调用INT_0中断程序
ENI
开全局总中断
中断程序(INT_0)
LD
I0.0
这是在中断程序中需要做的事情
OUT
Q0.0
-
魔幻的歌曲
I_DI,整数(INT)转为双整数(DINT)
DI_R,双整数(DINT)转为浮点数(实数REAL)
DIV_R,浮点数(REAL)除法
CTCH,未找到这条指令;
MUL_R,浮点数(REAL)乘法
ROUND,浮点数(REAL)取整为双整数(DINT)
I,即INT,(单)整数;
DI,即DINT,双整数;
R,即REAL,浮点数;
一般有四则运算符(加ADD、减SUB、乘MUL、除DIV)之后加“_I”,就是对整数进行运算;加“_DI”,就是对双整数进行算;加“_R”,就是对浮点数进行运算。
-
朴实的乌冬面
PLC的通信、输入输出接口以及定时等状态发生改变时即发生中断事件。如通信端口的字符或报文接收、发送完成,当高速脉冲输出完成,对应输入端口的信号处于上升沿或下降沿,高速计数器的输入方向改变(增计数/计数)等,均发生中断事件。每一个中断事件都对应有一个中断号。通过中断连接指令ATCH来建立中断事件(EVNT)和处理此事件中断程序(INT)之间的联系。指令语句格式为 ATCH INT,EVNT。在启动中断程序前,应在中断事件和该事件发生时需要执行的中断程序之间用ATCH指令建立联系,执行ATCH指令后,该中断程序在中断事件发生时自动执行。此外还有用于断开中断事件和中断程序的连接的语句指令 DTCH EVNT和清除中断事件的语句指令CEVNT EVNT(梯形图选CLR_EVNT)。中断事件由中断事件号指定,中断程序由中断程序号指定。
-
快乐的信封
应该不会影响到其他程序的,在程序中开放中断前的ATCH指令,将中断程序和中断事件联系起来。如果仅有中断事件,而没有中断程序,那么该中断事件对程序的执行就没有说明意义。怎么会影响到其他子程序的执行呢?换句话说,即使编写了中断子程序,如果没有与中断事件相连,同样也是没有意义的。当然,如果要想使中断事件对其他子程序产生影响,以定时中断为例,那么建议你在定时中断事件相连接的那个中断子程序中,编写程序,使其与(想要被影响的)主/子程序共用部分内存。
热门文章
- 南昌绿地主管岗待遇怎么样
- 放弃华尔街高薪回国守门,她的背后原来藏着一个神秘家族
- 橡胶英才网上有哪些江苏橡胶公司在招聘
- 主题酒店加盟哪个好
- 融资租赁租金及利息计算
- 果果的鞋加盟费多少钱
- 诗和远方一一一中建五局南康家居小镇城市客厅项目建设心语
- 怎么打开微信
- 肯德基的经营模式
- 广东诚泰交通科技发展有限公司怎么样
- 酸菜太酸了,怎么可以去酸
- 美味又下饭的酸菜粉丝,如何才能烹饪出一流的味道
- 炖豆腐的家常做法是怎样的
- 炖猪脚怎么做好吃
- 瘦肉汤怎么做有哪些
- 瘦肉汤的做法,瘦肉汤怎么做好吃,瘦肉汤的家常做法
- 炖肉怎么做好吃又烂
- 冬瓜炖肉怎么炒最好吃
- 炖肉的家常做法
- 怎么炖肉好吃又烂
- 胆机怎么使用
- 功放没声音怎么修
- ads1293怎么用
- 信捷的PLC和keyence基恩士的PLC哪个好啊
- 健伍汽车cd怎么进入调eq功能
- 西门子S7-200 smart PLC用PLS命令控制步进电机的简单程序中的ENI是什么意思
- 大众波罗音响怎么解码
- vk3234 怎么样
- 西门子PLC的ATCH中断指令使用
- 单片机怎么设置otp位