This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] TMS320F28069M:如何使用 GUI 编写来设置两个参数?

Guru**** 2387830 points
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1535897/tms320f28069m-how-to-use-gui-compose-to-setup-two-parameter

器件型号:TMS320F28069M

工具/软件:

大家好

是否可以通过 GUI Composer 在线设置两个参数?

例如、

使用输入组件值设置“gUserParams.motor_numPolePairs"和“和“polepair"。“。

现在我使用两个输入元件、想使用一个元件。  

还是应该使用其他元件?

谢谢你

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好:

    现在我使用两个输入组件、我想使用一个组件。  [/报价]

    您是否只是在寻找一个具有一个输入字段的小部件、您可以在其中选择要绑定到的变量?

    谢谢

    Ki

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    你好

    我正在寻找一个小工具来绑定两个变量。

    谢谢

    Hallay

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我不确定您是否可以使用一个小工具完成此操作。 我将提请理事会专家注意这一主题以确认。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    如果我理解正确、您正尝试使用单个 GUI 控件来控制目标端的两个变量、以确保它们同步。  

    不支持通过单个小部件的属性以图形方式配置此配置。  

    但是、您可以尝试以编程方式绑定到您的小部件。 (注意:您只能通过 GUI/属性页配置一种绑定类型... 这是您包含的图片)或通过 javascript 编程。 如果你有两个,那么你很可能会看到对值的副作用.  

    总之,您需要在注释块标题之后打开 index.js 并取消注释功能

    /*-----

    用于数据绑定的样板代码

    取消注释该块、以及函数签名和 wiatformodel 调用。 你需要保持小部件的原样,但你的 targetmodelID 将需要更改,以匹配你的程序模型(我不能从你的图片制作完整的模型 ID,但是你的左侧绑定,看起来像“program_i"</s>“

    在以下示例中、代码有两个函数 getter(从目标获取数据并将其发送到小工具时)当用户更改小工具时、setter 会反向执行转换。 他们正在做一个简单的值从摄氏到华氏度的转换。  

    在您的情况下、您不会执行任何值更改、但您需要添加附加代码来获取对模型的引用、然后获取第二个变量的绑定、然后将其设置为相同的值。  

    // bindingRegistry.bind ('widget.id.propertyName'、'targetModelId.targetVariable'、
    // value =>{ return value*5/9+32;}、/* getter */
    // value =>{ return (value-32)*9/5;}/* setter */
    //);

    因此、代码是类似的。  

    bindingRegistry.bind ('widget.input_Scale_10.value'、'program_i.polepair '、
    值=>{

    let gVarsBinding = bindingRegistry.getModel ('program_i').getBinding ('gUserParams.motor_numPolePairs');

    gVarsBinding.setValue(value); //this 和上面一行将绑定到第二个变量并将其设置为相同的值。  

    返回值;//我们仍然要设置实际的输入小工具值。  

    }、/* getter */
    value =>{ return (value-32)*9/5;}/* setter */
     );

    Martin

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 Martin

    感谢您的答复

    我使用您的建议、请参阅以下内容。

    是否有任何问题、“gUserParams.motor_numPolePairs"更改“更改、但“polepair" 不“不会更改。

    Hallay

    ----------------------------

    bindingRegistry.bind ('widget.input_Scale_1.value'、“program_bldc.gUserParams.motor_numPolePairs",“,</s>、
    值=>{
    let gVarsBinding = bindingRegistry.getModel ('program_bldc').getBinding ('polepair ');
    gVarsBinding.setValue(value);
    返回值;
    }、
    Value => Value
    );

    ------------------------------------

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 Hallay、  

    第一个函数(即我们绑定到 polepair 的位置) 实现 从 MCU 读取 gUserParams.motor_numPolePairs 并更新小工具的方向。 为了查看用户在下拉列表中进行更改时反映的更改、您还需要在“setter"函“函数中添加相同的代码。  

    Martin