问题标签 [s7-1200]
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.
python - S7-1200, Snap7: Exception: CLI : function refused by CPU (Unknown error)
Running below snap7 client script for python using Siemens S7-1200 PLC shows the below common CLI refusal error. What is here the common problem and how to solve it?
Script:
Traceback error:
No handlers could be found for logger "snap7.common" Traceback (most recent call last): File "", line 1, in File "/usr/local/lib/python2.7/dist-packages/snap7/client.py", line 242, in read_area check_error(result, context="client") File "/usr/local/lib/python2.7/dist-packages/snap7/common.py", line 69, in check_error raise Snap7Exception(error) snap7.snap7exceptions.Snap7Exception: CLI : function refused by CPU (Unknown error)
plc - PLC S7-1200 CPU 1211C Run/Stop LED 一直亮着
我的 PLC s7-1200 CPU 1211C 出现问题,在我连接到 24VDC LED 状态后,仅打开运行/停止 LED,但呈橙色,而不是绿色,我的 PLC 是新的,我不知道如何修复它.
注意:我使用的是 TIA Portal V14,它也无法识别我的 PLC。
c# - unity3d 中的套接字有问题
制作了一个与 python 脚本通信的 Hololens 应用程序。python脚本以JSON的形式将PLC(Siemens S7-1200)变量发送到hololens。C# 脚本处理 JSON。在脚本从 plc 读取数据的同时,也可以使用 C# 脚本中的 sendMessage 方法来控制变量。我已经制作了一个单独的 python 脚本来控制 plc,这个我不会分享。
我的 Unity3d C# 脚本:
这是我的python服务器代码:
这是读取脚本(p.opcjson() 中的那个):
更新1:应用DoctorPangloss的建议,虽然我让它工作,但它仍然没有按照我想要的方式工作。我目前的情况:我启动我的Unity3d应用程序,然后我启动我的python应用程序,unity接收数据,我关闭python脚本并重新启动它,我只接收一次数据,然后挂起。
更新2:删除了这个问题,将把它留给那些可以使用它的人。这不包括控制脚本,您必须自己制作。
javascript - 是否可以将图像动态加载到 plc s7-1200?
我有以下情况:我有一个每 5 秒拍摄一张照片并将最后 5 张照片保存在图像文件夹中的凸轮,以及一个带有 JS 的 html 页面,该页面在将这些图像加载到页面中后处理这些图像的颜色,并且通过ajax将结果发送到PLC。
问题是当我直接从浏览器执行程序时,它运行良好。但是当我尝试从 PLC 运行它时,所有代码都必须转换为块,这似乎也包括图像。如果我打开程序的所有内容(包括图像)它也运行良好,但图像不会像在浏览器中那样实时更新。如果我只将 .html 变成块而不是图像,那么程序根本无法加载图像并且它什么也不做。
是否有一个库可以直接将 .jpg 图像实时加载到 plc 或将 .jpg 图像实时转换为块?如果这不可能,我应该建立一个本地服务器并在那里进行处理,然后通过 ajax 调用它吗?
非常感谢。
plc - Metasploit 模块 NoMethodError 未定义方法 'get_once' 用于 nil:NilClass
我正在运行一些 Metasploit 模块来利用西门子 S7-300/400 和 S7-1200 PLC,它们是由 Dillion Beresford 在 2011 年的 Blackhat 演讲中创建的。
这些模块没有随 Metasploit 提供,但已添加到辅助/管理员/scada/ 目录中。这是模块的链接https://github.com/moki-ics/s7-metasploit-modules
这些模块在 Metasploit 中正确显示并且可以配置,但是当它们运行时会出现许多错误。
屏幕截图中显示的模块是 simatic_s7_1200_command.rb
错误是:
thread_manager.rb:100:in 'block in spawn'
rb:111:in '运行中的块(2 级)'
NoMethodError 未定义方法 'get_once' 用于 nil:NilClass
我怀疑我遇到的问题是由于与 Metasploit 一起使用的 Ruby 版本与模块不兼容。
我已经在 Mac OSx 上运行的 Metasploit 中运行了模块,在 VM 上运行的 Kali 上的 Metasploit 和在 Raspberry Pi 上的 Kali 上运行的 Metasploit 都得到了相同的结果。
我测试过的 Metasploit 版本:
Kali Raspberrypi Metasploit 框架:5.0.0-dev-0e3b8a2253 控制台:5.0.0-dev-0e3b8a2253
Mac OSx Metasploit 框架:4.17.3-dev-771462f765226974b2298e0fafd804f4523f75d7 控制台:4.17.3-dev-771462f765226974b2298e0fafd804f4523f75d7
Kali VM Metasploit 框架:4.16.17-dev 控制台:4.16.17-dev
非常感谢any1可以在这个1上给我的任何帮助!
wget - 使用 WGET 从 PLC 检索信息 - 错误 400 错误请求
我正在尝试使用 wget 程序从我的 Siemens S7-1200 PLC 中检索和保存数据列表。使用我编写的批处理文件,我能够深入了解我的 wget.exe 文件的文件夹路径。运行 wget 可执行文件后,我收到了附加屏幕截图中的错误消息,标记为“命令提示符屏幕截图”。
命令提示符显示我已经“连接”并且我知道用户名和密码是正确的,因为我可以使用我的网络浏览器登录到 PLC。正是由于这些原因,我对问题所在感到困惑。
有没有人见过这个或者任何人都可以指出我正确的方向?
python - 从 Raspberry Pi(python 程序)写入 S7-1200 plc
我想请求您帮助将以下变量(字符串)从 Raspberry Pi(python 程序)写入CPU S7-1200
. 我已经编译并安装Snap7 python
了。编写变量需要做哪些更改(pc, prob,Xi, Yi,, Xx, Yx, Xmi,Ymi)
Python代码如下:
这些变量 (pc, prob,Xi, Yi,, Xx, Yx, Xmi,Ymi)
从我的实际程序中不断更新。
python-3.x - Snap7-python Windows 7 64 位
我尝试安装 snap7 与 s7-1200 通信。我下载了最新的软件包 (1.4.1) 我找不到为 64 位 Windows 操作系统指定的 dll。我使用 pip3 命令安装它,一切都很好。
我用 PyQt5 和 snap7 库编写了这个简单的代码:
当我添加 plc = c.Client() 和另一个包含“plc”的片段时,我收到此错误:Traceback(最近一次通话最后一次):
您有任何解决方案或方法来消除这种情况吗?我无法理解我错过的一个或多个点。
问候。
azure - Azure 云到设备遥测
你好亲爱的社区
您能帮我们解决以下问题吗:
我们正在做一个“D2C 遥测和 C2D”项目并使用 MQQT 协议。我们能够通过 IBHLINK OPC 服务器(基于 mqtt 的消息)将数据从设备 PLC S7 传输到我们的 IoT 中心,并通过 StreamAnalysys 在 Power Bi 上对其进行可视化。
现在我们需要处理数据并将其发送回设备。应将初始标签推送到公式中,然后需要将在线结果返回“工厂”。我们正在考虑以下方法:
设置“服务总线”或连接到 IotHub 的事件中心-分别创建队列或“存储”,然后指定由......触发的“功能”......可能是:新的事件中心事件,新队列消息,新服务总线消息/主题。
什么是最简单的解决方案?你见过合适的例子吗?我们是否可以在函数内部进行计算并直接将其转发回去,或者我们需要特定的资源?
要从 Azure 端控制设备(PLC Siemens S7 1200 ),我们需要替代方法吗?例如,通过向 OPC 服务器发送特定的布尔值来重新启动或关闭 PLC。我听说过“直接法”。您也可以提供任何想法或示例吗?
先感谢您
此致
cloud - 在 s7-1200 PLC 和 MS Azure 之间建立通信的方法
我们是一组学生,他们将在 S7-1200 PLC 和云(可能是 MS Azure)之间建立通信,以上传测量数据(例如温度、压力)。
可以通过哪些方式实现这一点,以及为此推荐哪些通信协议?
我们不想使用第二个设备,例如 Rasperry Pi 或 Simatic IoT2000...