S7-200与仪表进行modbus通讯,地址是从40001开始。因为仪表的问题,读取的数据是乱码,怎么办 5

 我来答
007学海无涯
2012-11-19 · 超过13用户采纳过TA的回答
知道答主
回答量:46
采纳率:100%
帮助的人:30万
展开全部
先查看仪表地址码设置是否正确,包括相关的通讯参数通讯速率,校验码、停止位等。另外看看读取数据的寄存器地址是否正确。另外可以用串口软件读取仪表的数据,看看数据是否正常,如果数据正常,那么再用串口软件截取PLC下发的采集数据报文,看看报文是否正常。
采用排除法,一个个排除。
另外不知道这些设备在什么场合下使用的,如果电磁干扰严重,也可能会对通讯有影响。
还有一种可能是,PLC与仪表之间的通讯485或232通讯电压不够,可以用有源的485或232转换器提高通讯电压试试。
追问
这个仪器跟我们工业上用的仪器不一样,用modscan32读不到数据,用我老大编写的串口读写工具可以读,比如我读地址是25到30之间的数据,直接就可以读,但如果我在地址上加40000就读出来的是乱码。因为我们PLC的读写地址是从40001开始读的,所以读出来的数据也是乱码。
追答
看看所选择的功能码是否正确,01码为读取开出量输出状态,02码为开入量状态量读取,03码为读模拟量输入。用串口软件与你们老大编写的软件通讯口并连,截取你们老大编的软件与仪表之间的通讯报文,看看报文格式。
有时候不同的仪表读取数据的功能码有所区别,另外有些仪表的数据地址是做死的,必须按照其支持的数据区进行数据读取,超过此数据区范围着出现乱码或无法通讯。
百度网友ce88d5415
2012-11-20 · TA获得超过1956个赞
知道小有建树答主
回答量:467
采纳率:33%
帮助的人:177万
展开全部
若已经可以用串口读写工具通讯上,则建议先用类似ACCESSPORT之类的工具进行串口侦听,通过分析串口上的交换报文来确定问题所在。
根据你所提供的现象描述,很可能这个仪表所响应的有效地址未必是4X保持寄存器,也有可能是3X输入寄存器。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式