我是PLC编程的新手,我不了解它的基本知识。
我的任务是用C#编写一个代码,该代码从/向其通信服务器OPC服务器(RSLINX)发送和接收标签,该标签将连接到客户端的PLC。我已经在C#中找到了OPC CLient代码,但找不到如何将其连接到OPC服务器,并且是否有任何可用的测试模拟可以提供我将从客户端PLC接收到的测试数据。我可以给您参考客户的要求。这就是客户在电子邮件中所说的。
我们当前未在系统中现场安装RSLinx副本。我们的PLC和HMI之间的通讯固有地内置在设备中,并使用安装在我们的编程笔记本电脑上的RSLinx Enterprise进行配置。当我们想使用相应的编程软件访问PLC或HMI时,也可以在笔记本电脑上使用RSLinx。
为了使您的系统能够进入我们的PLC数据表,需要在正在运行您的软件并且需要访问我们的PLC的计算机上安装和配置RSLinx Gateway软件。
我希望这是有道理的。
答案 0 :(得分:0)
您可以在此处从GitHub下载libplctag C类库,该库有助于连接和通信,以在AB PLC中读取/写入标签值:https://github.com/libplctag/libplctag,您可以观看一些youtube示例。 Mesta-Automation上有一篇不错的文章,介绍如何使用随附的视频来编译库,您可以在此处查看https://www.mesta-automation.com/how-to-communicate-to-an-allen-bradley-plc-with-c-and-libplctag-ethernet-ip-library/ 通过这种方法,您不需要RSLinx与控制器进行通信。
答案 1 :(得分:0)
首先,要与任何罗克韦尔PLC通信,必须至少具有RSLinx Classic。 RS Linx Enterprise或FactoryTalk Linx Enterprise(版本取决于您使用的FTV)将HMI客户端与PLC通信。 要启用OPC通信,您至少必须安装RSLinx Classic,它具有内置的OPC DA服务器。简而言之,RSLinx Classic所做的就是通过以太网/ IP(或其他通信协议)连接到PLC,并将数据桥接为OPC服务器,这可以从OPC客户端访问。
要设置通信,必须配置DDE / OPC主题并将其指向PLC控制器。该主题有一个名称,这对于交流很重要。 我已经做很久了,但是据我所记得,您在C#上设置了OPC客户端。重要提示:这里有一个定义的结构来获取数据。知识库中的罗克韦尔提供了VBA和Excel,甚至还有.Net的示例。
长话短说,要实现与PLC的通信并向C#应用程序获取数据,必须在系统上安装RSLinx Classis,设置DDE / OPC主题,C#应用程序必须启动与OPC的客户端连接RSLinx的服务器,然后设置读取或写入标签数据的方法。
如果您具有TechConnect有效用户,则可以搜索ID QA769以到达论坛主题:RSLinx Classic: Monitor Data in Excel using DDE。这不是针对C#的,但是,您可以在C#中获得更好的效果。
必须指出的事情:
希望我能帮助您。如果您需要更多信息或有更多问题,请告诉我。 祝你好运。