怎么把plc的数据写到excel,老周一步一步教你
作为自动化专业人员,你可能需要使用Excel电子表格中的工厂数据进行监视,控制或测试。此数据对于需要实时数据进行决策的管理人员,研究人员和其他部门人员也可能会有所帮助。我们将向你展示如何使用Microsoft Excel和动态数据交换( DDE)和Visual Basic for Applications(VBA)的通信来实现此目标以及更多内容。
将使用哪种软件?
我们将使用Microsoft Excel 通过RSLinx Classic 和Studio 5000 Logix Emulate 软件将数据写入Rockwell Automation Studio 5000 。
程序如何互连的总体框图如下所示。
什么是DDE?
让我们回顾一下什么是DDE?DDE是一种Windows机制,使应用程序可以相互通信。DDE通信被称为启动对话的客户端 和响应请求的服务器 之间的通讯。
要启动DDE对话,客户端需要指定以下三个项目:
Studio 5000 Logix设计器
Logix Designer示例程序
因此,让我们从上一个示例PLC程序开始。我们已经创建了一个称为RealPars_Excel 的Studio 5000 Logix Designer 程序。
REAL和DINT数组
在上一篇文章中,我们打开了Controller Tags文件夹,以创建两个名为DINT_array和REAL_array的标签数组。
因此,当我们在Excel中选择“读取”和“写入”操作时,便可以在Excel中看到这些值。我们将在REAL和DINT数组中设置值。
在DINT_array和REAL_array标签旁边,选择标签旁边的+号。
一旦选择了+号,标签数组将展开以显示该数组中的所有元素。
该DINT _阵列 和REAL_array ,他们每个人有10个元素
DINT 是整数类型值,而REAL 是浮点类型值。
现在,保存Studio 5000程序。
运行Studio 5000 Logix仿真软件
现在启动Studio 5000 Logix Emulate 软件。该仿真软件将在个人计算机上仿真虚拟的Rockwell Software PLC。
通过选择Windows“开始”菜单找到Studio 5000 Logix Emulate图标,然后键入Emulate 以从列表中查找Studio 5000 Logix Emulate软件应用程序。
设置仿真器模块
我们已经设置了仿真器,在插槽2中安装了Emulator 5570控制器 ,在插槽0和1中安装了RSLinx ,在插槽3中安装了1789-Sim 32点I / O模块 。
运行RSLinx Classic通讯软件
现在,让我们再次选择Windows“开始”按钮以启动RSLinx Classic通信软件。
选择Windows“开始”菜单按钮,然后键入RSLinx 以查找RSLinx Classic桌面应用程序。
从列表中选择RSLinx Classic应用程序。
RSLinx将启动。
Studio 5000 Logix Emulator的通信驱动程序需要配置。
选择“通讯” 菜单,然后选择“配置驱动程序” 。
在上一篇文章中,我们创建了一个名为RealPars_VBP-1 的虚拟驱动程序,它具有“运行” 状态。
现在,如果我们选择DDE / OPC 菜单,然后从下拉列表中选择“主题配置” ,则会看到我们在上一篇文章中创建的主题,称为RealParsExcel 。
好的,到目前为止,我们已经完成了RSLinx Classic 。
我们将Studio 5000 Logix Designer程序下载到虚拟PLC。
在Studio 5000 Logix Designer 软件中,从“通讯” 菜单中,选择“谁是活跃用户” 。
将显示Who Active窗口,其中显示所有已配置的驱动程序,在本例中为Realpars_VBP-1 驱动程序。
从列表中选择Studio 5000 Logix Emulate ,然后按Go Online 按钮。
将程序下载到模拟器
要将程序下载到仿真器 ,请在“已连接到联机” 窗口中,按“下载” 。
将显示下载警告弹出窗口;再次选择下载以开始下载过程。
下载后,进度条将完成为100%。
现在,返回Studio 5000 Logix Designer程序。
请注意,该控制器位于“远程程序”中,这意味着该控制器未运行。
将“远程程序” 状态更改为“远程运行” 。
选择“远程程序” 指示器旁边的图标,然后从列表中选择“运行模式” 。
出现一个配置窗口,询问确认将控制器置于“远程运行”状态,然后选择“是” 。
现在,让我们看一下之前添加的Controller标记DINT_array 和REAL_array ,并准备对其进行可视化监视,以了解Excel的读写 操作。
现在,我们准备为Excel中的READ和WRITE Control按钮设置DDE Poke VBA (应用程序的Visual Basic)脚本。
打开 Microsoft Excel项目
现在打开我们已经创建的Microsoft Excel项目。
你可以在此处下载此Excel文件。
从工作表1开始,我们将工作表重命名为READ WRITE PLC 。
我们将DE 列命名为READ ,将GH 列命名为WRITE, 以标识将在何处显示数据。
DE列将是READ Real和Integer数据,GH列将是WRITE Real和Integer数据。
请记住,我们的PLC变量数组已分配了10个元素(DINT_array [0]至[9]和REAL_array [0]至[9])。
在WRITE REAL CLX值G列中,我们输入了要写入PLC的浮点值,在WRITE INTEGER CLX值H列中,输入了要写入PLC的整数值。
VBA脚本
在接下来的几个步骤中,我们将使用VBA开发模式并使用VBA脚本执行写入操作。
为了将命令按钮对象放置在Excel工作表上,我们将进入开发人员模式。
创建表单控件按钮对象
为此,选择“开发人员” 选项卡,然后选择“设计模式” 按钮,这将使你可以将控制对象放置在图纸上。
这些控制对象实质上使我们 能够创建HMI(或人机界面)。
接下来,让我们选择“插入” 按钮。
此按钮为我的Excel工作表提供了各种控件。
从菜单中按“插入”按钮将显示“表单控件”下拉菜单。从此下拉菜单选择中,选择“表单控件-按钮” 对象。
选择命令按钮后,在GH 列下的数据下方绘制一个矩形。
将出现“分配宏” 窗口,选择“新建”按钮以创建一个新按钮。
现在,将出现新按钮。让我们给按钮起一个新的名字。
右键点击按钮,然后选择编辑文本 。然后输入WRITE CLX ARRAYS 作为新名称。
完成后,将显示Write CLX Arrays 按钮,并输入新名称。
Visual Basics for Applications(VBA)窗口
好的,这就是乐趣的开始。
右键单击WRITE CLX Arrays 按钮,将在命令按钮周围显示把手。
在Excel Developer 菜单区域中,选择“查看代码” 项。
将出现“ Visual Basics for Applications” 窗口。
VBA RSLinx连接
为了简化本文,我们将编写将执行大部分VBA RSLinx连接的VBA代码,并将操作写入PLC,并部分解释VBA代码。
在“模块” 文件夹下,双击“模块1” ,然后编写RSLinx“打开并连接” 代码。
DDE戳写命令脚本
接下来,我们将在WRITE CLX ARRAYS按钮事件区域中编写DDE Poke Write Command脚本。
此WRITE CLX Button事件的脚本是CLICK,它执行到RSLinx的连接以及通过RSLinx DDE与PLC的通信,最后,当单击按钮时,DDE Poke功能用于执行实际的写命令。
脚本rslinx = OpenRSlinx() 将使用DDE打开与RSLINX的连接。
的FOR / NEXT 循环 通过每个使用FOR NEXT指令,并且如果存在一个错误显示错误消息框中的Excel单元的脚本将循环。
两条DDEPoke rslinx 指令将获取数据并将数据写入PLC。
第一个将在G列的3 + i行中获取REAL数据,并将浮点数据写入PLC。 在此循环中,I = 0到9,数字7代表G列。
第二个将在H列的3 + i行中获取INTEGER数据,并将整数数据写入PLC。 在此循环中,i = 0到9,数字8代表H列。
指令 DDETerminate rslinx 将终止RSLINX连接
让我们测试“写入CLX阵列”按钮。
通过PLC在线,我们可以在Studio Logix Designer控制器标签窗口中将所有值都设置为零。
现在,返回到Excel Write Command按钮。
然后,左键单击命令按钮。该操作将在按钮后面运行脚本,并将值写入PLC。
现在,让我们返回Studio 5000 PLC程序。
现在,DINT和REAL数组标记中提供了G列和H列中的Excel值。几乎像魔术。
VBA可以非常强大并且可以执行许多操作。
DDE请求命令脚本
我们执行了与“写入CLX数组”命令按钮相同的操作,以创建“读取CLX数组”命令按钮。
右键单击READ CLX ARRAY命令按钮后,从“开发人员”选项卡中选择视图代码。
在READ命令按钮事件下编写代码。
与DDE Poke命令类似,我们将使用DDE Request方法从RSLinx DDE主题读取数据。
返回到Excel电子表格。
左键单击READ CLX ARRAY按钮。该脚本将执行并从PLC控制器变量中读取值。
在博途中,如何把程序块连同PLC变量及PLC数据类型从CPU 上载到PC
要将CPU内的软件上载到编程设备,需要新建一个项目并添加一个非指定CPU。
说明
必须先建立到设备的在线连接,才能将CPU内的项目数据上载到编程设备。下面是一个从S7-1500 CPU上载的例子:
新建一个Step7项目,用 "Add new device" 功能添加一个CPU模块,在本例中添加一个 "unspecified CPU 1500",模块的订货号为6ES75XX-XXXXX-XXXX。 注意: 组态时不需要考虑 "unspecified CPU 1500"的在线及离线的固件版本。模块在组态中未具体定义,可以在CPU下面的窗口中看到相关信息,之后点击“detect”按钮图. 1
3.在 "Hardware Recognition for PLC_1"对话框中,选择PG/PC接口,点击 "Start search"按钮 。
4.搜索后会显示出在线CPU的设备类型、IP地址和MAC地址,点击"Recognize"按钮,离线组态会以在线组态进行自动匹配。
5.在工具栏中单击"Go online" 按钮,在打开的"Go online" 对话框中单击"Start search"按钮。
6.系统将检查该兼容设备的可访问性。这可能需要花费一些时间,设备被确认后 "Select target device:" 窗口就会显示出其IP地址,点击“GoOnline”按钮建立在线连
图. 2
7.当在线连接建立后,在项目树中该站点上点击右键, 在下拉框中选择"Upload from device (software)" 。
图. 3
8.弹出的对话框提示,离线项目会被删除并被在线项目取代,在"Continue"前打勾以使能该功能,并点击 "Upload from device"按钮。新的项目数据会从CPU上传至新建的项目中
图. 4
9.在工具栏点击 "Disconnect online connection"按钮。
10.保存并编译项目。
现在该Step7 (TIA Portal)项目包含Program Blocks"文件夹的完整内容,其中包含PLC变量、PLC数据类型、工艺对象和来自在线CPU的其他文件夹。已成功传输块(FBs、FCs、DBs和OBs)的消息将显示在inspector窗口中。
相关问答
plc程序怎么导出到plc?
plc程序导出的方法1、在编程软件STEP7V5.5中打开想要导出的块,可以是FB、FC、DB等。例如:用户需要导出FC1,则双击FC1,打开此功能。2、在打开的FC1界面的菜...
如何导出plc程序?
PLC(可编程逻辑控制器)的程序导出方法取决于使用的具体PLC品牌和型号,以及所使用的编程软件。以下是一般的步骤,可供参考:1.打开PLC编程软件:启动你所使...
汇川plc程序源代码如何导出?
汇川PLC程序源代码的导出步骤可能因具体型号和软件版本而有所不同,以下是一般步骤:连接PLC:使用汇川PLC编程软件,通过串口或以太网等方式连接PLC。选择导出功...
施耐德m340plc程序如何导出完整?
施耐德M340PLC程序可以通过以下步骤导出完整:1.打开施耐德PLC编程软件(如UnityPro)并连接到M340PLC。2.在软件中打开您要导出的程序项目。3.在软件界面...
施耐德plc变量怎么导出?
1.可以通过导出功能来导出施耐德PLC变量。2.导出施耐德PLC变量的原因是为了备份或迁移PLC程序,或者与其他系统进行数据交换。通过导出功能,可以将PLC变量以...
怎么把PLC里面的项目传到电脑上来?
要把PLC里面的项目传到电脑上,需要使用PLC编程软件和相应的连接线。具体步骤如下:1.连接PLC和电脑。使用PLC编程软件提供的连接线,将PLC和电脑连接起来。2...
如何从三菱plcfx3u导出程序?
要从三菱PLCFX3U导出程序,您可以按照以下步骤进行操作:1.连接到PLC:使用适当的编程线缆将PLC与计算机连接起来(例如串行或USB线缆)。2.打开编程软件:打...
三菱PLC怎样把程序传到电脑?
1、通过软件将PLC程序上传到电脑中2、由于PLC程序是保存在PLC本身的存储器中的,如果要将程序传到电脑中,则必须使用PLC软件,然后通过数据线或通讯模块将PLC与...
三菱Fx5uplc注释怎么导入和导出?
三菱FX5UPLC注释的导入和导出方法如下:注释的导入。打开三菱PLC编程软件,选择要导入注释的项目或程序。在软件的菜单栏中,找到"注释"选项,选择"导入注释&qu...
三菱plc导出的csv文件怎么转格式?
如果每行数据中都是用逗号分隔的,直接把文件名后缀txt改成csv就行了。不是的话可以把打开txt文件吧全部内容复制后,打开一个excel空白表,在最左上角格内粘贴...