FANUC 梯形图中为什么第一级程序内容特别少
第一级程序
在FANUC梯形图中,从程序第一段开始至功能指令“END1”之间的程序,被称为第一级程序;处于“END1”与“END2”之间的程序为第二级程序;查看梯形图时会发现第一级程序往往都比较少,第二级程序会特别多,这样设计梯形图有什么含义呢?
第一级程序为FANUC优先处理的程序,属于高速处理区,每4或8ms会扫描一次,主要用于处理急停、跳转、超程等需要快速反应的信号,如果设备使用扫描式矩阵操作面板,扫描处理信号也需要在第一级程序内完成。
第二级程序不属于高速处理区,其扫描周期由程序内容长短决定,主要用于处理外部信号使用,如普通操作面板、刀库等。
那么为什么第一级程序要写很短呢?
如果第一级程序比较长,就会影响整个梯形图的扫描周期,影响程序反应速度。
在FANUC系统中,为了确保第一级程序的扫描时间,系统会自动将PMC第二级程序自动分割成N段;第一级程序的扫描周期是固定的,以8ms为例,第一级程序会每8ms自动扫描一次,不受第二级程序的影响;
以第一级程序扫描时间为1ms,第二级程序扫描时间为21ms为例,程序按如下规律进行扫描:
在第一个8ms扫描内,第一级程序使用1ms,剩余7ms扫描第二级程序,第二级程序并未扫描完成,在第二个8ms扫描周期内,扫描第一级程序使用1ms,剩余7ms继续扫描第二程序未扫描部分,第二程序共扫描14ms,未扫描完成,在第三个8ms扫描周期内,扫描第一级程序使用1ms,剩余7ms继续扫描第二级程序未完成部分,第二程序共扫描21ms,扫描完成。则整个梯形图扫描周期为3个8ms即为24ms,即扫描完整个梯形图一次需要使用24ms。
若将第二级程序中的部分程序写到第一级程序中,则扫描周期会变长。
例如:第一级程序程序段加长后扫描周期为2ms,第二级程序扫描时间为20ms;按照上述梯形图扫描规律;
在第一个8ms扫描内,第一级程序使用2ms,剩余6ms扫描第二级程序,第二级程序并未扫描完成;在第二个8ms扫描周期内,扫描第一级程序使用2ms,剩余6ms继续扫描第二程序未扫描部分,第二级程序共扫描12ms,未扫描完成;在第三个8ms扫描周期内,扫描第一级程序使用2ms,剩余6ms继续扫描第二级程序未完成部分,第二级程序共扫描18ms,未扫描完成;在第四个8ms扫描周期内,扫描第一级程序使用2ms,剩余6ms继续扫描第二级程序未完成部分,扫描完成;则整个梯形图扫描周期为3个8ms+1ms+2ms即为27ms。比上述24ms扫描周期长。
所以为了确保梯形图扫描周期短,程序能更快速执行,第一级程序内除必须要处理的急停等高速信号外,不建议加入不必要的程序!