1、使用Modbus模拟器进行调试
如果对方是Modbus子站(从站),那么用Modscan32(Modbus主站模拟器)进行调试,通常仪表、流量计、液位计、plc都是作为Modbus从站提供数据。使用方法如图3、 4所示。
如果对方是Modbus主站,我们作为Modbus从站,我们可以用ModSim32(Modbus从站模拟器)与对方主站通讯。使用方法如图5:
如果这一步通不上,可能是以下几种原因:
A 线路不通,如果是以太网,请PING一下对方的IP地址,如果是串口请检查串口接线是否正确, 接线方式见串口接线方式;
B 串口参数不正确,通讯双方串口参数必须完全一样,否则调不通的。串口参数可以查阅设备说明书或咨询对方厂商,千万不要去猜串口参数,猜中的可能性比中六合彩的可能性还低一半,串口波特率、数据位、停止位、校验位有96种组合,猜不中也试不完,最省时省力方法就是看说明书或咨询对方厂商。
C 设备地址或数据点表不正确。
如果通讯软件或模拟器提示“超时”,请将串口超时时间设大一些(3000——5000毫秒)。
2、使用Modbus通讯软件调试
上一步调通后,再用我们的Modbus通讯软件调试,如果我们的软件调不通,通常最大可能性是配置错误,尤其是使用配置文件的通讯软件,经常会出现以下几种错误:
l dcs服务器参数不正确;
l 配置文件中实际配置的点名与POINTNUM= 后面的点数不一致;
l 点没有按顺配置
3、检查通信点值是否正确 中间POINT4至POINT8没有配置,既使这些点不用,也要将点名写成一个DCS数据库不存在点名,不能空着不写。
如果能读到数据,但数值不正确,通常有两种可能:
l 数据起始地址错误。如果对方给的点表是400001开发,地址中的“4”表示要使用3号功能读数据,1表示第一个寄存器,那么对应的地址是从0开始的,也就是说这个点的地址为0,在配置文件中起始地址写0,写400001、400000、1都是错的。如果对方给的点表是400000或0开始,那么他给的就是地址,不是寄存器号,就不需要再减1了。如果是HOLLiAS Comm V2.0.0软件,这个软件会自动减1,只需要的填写寄存器号就行,其它的使用配置文件的(.ini文件)Modbus软件都是需要减1的。
l 数据类型不正确。通讯软件安装后,在安装目录下都会有说明书,请仔细阅读使用说明书,Modbus软件说明书都会说明浮点数字节顺序,因为浮点数有四个字节,通常都是高字节在前、低字节在后,但由于PLC内部字节存储顺序与PC机不一样,或者有些厂商就是不走寻常路,字节顺序会出现各种组合,请按说明书选择数据类型。如果不会选或看不懂,最简单的办法就是配置四个点,每个点都选择一种不同的类型,总有一个点的数值是正确的,那么就选择这种类型。