西门子地区代理商|S7-1200代理商

    西门子地区代理商|S7-1200代理商

    S7-200的子程序编写与调试指令

    S7-200CPU的控制程序由主程序、子程序和中断程序组成。STEP 7-Mico/WIN32在程序编辑器窗口里为每个POU(程序组织单元)提供一个独立的页,主程序总是1页,后面是子程序或中断程序。

    因为各个程序在编辑都窗口里被分开,编译时在程序结束的地方自动无条件结束指令END、MEND.RET或RETI,如果在程序里加了这些指令,编译时反而会出错。

    1.子程序的作用

    子程序常用于需要主次反分执行相同任务的地方,只需要写次子程序,别的称序在占要子程序的时候调用它,而*重写该程序:子在序的词用是有条件的,未调用它时不会执行了的程序中的指令,因此使用子程序可以减少扫描时间。

    使用子程序可以将程序分成容易管理的小块,使程序结构简单清晰,易于查错和维护。如果子程序中只引用参数和局部变量,可以将子程序移植到其他项目。为了移植了程序,应避免使用全局符号和变量,如I、Q、M、SM、AI、AQ、V、T、C、S、AC等存储器中的**地址。

    2.子程序的创建

    可采用下列方法创建子程序:在“编辑”菜单中选择“插人→子程序”;在程序编辑器视窗中按鼠标右键,从弹出菜单中选择“插人→子程序",程序编辑器将从原来的POU显示进人新的子程序,程序编辑器底部将出现标志新的子程序的新标签,在程序编辑器窗口中可以对新的子程序编程。可以使用该子程序的局部变量表定义参散,各子程序多可以定义16个IN、OUT参数。用石键双击指令树中的于程序或中断程序的图标,在弹出的窗口中选择“重新命名”,可修改它们的名称。

    设创建了一个名为CULCU的子程序,首先在该子程序的局部变量表中,定义一个名为输人"的双字IN(输人)变量、一个名为“输出”的双字0UT(输出)变量和一个名为TMP1的双字TEMP(临时)变量(见图6-5)。在图6-6的子程序中,输人变量被图6-5局部变业表乘以12 000,再除以13 257,运算结果作为子程序的输出。

    图6-5局部变量表

    3.子程序的调用

    可以在主程序、另一子程序或中断程序中调用子程序,但是不能在子程序中调用自己(即不允许递归调用)。调用子程序时将执行子程序的全部指令,肖至子程序结束,然后返回调用程序中子程序调用指令的下一条指令之处。

    创建子程序后,STEP 7-Micro/WIN32在指令树下面的“子程序”图标下自动生成刚创建的子程序CULCU对应的图标。对于梯形阁程序,在子程序局部变量表中为该子程序定义参数后,将生成客户化调用指令块(见图6-6),指令块中自动包含了子程序的输人参数和输出参数。

    图6-6子程序与主程序

    在梯形图程序中插人子程序调用指令时,首先打开程序编辑器视窗中需要调用子程序,找到需要调用子程序的地方。在指令树的下面用左键打开子程序文件夹,将需要子程序图标从指令树拖到程序编辑器中的正确位置。或将光标置于程序编辑器视窗双击指令树中的调用指令。

    应为子程序调用指令的各参数*有效的操作数,有效操作数为存储器地址、常量、全局符号和调用指令所在的P0U中的局部变量(不是被调用子程序中的局部变量)。

    如果在使用子程序调用指令后修改该子程序中的局部变量表,调用指令将变为无效。必须删除无效调用,并用能反映正确参数的新的调用指令代替。

    在语句表程序中调用子程序时使用调用指令“SBR n"。在调用子程序时,CPU保存整个逻辑堆栈后,将栈**值置为1,堆栈中的其他值清0,控制转移至被调用的子程序。子程序执行完成时,用调用时保存的数据恢复堆栈,控制返回调用程序。子程序和调用程序共用累加器,不会因使用子程序自动保存或恢复累加器。

    4.调用带参数的子程序

    调用带参数的子程序时需要设置调用的参数,参数在子程序的局部变量表中定义,多可传递16个参数。

    1N(输人)是传人子程序的输人参数,如果参数是直接寻址,如VB10.*地址的值被传、)人子程序。如果参数是间接寻址,如*AC1,指针*地址的值被传人子程序。如果参数是常数(例如DW#12345)或地址(如 &VB100),它们的值被传人子程序,“非”为常数描述符。

    0UT(输出)是子程序的执行结果,它被返回给调用它的POU常数和地址(如 & VB100)不能作抢出量。

    IN_OUT(输人/输出)将参数的初始值传给子程序,子程序的执行结果返回给同一地址。常数和地址不能作输人/输出参数。

    在子程序中可以使用参数IN、IN_OUT和OUT。

    TEMP是局部存储变量,不能用来传递参数,它们只能在子程序中使用。

    子程序传递的参数放在子程序的局部变量表中,局部变量表左边的一则是每个被传递的参数的局部存储器地址。调用子程序时,输人参数被拷贝到子程序的局部存储器,子程序执行完后,从局部存储器区拷贝输出参数到*的输出参数,数据单元的人小和类型用参数的代码表示。在子程序中局部参数存储器的参数值分配如下:

    (1)按子程序指令的调用顺序,给参数值分配局部存储郜,起始地址是L0。

    (2)1-8个连续的位参数分配一个字节,字节中的位地址为Ix,0~Lx.7。

    (3)字节.字和双字值在局部存储器中按字节顺序分配,如LBx,LWx或LDx中品好宝

    在带参教调用子程序指令中,参数必须按一定的顺序排列,输人参数在前而,其次是输人/输出参数,后是输出参数。

    如果用语句表编程,程序调用指令的格式为;

    CALL子程序号,参数1,参数2,……参数n

    n0-16,带态数调用子程序使ENO=0的错误条件:SM4.3(运行时间),0008(子程序嵌套界)。

    [例6-2]子程序调用举例(见图6-7)

    //0主程序

    LD l0.0

    CALL 10,IO.1.VB10,II.0,&VH1O0,*AC1.VD200

    //0主程序10

    LD l2.1

    CRET //从子程序条件返回

    5.子程序的恢套调用

    程序中多可创建64个子程序。子程序可以嵌套调用(在子

    程序中调用别的于程序),大嵌套深度为8。

    6.程序的有条件返回

    在于程序中用触点电路控制RET(从子程序有条件返回)指令,触点电路接通时条件满足,子程序被终止。编程软件自动地为主程序和子程序添加无条件返回指令。

    类似地,可以在主程序中用触点电路驱动END(有条件结束)指令。

    图6-7子程序调用和返回

    a)主程序b)子程序




    浔之漫智控技术(上海)有限公司专注于西门子等

  • 词条

    词条说明

  • 西门子交换机代理商|伺服器代理商

    西门子交换机代理商|伺服器代理商PLC现场硬件模块的组态和软件调试对于各种PLC的现场硬件组态和软件调试,通常有经验的工程师应该先花一些时间对自己的现场工作进行一个简单的规划,通常应当采取如下的步骤:      (1) 系统的规划      首先,必须深入了解系统所需求的功能,并调查可能的

  • 西门子PLC总代理商-贺州

    西门子PLC总代理商-贺州西门子PLC总代理商-贺州西门子PLC总代理商-贺州可编程序控制器(PLC)的安装和接线方法模块的安装拆卸1.模块的安装与拆卸S7-200可以安装在板上,也可以安装在标准DIN导轨上,利用总线连技电缆,可以很容易地把CPU模块和扩”展模块连接在一起。需要连接的扩展模块较多时,模块连接起来会过长,两组模块之间可使用扩展连接电缆(见图2-11),将模块安装成两排。S7-200

  • 6GK5216-4BS00-2AC2西门子模块

    6GK5216-4BS00-2AC2西门子模块SCALANCE XC216-4C 可管理层面 2 IE 交换机; IEC 62443-4-2 认证; 12x 10/100 Mbit/s RJ45 端口;4x 1000 Mbit/s 组合端口(或者 1000 Mbit/ s SFP 或者 10/100/1000 Mbit/s RJ45 端口可用); 1x 控制台端口;诊断 LED; 冗余电源; 温度

  • 西门子模块6ES7323-1BH01-0AA0

    西门子模块6ES7323-1BH01-0AA0SIMATIC S7-300,数字模块 SM 323,电位隔离, 8数字输入和 8数字输出,24V DC,0.5A 总电流 2A,1个 20针PLC与集散控制系统DCS的比较集散控制系统(DCS)又称为分散控制系统,产生于20世纪70年代。它与PLC同样都是以微型计算机为基础,专门为工业过程控制而设计的过程控制装置,但DCS发展的基础和方向与PLC有所

