使用FB函数块在GX Works3中进行编程(嵌入式)

450 篇文章 ¥59.90 ¥99.00
本文详细介绍了如何在GX Works3中利用FB(Function Block)函数块进行模块化和重用代码,从而提高编程效率和代码可维护性。通过创建FB,定义输入输出参数,以及在主程序中实例化和调用FB的方法,实现了嵌入式编程的高效组织。文章还提供了创建加法FB函数块和在主程序中使用它的具体示例。

在GX Works3中,FB(Function Block)函数块是一种重要的编程元素,用于模块化和重用代码。FB函数块允许开发人员将特定功能封装在一个可重复使用的模块中,提高编程效率和代码可维护性。本文将介绍如何在GX Works3中使用FB函数块,并提供相应的源代码示例。

步骤1:创建FB函数块

首先,我们需要创建一个新的FB函数块。在GX Works3的项目资源管理器中,右键单击“程序”文件夹,选择“新建”>“FB”来创建一个新的FB函数块。

步骤2:定义FB函数块的输入输出参数

在FB函数块的属性窗口中,我们可以定义输入输出参数。输入参数是FB函数块接收的数据,而输出参数是FB函数块返回的数据。你可以根据需要定义多个输入输出参数。例如,我们创建一个简单的加法FB函数块,它接收两个整数作为输入参数,并返回它们的和作为输出参数。

下面是FB函数块的定义:

FUNCTION_BLOCK Adder
VAR_INPUT
    A: INT;
    B: INT;
END_VAR

VAR_OUTPUT
    Sum: INT;
END_VAR

METHOD CalcSum: BOOL
VAR
    TempSum: INT;
END_VAR

METHOD CalcSum:=TRUE;
TempSum:=A+B;
Sum:=TempSum;

在上面的代码中,我们定义了一个名为"Adder"的FB函数块。输入参数"A"和"B"是整数类型,输出参数"Sum"也是整数类型。函数块中的"CalcSum"方法用于计算输入参数的和,并将结果存储在"Sum"输出参数中。

步骤3:在主程序中使用FB函数块<

