三菱PLC连接的那些事-寄存器读、写

前一篇讲过,如何利用Mx Componet组件与三菱PLC连接,下一个问题就涉及到读写,你跑不掉的

有了官方组件,直接调用不就行了,对不对?对不对?

对!!!!

前提是不踩坑

首先,有这个方法GetDevice(string szDevice, out int lplData),第一个是寄存器地址,傻瓜式调用,总之就是很方便有木有?有木有?

但是这个方法一次只能读取一个寄存器

没事,问题不大,我还有ReadDeviceBlock(string szDevice, int lSize, out int lplData)

手册里面的描述是

 软元件的批量读取-从通过 szDevice(varDevice) 指定的软元件开始,将 lSize(varSize) 容量的软元件值作为 SHORT 型的数据进 行批量读取。 · 读取的软元件值将被存储到 iData(lpsData 或 lpvarData) 中。 · 对于 iData(lpsData 或 lpvarData),应预留出 lSize(varSize) 容量以上的数组

在 lSize(varSize) 中可指定的最大读取点数为满足下述条件的范围。 读取开始软元件编号 + 读取点数≤最终软元件编号
指定位软元件时,对软元件编号可以以 16 的倍数进行指定。
对于 iData(lpsData 或 lpvarData),应预留出相当于 lSize(varSize) 中指定点数的存储器区域。 没有存储器区域的情况下,有可能会发生应用程序出错等严重现象

手册里面有VB\VC\C++\VBS\VBA的范例,偏偏没有C#的,讲道理我只看了个半懂,就只能自己尝试
int  = -1;
int resCode = PlcConnObj.ReadDeviceBlock(“SD210”, 16, out readData);

乍一看没问题,仔细想想,不对劲

我是批量读取,那么输出参数应该是一个集合,不该是一个int啊?

运行程序,结果也证明了,读出来的只有一个值,不科学?啊呸!科学?毛毛?!

总之一番纠结过后,做了个尝试
int[] resData = new int[16];
int resCode = PlcConnObj.ReadDeviceBlock(“SD210”, 16, out resData[0]);

注意最后一个参数

运行程序,数值都填充在数组里面了

没错,就酱

想想还真是有点坑,因为根据程序集里面的封装,第一反应是传入一个int型而非数组,很难想到会用这样的方式去传递

有些东西,不去尝试,永远不知道结果

就酱,掰掰

 

 

 

 

 

  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: PC三菱PLC寄存器的方法有多种,其中一种常用的方法是通过使用Q系列控制器的CSDN(Computer Serial Data Network)功能。 CSDN是一种用于实现PLC与上位机之间数据通信的通信协议。通过CSDN,PC可以读取入Q系列PLC寄存器。 首先,需要在PC上安装适配CSDN通信的软件,如GX Developer或GX Works2。然后,在软件中配置CSDN通信模块的通信参数,包括PLC的IP地址和端口号。 在进行读取入操作之前,需要先建立与PLC连接。通过指定PLC的IP地址和端口号,PC可以与PLC建立一个网络连接。 一旦连接建立好,PC可以发送指令给PLC读取PLC寄存器读取寄存器时,PC发送读取指令给PLC,并等待PLC返回寄存器中的值。寄存器时,PC发送入指令和要入的值给PLC。 通过CSDN,PC可以读取入Q系列PLC的各种寄存器,包括输入寄存器(X),输出寄存器(Y),中间寄存器(D),和数据寄存器(W)等。可以根据需要不同的寄存器,实现与PLC的数据交换和控制。 需要注意的是,使用CSDN进行PC与PLC的通信需要确保网络连接的稳定性和安全性,同时保证PLC和PC在同一个局域网中,以便进行通信。 总之,通过使用Q系列PLC的CSDN功能,PC可以方便地读取PLC寄存器,实现与PLC的数据交换和控制。 ### 回答2: PC三菱PLC寄存器(Q系列)可以通过使用CSDN上提供的相关资料和代码进行实现。 首先,我们需要通过CSDN搜索关于PC和三菱PLC寄存器(Q系列)通信的相关文章和教程。CSDN作为一个面向中国软件开发者的专业社区,提供了大量的技术资料和高质量的编程代码,能够为我们解决这个问题提供宝贵的参考。 在搜索到相关资料后,我们可以学习并理解如何使用PC与三菱PLC进行通信。通常,实现这一目标的方法之一是使用基于TCP/IP协议的以太网通信方式,通过以太网连接PC和PLC,并使用相应的通信库或软件来实现寄存器的功能。 根据CSDN上的教程和示例代码,我们可以学习如何正确地配置网络设置和通信参数,并使用合适的编程语言(例如C#、VB.NET、Python等)编相应的程序,以实现PC与PLC之间的数据交互。在程序中,我们可以调用相应的API函数或类来读取PLC寄存器的值。 例如,对于Q系列PLC,我们可以使用MELSEC-Q系列的通信模块,如QJ71E71或者QJ71E71-100,或者使用GX Works2/GX Works3软件来进行网络配置和通信实现。 通过阅CSDN上的相关文章,并运用所学知识,我们可以编一个简单的程序,以读取PLC寄存器中的数据并将其显示在PC上。同样地,我们也可以编程序来实现将PC上的数据PLC寄存器的功能。 总之,通过利用CSDN上提供的丰富的技术资源,以及灵活运用所学知识和编程技巧,我们可以成功实现PC三菱PLC寄存器(Q系列)的功能。 ### 回答3: PC三菱PLC寄存器是指通过PC(个人电脑)与三菱PLC(可编程逻辑控制器)之间进行通信,并对PLC中的寄存器进行读取入操作。Q系列是三菱PLC的一个型号系列,通过CSDN(CSDN是一个IT技术社区,为开发者提供博客、论坛等平台)可以获取相关的信息和技术支持。 在进行PC与三菱PLC之间的通信时,我们首先需要确保PC与PLC能够通过网络或者串口进行连接。然后,我们可以使用相应的编程语言或者软件来实现对PLC寄存器操作。 对于Q系列的PLC,我们可以在CSDN上查找相关的开发文档和代码示例,以了解如何与Q系列PLC进行通信,并对其寄存器进行操作。CSDN上有许多IT技术专家分享的文章和经验,可以帮助我们理解PLC通信的原理、方法和技巧。 通过PC三菱PLC寄存器,我们可以实现对PLC的监控和控制。比如,可以读取PLC中的传感器数据,进行数据分析和处理,然后根据结果控制PLC的输出信号。这在工业自动化和控制系统中具有重要的应用价值。 综上所述,PC三菱PLC寄存器是通过PC与三菱PLC之间进行通信,对PLC寄存器进行读取入操作。Q系列是三菱PLC的一个型号系列,在CSDN上可以获取相关的信息和技术支持。这项技术在工业自动化和控制系统中具有重要的应用价值。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值