天天看点

.Net Micro Framework研究—串口部署的困惑

MFDeploy Ping失败

VS2005部署失败

MFDeploy和VS2005用串口监控软件查看相关参数,如上图,你会发现串口参数为:115200,EVEN(偶校验)。

幸好iPac-9302自带的光盘软件里有一个SJJ_COMM Lite串口软件,可以和开发板进行通信。

看的出来,通信是成功的,下面用串口监控软件看看其通信参数。

赫然是115200,NONE(无校验)。

上图是我的开发环境,刚开始是用串口线直接和iPac-9302的串口相连,通信无法成功。用什么办法解决该问题啊?自己编写一个MFDeploy或修改VS2005的串口参数又不现实,只好用工控的办法解决了,PC机先把数据发送到PLC的串口0(串口参数是:115200,偶校验),PLC接收后,把数据通过串口1(串口参数是:115200,无校验)发送出去,反过来相反。已经快两年没有编写PLC的程序了,幸好程序比较简单。

主程序:

LD     SM0.1

//端口0

MOVB   16#19, SMB30                //115200 偶校验99

ATCH   COM0, 8

//端口1

MOVB   16#19, SMB130               //115200 无校验

ATCH   COM1, 25

//发送数据区首地址VB100

MOVB   1, VB100                    //仅发送一个数据

MOVB   1, VB200                    //仅发送一个数据

//中断有效

ENI

------------------

中断程序0:

LD     SM0.0

MOVB   SMB2, VB201                 //从端口0接收数据

XMT    VB200, 1                    //向端口1转发数据

中断程序1:

MOVB   SMB2, VB101                 //从端口1接收数据

XMT    VB100, 0                    //向端口0转发数据

很可惜的是在高波特率情况下,接发大量的数据由于PLC处理能力有限,会丢失个别数据,所以MFDeploy和VS2005依旧无法通信成功。

只能期待微软和厂家来解决这个问题了。

继续阅读