VS2022 使用MX Component读取三菱PLC32位数据测试

一、测试前准备

1、VS软件

我这边下载的是最新的2022的版本,如果你是其他的版本测试过程也是差不多的,这里使用C#进行测试。

2、三菱软件

三菱 GX WORKS2 编程软件,版本不限

3、MX Component

具体配置可以看之前的设置过程

Proface触摸屏与三菱PLC软件仿真(或连接实体PLC)

二、测试过程

MX Component下载以后在它的示例项目中是有读取16位数据的C#程序的,但是读取32位的数据并没有提及,网上找了一些方法也感觉比较繁琐,这里有一个比较简便的方法可以试一下。

1、MX Component示例项目路径

右击你的Communication Setup Utility,找到文件所在的路径,然后返回
……\MELSOFT\ACT\Samples
一般都是在这个Samples文件夹里面,你可以找到自己擅长的编程语言示例,这里我打开的是Vcs.NET里的示例项目

打开后直接F5就可以运行测试
在这里插入图片描述
具体测试过程我就不赘述了,网上有很多。

2、创建测试项目

我们这里使用VS2022新建一个windows窗体应用
在这里插入图片描述
界面上放一个textBox用于显示数据
再放一个button用于触发读取数据事件

在这里插入图片描述
引用一下act文件
在这里插入图片描述

3、代码编写

打开连接什么的可以参考示例项目,或者网上有好多案例
关键的按钮触发事件代码如下,通过点击按钮,读取D410的数据:

 private void button1_Click(object sender, EventArgs e)
        {
            short[] MX = new short[2];
            int iReturnCode = axActUtlType.ReadDeviceBlock2("D410", 2, out MX[0]);
            byte[] L = System.BitConverter.GetBytes(MX[0]);
            byte[] H = System.BitConverter.GetBytes(MX[1]);
            byte[] f = new byte[H.Length + L.Length];
            Buffer.BlockCopy(L, 0, f, 0, L.Length);
            Buffer.BlockCopy(H, 0, f, L.Length, H.Length);
            //float FF = BitConverter.ToSingle(f, 0);      //转换成浮点数
            int FF = BitConverter.ToInt32(f, 0);          //转换成32位Int型
            textBox1.Text =  FF.ToString();

        }

可以最终显示浮点数,或者是32位Int型
主要就是通过把高低字拼接到一起,最终整合转换类型显示就可以了
如果需要多次调用可以写成一个类,这样就很方便了,这里只是测试一下

三、测试结果

读取32位整数
在这里插入图片描述
读取浮点数
由于PLC里面的有效位数是7位,所以PLC里显示的最后以为可能不一样,只要把我们的VS上的有效数位设置成一样的就完全一样了
在这里插入图片描述

如果有更好的方法,欢迎一起分享讨论
Ending~

  • 2
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Allen_PandaDD

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值