请教 :PLC串行通信 为啥没反映

来源:百度知道 编辑:UC知道 时间:2024/05/17 01:59:20
我是用串行通信调试精灵 发送十六进制 030A 结果plc无反映,下面是plc代码,好心人看看有没有错误的地方,或者我发送的0A结束符有问题
主程序:
Network 1
// 通信网络
LD SM0.0
MOVB 16#09, SMB30
MOVB 16#B0, SMB87
MOVB 16#0A, SMB89
MOVW 5, SMW90
MOVB 50, SMB94
ATCH INT0, 23
ENI
RCV VB100, 0

//INT_O 中断子程序
Network 1 // Network Title
// Network Comment
LDB= SMB86, 16#20
= Q0.0
NOT
RCV VB100, 0

大侠 看看我发送030A Q0.0为啥不亮 先谢谢了
不是发送的时候 系统自动会加一个停止位吗 (我没有设置奇偶位)

200的手册后面有比较详细的通讯例程,好好看看

你看下你的PLC是在运行模式下,才可以进行上位机操作,PLC里面有没有改变操作模式的情况,你只发十六进制当然是错的,要根据西门子的协议吧

仅仅发送030A吗?这样怎么可能会通讯成功,用电脑发送上位机命令有一定的格式,比如需要命令字头、命令代码、命令参数、命令数据、结束码和校验码。你应该下载该PLC的上位机命令来参照一下。