发布于 2013-08-15 20:56:06
2楼
说起串口设定不一致:16#02 16#45 16#43 16#30 16#32 16#03数据位应该是几位,我设的8位,这个是信息里数据除去起始结束字符校验符后的数据位还是一个信息字符有8个位?波特率9600,停止位1位无校验位,这就我的串口助手设置。
下面附程序,这个程序在串口助手上收到最多的是,BF ED 7D 99 F9 FF这6个,有时会收到这7个FB 7D 7B 9F 99 F9 FF,向PLC发送的数据PLC收到的也不对
//主程序//
Network 1
LD SM0.1
CALL SBR0
Network 2 //消除按键影响
LD I0.3
TON T57, 10
Network 3
LD T57
EU
MOVB 6, VB100
MOVB 16#02, VB101
MOVB 16#41, VB102
MOVB 16#42, VB103
MOVB 16#30, VB104
MOVB 16#33, VB105
MOVB 16#03, VB106
XMT VB100, 0
Network 4
LD I0.4
R M1.0, 2
//SBR0(初始化)//
Network 1
LD SM0.0
MOVB 16#09, SMB30 //无校验-00,每个字符8个数据位-0,9600bps-010,自由口协议-01,0000 1001=16#09
MOVB 16#B0, SMB87
MOVB 16#03, SMB89 //信息字符结束16#03
MOVB 5, SMB90
MOVB 14, SMB94
Network 2
LD SM0.0
ATCH INT0, 9
ATCH INT1, 23
ENI
// INT0//
Network 1
LD SM0.0
S M1.1, 1 //M1.0发送完标志
Network 2
LD SM0.0
RCV VB200, 0
// INT1//
Network 1
LD SM0.0
S M1.0, 1 //M1.0接收完标志
我向PLC里发的是02 41 62 2B 30 30 30 30 2E 30 30 32 36 03
第一试自由口通信,试的真晕