问题标签 [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 投票
1 回答
260 浏览

emmet - Emmet - Sublime Text 3 - 多个自定义文本

我想知道 Emmet 在创建多个元素时是否具有添加多个自定义文本的功能。

这是我想要实现的一个例子。如果我输入某种类似的命令:

我想得到:

提前致谢

0 投票
1 回答
135 浏览

.net - 两个相同的字符串可以与不同的实例进行比较吗?

C# Programming Language (A. Hejlsberg, et. al, 2011 Fourth Edition, Annotated for 4.0) 第 7.10.7 节指出,“当两个单独的字符串实例包含完全相同的字符序列时,字符串的值相等,但参考不同。”

这曾经是运行时案例吗?.NET 运行时和 BCL 不会总是将两个相同的字符串实习到同一个参考框吗?

我知道这本书是在谈论“规范”,但下一个问题 - 是否有任何已知的 C# 实现以这种方式运行?

编辑

好的,真正困扰我的是:

我不希望 foo 是 1!我想我就是这么傻。

更新我所要做的就是得到我想要的:

但这又不好。如果对象通过 HashCode 跟踪自己,那么字符串有什么特别之处呢?为什么运行时不看你的 Objects 看看,嘿,也许它里面的东西完全一样,让我们​​让它成为相同的引用。

0 投票
4 回答
3463 浏览

plc - 结构化文本与传统编程语言

我已经开始使用结构化文本对逻辑控制器 (PLC) 进行编程。我的背景来自 IT 或计算机科学。所以我习惯了传统的编程语言,如 Java、C# 等......我只是意识到 PLC 需要不同的思维方式。了解扫描周期...有人可以更清楚地向我解释我读到的以下段落

ST 与传统编程语言之间的一个重要区别是程序流控制的性质。一个 ST 程序每秒会从头到尾运行多次。传统程序在完全完成之前不应该到达终点。

0 投票
1 回答
173 浏览

haskell - 如何存储 ST monad 的东西?

我想在 monadGen (ST {..}之外处理/存储随机生成器()ST,但我找不到怎么做。

背景

我正在为一些大量使用随机的模拟工作。通过分析,我知道生成随机数需要超过 50% 的处理时间。

为了制作随机数,我使用mwc-randomSFMT
由于速度问题,我主要使用SFMT.
但是,与 相比SFMTmwc-random具有我需要的更丰富的接口(如normalbernoulli、 ..)。

在基准测试和阅读代码之后,我知道这mwc-random并不比SFMTSTmonad 上使用时慢。
SFMTon IO< MWCon ST<< MWCon IO< SFMTon ST
所以,我想在monad上制作和处理MWC随机生成器。ST但是,我不能像其他东西(例如)ST一样从 monad 中取出这个生成器。STSTRef

问题

有什么方法可以安全地ST在monad之外处理/存储这个随机生成器?

我试图从许多包/代码STRef或其他东西中学习,但我无法弄清楚。

例子

我像这样在模拟中使用随机生成器。

但是,此代码不起作用。

我想重写此代码以使用something. 我需要定义/重写数据结构还是做其他事情?有没有更聪明的方法?

要点:

  1. 我需要处理一个随机生成器(如Gen (PrimState (ST s)))来重现结果。
    所以,我不想生产临时随机生成器。
  2. 我不想保存/恢复种子。它的开销太大。(保存/恢复种子比生成一个随机数需要 x12~15 倍)
    它比在 IO monad 上使用要慢,所以我不需要在STmonad 上做。
  3. 我不想使用 unsafe* 函数。
0 投票
2 回答
9642 浏览

plc - 如何在 Codesys 3.5 的 ST 上的自定义功能块中实时工作

我正在尝试完成非常简单的任务,但看起来我无法弄清楚我们的方法。

我的任务是每日计划。输出Q1必须是HIGH每天从 1:00 到 2:00。我找不到对我有帮助的功能块。我决定创建自己的。

这是我的定义。

这个想法是这样的。EN是输入。也应该是为了HIGH输出。QHIGH

其他是一周中的几天。如果我想在那天安排工作,我可以设置 1 或 0。几乎可以创建任何类型的时间表的通用功能块。

问题 1:当我制作工作日变量类型BOOL时,当我将块添加到 LD 行时,它会为每个工作日参数创建联系。

在此处输入图像描述

我该怎么做才能使EN联系人仅连接到线路?

如果我尝试使用 EN/ENO 添加功能块,那么我不知道

1)我如何知道功能块内部EN是什么,HIGh或者我如何访问该变量?2) 我无法将线圈连接到我的Q输出。它只连接到ENO. 我如何控制状态ENO

但这还不是全部。我添加了时间和日期库

在此处输入图像描述

但我发现唯一能与时间一起工作的是RTCLK.GetDateAndTime功能块。而且我无法弄清楚如何使用它。

我的简单任务是仅获取当前时间和一周中的当前日期,如果启用了本周,并且当前时间在 input T1-make Q= HIGHelse的范围内LOW

有什么提示吗?

0 投票
2 回答
3807 浏览

plc - 结构化文本:功能和功能块(优点和缺点)

我来自计算机科学背景,习惯于传统的 IT 编程。我对结构化文本的经验相对较少。在我目前的项目中,我广泛使用了许多功能块。我知道这涉及一些内存问题等等。谁能上来给我一些他们每个人的优点和缺点。我应该避免它们并将所有内容都写在一个程序中吗?当我即将发布我的应用程序时,请提供实用提示。

系统:Codesys

0 投票
2 回答
68 浏览

c - 数据记录大小的估计

我有一个设备生成一些值,比如 N,每个值都有 32 位。我通过在 excel 文件中写入新行每 10 秒记录一次这些值。我将每天创建一个新文件。我必须估计将这些日志文件存储 10 年所需的硬盘存储容量。有人可以就每天生成的日志文件大小的计算提供任何提示吗?

0 投票
0 回答
62 浏览

c - 尽管已分配,但无法访问某些数组元素

我在 STM32F407VG 上编程并分配一个具有 513 个 uint8_t 的数组。

由于一些非常奇怪的原因 calloc 不适用于这么多的元素。因此我使用 malloc 并手动初始化。但是,当我初始化元素 400+ 时程序失败。

稍后我将添加不起作用的代码。

请注意,当我分配 1013 个元素时,我可以初始化所有 513 个元素,但是我可能无法初始化其他一些元素。

我将 coocox ide 与默认库和 gcc arm 编译器一起使用。

为什么我不能访问这些元素。我在运行时没有任何调试信息,但程序停止执行,我可以通过不亮的 LED 确认,尽管当我只初始化元素 0-400 时它们会亮起

0 投票
1 回答
399 浏览

timer - 您如何在 ST 中定义计时器的延迟时间?

我正在尝试在 ST 中编写一个程序,让用户定义 TON 计时器的 Bakelength 时间(以小时为单位)。

我目前有这个,但是当我编译代码时,程序会抛出一个“非法常量”错误。我将如何更改此语法?任何帮助将非常感激!!!

0 投票
1 回答
101 浏览

plc - How do you control the order of executing different blocks of ST code?

I have a process recipe with 8 steps, each of which I have defined in ST. The user should be able to however, select the order in which these 8 steps are executed. I'm trying to come up with flags or variables which could be used for this but drawing a blank so far. Does anyone have any thoughts on how this could be implemented?