01
前言
众所周知,在工控自动化领域,西门子、三菱、欧姆龙是应用最广泛的PLC品牌之一。
然而,对于很多PLC工程师来说,PLC与PC之间的通信一直是一个相对比较困难的话题。
今天,主要分享一下如何基于三菱官方提供的MX Component,实现PC与三菱各个系列PLC之间的通信,由于MX Component支持的通信方式和PLC类型较多,这里以三菱FX3U以太网通信为例,FX3U默认不支持以太网通信,需要增加以太网模块FX3U-ENET-ADP。
02
MX组件
1、三菱的MX组件是三菱官方提供的通信软件包,专门用于PC与三菱PLC之间进行通信的一款通讯插件,官网下载链接:
https://www.mitsubishielectric-fa.cn/site/file-software-detail?id=27
2、如果无法登陆下载,可以关注dotNet工控上位机微信公众号,后台回复关键词:MX组件
3、下载完成后,安装步骤比较简单,有以下2点需要额外注意:
(1)安装需要序列号:117-570766844(亲测可用)
(2)需要先安装EnvMEL文件夹中的setup,再安装根目录下的setup
4、安装完成后,电脑的开始菜单中会增加三款软件:
5、选择【Communication Setup Utility】,切记以管理员身份运行
6、点击【Target setting】选项下的Wizard向导,需要设置逻辑站点,这里随便设置一个值即可,本案例设置为1。
7、接下来要设置PC端和模块连接,这里要根据实际情况来设置,因为本案例是通过以太网模块连接,因此设置为Ethernet board和FX3U-ENET-ADP。
8、下一步要设置IP地址,这里可以通过自动查找,如果知道IP地址的话,也可以手动输入,本案例的IP地址为192.168.1.250。
9、下一步中的CPU type选择FX3U(C)。
10、最后一步设置描述,这里也是随便写的,设置完成后,点击Finish。
11、切换到Connection test选项,点击Test,进行通信测试,如果没问题,会弹出successful提示。
03
通信测试
1、MX组件配置完成后,可以使用它自带的一个软件来进行测试,打开开始菜单中的【PLC Monitor Utility】,打开之后会自动获取到我们配置的站点信息。
2、在Device中可以随便输入一个PLC变量地址,然后点击Start Monitor即可进行监控。
3、如果需要进行变量写入,可以在Online菜单下选择Write to Device,进行变量设置。
04
上位机开发
1、上位机案例
对于MX组件的上位机开发,三菱官方提供了较为详细的编程手册。同时在安装目录下也提供了相关案例,包含AccessVBA、ExcelVBA、VB.NET、VB及C#.NET多种语言 ,我们主要参考C#相关代码,具体路径如下图所示:
2、上位机编写
上位机程序编写主要是基于相关控件进行开发,有两种方式实现通信,分别为Program和Utility,可以通过【Communication Setup Utility】进行切换。
上位机根据设置的方式选择对应的控制方式,如果选择ActUtlType,只需要设置站号LogicalStationNumber即可,本例为1,通过结果如下:
如果选择ActProgType,除了需要设置站号LogicalStationNumber,还需要设置ActUnitType、ActuProtocolType、ActHostAddress、ActCpuType,其中相关信息参考下图:
修改相关代码如下:
通信结果如下所示:
05
一点总结
1、很早之前就知道MX组件,但是一直没时间去研究,这次研究发现MX组件其实挺强大,毕竟是官方提供的组件,不仅支持多种协议、多种方式,还支持三菱各个型号PLC。
2、本例中的MX组件通信与PLC并不是走的TCP/IP协议,因为并没有涉及到端口号,测试发现MX通信的同时,也可以同时使用MC协议通信,进一步证明了这一点。
3、官方编程文档显示,MX组件支持标签读取,使用ReadDeviceRandom和WriteDeviceRandom方法。
4、条件允许的情况下,可以对MX Component进行一下二次封装,这样上位机开发使用起来会更加方便。
5、不管是MX Component还是MC协议,都是一种可行的通信方式,没有好坏之分,只要用心去做,都可以做得很好。
6、也许MX组件唯一的缺点,就是依赖了MX组件本身,所以如果使用MX组件通信,所在电脑端必须安装MX Component。