问题标签 [st]

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 投票
2 回答
1251 浏览

plc - Syntax for Getting Ouput Variable in Structured Text

I'm trying to use a library defined function (CCaux for Cross Control Products) with the following interface:

I can't seem to find the correct syntax for getting the "value" from the output variable. Here is what I have in my program:

Where I want illumen to be set to the output variable of Lightsensor_GetIlluminace. The following doesn't work since it sets the variable to the eErr:

And:

Doesn't work because I get the error 'value' is no input of 'Lightsensor_GetIlluminance'

And:

fails because Lightsensor_GetIlluminance take exactly '0' inputs

I am using CoDeSys for context.

0 投票
1 回答
1091 浏览

matlab - 将 IEC 61131-3 DINT 拆分为两个 INT 变量(PLC 结构化文本)

我想在 PLC 上通过 MODBUS 发布一个 DINT 变量(dintTest),以使用 Matlab 仪器控制工具箱读取它。事实证明,Matlab 可以读取 Modbus 变量,但只能读取 INT16。所以我想将 DINT 变量拆分为 IEC 中的两个 INT 变量。我找到了这个解决方案,但这只允许 +- 0 ... 32767^2 的值:

整个 DINT 范围的解决方案是什么?谢谢!

编辑:我在 simulink 中使用 matlab 功能块阅读(需要仪器控制工具箱):

0 投票
1 回答
520 浏览

st - 在 B&R 的 Automation Studio 软件中的 ST 程序中从文件中执行 g 代码

我有一个类似于 CNC 轴的 3 轴系统和一个 B&R 的 PowerPanel。现在我计划执行 g 代码,该代码是从位于 Downloads 文件夹中的 fe 文件中读取的。这将通过 B&R Automation Studio 的 fbs 完成。

我对帮助感到困惑,因为它在 drive engineering/mapp Motion/technologie/function block/mpcnc3axis/description的部分中moveProgram说,它将您重定向到MC_BR_MoveProgram\description。您可以使用 [程序名称前缀] [文件设备名称:] [路径] 程序名称语法来启动程序。现在我不确定如何将它包含在我的MpCnc3Axis代码中,或者我是否可以MpCnc3AxisParType ProgramName部分使用语法从 fe 下载文件夹启动程序,因为它不适用于McPrgAdvParType InitProgramName.

任何指向相关材料的链接将不胜感激。

如果它更容易,我也会接受使用 C 的解决方案。

0 投票
1 回答
1799 浏览

gps - 我想使用 STM32F0 和 Truestudio 从 NMEA 语句中解析 GNSS 数据

从 NMEA 句子中解析 GPS 数据时我遇到了困难。我正在使用 Quectel L89 GNSS 模块(波特率:115200)和 Truestudio IDE。我曾使用 CubeMX 制作程序的骨架结构。

我曾尝试同时HAL_UART_RxCpltCallback使用HAL_UART_Receive_ITHAL_UART_Receive_IT独立使用。我有时能读取数据,有时不能。问题是原始数据从 $GPRMC 开始并以 $PSTMCPU 结束,而从 ST 读取数据有时 rec_buffer 从 $GPRMC(正常条件)开始,有时从 $GNVTG(错误条件)开始。

我将如何确保 rec_buffer 始终从 $GPRMC 开始

我在 while(1) 中调用它:

我也试过这个:

L89 原始数据:

任何帮助/建议将不胜感激。

感谢克里福德的建议。我需要解析来自 RMC、VTG、GGA 和 GSA 的数据。我无法更改波特率,也无法停止专有语句。

0 投票
2 回答
4120 浏览

plc - 在结构化文本语法中初始化自定义类型数组

在我的项目中,我有一个类型:

我需要为持久内存保留一个这种类型的数组。我不能只使用VAR RETAIN,因为这块特定的内存需要通过下载持续存在。我正在使用的控制器有一种方法可以做到这一点,但为了让它工作,我需要能够将数组设置为等于初始值。所以如果我已经声明

然后如何将此数组初始化为空白数组?new其他语言中的等价物是什么?

我已经猜到了

但这似乎不对。如果只有一层深度的自定义结构,它可以被简化,对于这个应用程序,我可以做到这一点。但是,我仍然认为我的语法不正确。

0 投票
1 回答
728 浏览

plc - 模型文本列表中的 CoDeSys 可视化下拉菜单自定义值

使用 CoDeSys,我有一个可视化下拉列表,它使用列表中选项的值枚举。枚举来自一个单独的库,对于我的特定应用程序,我只想使用下拉列表中枚举值的一个子集。所以为了做到这一点,我有一个文本列表,其中只包含两个值,5 和 7。 下拉元素的文本列表

这看起来很简单,但是当我运行这个特定的下拉菜单时,我正确地看到了这两个值,但我也看到了最多 12 个缺失 ID 的数字。12 很奇怪,因为枚举有 22 个枚举值。

在此处输入图像描述 在此处输入图像描述

是否可以只在下拉列表中显示两个值而不使 ID 为 0 和 1?我真的很想使用库枚举。

0 投票
1 回答
211 浏览

terminal - 管道未在无吸终端打印

我目前面临的问题是,在使用类似或 inst之类的命令时,管道中的字符|不会被打印出来。curl wttr.in/londontmux

echo "|"打印管道。

tmux等在例如白蚁中工作正常。我什至不知道在哪里寻找解决方案,你知道吗?

wttr 在我这边

0 投票
2 回答
620 浏览

file - 在 CodeSys 中使用 Concat 时输出奇怪的文件

我正在使用 CodeSyS 中的 CAA-File 库将数据写入文本文件。当我将字符串写入文件时,它工作正常,但如果我将 2 个字符串与 CONCAT 结合起来,我会得到一个带有随机字符的奇怪文件输出(见下文)。有谁知道如何解决这一问题?谢谢!

例如lString = 'test'工作正常,但lString = CONCAT('str1', 'str2')没有。

因为lString = CONCAT('str1', 'str2')我期望str1str2作为输出,但我得到了这个:

0 投票
1 回答
44 浏览

python - 熊猫根据 columnA.isin.list(columnB) 返回子集

我有一个这样的数据框:

我只是想返回一个子集,其中“权重”出现在数字“掩码”列表中

我似乎很难使用迭代器,这似乎是对熊猫的浪费。

0 投票
4 回答
459 浏览

st - 我正在寻找一种更简洁的方法来将变量与结构文本 (ST) 中的一系列数字进行比较

我试图找到一种更简洁的方法来将变量与一系列数字进行比较。

目前我这样做: IF int_variable=67 or int_variable=68 or int_variable=69 then...

有没有办法写类似: IF int_variable=67 到 69 then

提前致谢。