登录

行业资讯

西门子模块代理商

西门子模块代理商

条件结束指令

条件结束(END)指令:执行条件成立(左侧逻辑值为1)时,终止当前扫描周期,结束主程序,返回主程序起点。END指令可以在主程序中使用,但不能在子程序或中断服务程序中使用。END指令见表3-11。

停止指令

停止(STOP)指令:执行条件成立(左侧逻辑值为1)时,停止执行用户程序时CPU状态由 RUN转到 STOP。STP指令见表3-12。

如果STOP指令在中断程序中执行,那么该中断立即终止,并且忽略所有挂起的中断,继续扫描程序剩余部分,完成当前周期的剩余动作,包括主用户程序的执行,并在当前扫描的后,完成从RUN 到 STOP模式的转变。

复位指令

复位(WDR)指令允许S7-200CPU的定时器被重新触发,这样可以在不引起错误的情况下,增加此扫描所允许的时间。WDR指令见表3-13。

跳转指令

跳转(JMP)指令:把程序的执行跳转到*的标号,执行跳转后,逻辑堆栈**总为1;

标号(LBL)指令:标记跳转目的地的位置;

操作数 n:0~255。

JMP指令见表3-14,JMP指令梯形图示例如图 3-16所示。

JMP指令可以在主程序、子程序或者中断服务程序中使用。跳转和与之相应的标号指令必须位于同一程序代码(无论是主程序、子程序还是中断服务程序)。不能从主程序跳到子程序或中断程序,同样也不能从子程序或中断程序中跳出。可以在顺序控制(SCR)程序段中使用JMP指令,但相应的标号指令必须在同一个顺序控制程序段中。

子程序指令

S7-200PLC的指令系统具有简单、方便、灵活的子程序调用功能。与子程序有关的操作有:建立子程序、子程序的调用和返回。

1.建立子程序

建立子程序是通过编程软件来完成的。可用编程软件“编辑”菜单中的“插入”选项,选择“子程序”,以建立或插入一个新的子程序,同时,在指令树窗口可以看到新建的子程序图标,默认的程序名是SBR_N,编号N从O开始按递增顺序生成,也可以在图标上直接改子程序的程序名,把它变为能描述该子程序功能的名字。在指令树窗口双击子程序的图标就可进入子程序,并能对它进行编辑。S7-200CPU221、CPU222、CPU 224大支持64个(0~63)子程序;S7_200CPU 224XP.CPU 226大支持128个(0~127)子程序。

2.子程序调用

(1)子程序调用(CALL)指令在使能输入有效时,主程序把程序控制权交给子程序。子程序的调用可以带参数,也可以不带参数。它在梯形图中以指令盒的形式编程。CALL指令见表3-15。

(2)子程序条件返回(CRET)指令在使能输入有效时,结束子程序的执行,返回主程序中(此子程序调用的下一条指令)。梯形图中以线圈的形式编程,指令不带参数。

使用说明:

(1)CRET指令多用于子程序的内部,由判断条件决定是否结束子程序调用;RET指令用于子程序的结束。用MicroWIN32编程时,不需要手工输入RET指令,而是由软件自动加在每个子程序结尾。

(2)子程序嵌套如果在子程序的内部又对另一子程序执行调用指令,则这种调用称为子程序的嵌套。子程序的嵌套深度多为8级。

(3)当一个子程序被调用时,系统自动保存当前的堆栈数据,并把栈**置为1,堆栈中的其他置为0,子程序占有控制权。子程序执行结束,通过返回指令自动恢复原来的逻辑堆栈值,调用程序又重新取得控制权。

(4)累加器可在调用程序和被调用子程序之间自由传递,所以累加器的值在子程序调用时既不保存也不恢复。

3.带参数的子程序调用

子程序中可以有参变量,带参数的子程序调用扩大了子程序的使用范围,增加了调用的灵活性。子程序的调用过程如果存在数据的传递,则在调用指令中应包含相应的参数。

1)子程序参数

子程序多可以传递16个参数。参数在子程序的局部变量表中加以定义。参数包含下列信息:变量名、变量类型和数据类型。

