关于串口-发送与接收指令的问题 点击:2047 | 回复:5



xintairuan2011

    
  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 2回
  • 年度积分:0
  • 历史总积分:10
  • 注册:2011年1月03日
发表于:2011-09-17 13:46:55
楼主

我截取了PLC厂商上位机软件监控PLC的"文本"数据(可以转换成16进制), R232的串口,用串口调试工具发送文本字符串

01R,PLC,R100,08:<(16进制30 31 05 01 52 2C 50 4C 43 2C 52 31 30 30 2C 03 30 38 3A 3C 04 )。

然后PLC会有反应,返回01S,PLC,R100=123,064<。

其中校验数字08:<里边的数字不对的话,不会成功返回。读R101时发送01R,PLC,R101,624>,.... 里边的数字是根据R的数值变化的。

这句话前半部分好理解,S是发送,R是读。软件读PLC中寄存器R100的数值。我现在困惑的是后面的校验码08:<是怎么来的。如果是CRC算法的话,计算的是01R,PLC,R100,中那段字符的ASC码串呢?其中的“,”逗号也算数据参与校验计算吗?

如果只读一两个R寄存器也就无所谓,把他们的校验码都监控掉,但是我需要读好几百个。注08:<是我记忆的数字,不是实际数字。就想知道他怎么来的。

注明:该厂家通讯协议未公开,中国代理商都不知道。另外,貌似CRC算法中不会出现“08:<”这种字符。用16进制表示为“30 38 3A 3C ”莫非是CRC-32?




xintairuan2011

  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 2回
  • 年度积分:0
  • 历史总积分:10
  • 注册:2011年1月03日
发表于:2011-09-17 14:21:56
1楼
01 R,PLC,R100,08:<
01 R,PLC,M100,0642
01 R,PLC,C50,7;85

朋友00

  • 精华:1帖
  • 求助:2帖
  • 帖子:9帖 | 181回
  • 年度积分:462
  • 历史总积分:1505
  • 注册:2006年2月07日
发表于:2011-09-17 21:05:27
2楼

应该是校验码吧,猜测。

wlqmutou6

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 25回
  • 年度积分:0
  • 历史总积分:0
  • 注册:1900年1月01日
发表于:2011-09-19 14:20:26
3楼
山东济南伦渠公司专业生产1:各种PLC编程电缆 人机编程电缆 PLC 人机 变频器 编程电缆

下载线 西门子MPI编程电缆 三菱编程电缆 TCP转换器 以太网转换器 调制解调器

2:专业生产rs232-rs485/422/can/lon/光纤/以太网转换器 隔离器 中继器 远程驱动器

串口扩展器 串口服务器 光纤 交换机 RS485转换器 协议转换器 接口转换器 串口转换器

3:光纤收发器 光纤转换器 光端机 光缆光纤MODEM 视频光端机 光纤转换器 光猫 光缆

4:安防报警 可燃气体报警器 有毒气体 汽车尾气报警器 智能小区

5:MODBUS数据采集模块 CANBUS数据采集系统 楼宇DCS系统 可视对讲系统 对讲门铃

6:无线传输 酒店饭店宾馆管理 无线呼叫系统 短信猫 门禁一卡通系统

7:成套仪表设备安装调试 自动化工程安装 DCS系统安装调试

8:MODBUS温湿度采集模块 CANBUS温湿度采集系统属精密网络型温湿度传感器,

可以设定通讯地址0-255和波特率1200-19200bps;可与组态软件 PLC等

提供RS485输出,供主机采集;通讯协议采用标准modbus协议;特价290元,

用于:粮库、气象站、温室大棚、档案馆、通讯机站、楼宇自控,实验室,。

9:豪克能量超声冲击疲劳应力消除设备 冲击枪 振动时效 增强疲劳强度。振动实效 震动时效

振动时效设备 振动时效装置

手机13075348421 座机0531-88348421/85900290 http://www.lqic.com

E_newboy

  • 精华:0帖
  • 求助:0帖
  • 帖子:1帖 | 40回
  • 年度积分:0
  • 历史总积分:340
  • 注册:2008年8月15日
发表于:2012-01-28 17:32:59
4楼

若是CRC的校验数据的话,校验数据3A 3C ,是根据30 31 05 01 52 2C 50 4C 43 2C 52 31 30 30 2C 03 30 38 (校验码前面的所有字符按16进制的ASC码)累计总和算来的

04应该是结束符号

不知道你这个是什么PLC?MODBUS协议使用CRC校验较多,松下PLC使用BCC校验,永宏PLC使用LRC校验码,

最好先看一下对应PLC与PC通讯的格式和反馈数据格式就清楚了

通讯网

  • 精华:11帖
  • 求助:1帖
  • 帖子:431帖 | 10265回
  • 年度积分:0
  • 历史总积分:24711
  • 注册:2004年7月09日
发表于:2012-01-28 18:06:50
5楼
说说你是什么PLC??再多探测几条指令看看。

热门招聘
相关主题

官方公众号

智造工程师