问题标签 [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.
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.
matlab - 将 IEC 61131-3 DINT 拆分为两个 INT 变量(PLC 结构化文本)
我想在 PLC 上通过 MODBUS 发布一个 DINT 变量(dintTest),以使用 Matlab 仪器控制工具箱读取它。事实证明,Matlab 可以读取 Modbus 变量,但只能读取 INT16。所以我想将 DINT 变量拆分为 IEC 中的两个 INT 变量。我找到了这个解决方案,但这只允许 +- 0 ... 32767^2 的值:
整个 DINT 范围的解决方案是什么?谢谢!
编辑:我在 simulink 中使用 matlab 功能块阅读(需要仪器控制工具箱):
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 的解决方案。
gps - 我想使用 STM32F0 和 Truestudio 从 NMEA 语句中解析 GNSS 数据
从 NMEA 句子中解析 GPS 数据时我遇到了困难。我正在使用 Quectel L89 GNSS 模块(波特率:115200)和 Truestudio IDE。我曾使用 CubeMX 制作程序的骨架结构。
我曾尝试同时HAL_UART_RxCpltCallback
使用HAL_UART_Receive_IT
和HAL_UART_Receive_IT
独立使用。我有时能读取数据,有时不能。问题是原始数据从 $GPRMC 开始并以 $PSTMCPU 结束,而从 ST 读取数据有时 rec_buffer 从 $GPRMC(正常条件)开始,有时从 $GNVTG(错误条件)开始。
我将如何确保 rec_buffer 始终从 $GPRMC 开始
我在 while(1) 中调用它:
我也试过这个:
L89 原始数据:
任何帮助/建议将不胜感激。
感谢克里福德的建议。我需要解析来自 RMC、VTG、GGA 和 GSA 的数据。我无法更改波特率,也无法停止专有语句。
plc - 在结构化文本语法中初始化自定义类型数组
在我的项目中,我有一个类型:
我需要为持久内存保留一个这种类型的数组。我不能只使用VAR RETAIN
,因为这块特定的内存需要通过下载持续存在。我正在使用的控制器有一种方法可以做到这一点,但为了让它工作,我需要能够将数组设置为等于初始值。所以如果我已经声明
然后如何将此数组初始化为空白数组?new
其他语言中的等价物是什么?
我已经猜到了
但这似乎不对。如果只有一层深度的自定义结构,它可以被简化,对于这个应用程序,我可以做到这一点。但是,我仍然认为我的语法不正确。
file - 在 CodeSys 中使用 Concat 时输出奇怪的文件
我正在使用 CodeSyS 中的 CAA-File 库将数据写入文本文件。当我将字符串写入文件时,它工作正常,但如果我将 2 个字符串与 CONCAT 结合起来,我会得到一个带有随机字符的奇怪文件输出(见下文)。有谁知道如何解决这一问题?谢谢!
例如lString = 'test'
工作正常,但lString = CONCAT('str1', 'str2')
没有。
因为lString = CONCAT('str1', 'str2')
我期望str1str2
作为输出,但我得到了这个:
python - 熊猫根据 columnA.isin.list(columnB) 返回子集
我有一个这样的数据框:
我只是想返回一个子集,其中“权重”出现在数字“掩码”列表中
我似乎很难使用迭代器,这似乎是对熊猫的浪费。
st - 我正在寻找一种更简洁的方法来将变量与结构文本 (ST) 中的一系列数字进行比较
我试图找到一种更简洁的方法来将变量与一系列数字进行比较。
目前我这样做: IF int_variable=67 or int_variable=68 or int_variable=69 then...
有没有办法写类似: IF int_variable=67 到 69 then
提前致谢。