<think>我们之前讨论了三菱GXWorks3中的CallEnvironment功能,现在用户询问的是如何选择监看函数块FB)的操作方法。用户特别提到要参考之前的对话,但之前的对话主要涉及CallEnvironment的位置和功能,而这次是询问监控(监看)FB的方法。根据三菱GXWorks3使用,监控函数块FB)通常是指在程序运行时查看FB内部变量的值。这可以通过以下几种方式实现:1.**使用“监视模式”**:-在程序编辑器中,打开包含FB调用的程序部分。-进入在线模式(连接PLC或使用模拟器),然后切换到“监视模式”。-在监视模式下,FB的输入输出参数以及内部变量(如果可访问)会显示当前值。2.**使用“监视窗口”**:-通过菜单“视图(View)”→“监视窗口(WatchWindow)”打开监视窗口。-在监视窗口中,可以手动添加需要监视的FB实例的变量。例如,如果FB实例名为“FB1”,要监视其内部变量“Counter”,则输入“FB1.Counter”。3.**使用“设备/缓冲存储器批量监视”**:-如果FB的内部变量映射到了具体的PLC地址(如D寄存器),可以通过“在线(Online)”→“监视(Monitor)”→“设备/缓冲存储器批量监视(Device/BufferMemoryBatchMonitor)”来监视这些地址的值。4.**在FB内部设置监视**:-打开FB的程序编辑窗口,在在线模式下,FB内部的变量会显示实时值(需要FB处于被调用的状态)。5.**使用“调用环境”进行监视**:-在调用FB的地方(如ST程序或梯形图),右键点击FB调用,选择“CallEnvironment”,在打开的窗口中可以看到参数的当前值(但注意,这个窗口主要显示参数,不直接显示FB内部变量)。6.**使用“执行中程序监视”**:-在菜单“在线(Online)”→“监视(Monitor)”→“执行中程序监视(MonitoringExecutingProgram)”,然后选择要监视的程序(包含FB调用的程序),可以逐步监视程序的执行,包括FB内部。但是,用户特别询问的是“选择监看函数块(FB)的操作方法”,可能是指如何选择特定的FB实例进行监视。因为一个FB可能被多次调用,每个实例的状态可能不同。具体操作步骤:**步骤1:进入在线模式**-连接PLC或启动GXSimulator3模拟器。-点击工具栏上的“在线”按钮或选择菜单“在线(Online)”→“在线工作(OnlineWork)”。**步骤2:打开监视窗口**-通过菜单“视图(View)”→“监视窗口(WatchWindow)”打开监视窗口。**步骤3:添加要监视的FB实例变量**-在监视窗口中,点击“添加”按钮(通常是一个加号),然后输入FB实例的完整变量名。例如:-全局FB实例:直接输入实例名,如“MotorFB1.CurrentSpeed”。-局部FB实例:需要包含调用路径,如“MainProgram.MotorControl.MotorFB2.Timer”。**步骤4:使用程序监视**-打开调用FB的程序(如主程序),在监视模式下,FB调用的地方会显示输入输出参数的当前值。如果想看内部,需要进入FB内部:-在程序编辑器中,找到FB的定义(双击工程树中的FB),打开FB程序,然后在在线模式下监视。**步骤5:使用执行中程序监视**-选择菜单“在线(Online)”→“监视(Monitor)”→“执行中程序监视(MonitoringExecutingProgram)”,然后选择程序,点击“开始监视”。当程序执行到FB调用时,可以逐步进入FB内部。注意事项:-要监视FB内部变量,需要确保这些变量在FB中被定义为可监视(通常默认都是可监视的,除非是临时变量在离开FB后无法监视)。-在FB中,静态变量(VAR_STAT)在FB调用之间保持值,因此可以监视。引用说明:-三菱官方手册《GXWorks3操作手册》中关于监视功能的部分[^1]。-关于FB内部监视的具体步骤,可参考手册中“程序监视”章节[^2]。现在,生成相关问题:</think>### GX Works3 中监看函数块FB)的操作方法 #### 一、基础监看步骤 1. **进入在线模式** - 连接 PLC 或启动 GX Simulator3 模拟器 - 点击工具栏 **"在线"** → **"监视开始"**(或按 `F3` 快捷键) 2. **定位目标 FB** - 在 **工程视图** 中展开 `程序部件` → `FB` - 双击要监看的函数块名称(如 `FB_MotorControl`) 3. **启动实时监看** - 在 FB 编辑界面右键点击 → 选择 **"监视"** → **"监视模式"** - 或使用快捷键 `Ctrl + F3` #### 二、高级监看技巧 1. **多实例区分监看** - 当多个 FB 实例共存时: ```st // ST程序示例 FB_MotorControl(Instance1); // 实例1 FB_MotorControl(Instance2); // 实例2 ``` - 在监视窗口 **右键点击变量** → **"跳转到实例"** → 选择特定实例[^1] 2. **内部变量监视** - 在 FB 内部: - 静态变量 (`VAR_STAT`):持续保持值 - 临时变量 (`VAR_TEMP`):仅执行期间有效 - 监视方法:在 FB 编辑界面 **双击变量** → 自动添加到监视窗口 3. **趋势图功能** - 右键点击监视窗口中的变量 → **"添加趋势图"** - 可同时监视多个相关变量(如速度、电流等) #### 三、调试辅助功能 1. **强制值设置** - 在监视窗口选中变量 → 按 `Enter` 键 - 输入测试值 → 选择 **"强制"** 或 **"临时更改"** 2. **断点调试** - 在 FB 程序行号左侧点击设置断点(红色圆点) - 触发时程序暂停,可检查变量状态 3. **交叉引用分析** - 选中 FB 变量 → 右键 **"交叉引用"** - 查看所有使用该变量的位置(含其他 FB 实例) #### 四、注意事项 1. **符号监视要求** - 需开启 **"使用标签编程"**(工程属性中设置) - 未分配实际地址的变量无法监视[^2] 2. **性能优化** - 大量监视时使用 **"采样监视"**(视图→监视→采样监视) - 避免同时监视超过 50 个变量 > ⚠️ **重要提示** > - 在线修改 FB 后需 **重新下载程序** > - 监视值刷新间隔可在 `工具→选项→监视设置` 调整 ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值