新手学习自由口通讯。参考了一段自由口通讯测试程序,用串口调试工具发送字符后,为何SMB2及目标寄存器中是其它值呢?比如发HEX格式一串(CCCCCCCCCCCCC),SMB2及目标寄存器VB100及以下的都是16#5E。只有发一串(0000000000000)时是16#00。
比如直接在主程序中加:
LD I0.0
MOVB 16#CC, VB100
I0.0触发后VB100值就是16#CC,如果用串口调试工具应该发什么格式的什么字符,VB100中才是16#CC呢? 不知是没搞清格式转换,还是RS232转RS485或其它硬件上有问题(测试设备:CPU216 1.00;笔记本USB转RS232转RS485到PLC端口0)
程序如下 :(收到5个字符就结束接收)
LD SM0.1
MOVB 0, MB0
MOVD &VB100, VD0
MOVB 16#49, SMB30
ATCH INT_0:INT0, 8
ENI
INT_0:
LD SM0.0
MOVB SMB2, *VD0
INCD VD0
INCB MB0
LDB= MB0, 5
-D 5, VD0
MOVB 0, MB0
新手学习,见笑了。。。。