- 5
- 0
- 约2.32千字
- 约 3页
- 2017-08-19 发布于广东
- 举报
(1)带参数的子程序的概念及用途
子程序可能有要传递的参数(变量和数据),这时可以在子程序调用指令中包含相应参数,它可以在子程序与调用程序之间传送。如果子程序仅用要传递的参数和局部变量,则为带参数的子程序(可移动子程序)。为了移动子程序,应避免使用任何全局变量/符号(I、Q、M、SM、AI、AQ、V、T、C、S、AC内存中的绝对地址),这样可以导出子程序并将其导入另一个项目。子程序中的参数必须有一个符号名(最多为23个字符)、一个变量类型和一个数据类型。子程序最多可传递16 个参数。传递的参数在子程序局部变量表中定义。如表4-7所示。
表4-7 局部变量表
(2)变量的类型
局部变量表中的变量有IN、OUT、IN/OUT和TEMP等4种类型。
IN(输入)型:将指定位置的参数传入子程序。如果参数是直接寻址(例如VB10),在指定位置的数值被传入子程序。如果参数是间接寻址,(例如*AC1),地址指针指定地址的数值被传入子程序。如果参数是数据常量(16#1234)或地址(VB100),常量或地址数值被传入子程序。
IN_OUT(输入-输出)型:将指定参数位置的数值被传入子程序,并将子程序的执行结果的数值返回至相同的位置。输入/输出型的参数不允许使用常量(例如16#1234)和地址(例如VB100)。
OUT(输出)型:将子程序的结果数值返回至指定的参数位置。常量(例如16#1234)和地址(例如VB100)不允许用作输出参数。
在子程序中可以使用IN,IN/OUT,OUT类型的变量和调用子程序POU之间传递参数。
TEMP型:是局部存储变量,只能用于子程序内部暂时存储中间运算结果,不能用来传递参数。
(3)数据类型
局部变量表中的数据类型包括:能流、布尔(位)、字节、字、双字、整数、双整数和实数型。
能流:能流仅用于位(布尔)输入。能流输入必须用在局部变量表中其他类型输入之前。只有输入参数允许使用。在梯形图中表达形式为用触点(位输入)将左侧母线和子程序的指令盒连接起来。如图4-72中的使能输入(EN)和IN1输入使用布尔逻辑。
布尔:该数据类型用于位输入和输出。如图4-72中的IN3是布尔输入。
字节、字、双字:这些数据类型分别用于1、2或4个字节不带符号的输入或输出参数。
整数、双整数:这些数据类型分别用于2或4个字节带符号的输入或输出参数。
实数:该数据类型用于单精度(4个字节)IEEE浮点数值。
(4)建立带参数子程序的局部变量表
局部变量表隐藏在程序显示区,将梯形图显示区向下拖动,可以露出局部变量表,在局部变量表输入变量名称、变量类型、数据类型等参数以后,双击指令树中子程序(或选择点击方框快捷按钮F9,在弹出的菜单中选择子程序项),在梯形图显示区显示出带参数的子程序调用指令盒。
局部变量表变量类型的修改方法:用光标选中变量类型区,点击鼠标右键得到一个下拉菜单,点击选中的类型,在变量类型区光标所在处可以得到选中的类型。
子程序传递的参数放在子程序的局部存储器(L)中,局部变量表最左列是系统指定的每个被传递参数的局部存储器地址。
(5)带参数子程序调用指令格式
对于梯形图程序,在子程序局部变量表中为该子程序定义参数后(如表4-7),将生成客户化的调用指令块(如图4-72),指令块中自动包含子程序的输入参数和输出参数。在LAD程序的POU中插入调用指令:第一步,打开程序编辑器窗口中所需的POU,光标滚动至调用子程序的网络处。第二步,在指令树中,打开 “子程序”文件夹然后双击。第三步,为调用指令参数指定有效的操作数。有效操作数为:存储器的地址、常量、全局变量以及调用指令所在的POU中的局部变量(并非被调用子程序中的局部变量)。
注意:如果在使用子程序调用指令后,然后修改该子程序的局部变量表,调用指令则无效。必须删除无效调用,并用反映正确参数的最新调用指令代替该调用。子程序和调用程序共用累加器。不会因使用子程序对累加器执行保存或恢复操作。
带参数子程序调用的LAD指令格式如图4-72所示。图4-72中的STL主程序是由编程软件STEP-7 Micro/WIN32从LAD程序建立的STL代码。注意:系统保留局部变量存储器L内存的4个字节(LB60-LB63),用于调用参数。图4-72中,L内存(如L60,L63.7)被用于保存布尔输入参数,此类参数在LAD中被显示为能流输入。图4-72的由Micro/WIN从LAD图形建立的STL代码,可在STL视图中显示。
若用STL编辑器输入与图4-72相同的子程序,语句表编程的调用程序为:
LD I0.0
CALL SBR_0 I0.1, VB10, I1.0 ,VB100, *AC1 ,VD200
需要说明的是:该程序只能在STL编辑器中显示,因为用作能流输入的布尔参数,未在L内存中保存
您可能关注的文档
- 可编程序控制器及其应用 教学课件 作者 王成福 可编程序控制器及其应用(开始).ppt
- 可编程控制器原理及应用 教学课件 作者 田淑珍 S7 200 Catalog_C.pdf
- 可编程控制器原理及应用 教学课件 作者 田淑珍 S7 200Sysm_C.pdf
- 可编程控制器原理及应用 教学课件 作者 田淑珍 第1章 可编程控制器的概述.ppt
- 可编程控制器原理及应用 教学课件 作者 田淑珍 第2章 西门子可编程控制器.ppt
- 可编程控制器原理及应用 教学课件 作者 田淑珍 第3章 STEP7编程软件介绍.ppt
- 可编程控制器原理及应用 教学课件 作者 田淑珍 第4章s7 200系列PLC.ppt
- 可编程控制器原理及应用 教学课件 作者 田淑珍 第5章 数据处理,运算指令及应用3.ppt
- 可编程控制器原理及应用 教学课件 作者 田淑珍 第6章 特殊功能指令.ppt
- 可编程控制器原理及应用 教学课件 作者 田淑珍 第7章 PLC应用系统设计及实例.ppt
- 人教版八年级上册历史精品教学课件 第六单元 中华民族的抗日战争 第17课 七七事变与全民族抗战 (6).ppt
- 人教版八年级上册历史精品教学课件 期末专题复习 专题二 中国人民近代化的探索 (2).ppt
- 人教版八年级上册历史精品教学课件 第二单元 近代化的早期探索与民族危机的加剧 第5课 甲午中日战争与列强瓜分中国狂潮 (2).ppt
- 人教版八年级上册历史精品教学课件 第七单元 人民解放战争 大概念引领下的大单元复习 (4).ppt
- 人教版八年级上册历史精品教学课件 第七单元 人民解放战争 第21课 人民解放战争的胜利 (2).ppt
- 人教版八年级上册历史精品教学课件 第三单元 资产阶级民主革命与中华民国的建立 第10课 中华民国的创建 (2).ppt
- 人教版八年级上册历史精品教学课件 第四单元 新民主主义革命的开始 第12课 新文化运动 (3).ppt
- 第四组塑料低温脆化温度测试详解演示文稿.ppt
- 第消费者行为演示文稿.ppt
- 第一部分用搜索方法求解问题演示文稿.ppt
最近下载
- 四、英格索兰安装指导手册-无锡英格索兰.doc VIP
- 2025AHA、ACC高血压管理指南核心更新解读.pptx
- 有机化学课件:第7章 醇酚醚.ppt VIP
- 员工认同感提升课件.pptx VIP
- 前列腺炎诊疗常规.docx VIP
- 有机化学课件:第7章 卤代烃.ppt VIP
- 2024-2025学年度江苏安全技术职业学院单招考试文化素质数学测试卷含答案详解【满分必刷】.docx VIP
- (一模)2026届大湾区高三普通高中毕业年级联合模拟考试(一)物理试卷(含答案).docx
- 2025年中考数学冲刺《二次函数新定义型综合问题》含答案解析.pdf VIP
- 2025年士官英语作文真题及答案.doc VIP
原创力文档

文档评论(0)