问题标签 [xcos]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
16 浏览

porting - 将 xcos 从 5.5.2 移植到 6.0.1

使用 6.0.2 打开在 5.5.2 中绘制的 xcos 会导致空白页。

我在 6.0 帮助中找不到特殊的导入功能。我在 scilab 网站上还没有找到任何白皮书。我怀疑由于 6.0 是一个重大的重写,我们需要大幅重新绘制我们的 xcos 图以从 5.5 移动到 6.0?有人可以确认吗?

我希望在 v6.0x 中打开 v5.5x xcos 图,即大量的框图和连接器。它由 v6.0.2 愉快地打开,但它是空白的,除了一些被继承的注释。

0 投票
1 回答
234 浏览

scilab - Scilab xcos 积分器

我一直面临一个问题,如何根据 Scilab Xcos 中积分器块的值生成事件信号。例如,如果积分器块的输出值为零,我需要创建事件信号。我有一个想法使用 RELATIONALOP 块来比较积分器输出的值与零,但我不知道如何将此比较的结果转换为事件。有人可以帮忙吗?

0 投票
1 回答
60 浏览

scilab - 全局变量 Xcos

我是 Xcos 的新手。有没有办法让一个块读取或写入其他块也可以访问的变量?或者如果有解决办法来实现同样的目标。谢谢

0 投票
1 回答
157 浏览

matlab - 如何从 SciPad 设置 Scilab 块中的参数?

不知道有没有人遇到同样的问题!在 MATLAB 中,我们可以轻松地从 m 文件中设置 Simulink 模块的参数。例如,我们可以改变传递函数的系数、PID 增益、阶跃输入幅度、仿真时间等。

在 Scilab,一切都是未知的!实际上,我不知道 Scilab 是否提供此功能!

任何有用的反馈或提示将不胜感激。

谢谢

0 投票
1 回答
39 浏览

c - 如何将仿真上下文传递到 Scilab C 模块?

我一直在基于 C 块的 Scilab/Xcos 中开发自己的功能块,并且一直在努力将仿真上下文中定义的参数传递到 C 代码中。有人知道该怎么做吗?提前感谢您的任何想法。

0 投票
1 回答
297 浏览

c - 如何使用 C 语言在 Scilab/Xcos 中开发自己的块

我一直在使用 CBLOCK4 在 Scilab/Xcos 中开发自己的块。块内的 C 语言代码如下:

为了完整起见,我还附上了 sccos_block 结构:

我能够成功编译代码,但如果我运行包含我的 CBLOCK4 块的模拟,我总是会收到以下错误消息:

警告 !!!Scilab 在“scicosim”函数中发现了一个严重错误 (EXCEPTION_ACCESS_VIOLATION)。保存数据并重新启动 Scilab。

并且模拟也没有开始。我发现如果我删除 CBLOCK4 块中的以下代码行,模拟就会开始工作:

我怀疑我的 C 代码中有一些错误(可能与内存分配有关),但我找不到它。有人有使用 Scilab/Xcos CBLOCK4 的经验吗?

0 投票
1 回答
89 浏览

c - 一个 Scilab/Xcos 仿真中的多个 c_block 实例

我遇到了关于 Xcos c_block 使用的问题。我开发了一个带有以下 C 代码的 c_block:

包含此块的 Xcos 模拟工作:

在此处输入图像描述

我的问题是我需要在一个 Xcos 模拟中拥有这个块的多个实例(每个实例都有不同的参数集)。我试图制作这个块的几个副本,并为每个副本设置不同的参数值。这种幼稚的方法导致所有实例的错误行为(所有实例都给出完全相同的输出,但该输出不对应于任何一组参数)。

我的问题是是否有可能在一个模拟中拥有一个 c_block 的多个实例?如果是这样,任何人都可以给我一个建议如何做到这一点?

0 投票
2 回答
112 浏览

c - 如何在 C 中使用动态分配的内存

我一直在使用 C 语言在 Scilab/Xcos(Matlab/Simulink 的开源变体)中开发一个块。为此,Scilab/Xcos 提供了一个称为 CBLOCK4 的特殊模块。一旦我将此块放入模拟中,就会自动生成一个 C 语言存根。该存根的一部分是实现块行为的函数的模板。此函数在其参数中接受指向scicos_block结构的指针:

该项目work可能旨在用于存储存储块的内部状态变量的另一个地址的存储地址。我试图用work项目用法来实现 Scilab/Xcos 块:

我能够成功编译包含此代码的块,但如果我开始模拟它会崩溃。我对内存的动态分配以及我使用它的方式有疑问。

请任何人看看我的代码(即带有标志 == 4 的 if 正文中的部分)并告诉我我做错了什么?

0 投票
1 回答
117 浏览

scilab - 为什么我的图表使用 scilab、xcos 绘制指数图?

图表和图表

我做了上图,我把1,1的值分别作为INTEGRAL_f和GAINBLK_f的参数,其他参数默认。

我不知道为什么要绘制此图,因为我认为不应该有构成指数函数的因子。

谁能告诉我我错过了什么?

0 投票
1 回答
146 浏览

api - 修改 Scilab 6 网关功能中的 Scilab/Xcos 模块

我想使用新的(非旧版)Scilab API 从网关函数中修改Xcos 块,例如,用新的模型结构替换块的模型属性。换句话说,执行与 Scilab 命令相同的操作:

但是,我没有设法使用 Scilab 6 API 中的函数实现此行为:由创建的块standard_define()正确传递给我的网关函数,其中此参数可用作scilabVartype 128。另一方面,Scilab 帮助声称块是“类型为“块”的scilab tlist,具有以下字段:图形、模型、gui 和 doc ”。

尝试

假设scilabVar block取自网关函数参数,类型为 的字符串常量wchar_t[]scilabVar model其结果为scicos_model()

  1. 函数的应用scilab_setTListField (env, block, "model", model)返回错误状态(作为MListListdo 的等价物)
  2. 知道该属性.model位于索引 3 处,通过setfield (3, model, block) 调用scilab_call ("setfield", ...)也会失败。
    • 这并不奇怪:当直接从 Scilab 命令行调用时,它以 setfield: Wrong type for input argument #3: List expected..
    • 但是,agetfield (3, block)有效,因此至少可以读取块的数据字段。
  3. 外部辅助函数 也调用 throughscilab_call("blockSetModel", ...)实际上返回一个具有更改模型的块,但传递给此函数的原始块保持不变。虽然丑陋,但这至少提供了一种构建需要作为副本返回的单独块结构的方法。

概括

  • 那么,API 中是否缺少一个函数,它返回类型指针变量TList后面的(或其他) ?128
  • 或者有没有其他方法可以解决我无法发现的这个问题?

背景

背后的目标是将块定义任务从通常的接口“gui”函数(例如 Scilab 脚本MyBlock.sci)转移到自己的 C 代码中。为此,接口函数被简化为 C 网关的包装器,例如,scilab_call ("standard_define",...)当使用参数调用时,它用于创建新块job=="define"。通过 Scilab API修改包含对象modelgraphics对象可以正常工作,因为这些是标准列表类型。但是,如上所述,将这些对象获取或设置为属性.model和原始块的失败。.graphics