在PLC维修工作中,我们发现,PLC在运行时采用循环执行用户程序的方式,这种运行方式也称为扫描工作方式。下面是循环处理的各个阶段的任务:
1、操作系统启动循环时间监控。
2、CPU将过程映像输出区的数据写到输出模块。
3、CPU读取输入模块的输入状态,并存入过程映像输入区。
4、CPU处理用户程序,执行用户程序中的指令。
5、在循环结束时,操作系统执行其他任务,例如下载和删除块等。
6、CPU返回阶段,重新启动循环时间监控。 问:为什么不是像其他PLC那样,在本次扫描周期结束的时候将过程映像输出区的数据写到输出模块,而是在下一个扫描循环周期才写到输出模块?这样不是产生了一个扫描周期的延迟吗?
答:PLC的扫描工作方式是一种重复的循环过程,就像我们日常使用的时钟一样,23点59分59秒过了就是下的0点0分0秒。说起来进入了下,实际上只差一点点时间。因此在下一扫描周期的开始将数据输出到外设,与本周期结束时输出的效果基本上是一样的。这两种方法的输出时间相差不是一个扫描周期,基本上没什么差别。
STEP 7-Micro/WIN 32 编程软件有很强的编辑功能,熟练掌握编辑和修
改控制程序操作可以大大提高编程的效率。
1. 输入编程元件
在使用 STEP 7-Micro/WIN 32 编程软件时,一般采用梯形图编程,编
程元件有线圈、触点、指令盒、标号及连接线。输入编程元件的方法有以下
两种。
(1)双击或拖放指令树窗口中的 Instructions。在程序编辑器窗口中
将光标放在所需的位置,一个选择方框会在该位置周围出现;在指令树中,
浏览至所需的指令双击或拖放该指令,指令会在程序编辑器窗口中显示在指令工具条上,编程元件输入有 7 个按钮:下行线、上行线、左行
线和右行线按钮用于输入连接线,可形成复杂的梯形图结构;输入触点、输
入线圈和输入指令盒按钮用于输入编程元件。
按 F4、F6 或 F9 键(或相应的工具条按钮)时,一条类属指令会被放
在光标位置,并在下方出现一个列表框。列表框包括一个相同类型全部指令
的指令记忆符排序列表。F4 键或工具条按钮放置类属触点并显示一份触点
指令列表。F6 键或工具条按钮放置类属线圈并显示一份线圈指令列表。F9
键或工具条按钮放置类属方框并显示一份方框指令列表高速计数器正在计数的时候,执行任何功能的hsc指令,会丢失脉冲。 除非你的控制对这一个脉冲可以忽略。 例如一个通常使用手法:长度计算到设定值的时候复位一下然后继续计数。这样的话在复位一瞬间,会丢失一个脉冲。当然这样的脉冲多一个和少一个一点都不影响实际使用,但是如果涉及到同步控制位置控制,伺服的接收的脉冲数和plc高计计算的脉冲数不一致的时候,你的头就大了。例如:编码器同时输出给一个伺服和一个高速计数器。高速计数器按照脉冲数周期性的复位,而伺服就直接收脉冲进行定位。你心想,伺服就一直跟着编码器转就是了。而高计就每两万个脉冲从零开始计,正好配合上机械的某些动作而做出输出。可是这样做的话plc的输出就会一个脉冲一个脉冲的渐渐丢失。plc的动作逐渐落后于伺服了。然后你就把所有现象归咎于干扰脉冲丢失,耗费了大量人力物力,终没有结果。可怕的是当时情况也真的是发生了干扰现象。那么这一个脉冲的事情将永远石沉。 然后你客户反映了问题,你就写了很多补偿的程序……一下又补偿不足,一下又过补偿一下又换零位光电,又激光对准。然后…… 总之数字电路数控程序在对与错之间没有任何状态。数据准确了就是对的,数据出错了就是错的。
注意注意!smart plc也一样 一般新手上来都会先清 0的。还有一个群众基础很广的是输入消抖用延时。这些一般情况下都不是问题,只是不是佳的方案。本贴点出了在特定情况下微小的误差积累也不容忽视。
|