应项目需求需要使用上位机软件和三菱的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通信实例相关推荐

  1. 485通信原理_上位机开发之单片机通信实践

    经常会有一些学员会问到上位机与单片机之间通信的问题,而我们经常会讲上位机与PLC之间通信,那么其实对上位机开发来说,不管是和PLC通信,还是和单片机通信,通信原理都是一样的.PLC的本质就是单片机,在 ...

  2. pythonqt4上位机开发_上位机开发之单片机通信实践(一)

    经常会有一些学员会问到上位机与单片机之间通信的问题,而我们经常会讲上位机与PLC之间通信,那么其实对上位机开发来说,不管是和PLC通信,还是和单片机通信,通信原理都是一样的.PLC的本质就是单片机,在 ...

  3. 485通信原理_上位机开发之单片机通信实践(一)

    微信号 :thinger_swj微博:@新阁程序园扫码关注 经常会有一些学员会问到上位机与单片机之间通信的问题,而我们经常会讲上位机与PLC之间通信,那么其实对上位机开发来说,不管是和PLC通信,还是 ...

  4. 上位机与PLC 通讯源码 上位机与三菱PLC,西门子PLC通讯 同时一起通讯,单独控制,三菱采用官方MX 通讯,支持三菱FX系列,

    上位机与PLC 通讯源码 上位机与三菱PLC,西门子PLC通讯 同时一起通讯,单独控制,三菱采用官方MX 通讯,支持三菱FX系列,A系列,Q系列,L系列,R系列,全系系列,各种串口和各种网口通讯,, ...

  5. 上位机与PLC 通讯源码 上位机与三菱PLC,西门子PLC通讯

    上位机与PLC 通讯源码 上位机与三菱PLC,西门子PLC通讯 同时一起通讯,单独控制,三菱采用官方MX 通讯,支持三菱FX系列,A系列,Q系列,L系列,R系列,全系系列,各种串口和各种网口通讯,, ...

  6. 上位机与PLC 通讯源码DEMO 上位机与三菱PLC,西门子PLC通讯 同时一起通讯,单独控制

    上位机与PLC 通讯源码DEMO 上位机与三菱PLC,西门子PLC通讯 同时一起通讯,单独控制,三菱采用官方MX 通讯,支持三菱FX系列,A系列,Q系列,L系列,R系列,全系系列,各种串口和各种网口通 ...

  7. 【无标题】C#上位机与三菱PLC FX2NC通讯方法

    *** C#上位机与三菱PLC FX2NC通讯方法*** 第一步从官网中下载MX COMPONENT并安装好; 第二步从安装好的MX COMPONENT路径中找到"Samples" ...

  8. LabVIEW上位机学习 面对对象编程实例项目源码 与下位机PLC

    LabVIEW上位机学习 面对对象编程实例项目源码 与下位机PLC,工厂MES通讯,数据库,NI vision视觉等开发,及操作者框架源码可运行,想学习面对对象的可以参考 ID:16199647294 ...

  9. 信捷plc485通信上位机_三菱FX3U编程口通信上位机QT实现

    三菱FX3U编程口通信上位机软件 上位机开发流程: 一 查找类似工具 找到 三菱FX串口实验(FX Serial) 这款工具 这款工具挺好用的,能够验证大多数的功能,而且能够看到发送和接收的报文,是一 ...

最新文章

  1. VS2010解决方案转换到VS2008
  2. javaweb学习总结三(枚举)
  3. Java+eclipse的配置
  4. java怎么设置快速修复键_Java开发环境之------MyEclipse快捷键和排除错误第一选择ctrl+1(***重点***:ctrl+1,快速修复---有点像vs中的快速using...
  5. Orleans之EventSourcing
  6. php psr 编码规范_PHP之PSR-4规范:自动加载
  7. 【BZOJ3512】DZY Loves Math IV(杜教筛)
  8. 宋利兵 mysql_《MySQL 5.7 Replication新特性》分享之互动问题解答
  9. oracle如何写循环日期自增_Oracle动态创建时间分区,以及Oracle12c中快速创建自增列...
  10. Java LocalDateTime类| 带示例的compareTo()方法
  11. 无法将 grub-efl-amd64-signed 软件包安装/target/ 中
  12. JDBC Driver
  13. php xml 怎么去掉头,PHP如何删除xml某条数据
  14. AbstractQueuedSynchronizer源码分析
  15. 2022届秋招笔试题小结:图
  16. 系统设计-HIPO图
  17. VScode与SumatraPDF反向搜索跳转问题
  18. 计算机管理格式化没有顺利完成,TF存储卡“格式化没有顺利完成”问题解决的方法...
  19. java之get/set方法的作用:灵活、安全
  20. java基础_设计模式_设计基础(小鸭子游戏)

热门文章

  1. 09组-选题与需求分析报告
  2. 稳压二极管工作在什么区域?稳压二极管VRWM和VBR是什么?
  3. Android动画之AnimatorSet联合动画用法
  4. 思维模型 5W2H分析法
  5. OBS录屏闪动问题解决方案
  6. 圆柱体的投影特点_机械制图常识:圆柱体
  7. VHDL设计一个同步置数、异步清零的D触发器
  8. python长度单位换算用def_【每天学点Python】案例一:汇率换算
  9. 域名过期 脚本_域名宝已过期! …还是垃圾?
  10. 我在哪?(寒假每日一题 35)