(1)变量名变量名多用8个字符表示,一个字符不能是数字。

(2)变量类型变量类型是按变量对应数据的传递方向来划分的,可以是传入子程序(IN)、传入/传出子程序(IN/OUT)、传出子程序(OUT)和暂时变量(TEMP)四种类型。四种变量类型的参数在变量表中的位置必须按以下先后顺序:

①IN类型传入子程序参数。所接的参数可以是直接寻址数据(如VBI00)、间接寻址数据(如AC1)、立即数(如16#2344)和数据的地址值(如&VBI06)

②IN/OUT类型:传入/传出子程序参数。调用时将*参数位置的值传到子程序,返回时从子程序得到的结果值被返回到同一地址。参数可以采用直接和间接寻址,但立即数(如16#1234)和地址值(如&VBl00)不能作为参数。

③OUT类型:传出子程序参数。它将从子程序返回的结果值送到*的参数位置。输出参数可以采用直接和间接寻址,但不能是立即数或地址编号。

④TEMP类型:暂时变量类型。在子程序内部暂时存储数据,不能用来与主程序传递参数数据。

(3)数据类型局部变量表中还要对数据类型进行声明。数据类型包括:能流,布尔型,字节、字和双字型,整数、双整数型以及实型。

①能流:仅允许对位输入操作,是位逻辑运算的结果。在局部变量表中,布尔能流输入处于所有类型的。

②布尔型:布尔型用于单独的位输入和输出。

③字节、字和双字型:这三种类型分别声明一个1字节、2字节和4字节的无符号输入或输出参数。

④整数、双整数型:这两种类型分别声明一个2字节或4字节的有符号输入或输出参数。

⑤实型:该类型声明一个IEEE标准的32位浮点参数。

2)参数子程序调用的规则

常数参数必须声明数据类型。例如,把值为223344的无符号双字作为参数传递时,必须用DW#223344来指明。如果缺少常数参数的这一描述,常数可能会被当作不同类型使用。

输入或输出参数没有自动数据类型转换功能。例如,局部变量表中声明一个参数为实型,而在调用时使用一个双字,则子程序中的值就是双字。参数在调用时必须按照一定的顺序排列,先是输入参数,然后是输入输出参数,后是输出参数。

3)变量表使用

按照子程序指令的调用顺序,参数值分配给局部变量存储器,起始地址是L0.0。使用编程软件时,地址分配是自动的。在局部变量表中要加入一个参数,右击要加入的变量类型区可以得到一个选择菜单,选择“插入”,然后选择“下一行”即可。局部变量表使用局部变量存储器。当在局部变量表中加入一个参数时,系统自动给各参数分配局部变量存储空间。参数子程序调用指令格式:CALL子程序,参数 I,参数2,.,参数n.局部变量分配见表3-16,带参数调用子程序示例如图3-18所示。


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

免责声明: 八方资源网为互联网信息服务提供者,所有的信息均有发布者提供,如您发现信息有违规/侵权,请立即投诉举报

相关资讯

查看更多
资讯分类
商务服务 污水处理 机械 传媒 机床 五金 农业 工程机械 焊接切割 泵阀 热泵 农机 汽车 汽车用品 汽配 汽修 通信 电子 暖通空调 电气 广电 印刷 纸业 丝印特印 灯饰 安防 消防 过滤 耐火材料 环保 LED 添加剂 食品机械 仪器仪表 太阳能 包装 水工业 加工 二手设备 工艺礼品 古玩 服装 美容美发 服饰 制鞋 家电 家具 运动休闲 影音 酒店 家居 办公 音响灯光 农化 水果 养殖 皮具 教育装备 玩具 零食 食品 二手 IT 建材 小家电 卫浴 陶瓷 超硬材料 化工 橡胶 塑料 钢铁 表面处理 冶金 石油 能源 纺织 房地产 皮革 涂料 石材 创业 项目 生活服务 教育 船舶 维修 广告 交通运输 医疗 代理 物流 图片 展会 咨询 库存积压
八方资源网 资讯