上次跟大家介绍了一下上位机与三菱Q系列PLC通信的案例,大家可以通过点击这篇文章:上位机开发之三菱Q系列PLC通信实践←戳这里

今天以三菱FX3U PLC为例,跟大家介绍一下,如何实现上位机与其之间进行以太网通信,FX3U PLC默认是不带以太网的,如果需要与其进行通信,需要增加一个以太网模块,型号是FX3u-ENET-ADP。

1.PLC软件安装及配置

三菱FX系列PLC的编程软件使用GXWorks2,大家可以自行下载安装,也可以通过关注喜科堂上位机官方公众号——dotNet工控上位机,关注之后发送关键词:GX Work2,进行下载安装,下面主要对PLC的配置做相关介绍。

(1)新建一个新的PLC项目后,点击PLC参数,选择内置以太网端口设置:

图表 1内置以太网设置

(2)按照上述步骤设置完成之后,点击打开设置,通过选择打开方式,这里选择MC协议,其他型号PLC会有所不同,本地端口号根据实际情况设置,这里开启了两个端口用于连接,实际如果只有一个连接,可以只设置一个即可。

图表 2设置端口号

(3)值得注意的是,当设置完成,并将程序下载到PLC后,一定要重启PLC!!!

2.通信平台测试

(1)完成以上配置后,就可以通过自己开发的喜科堂通信测试平台软件进行测试,导航栏中选择三菱PLC,然后输入正确的IP地址及端口号,在协议类型选择中A1EBinary。

图表 3喜科堂通信测试平台

(2)输入完成之后,点击建立连接,建立连接之后,日志栏会有连接成功提示。

(3)在读写测试中,输入相应的变量地址及变量类型,即可实现相关变量的通信读写及测试。

3.项目级别应用

通信测试平台仅仅只是用于测试通信是否正常,实现正常的单变量数据读取和写入。但是如果是项目级别开发,还需要有一套更完善的通信架构,这里我采用的是自主开发的上位机通信配置一体化软件(简称CMS配置软件)。

(1)通过PLC设备右击选择三菱PLC,在打开的窗体中设置好IP地址、端口号,这里的协议类型选择MCA1E:

图表 4创建PLC

(2)在PLC设备下,右击添加通信组,根据需要填写相应的存储区及起始地址及长度,这个注意,对于寄存器存储区一次性读取的长度不能超过64个:

图表 5添加通信组

(3)通信组下面,根据实际情况配置相应的变量,输入开始地址及变量类型即可,变量地址会自动变换,这里可以输入比例系数及偏移量,用于做线性变换使用:

图表 6添加变量

(4)对于变量配置,左下角会有一个报警归档配置,主要用于配置该变量的报警类型、归档方式及设定限制:

(5)完成上述配置后,可以点击保存配置,再点击启动运行,即可实现实时通信:

图表 7实时通信

(6)同时可以通过另存为,存储为一个配置文件的形式,再基于配置dll,可以通过快速方式实现配置解析及通信数据解析,这样整个项目的通信框架即可搭建完成。

4.整体总结

本文主要针对三菱FX3U PLC的通信配置、通信配置及项目应用做了较为详细的描述,希望可以给一些想要去开发三菱PLC项目的同学一些帮助。这样的一套思路同样适用于其他品牌的PLC,我们旨在节约大家开发项目中在通信方面的时间,而将更多的精力投放在项目工艺开发中。

FX3U的很多地方看似与Q系列相似,使用的虽然都是MC协议,但实际上使用的具体协议内容以及读取的长度是不一样的,大家在开发中要引起注意。

欢迎关注“新阁上位机编程”抖音号

不定期发布上位机实用小技巧哦

快来学习互粉呀

(长按下方图片保存到手机相册,打开抖音扫码关注哦!相信你肯定会)

