问题标签 [industrial]
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.
authentication - 创建工业应用程序(本机/Web)的注意事项
创建旨在用于公司工业厂房环境的 Web 应用程序时,需要考虑哪些事项?我的具体用例是一个工业设施,有几个不同的生产工厂,每个工厂都有自己的应用程序接口设备。
- 公司如何强制在显示器/平板电脑上使用此类应用程序?例如,我可以阻止他们在平板电脑上使用其他东西吗?
- 重要的是,安全性如何运作?他们会共享一个设备。可能有多个操作员在给定的班次中使用该应用程序。他们是否都使用相同的身份验证会话(这不是可取的,因为我想唯一标识活动用户)?显然,我可以将标准用户名/密码与过期的基于令牌的会话一起使用,但是,这留下了很多帐户劫持的可能性。理想情况下,他们能够非常快速地登录(也许是 PIN 码?),他们的会话将在完成后结束。
- 只要有互联网连接,我认为在使用本机应用程序与基于 Web 或渐进式 Web 应用程序方面没有太多的利弊。这个假设正确吗?
- 识别正在运行应用程序的设备的最佳方法是什么?
- 这是普遍的做法吗?还有哪些其他技术用于创建从工业运营商那里获得输入的软件?
--
更新- 这是对手头问题的一个很好的更高层次的考虑,但是,很明显为什么有针对性的具体问题是有帮助的。因此,我将跟进具体的问题。
authentication - 工业环境中 Web 应用身份验证的最佳实践
我正在创建一个用于重工业环境的 Web 应用程序。希望操作员能够使用中央平板电脑或计算机作为应用程序的接口,以便多个操作员在给定的工作班次期间共享一个设备。大量关于标准个人设备的信息,但没有共享工业设置。
问题- Web 应用程序安全/身份验证的最佳方式是什么?有哪些不同的选择?
- 他们是否都使用相同的身份验证会话(这不是可取的,因为我想唯一标识活动用户)?
- 显然,我可以将标准用户名/密码与过期的基于令牌的会话一起使用,但是,这留下了很多帐户劫持的可能性。
- 理想情况下,他们能够非常快速地登录(也许是 PIN 码?),他们的会话将在完成后结束。
azure - Azure 工业物联网平台 Web 应用需要访问组织中只有管理员才能授予的资源的权限
我正在尝试使用 deploy.ps1 部署平台,它似乎可以工作,但我无法登录到工程工具 Web 应用程序。我收到以下消息:
my-test-iiot 需要访问组织中只有管理员才能授予的资源的权限。请先让管理员授予此应用程序的权限,然后才能使用它。
我该怎么办?
sql-server - SQL Server 优化
我的应用程序(工业自动化)在 Dell T330 服务器上使用 SQL Server 2017 Standard Edition,具有以下配置:
- 至强 E3-1200 v6
- 16GB DDR4 UDIMM
- 2 x 2tb HD 7200RPM (Raid 1)
在这家银行,我保存以下表格:
--
--
--
--
笔记:
当我生成报告/图表时,我的应用程序将包含在缓冲区中。因为系统不能同时接入和查阅。因为查询加载良好。
A列,它们是电流、温度、液位等的值。这个信息记录了一年。
问题
使用这种级别的处理,我会遇到任何性能问题吗?
由于需求量大,我是否需要更好的硬件?
我的应用程序会因硬件而在某些时候中断吗?
python - 重叠矩形的交点
我是一名工业工程师,所以你知道我的编码不是那么好,这就是我需要你帮助的原因。我的问题是我需要首先知道两个矩形之间的相交区域,以便检查是否发生重叠,这必须对 6 个矩形进行,我需要检查它们是否重叠。我的第二个问题是我在一个有明确边界的大型仓库内有 6 个矩形,我想最大化利用面积。我该如何编写代码来做到这一点。我使用了在线的波纹管代码,但我不知道如何使用它来检查 6 个矩形。
version-control - 结构化文本文件的版本控制(*.ST、*.POE、*.bak)
我想用我的结构化文本项目(我使用 infoteam openpcs)对工业应用程序进行版本控制。问题是每次我修改 *.ST 文件时,我也会在 *.POE 和 *.bak 对应文件中得到更改。有什么好方法可以对此类文件进行版本控制吗?对我来说,跟踪版本更改非常烦人,因为每次我只修改一个 *.ST 文件时,我在 *.POE 和 *.bak 中也会得到相同的更改。问题是我还想将其链接到 redmine 或 TortoiseSVN,并且只查看和/或恢复 *.ST 文件中的更改。可能吗?。
python - 以太网/IP 设备:能够使用 CPPO 读取属性,但不能写入
我正在构建一个 Python 脚本来与 EtherNet/IP 设备(Graco PD2K 喷涂系统)进行通信。供应商提供的唯一文档是如何将 Allen Bradley PLC 配置为客户端以与设备通信。
使用以下代码,我可以读取 Assembly Instance 100 处的属性数组:
...这导致接收回预期的数组:
(39 x 32 位整数)
尝试写入程序集实例 150 的属性时,我True
从控制器收到回信,但控制器没有更新参数。它需要 25 x 32 位整数数组:
上面的输出是:
如果我向数组中添加一个整数(或减去,或尝试设置 @4/150/3 以外的值,我会返回None
,所以很明显我已经接近格式并且命令正在通过。
我已经多次联系供应商,他们坚持认为这是 Python 的问题(或者,更具体地说,他们不支持 Python 并建议与 PLC 集成)。
我想知道程序集实例 1 的“配置”参数是否是问题(见上图)。我尝试了以下代码的多个版本来尝试编写该参数。由于不完全了解 EtherNet/IP 协议,我什至不确定该特定实例的作用——但是,它是 Allen-Bradley 配置中的一个参数表明它在这种情况下很重要。
代码尝试:
我曾尝试使用 Molex EnIP 实用程序以及 SourceForge 上的类似工具将 Python 排除在外,但结果相似。我也尝试过 PyComm3 模块,但我什至无法让它返回 Id 信息。我也尝试过使用-vvv
CPPO 命令行工具:
python -m cpppo.server.enip.get_attribute -a 192.168.10.5 '@4/150/3=(DINT)4, 1, 0, 0, 1, 0, 0, 0, 1, 0, 10, 10, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0' -vv -S
结果(以及我认为不相关的更多输出):
同样,请求的结果是True
,但控制器不更新任何参数。
我不确定接下来要尝试什么...
python - 使用 CPPO 读取具有已知对象类、程序集实例、属性 ID 的以太网/IP 设备
从工业以太网/IP 康耐视条码扫描仪中获取基本信息时遇到了一些麻烦。
根据 Cognex 文档“DataMan ID 读取器对象(类代码:0x79)” 输入程序集实例 = 11 然后显示此对象的表,字节 14~15 = 结果数据长度,为 16 位整数。
我得到了产品名称、供应商编号,但无法让它返回任何结果数据长度。文档中的另一个表说明了相同数据的属性 ID 0X17 和类型 UNIT。所以我尝试了 ('@0x79/11/0x17','UNIT') 但也返回了 'None'。
我将不胜感激任何想法。
AttributeID 表
图片 Input Assembly 图片
https://github.com/pjkundert/cpppo
r - R程序中带有回归分析的需求
我有一个仅包含 12 个元素的数据框。
32072,12062,47063,23237,32993,48605, 28670, 34622, 38168, 29813, 42659, 36072
我想用这些元素做一些预测。我是新的 R 用户。我搜索了很多,但我没有找到如何使用回归分析进行预测。非常感谢。