上位机和三菱FN2x通信实例
应项目需求需要使用上位机软件和三菱的PLC进行通信,C# 和PLC都是零基础,
C#的学习过程略,不难,学会空间就好
下面简述和PLC通信的关键步骤:
1、串口设置:
1) 串口线(三菱的422线)
2)串口工具
波特率:9600 (PLC是固定的)
奇偶检验:偶校验 (PLC固定的)
数据位:7
停止位:1
2、通信测试
上位机:发送 0x05
PLC:回应0x06(正常) 返回0x15 说明指令无效,看看自己串口设置问题
3、获取x个点的当前状态
1)通信格式
读:
STX | CMD | x/y地址(4字节) | 读取几个字节 | EXT | 校验 | |||||
0x02 | '0'读 / '1' 写 | ‘0’ | '0' | 'A' | '0' | ‘0’ | ‘2’ | 0x03 |
‘6’ crc1 |
‘6’ crc2 |
固定值0x02 | 0x30 /0x31 | 0x30 | 0x30 | 0x41 | 0x30 | 0x30 | 0x32 | 固定值 | 0x36 | 0x36 |
注 : ‘A’ 直接 转asiic 码 放置的是字符 ‘9’-9= 0x30 ‘A’ - 0x0a = 0x31,此处要注意,运算的时候要区别对待
校验值计算:CMD+地址值+读取字节值+ext = 总和
temp = 总和&0xff
a = ((temp >> 4) & 0x0f) > 9 ? ((temp >> 4) & 0x0f) + 7 : ((temp >> 4) & 0x0f);
b = (temp & 0x0f) > 9 ? ((temp & 0x0f) + 7) : (temp & 0x0f);
crc1= (byte) ( a + 0x30);
crc2= (byte)( b + 0x30);
PLC返回:
错误返回:0x15
成功返回:
STX | 第一值 | 第二值 | EXT | 校验 | |||
0x02 | ‘3’ | '5' | '8' | '4' | 0x03 |
‘D’ crc1 |
‘7’ crc2 |
固定值0x02 | 0x33 | 0x35· | 0x38 | 0x34 | 固定值 | 0x44 | 0x37 |
第一值:
y7 | y6 | y5 | y4 | y3 | y2 | y1 | y0 |
0 | 0 | 1 | 1 | 0 | 1 | 0 | 1 |
3 | 5 |
第二值
y17 | y16 | y15 | y14 | y13 | y12 | y11 | y10 |
1 | 0 | 0 | 0 | 0 | 1 | 0 | 0 |
8 | 4 |
多字节的同理2字节的方式
写:
STX | CMD | x/y地址(4字节) | 读取几个字节 | 第一值 | 第二值 | EXT | 校验 | |||||||
0x02 | ' '1' 写 | ‘0’ | '0' | 'A'(Y地址) | '0' | ‘0’ | ‘2’ | ‘3’ | ‘5’ | ‘8’ | ‘4’ | 0x03 |
‘6’ crc1 |
‘6’ crc2 |
固定值0x02 | 0x31 | 0x30 | 0x30 | 0x41 | 0x30 | 0x30 | 0x32 | 0x33 | 0x35 | 0x38 | 0x34 | 固定值 | 0x33 | 0x42 |
第一值:
y7 | y6 | y5 | y4 | y3 | y2 | y1 | y0 |
0 | 0 | 1 | 1 | 0 | 1 | 0 | 1 |
3 | 5 |
第二值:
y17 | y16 | y15 | y14 | y13 | y12 | y11 | y10 |
1 | 0 | 0 | 0 | 0 | 1 | 0 | 0 |
8 | 4 |
写入成功返回:0x06
写入失败返回:0x15
PLC寄存器个点的对应关系:
x: 0x0080
y:0x00a0
上位机和三菱FN2x通信实例相关推荐
- 485通信原理_上位机开发之单片机通信实践
经常会有一些学员会问到上位机与单片机之间通信的问题,而我们经常会讲上位机与PLC之间通信,那么其实对上位机开发来说,不管是和PLC通信,还是和单片机通信,通信原理都是一样的.PLC的本质就是单片机,在 ...
- pythonqt4上位机开发_上位机开发之单片机通信实践(一)
经常会有一些学员会问到上位机与单片机之间通信的问题,而我们经常会讲上位机与PLC之间通信,那么其实对上位机开发来说,不管是和PLC通信,还是和单片机通信,通信原理都是一样的.PLC的本质就是单片机,在 ...
- 485通信原理_上位机开发之单片机通信实践(一)
微信号 :thinger_swj微博:@新阁程序园扫码关注 经常会有一些学员会问到上位机与单片机之间通信的问题,而我们经常会讲上位机与PLC之间通信,那么其实对上位机开发来说,不管是和PLC通信,还是 ...
- 上位机与PLC 通讯源码 上位机与三菱PLC,西门子PLC通讯 同时一起通讯,单独控制,三菱采用官方MX 通讯,支持三菱FX系列,
上位机与PLC 通讯源码 上位机与三菱PLC,西门子PLC通讯 同时一起通讯,单独控制,三菱采用官方MX 通讯,支持三菱FX系列,A系列,Q系列,L系列,R系列,全系系列,各种串口和各种网口通讯,, ...
- 上位机与PLC 通讯源码 上位机与三菱PLC,西门子PLC通讯
上位机与PLC 通讯源码 上位机与三菱PLC,西门子PLC通讯 同时一起通讯,单独控制,三菱采用官方MX 通讯,支持三菱FX系列,A系列,Q系列,L系列,R系列,全系系列,各种串口和各种网口通讯,, ...
- 上位机与PLC 通讯源码DEMO 上位机与三菱PLC,西门子PLC通讯 同时一起通讯,单独控制
上位机与PLC 通讯源码DEMO 上位机与三菱PLC,西门子PLC通讯 同时一起通讯,单独控制,三菱采用官方MX 通讯,支持三菱FX系列,A系列,Q系列,L系列,R系列,全系系列,各种串口和各种网口通 ...
- 【无标题】C#上位机与三菱PLC FX2NC通讯方法
*** C#上位机与三菱PLC FX2NC通讯方法*** 第一步从官网中下载MX COMPONENT并安装好; 第二步从安装好的MX COMPONENT路径中找到"Samples" ...
- LabVIEW上位机学习 面对对象编程实例项目源码 与下位机PLC
LabVIEW上位机学习 面对对象编程实例项目源码 与下位机PLC,工厂MES通讯,数据库,NI vision视觉等开发,及操作者框架源码可运行,想学习面对对象的可以参考 ID:16199647294 ...
- 信捷plc485通信上位机_三菱FX3U编程口通信上位机QT实现
三菱FX3U编程口通信上位机软件 上位机开发流程: 一 查找类似工具 找到 三菱FX串口实验(FX Serial) 这款工具 这款工具挺好用的,能够验证大多数的功能,而且能够看到发送和接收的报文,是一 ...
最新文章
- VS2010解决方案转换到VS2008
- javaweb学习总结三(枚举)
- Java+eclipse的配置
- java怎么设置快速修复键_Java开发环境之------MyEclipse快捷键和排除错误第一选择ctrl+1(***重点***:ctrl+1,快速修复---有点像vs中的快速using...
- Orleans之EventSourcing
- php psr 编码规范_PHP之PSR-4规范:自动加载
- 【BZOJ3512】DZY Loves Math IV(杜教筛)
- 宋利兵 mysql_《MySQL 5.7 Replication新特性》分享之互动问题解答
- oracle如何写循环日期自增_Oracle动态创建时间分区,以及Oracle12c中快速创建自增列...
- Java LocalDateTime类| 带示例的compareTo()方法
- 无法将 grub-efl-amd64-signed 软件包安装/target/ 中
- JDBC Driver
- php xml 怎么去掉头,PHP如何删除xml某条数据
- AbstractQueuedSynchronizer源码分析
- 2022届秋招笔试题小结:图
- 系统设计-HIPO图
- VScode与SumatraPDF反向搜索跳转问题
- 计算机管理格式化没有顺利完成,TF存储卡“格式化没有顺利完成”问题解决的方法...
- java之get/set方法的作用:灵活、安全
- java基础_设计模式_设计基础(小鸭子游戏)