
FPWIN Pro (第7章_使用变量编写程序).pdf
30页第 7 章 使用变量编写程序 7-1第7章 使用变量编写程序 FPWIN Pro 导入 7-2 7-1 概要 ■所谓变量 例如,在为了使用输入 No.0、确认开关的输入,从输入 No.0 读入数值的情况下, 所谓变量,是为了识别 PLC 的输入输出、PLC 内部的存储区域(DT 或 WR 等)而使用的名称 在 LD(梯形程序)中以如下方式表述 变量可以代替物理地址在程序中使用 同时,采用这种表述方法有以下 2 个缺点 ・ 当程序变复杂时,各种各样的输入输出功能、内部存储器分配等内容就会变得难于记忆 ・ 地址变更或者 PLC 机型改变时,必须对程序进行大范围的全面修正 如果使用 Control FPWIN Pro,就不会产生这些问题 例如,在将变量定义的 SW0_ON 分配到X0 的情况下,程序的表述如下 ■全局变量与局部变量 全局变量与局部变量有以下的不同点 全局变量: 全局变量是在如下情况下使用 ・ 当变量分配对应到外部输入输出时 ・ 当工程文件内的多个 POU 中共同使用变量时 ・ 当用于与外部设备通信、固定的 PLC 内部存储器地址分配到变量时 局部变量: 局部变量只在 1 个 POU 内有效。
对变量的内部存储器分配,是在编译时自动进行的 全局变量使在各个 POU 的 PO U Header 中定义的 为了把握全部变量的作用,可以根据交叉参考,将变量的定义及属性全部以一览表显示 第 7 章 使用变量编写程序 7-37-2 全局变量 全局变量是在工程文件引导器的全局变量列表中定义的 外部输入输出或者可以分配 PLC 内部存储器的地址的,属于全局变量 不能在局部变量中指定地址 7-2-1 全局变量的定义内容 在介绍变量定义的步骤之前,首先简单说明全局变量列表中的各字段的内容 ■在全局变量列表中可以指定的内容 类(class) 全局变量可以分成 3 种变量类型 VAR_GLOBAL: VAR_GLOBAL_RETAIN: VAR_GLOBAL_CONSTANT: 非保持型的全局变量 当电源 OFF 时或者变为 PROG.模式时,数值不被保持 当切换到 RUN 模式时,被设定为[初始值]中指定的内容 保持型的全局变量 当电源 OFF 时或者变为 PROG.模式时,数值也能够被保持 作为常数使用的全局变量 VAR_GLOBAL_CONSTANT 中不能指定地址。
在程序中被使用的识别名在 100 个半角数字及英语字母以内指定 变量名称 PLC 地址是分配到变量的物理地址(X0,Y0,DT0 等) 地址只是在作为用于 PLC 的外部输入输出、以及必须指定数据寄存器的情况才进行登录 建议不要登录不必要的地址 IEC 地址,是根据 PLC 地址自动算出的,因此用户不必输入 PLC 地址及 IEC 地址 FPWIN Pro 导入 7-4 数据类型 地址登录后,缺省的数据类型(例:对于输入/输出是[B OOL])被显示 也可以选择其他的数据类型 省略文字 含义 范围 数据长 BOOL 布尔型 0(FALSE) 或 1(TRUE) 1 位 INT 整数 -32,768~32,767 16 位 DINT 双精度整数 -2,147,483,648~2,147,483,647 32 位 WORD 字 0~FFFF(H) 16 位 DWORD 双精度字 0~FFFFFFFF(H) 32 位 REAL 实数 -1.175494×10-38~-3.402823×1038和 1.175494×10-38~3.402823×103832 位 STRING 字符串 1~255 字符(ASCII) 1~255 字节 TIME 时间(间隔) T#0.01S~T#327.67S 16 位 TIME 时间(间隔) T#0.01~2,147,483,647S 32 位 初始值 对应于所选择的数据类型的缺省初始值被自动显示。
该值是在 PLC 启动时分配到变量的值必要时请相应地修改初始值 Autoextern(外部变量自动登录)在这个字段内标明选中标记后,在以后生成所有 POU header 中,全局变量被作为 外部变量(VAR _EXTERNAL)自 动插入 点击[扩展功能]菜单中的[选项]→[程序选项]→[编辑器]→[定义编辑器], 选中[外部变量自动登录功能在全部 POU 中适用]后,全局变量登录时,在所有的 POU Header 中 自动作为外部变量插入 记入与变量相关的注释说明 注释 第 7 章 使用变量编写程序 7-57-2-2 定义全局变量 ■操作步骤 1.双击工程文件引导器中的全局变量 2.在全局变量列表中,将各必要项目填写登录到对应字段中 按键后进 入下一个字段 3.单击 图标 在光标行之下,新增加一个说明行 ●请注意 ・ 变量名称的开头不能使用数字 ・ PLC 的物理地址(X0, Y0 等)不能作为变量名称使用 ・ VAR_GLOBAL 的初始值,是在 PLC 由 PROG 模式切换到 RUN 模式时被设置的 ・ VAR_GOLBAL_RETAIN 的初始 值,是在程序下载到 PLC 后、只在第一次进入 RUN 模式时被分配。
在点击[扩展功能]→[选项]打开的对话框中,使[不初始化用户区域的保持型变量]有效后, 被分配了地址的变量就不会再次被初始化 FPWIN Pro 导入 7-6 ●要点 ・ 点击[编辑]菜单→[新创建变量]→[开头/前一个/后一个/最后],可以在全局变量列表的 任意位置插入新的定义行 ・ 将[扩展功能]菜单→[选项]→[程序选项]→[编辑器]→[定义编辑器]中的 [插入新定义时,变量名称自动增加]设置为有效后,在添加新的定义时, 变量名称和地址被复制在变量名称后附加数字 1 当变量名称的最后已是数字时,将该数字增 1变量的地址也增 只有在[插入新定义时,自动增加变量名称]项目有效的情况下,才可以将 设置为有效 将[复制注释和数据类型信息]设置为有效后,点击[编辑]菜单→[新生成变量]→[后一个] 插入新的定义行时,当前的定义行的内容被复制 ・ 通过点击最上段的[类]、[变量名称]、[数据类型]、[初始值]、[注释]等各个栏目, 可以按字母顺序排列各项目 第 7 章 使用变量编写程序 7-77-2-3 全局变量的配置 下面,实际登录全局变量、改写到前项为止绘制的 LD 程序,说明其操作步骤。
本次将作为启动信号的 R100 改写成名为“S tart_Signal” 的全局变量 Start_Sign步骤① 显示出全局变量列表在变量名称中输入“Start_Signal” 、在 FP 地址中输入“R 100” IEC 地址、数据类型、初始值等被自动设置 请在Autoextern 项中点击出选中标记 (在POU Heater 中作为外部变量(VER_EXTERNAL)被自动插入 ) 步骤② 显示出POU(LD_Test_1) 双击POU(LD_Test_1) 在全局变量列表中登录的“S tart_Signal” 作为外部变量( VER_EXTERNAL)被自动登录 FPWIN Pro 导入 7-8 变量的选择对话框被打开 步骤③ 将“R100”变更到“Start_Signal” 在上图所示的显示状态下,本次用鼠标右键单击 请在画面显示的菜单中点击[变量的选择] 用鼠标左键单击“R100”的 触点上方 选择“Start_Signal” (本次因为只有一个变量,所以可以立刻看到! ) 设定从某个库中选择变量 本次选择 Header 设定从某个数据类型中选择变量。
本次从BOOL 型 中选择 请点击 按钮 在程序体中适当的空白位置左键单击 “Start_Signal”被输入 第 7 章 使用变量编写程序 7-9现在,进行编译,实际使“S tart_Signal”(R100)变为ON 、确认动作,看看结果 ダブルクリッ●备注 当然,也可以由手工(键盘)将“R100” 输入为“Start_Signal” ,但是 当变量名称比较长时,输入会比较麻烦、并且容易产生错误 因此,对于已经完成定义的变量,建议采用上述方法进行输入 FPWIN Pro 导入 7-107-3 局部变量 7-3-1 适用于从全局变量插入的变量的种类 对于从全局变量列表中插入到 POU Header 的变量,有 3 种变量类型适用 POU Header 中 ,包括从全局变量列表中插入的变量、和 POU Header 中 定义的局部变量 VAR_EXTERNAL 只能在PRG 或FB 类型的POU 的Header 中进 行登录 局部变量是在 POU(程序构成单位)中被定义的、只可以在对应 POU 程序体内使用的变量。
VAR_EXTERNAL_RETAIN 这些变量在其他的 POU Header 中定义了相同变量的情况下,将作为不同的变量使用 指向在全局变量列表中定义的 VAR_GLOBAL 变量 VAR_EXTERNAL_CONSTANT 只能在PRG 或FB 类型的POU 的Header 中进行指定 这种的类的变量,在 PLC 的存储器中没有分配地址,而是在程序代码中插入常数 指向在全局变量列表中定义的 VAR_GLOBAL_CONSTANT 变量 VAR_EXTERNAL_CONSTANT 当将 PLC 从 PRG 模式切换到 RUN 模式时、或者电源 ON 时,按 VAR_GLOBAL 的初始值进行配置 VAR_EXTERNAL 指向在全局变量列表定义的 VAR_GLOBAL_RETAIN 变量 VAR_EXTERNAL_RETAIN 只能在PRG 或FB 类型的POU 的Header 中进行登录 在点击[工程文件]菜单→[编译]选项打开的对话框中,使[不初始化用户区域的保持型变量] 设置为有效后,分配到保持型区域的变量不被再次初始化 第 7 章 使用变量编写程序 7-117-3-2 局部变量的定义内容 局部变量在 PO U Header 中定义。
局部变量的地址由编译器自动进行分配 在使用局部变量的情况下,有 7 种类型的变量适用 可以选择变量类型随 POU 的类型(PRG, FUN, FB)不同而有所差异 VAR 是作为运算处理的中途结果的保存等用途的、可以在各 POU 中定义的变量 VAR 的数值在执行一次处理后、到下一次执行为止,不会发生变化,内容保留 PLC 从PROG 模 式切换到 RUN 模式时、或者电源 ON 时,VAR 中初始值被复位 VAR_CONSTANT 是在各 POU 中可以定义的常数变量 VAR_CONSTANT 中没有分配地址,而是常数被插入到程序代码中 VAR_RETAIN 是保持型的局部变量 即使电源 OFF 时或者处于 PROG.模式时,其中的数值也能被保持 VAR_INPUT 是在功能或功能块中用于必要的参数的输入的变量 被调用的 POU 将变量值传输到功能或功能块(PRG 除外) VAR_INPUT 是 在对应于功能或功能块的 He ader 中进行定义 虽然输入变量的数值可以读取,但是不能写入强制输入输出除外) VAR_OUTPUT 是只用于功能块的输出变量 当PLC 从PROG 模式切换到 RUN 模式时、或电源 ON 时,VA R_OUTPUT 被设 定为初始值。
VAR_OUTPUT_RETAIN 是只允许用于功能块的保持型的输出变量 即使电源 OFF 时或者处于 PROG.模式时,其中的数值也能被。
