您当前的位置 : 首 页 > 资讯动态 > 行业新闻

三菱MX Component与C连接应用说明

2021-04-14

三菱MX ComponentC#连接应用说明

一、MX Component组件安装

组件下载地址https://mitsubishielectric.yangben.cn/assets/detail/5b7ce314b2dcac27e0b97d0c

二、安装软件

image.png 

软件序列号:570-986818410

 

三、image.png安装完成后电脑显示图标


1-1图示

 

四、MX 连接PLC过程

双击1-1图示软件图标弹出

image.png 

点击上图红框内按钮添加所需连接PLC

image.png 

此处登陆站号为C# 或是C++等上位机语言连接库内所需调用站号用来让上位机可以区分使用的哪一个连接,注此处设置不是PLC本体站号。

输入站号,请不要与已有站号重复  单击[Next]


image.png 

选择PLC端端口,蓝色为示例为串口

image.pngimage.png 

 

选择上位机端使用串口(对应COM口),注上两图COM口为上位机与MX-COM需一致

单击 [NEXT]

 image.png

选择PLC端连接方式此处以CPU模块直连为例

image.png 

选择PLC   CPU型号,设置通讯波特率

image.png 

完成以上步聚 单击 [NEXT]

image.png 

选择PLC在你的线路上是属于从站,还是主站,如果是CPU模块上的串口请选择主站

单击 [next]

image.png 

此处注释可以填也可以不填写,单击完成,

image.png

至此我们已经完成MX 连接PLC的相关设置,下面我们测试连接

image.png 

选择Connection test 选项卡单击 [Test]

image.png 

如果反回为 Communication test is successful表示MX控制已与PLC成功连接,Result=0

至此我们的MX控件在电脑上的布置已完成。

五、C# 连接MX控制,通过MX控制操作PLC过程

   C#调用MX控件需要的引用库

image.png

引用文件位置,MX软件安装区

image.png 

C#采用Control文件内库文件

C++采用Include文件夹内文件,文件名与C#文件名称一致

使用命名空间

image.png 

创建C#连接MX对象

image.png 

添加对象连接站号即MX标示的站号

image.png  

此处站号必须一致

测试并打开连接

image.png 

Open函数返回值为零则已成功连接,若返回为其它值则连接失败

连接成功后我们就可以直接调用库里所对应的函数来读写PLC数据了

注只限于16进制与位读写如需读写32位数据请做相应数据转换

 

单写image.png

例:MY.SetDevice2("M1108", 1);返回为0时为写入成功,其它数值为失败写入失败

 

单读

image.png 

 

多读

image.png

多写

image.png

例:image.png;返回为0时为写入成功,其它数值为失败写入失败

 

 

C#转换文件如下

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

 

namespace WindowsFormsApplication2

{

    class DataC

{

        public void Dest16To32(short SourceB, short SourceA,out int dest)

        {

             //16位转32位

            //A代表低位,B代表高位

            dest = 0;

            dest = dest | (SourceB & 0x0000ffff);

            dest = (dest << 16) | (SourceA & 0x0000ffff);

        }

        public void Dest32To16(Int32 SourceNum, out short SourceH, out short SourceL)

        {

               //32分解双16位

            SourceH = Convert.ToInt16(SourceNum >> 16);

            SourceL = Convert.ToInt16((SourceNum << 16) >> 16);

        }

 

        public void int32tofloat(int i,out float x)

        {

//DINT32位转实数(浮点数)

            byte[] intBuff = BitConverter.GetBytes(i);     // 将 int 转换成字节数组

           // i = BitConverter.ToInt32(intBuff, 0);           // 从字节数组转换成 int

             x = BitConverter.ToSingle(intBuff, 0);       // 从字节数组转换成 float

        }

        public void floattoint32(float x,out Int32 i)

        {

//实数(浮点数)转32位DINT

            byte[] floatBuff = BitConverter.GetBytes(x);   // 将 Single 转换成字节数组

             // x = BitConverter.ToSingle(floatBuff, 0);       // 从字节数组转换成 float

            i = BitConverter.ToInt32(floatBuff, 0);           // 从字节数组转换成 int

        }

        }

}

库内可应用函数

image.png

C++ VB 等执行类似于C#

函数使用祥情请查阅

image.png 

image.png 

示例文档位置

image.png 


标签

最近浏览:

© 2024 深圳市海亿自动化设备有限公司 版权所有 [粤ICP备16011446号] 网站地图 | RSS | XML 技术支持:华企立方
  • 海亿自动化

    海亿自动化

  • 海亿技术

    海亿技术

  • 抖音账号

    抖音账号