我查了百度上面的资料,很少有关于这一方面的知识,都是靠自己不断搜索,然后尝试出来,也非常感谢网上的前辈们把一点点的疑问解答了。我这里总结一下。
1,首先是触摸屏连接仪表,线都是485两条线接。。
2,触摸屏选择COM2(RS485 2W),(com1是RS232)参数如下,注意:通信延时一定要有,30ms,50ms都可以的,没有延时可能收不到数据。亲测!
3,然后威纶通宏指令是没有将16进制转化成10进制的。所有这里宏指令要自己写代码,将16进制转化为 10进制。这样显示在触摸屏上的数字才是10进制。以下是我参考网上的代码写的子程序:
sub short bcdd(short b) //宏指令子程序头
short i,t
short sum=0
char s[3] //定义一个数组用来存放16进制数值转化的ascill码,这里的16进制数值因为温湿度 // 传感器已经固定是3个数值(比如11A),所以数组长度固定为3
//如果不知道16进制长度,要先测出16进制数值长度
short a1,a2,a3
HEX2ASCII(b, s[0], 3) //先将16进制数b转换成ASCLL码存放到数组s[3]中
for i=0 to 2 //for循环3次,计算出10进制数值
if s[i]>=48 and s[i]<=57 then
t=s[i]-48
else if s[i]>=65 and s[i]<=70 then
t=s[i]-55
end if
sum=sum*16+t
next
return sum //返回的sum值就是转化10进制的数值
end sub //宏指令子程序尾
还有一个,如果想直接在触摸屏上面显示从温湿度传感器读取的数值,可以新增数值元件,设置好读取参数即可。学习调试的时候可以对比。
以上。谢谢观看