发布于 2010-06-06 19:22:29
3楼
这么长时间没人回答自己顶一下,各位是不是以此为话题看看在遇到此类问题时如何解决的。本身该段程序是段转化程序:10到16进制的转化,VW510为“10进制”数,最终结果放在VW390 。首先介绍该段程序使用的背景:s7-200与仪表进行无协议通讯,读取仪表的数据。无协议通讯一般是ASCII码来进行传输的,假设仪表内数据43,其ASCII编码为34 33,那么s7-200读来的34 33最重要进行数据的还原(注意是对仪表数据格式为10进制而言的),而s7-200的转换指令只有从ASCII到16进制的,而没有到10进制的,也就是说仪表的10进制43到s7-200内后按照编码转换为了16进制的数据43,而这正是用这段程序的原因所在,因为你不进行转换那么你读到的数据就是67(16进制的43),这就会造成数据 的出错。而通过上面的转换就把16进制的43“变为”了10十进制的43,注意这句话要好好琢磨啊,不然的话会迷糊的。至此你的数据就会与仪表内的一致了。但是不知道大家在遇到此类问题是如何解决的。希望喜欢PLC进行通讯控制的朋友多多交流。我的QQ:752580850