联系方式 联系我时,请告知来自八方资源网!

公司名: 浔之漫智控技术(上海)有限公司

联系人: 刘经理

电 话: 19873876272

手 机: 19873876272

微 信: 19873876272

地 址: 上海松江石湖荡镇塔汇路755弄29号1幢一层A区213室

邮 编:

网 址: tianxia56.b2b168.com

八方资源网提醒您:
1、本信息由八方资源网用户发布,八方资源网不介入任何交易过程,请自行甄别其真实性及合法性;
2、跟进信息之前,请仔细核验对方资质,所有预付定金或付款至个人账户的行为,均存在诈骗风险,请提高警惕!
    联系方式

公司名: 浔之漫智控技术(上海)有限公司

联系人: 刘经理

手 机: 19873876272

电 话: 19873876272

地 址: 上海松江石湖荡镇塔汇路755弄29号1幢一层A区213室

邮 编:

网 址: tianxia56.b2b168.com

    相关企业
    商家产品系列
  • 产品推荐
  • 资讯推荐
关于八方 | 八方币 | 招商合作 | 网站地图 | 免费注册 | 一元广告 | 友情链接 | 联系我们 | 八方业务| 汇款方式 | 商务洽谈室 | 投诉举报
粤ICP备10089450号-8 - 经营许可证编号:粤B2-20130562 软件企业认定:深R-2013-2017 软件产品登记:深DGY-2013-3594
著作权登记:2013SR134025
Copyright © 2004 - 2024 b2b168.com All Rights Reserved