感悟网 导航

求西门子的子程序调用的编程实例,另外还想问一下子程序是和主程序在同一个程序吗。 西门子Plc如何设置 调用主程序 子程序 功能块与主程序的区...

作者&投稿:伯肩 (若有异议请与网页底部的电邮联系)
西门子200PLC子程序调用返回问题~

1.EN端为触发调用子程序,如使用sm0.0.子程序一直被调用,如使用上升沿,子程序被调用一次。正确的理解是,当程序扫描到这里,如果EN端逻辑处理ROL为真,则调用子程序。
2.当子程序没有被调用时,里面的输入I和输出Q,M等保持,计时器正常计时,计数器赞不清楚,你可以仿真或实际运行测试一下。总的来说,有些是保持有些是继续的。
3.一般我们处理子程序中途停止后,在下面的网络段里都会做R复位处理。比如子程序里有输出Q,那在子程序下面,会增加一段处理对Q复位的指令,就是为了防止子程序停止了却输出保持的状况。

没有调用主程序这一说
只有调用子程序或者是功能块
功能块是实现你所想要的控制而编辑的一个控制块
具有通用性
在调用的时候将块地址和你所要控制或者采集的数据地址写入就可以
子程序和功能块最终都是要在主程序的调用下起作用的
主程序相当于是一间房子
而子程序就相当于是房子中的桌子
那么功能块也类似于桌子 或者是桌子里的抽屉
这样说估计你更容易理解一点


子程序和功能块最终都是要在主程序的调用下起作用的
主程序相当于是一间房子
而子程序就相当于是房子中的桌子



主程序

   

程序主体(称为
OB1),在其中放置控制应用程序的指令。 主程序中的指令按顺序执行,每个 CPU 扫描周期执行一次。

   

子例程

   

子例程是位于单独程序块的可选指令集,只在从主程序、中断例程或另一子例程调用时执行。

   

中断例程

   

中断例程是位于单独程序块的可选指令集,只在发生中断事件时执行。

   


STEP 7-Micro/WIN SMART 提供了三个程序编辑器,并通过在程序编辑器窗口为每个 POU 提供单独的选项卡来组织程序。 主程序 OB1
始终是第一个选项卡,然后是可能已创建的任何子例程或中断。

子例程

要重复执行某种功能时,子例程是非常有用的。 可在子例程中编写一次逻辑,然后在主程序中根据需要多次调用子例程。 这样做有若干优点:

您的总体代码大小减小。

与在主程序中多次执行相同代码相比,扫描时间也会减少,因为在主程序中,不管代码执行与否,每个扫描周期都会自动评估代码。
可以有条件地调用子例程,且在扫描过程中不被调用时不对子例程进行评估。

子例程容易移植;您可以单独挑出一个功能,并将其复制至其它程序中,而无须进行修改或只进行少量修改。



  • 用SBR-0(可以改名字),满足条件就可以调用子程序,程序会自动到子程序扫描,直到完毕,然后转会调用处继续往下扫描,子程序中可以有条件CRET终止。



子程序在主程序下

《子程序如何编写及调用》
答:【子程序命名规则】西门子数控系统子程序命名方式有两种:一种是以连续两个字母开头,后续字符可以字母、数字或下划线(不包括分隔符),最多16个字符,例如,SS08_12;另一种是以地址符L开头,后接数字组成,例如,L8。【子程序调用示例】主程序:SS2017 (主程序名)T1 M6 ……L8(或者SS08_12...

《西门子802s数控铣床 子程序如何调用?最好给出例子 谢谢!》
答:给你举个加工椭圆的吧 TYZ01 G54T1D1 G00Z50 G94S1000M03M08 G00X40Y0 Z3 G01Z0F200 L10P9 G0Z50 M30 L10 G91Z-2 G90 R13=360(角度变量)AA:R14=18*COS(R13)(短半轴半径变量)R15=24*SIN(R13)(长半轴半径变量)G41 G01X=R14Y=R15F200 R13=R13-2 IF R13>=0 GOTOB ...

《西门子数控系统如何编程???急!举例说明!!谢》
答:加工中心编程程序的编制程序名为TANGKONG.MPF。 N10T1选1号刀; 3中心钻,钻中心定位孔N20M6换刀;M6换刀子程序N30M3S1200F30主轴正转,转速1200r/min,进给速度30mm/minN40G54G90G00X0Y0Z50D1工件坐标系确立,刀补值参加,快速定位 N50Z30快速进刀 N60M7切削液开N70MCALL CYCLE82(30,0 ,5,...

《西门子数控系统如何编程???急!举例说明!!谢》
答:加工中心编程程序的编制程序名为TANGKONG.MPF。 N10T1选1号刀; 3中心钻,钻中心定位孔N20M6换刀;M6换刀子程序N30M3S1200F30主轴正转,转速1200r/min,进给速度30mm/minN40G54G90G00X0Y0Z50D1工件坐标系确立,刀补值参加,快速定位 N50Z30快速进刀 N60M7切削液开N70MCALL CYCLE82(30,0 ,5,...

《西门子数控子程序调用!》
答:P -(子程序名)L-重复次数,另外,子程序结束用M17或者RET指令,这两个指令要求单独写个程序段,举例主程序N1T1D1Lf N2G94G90G71G00X40Z0M3S800Lf N3L11P12Lf M02Lf 子程序名L11.SPF 重复12次 ,结束加M17Lf

《求西门子的子程序调用的编程实例,另外还想问一下子程序是和主程序在...》
答:子例程是位于单独程序块的可选指令集,只在从主程序、中断例程或另一子例程调用时执行。中断例程 中断例程是位于单独程序块的可选指令集,只在发生中断事件时执行。STEP 7-Micro/WIN SMART 提供了三个程序编辑器,并通过在程序编辑器窗口为每个 POU 提供单独的选项卡来组织程序。 主程序 OB1 始终是...

《...编写的调用子程序,然后返回继续执行主程序的例子》
答:这个就是条件满足时调用子程序0和1 (控制步进电机运动),然后把子程序写在SBR-0和SBR-1中就行了,子程序执行完会自动返回主程序接着执行的。这个不难,大胆尝试可以搞定的。

《数控铣床西门子802D系统,想编一个铣斜面的(任意角度)的程序,手工编怎么...》
答:O0001 G90 G0X-5X0 Z0 M98P50002 子程序 O0002 G91 G1X0.5Z-1F100 Y100 X0.5Z-1 Y-100 M99

《西门子808d螺纹编程实例》
答:公式为:角度动作脉冲数=一圈总脉冲数*(设定角度/360°)。螺纹编程的距离控制。首先明确步进电机转一圈所需要的总脉冲数。然后确定步进电机滚轮直径,计算滚轮周长。计算每一脉冲运行距离。最后计算设定距离所要运行的脉冲数。公式为:设定距离脉冲数=设定距离/[(滚轮直径*3.14)/一圈总脉冲数]。

《西门子840D中怎么实现子程序调用子程序》
答:还是用m02.子程序几直接L 第二个子程序就行了。只要是子程序都用m02

   

返回顶部
本页内容来自于网友发表,若有相关事宜请照下面的电邮联系
感悟网