连接指南在这里。我跟踪指南并做了很多事情。PLC和SQL服务器连接正常,我已经成功登录SQL。
我可以insert到表update,并执行store procedures。
但是当我运行select查询时,我不知道如何检索数据和读取值。
我使用 TIA PORTAL v16。
PLC:S7 1200西门子
我有一个简单的表,我想简单地读取一个整数,首先是一行!然后扩展我的工作。
这是我的表结构:
CREATE TABLE MyTable(
[id] [int] IDENTITY(1,1) NOT NULL,
[value] [int] NOT NULL,
)
) ON [PRIMARY]
Run Code Online (Sandbox Code Playgroud)
这是我的select查询:
SELECT [value]
FROM [dbo].[MyTable]
WHERE id = 12033
Run Code Online (Sandbox Code Playgroud)
预期结果:
20
Run Code Online (Sandbox Code Playgroud)
我回答了我自己的问题,请注意,西门子最近 (11/20/2020) 发布了直接将 S7-* 系列连接到 Microsoft SQL Server 数据库的文档。所以经过验证的 anwser 是将 PLC 连接到 SQL Server 的经典和正常方式,下一个答案是最新的本机解决方案。玩得开心
使用西门子 S7-1200 PLC 在 python 的 snap7 客户端脚本下运行显示以下常见的 CLI 拒绝错误。这里的常见问题是什么以及如何解决?
脚本:
import snap7
from snap7.util import *
import struct
import snap7.client
from snap7.snap7types import S7AreaDB
plc=snap7.client.Client()
plc.connect('192.168.0.69',0,1)
area = 0x84
start = 0
length = 1
bit = 0
byte= plc.read_area(area,0,start,length)
Run Code Online (Sandbox Code Playgroud)
追溯错误:
找不到记录器“snap7.common”回溯(最近一次调用最后一次)的处理程序:文件“”,第 1 行,文件“/usr/local/lib/python2.7/dist-packages/snap7/client.py ",第 242 行,在 read_area check_error(result, context="client") 文件“/usr/local/lib/python2.7/dist-packages/snap7/common.py”,第 69 行,在 check_error 中引发 Snap7Exception(错误) snap7.snap7exceptions.Snap7Exception: CLI : 函数被 CPU 拒绝(未知错误)
我想创建一个工业自动化应用程序来执行以下功能:
我是工业自动化行业和物联网的新手,我知道我们有 OPC UA 来救援。
我浏览了许多网站和 YouTube 视频来了解 OPC UA 及其前身(OPC DA、OPC A&E、OPC HDA)。我已经安装了 matrikon OPC 服务器和资源管理器(客户端)来探索更多。
假设我想从SIMATIC S7-1200 PLC读取信号,根据我的理解,OPC UA服务器是随PLC一起提供的,用于将OPC UA信息转换为Profinet信息。
所以,我的问题是:
如果有人分享一些资源,将不胜感激!