西门子调用子程序200的子程序一直接通,会像循环一样反复执行吗

拒绝访问 | www.dreamyiyi.com | 百度云加速
请打开cookies.
此网站 (www.dreamyiyi.com) 的管理员禁止了您的访问。原因是您的访问包含了非浏览器特征(40f066c645a943fb-ua98).
重新安装浏览器,或使用别的浏览器& & 每个扫描周期都要执行一次主程序。子程序的调用可以是有条件的,在被调用期间,每个扫描周期都要执行一次被调用的子程序。没有被调用时不会执行子程序中的指令。
& & 同一编程元件的线圈可以在不同时调用的子程序中分别出现一次。
本站部分资源是从网上搜集编辑的,若侵犯了您的版权和利益,请发邮件:联系我们删除处理!PLC 的程序是自动循环的吗?_百度知道
PLC 的程序是自动循环的吗?
PLC 的程序是自动循环的吗?也就是说 程序里不加while 或者for
它会自动从头到尾,一次次的循环执行代码?希望真正的懂的人帮忙解答,并且附带一些简单的理由。PLC 是parker公司的 compax3。
我有更好的答案
PLC的工作按照顺序自上而下,循环扫描工作程序是自动循环执行的。PLC上电后进行硬件自诊,之后自动循环执行以下动作:1、刷新输入:开放输入回路接通外部信号状态,刷新输入内存区数据。2、程序执行:从程序开始执行,一直到结束(END指令)。执行过程中
执行过程中咋样?
PLC的工作原理是循环扫描工作,即PLC上电后首先进行硬件自诊,之后循环执行如下过程:1、刷新输入:开放输入回路接通外部信号状态,刷新输入内存区数据。2、程序执行:按照自上而下、从左到右的顺序执行梯形图程序,一直到结束(END指令)。执行过程中同时刷新计时器/计数器、寄存器、输出内存区的数据。3、控制输出:开放输出回路,按照输出内存区状态控制外部设备。至此,一个扫描周期结束,重新从1开始下一个循环。为了避免死循环,PLC还设计有一个“看门狗”的功能,即扫描周期时间超过“看门狗”的计数时间(一般设置少于500ms)时,会发生故障报警。有些指令若只想让它执行一次(或叫初始化),常见的办法有:1、有些高级的PLC设计有上电执行一次的子程序,只要把所需初始化的指令放到它里面就可以了。2、大多数的PLC都有一个内部特殊触点——仅第1次扫描周期为ON的触点,用这个触点作为条件,把需要初始化的指令放在它的后面。
采纳率:56%
PLC是按照顺序自上而下,循环扫描工作的。先读入端口的输入状态,再根据程序的逻辑关系,一轮扫描结束后最后执行输出状态。从读输入到执行输出所需的时间称为扫描周期。也就是每一个扫描周期,程序执行一个扫描过程,循环往复。如果程序要反复执行某一段程序,可以通过子程序或中断程序调用实现。
PLC自动程序是循环的,需要在编程时处理。有的程序是不需要循环的,比如初始化程序。
程序最后要有一条END指令,表示程序到此结束,PLC则返回循环执行代码。
是的,自动寻坏
其他3条回答
为您推荐:
其他类似问题
自动循环的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。后使用快捷导航没有帐号?
西门子200PLC中断指令讲解和程序编写实例
查看: 1081|
摘要: 导读:
在西门子PLC200中,有中断指令供我们使用,中断和子程序而言,相对简单。因中断事件是PLC内部固定的无法更改,我们写好中断程序直接调用中断事件即可。接下来,PLC视频编程培训就来讲一下西门子200PLC的中断 ...
导读:& & &在西门子PLC200中,有中断指令供我们使用,中断和子程序而言,相对简单。因中断事件是PLC内部固定的无法更改,我们写好中断程序直接调用中断事件即可。接下来,PLC视频编程培训就来讲一下西门子200PLC的中断指令和程序编写。& & &上图中的INT_0就是编写中断程序的地方,双击可进行重命名,右键可再创建一个中断程序。中断程序调用一次即可,所以使能条件用“SM0.1”接通第一个扫描周期。如下图:& & &&图二在主程序中编写,图三在中断程序中书写。&① 使能条件使用:SM0.1,&② INT输入中断程序编号,&③ EVNT输入中断事件号,&④ “0”号事件代表I0.0的上升沿。&⑤ ENI代表予许中断,这一条必须添加。图二和图三程序分析如下:& & &主程序执行时,SM0.1接通第一个扫描周期,中断命令执行,中断时间为0号,要执行的中断程序为INT_0,ENI予许中断执行,程序执行INT_0号中断命令。SM0.0始终接通,由于中断事件号为0,即当检测到外部I0.0的上升沿时,执行加法运算,将VW0中的数值加50后,传送到VW0,程序执行结果就是,每按动I0.0一次,VW0的数值就加50。中断的使能条件仅仅是一个扫描周期即可,中断是否执行取决于中断条件是否满足。& & & 上图中,我们在中断程序中又添加了一条,不同的是,加了上升沿,得到的结果却是VW2中的数值并没有改变,因此,我们知道,中断仅接通第一个扫描周期,而上升沿需要两个扫描周期才能生效。& & & 上图中,我们在中断程序中添加了计数器,结果同样是不行的,因为中断仅接通一个扫描周期。& & & 上图中,我们在主程序中又添加了一条中断,事件号是2,要执行的中断程序是INT_1。我们将予许中断ENI写在了第一个中断程序上,得到的结果是两个中断都可以执行,也就是说,予许中断是没有时序要求的,只要添加ENI就可以执行。& & & 如果将主程序的中断程序转移到子程序中,在主程序中调用子程序也可以触发中断事件。中断程序也可以调用子程序,可以是多个子程序,但只能嵌套一层。& & & 中断程序一旦触发,不可打断,必须执行完成,如果其它的中断程序也已经触发,只能处于派队状态,必须把当前的中断程序执行完成之后再去执行派队的中断程序,处于派队的中断程序是有优先级的,通讯的中断程序优先级最高。例如:& & 主程序调用的中断程序,触发条件满足执行中断程序,如果在执行的过程中,新来个几个中断,这些中断只能派队等正在执行的中断执行完毕后才能按照优先级执行后来触发的中断。& & 中断程序、主程序、子程序,其中优先级最高就是中断。在执行中断程序的过程中,如果触发中断,则立刻执行中断程序且不等打断,不论目前程序执行到什么地方。假设执行到了子程序,也必须停止执行子程序去执行中断,等中断执行完毕后再回来执行子程序,子程序执行完毕后,回来执行主程序。但是,如果正在执行的子程序是由中断程序调用的,则新触发的中断程序不能将该子程序打断。& & &上图中的DTCH是将中断事件0和中断程序分开。也就是说,当使能条件满足,0号事件发生,相对应的中断程序不再执行。EVNI为事件号。& & &DISI是禁止中断,当禁止中断使能条件满足,中断程序禁止执行。但是,如果在禁止中断的过程中,发生了中断事件,那么发生的中断事件都将被记录,禁止中断指令一旦解除,所记录的中断事件都被执行。例如:刚才使用的加法指令,按动I0.0,将VW0的数值加50后,载入到VW0,按几次I0.0,结果就加几次50. 如果触发禁止中断指令,按动I0.0,结果不变,但是按动的次数都将被记录,一旦禁止中断解除,假设按了6次,结果就一次性加了300。如果输出条件是Q0.0,中断解除后,Q0.0点亮,无论按动几次I0.0,Q0.0一直输出,不会闪烁。& & &CLR_EVNT是清除中断事件,如果在禁止中断的过程出触发中断事件,中断程序处于排队状态,一旦开启中断就会执行,清除中断就是将排队中的中断清除,EVNT就是要清除的事件号。如果有多个中断事件,就多多编写几个清除中断并关联相应的中断事件号。
Powered by

我要回帖

更多关于 西门子调用子程序格式 的文章

 

随机推荐