应项目需求需要使用上位机软件和三菱的PLC进行通信,C# 和PLC都是零基础,
C#的学习过程略,不难,学会空间就好
下面简述和PLC通信的关键步骤:
1、串口设置:
1) 串口线(三菱的422线)
2)串口工具
波特率:9600 (PLC是固定的)
奇偶检验:偶校验 (PLC固定的)
数据位:7
停止位:1
2、通信测试
上位机:发送 0x05
PLC:回应0x06(正常) 返回0x15 说明指令无效,看看自己串口设置问题
3、获取x个点的当前状态
1)通信格式
读:
注 : ‘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
成功返回:
第一值:
第二值
多字节的同理2字节的方式
写:
第一值:
第二值:
写入成功返回:0x06
写入失败返回:0x15
PLC寄存器个点的对应关系:
x: 0x0080
y:0x00a0