最佳答案
中断连接指令(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位