在线诚求powerbuider 12.5与PLC下位机串口通讯问题的解决
我用MSCOMM.OCX控件作串口通讯。程序代码如下:
////设置端口:
ole_comm.object.CommPort = 3
//波特率:
ole_comm.object.Settings='9600,n,8,1'
//读取缓冲区的字节数:0-所有数据
ole_comm.object.InputLen=0
//设置接收缓冲区的字节数
ole_comm.object.InBufferSize=1024
//设置发送缓冲区的字节数
ole_comm.object.OutBufferSize=0
//设置发送的字符数值时,触发oncomm事件,数据传输不产生oncomm事件
ole_comm.object.SThreshold=0
//设置接收的字符数值时,触发oncomm事件
ole_comm.object.RThreshold=1
//没有握手协议
ole_comm.object.Handshaking=0
//清空接收缓冲区
ole_comm.object.InBufferCount= 0 //0
//设置读取格式:0-文本;1-二进制
ole_comm.object.InputMode=0
//数据终端准备好
ole_comm.object.DTREnable=true
////允许请求发送(request to send),true
ole_comm.object.RTSEnable=true
//打开串口
if not ole_comm.object.PortOpen then
ole_comm.object.PortOpen=True
else
// ole_comm.object.PortOpen=false
end if
//发送命令
blob bufferout
string s_output
s_output =sle_out.text + char(13) // sle_out.text 是命令输入
ole_comm.object.OutBufferCount=0 //清空发送缓冲区
ole_comm.object.InBufferCount=0 //清空接收缓冲区
bufferout=blob(s_output) //sle_out.text
ole_comm.object.Output =s_output //向传输缓冲区发送读数据命令1
//ole_comm.object.Output =bufferout//向传输缓冲区发送读数据命令2
//****************
下位机的命令说明如下:
置M60 ON 的代码
":0105083CFF00B7
"
置M60 OFF 的代码
":0105083C0000B6
"
切记引号里面的所有内容(不包含引号本身),包括换行符都要复制过去。
换行符是结束符,不复制过去就不会有响应。
//**************
诚请各位老师指点。感恩诚谢!