上位机开发之三菱FX3U以太网通信实践的更多相关文章

  1. 上位机开发之三菱Q系列PLC通信实践

    经常关注我们公众号或者公开课的学员(如果还没有关注的话,左上角点击一波关注)应该知道,我们会经常使用西门子PLC,其实对于其他品牌的PLC,我们都会讲到,包括三菱.欧姆龙.基恩士.松下及国产台达.信捷 ...

  2. 上位机开发之西门子PLC-S7通信实践

    写在前面: 就目前而言,在中国的工控市场上,西门子仍然占了很大的份额,因此对于上位机开发而言,经常会存在需要与西门子PLC进行通信的情况.然后对于西门子PLC来说,通信方式有很多,下面简单列举一下: ...

  3. 【精讲版】上位机C#/.NET与西门子PLC通信

    618来啦 亲们,腾讯课堂101机构打榜了,快来助力<新阁教育>,<免费赠送课程>! 1.手机QQ(微信请也来一遍)扫下方二维码↓,找到<新阁教育> 2.点击“支持 ...

  4. 【专题教程第8期】基于emWin模拟器的USB BULK上位机开发,仅需C即可,简单易实现

    说明:1.如果你会emWin话的,就可以轻松制作上位机.做些通信和控制类上位机,比使用C#之类的方便程度一点不差,而且你仅会C语言就可以.2.并且成功将emWin人性化,可以做些Windows系统上的 ...

  5. USBCAN的使用和上位机开发(MFC)

    USBCAN使用手册 参见:https://blog.51cto.com/12572800/2062839 1. USB CAN软件安装与硬件接线 USB CAN是常用的CAN测试工具.它的软件资料存 ...

  6. C#上位机开发(二)—— Hello,World

    上一篇大致了解了一下单片机实际项目开发中上位机开发部分的内容以及VS下载与安装,按照编程惯例,接下来就是“Hello,World!” 1.新建C#项目工程 首先选择新建Windows窗体应用(.NET ...

  7. Winform 快速开发框架,上位机开发,工控机程序开发,CS程序开发

    1.当客户让你做个CS程序时,当你手上一穷二白,所有都要重复造轮,你是不是很烦. 2.但如果有一个通用的,快速开发框架,就可以把你从这些基础的工作解救出来,你专注做业务就好了. 3.本人其中一个项目的 ...

  8. 医疗器械c#上位机开发指引教程

    此教程面向的读者:对医疗器械上位机编程有兴趣,或者急需了解医疗器械(尿常规.血液分析.生化.心电.B超等医疗下位仪器)的编程流程.编程细节的程序员. 1.得到仪器协议 当我们需要与医疗器械等下位机数据 ...

  9. 周立功USBCAN-II 上位机开发(MFC)

    使用的USB转CAN的设备是周立功的USBCAN-II,在购买的时候,会有上位机二次开发的库文件.例程和API文档等材料,可以参考. 1.库函数的调用 首先,把库函数文件都放在工作目录下.库函数文件总 ...

随机推荐

  1. INTERVIEW #4

    120min, 5题.本菜鸡怒跪. 1.变身程序员 (读取时可以按行读取,直到读到空行为止,再对读取过的所有行做转换处理) 输出描述:如果能将所有的产品经理变成程序员,输出最小的分钟数:如果不能将所有 ...

  2. 信息竞赛进阶指南--KMP算法(模板)

    next[1] = 0; for (int i = 2, j = 0; i <= n; i++) { while (j > 0 && a[i] != a[j+1]) j = ...

  3. POJ - 2251 Dungeon Master(搜索)

    You are trapped in a 3D dungeon and need to find the quickest way out! The dungeon is composed of un ...

  4. 从0开始搭建精灵宝可梦的检测APP

    从0开始搭建精灵宝可梦的检测APP 本文为本人原创,转载请注明来源链接 环境要求 Tensorflow1.12.0 cuda 9.0 python3.6.10 Android Studio Anaco ...

  5. AWVS 安全渗透扫描

    1.打开软件,点击 New Scan 2.在 website url 中输入被扫描的网址,点击 next 3.在 scanning profile 中选择测试的漏洞类型,默认选择 default(默认 ...

  6. java的Timer定时器任务

    在项目开发中,经常会遇到需要实现一些定时操作的任务,写过很多遍了,然而每次写的时候,总是会对一些细节有所遗忘,后来想想可能是没有总结的缘故,所以今天小编就打算总结一下可能会被遗忘的小点: 1. pub ...

  7. FPGA实现-shift_ram_3x3矩阵

    shift_ram_3x3-FPGA实现 实现的方法为方法二,可以参考上一节关于中值滤波的介绍 shift_ram核介绍 https://www.cnblogs.com/ninghechuan/p/6 ...

  8. P2308 添加括号(dfs记录dp路径)

    传送门 \(一看肯定是区间DP(因为和和合并石子很相似,都要加n-1次)\) \(转移方程为(其中he[i][j]是i到j的和)\) \[dp[i][j]=min(dp[i][j],dp[i][k]+ ...

  9. Course Selection System ZOJ - 3956 01背包+思维

    Course Selection System ZOJ - 3956 这个题目居然是一个01背包,我觉得好难想啊,根本就没有想到. 这个题目把题目给的转化为  ans = a*a-a*b-b*b 这个 ...

  10. dp cf 20190614

    C. Hard problem 这个题目一开始看还感觉比较复杂,但是还是可以写,因为这个决策很简单就是对于这个字符串倒置还是不倒置. 然后我不会一维去转移,直接用二维,第二维用01来表示转移和不转移, ...