发布于 2008-08-13 20:46:58
0楼
谢谢楼上几位热心朋友.我现在思路确实是先用ASCII通讯(CP341)做通了再说MODBUS.
今天初步做通了ASCII.问题出在我的思想还集中在MODBUS的程序的FB80等,没有注意“CP340_341_440_441_通讯及编程.pdf”介绍的ASCII通讯调试程序关于FB7,FB8的说明:如果使CP341能够接收,必须令M0.1使能,如果令CP341能够发送,必须令M0.0使能,并且只有上升沿有效.我用强制置1或者置0方法,可以使CP341接受或者发送数据.如果在线观察MW4的数值变化,确实发送和接受的字节数字在这里有表现.(这里都是指例程的地址和变量)
但是还有问题希望众位出主意.目前从CP341发数据,在PC机的仿真软件SSCOM32上显示的都正确,在DB1设置的数字,在仿真软件SSCOM32上或者显示ASCII字符或者显示16进制数字.但是从仿真软件上写的数字(例如0102030405060708090A),到了DB10,看到的不是这个数字.我试图用ASCII码的16进制.10进制解释,看到的数字没有任何规律,只有发FF,DB10的数字可以正确变化为FF.
我真不知道这又是WHY??
你们遇到过吗?