• 西门子3VA1163-6ED42-0AA0
  • 西门子3VA1163-6ED42-0AA0
  • 西门子3VA1163-6ED42-0AA0

产品描述

产品规格模块式包装说明全新品牌西门值+ 包装说明 全新 - 产品规格子 现场安装

3VA1163-6ED42-0AA0


modbus协议较初由modicon公司开发出来,是针对设备设计的基于串行总线的主从模式的应用层总线设备协议。modbustcp是封装在tcp包内的modbus协议,虽然有一些变化,但是根本上还是主从模式。

随着嵌入式技术的发展,国内很多系统的控制和采集单元部分为公司*,一般建议这些公司的串行通讯协议采用modbus协议,很多用户在modbus协议存在着理解错误,现在分析如下:

一、modbus的保持和输入寄存器是以word(16bit)为单位的。

比如4****(保持寄存器/输出寄存器)和3****(输入寄存器)是以字为单位的。所以,如果读40001寄存器开始的一个16位的无符号数,那么返回2个byte,并可以从40002开始读下一个16位的无符号数。

但是,如果读40001寄存器开始的一个32位浮点数,那么,返回4个byte,而且,下一个32位浮点数必须从40003开始。

常见问题:

1)、将40001定义为一个byte的数据;

2)、将40001定义为32位浮点数,40002为下一个32位浮点数。

二、寄存器较小地址为1,而报文起始地址为0。

在数据报文中,所有的modbus地址都是从0开始的。也就是**出现的数据项在报文中的地址为0。比如:

1.在控制器中,“线圈1”在modbus报文的地址域中的地址为00 00。

2.线圈127的十六进制报文地址为007e hex(十进制的126)

3.保持寄存器40001的报文地址为00 00。因为报文功能码明确要操作“保持寄存器”,所以,协议就以“4xxxx”代表这个寄存器。

4.保持寄存器40108的报文地址为006b hex (十进制107)

总之,modbus地址一般指4****(保持寄存器/输出寄存器)和3****(输入寄存器),这时应用层面的:

比如设备说明书可以简要说明设备支持modbus rtu标准协议,并详细描述其地址对应关系为:40001 -- 模拟量采集通道1,16位有符号数,.....。比如组态软件的地址设置,一般为输出寄存器,从1开始,连续多少个。或者指明400001:16位有符号数。但是,在数据报文层面,寄存器起始地址从0开始。

数据报文包括:设备地址+功能码+起始地址+寄存器个数+校验位。其中,起始地址是从0开始的。

举例说明:从设备17读40001开始的2个寄存器数据的报文

设备地址 功能码 起始地址 寄存器个数 校验

11 03 00 00 00 02 --

常见问题:

1、使用和定义40000地址;

2、分析报文时,直接将报文起始地址当作应用层寄存器地址。

3、modbus的写寄存器命令的不同。

常用modbus寄存器有:线圈(coil)、输入(bbbbb)、保持寄存器(holding registers)和输入寄存器(bbbbb registers)。

从modbus设备角度看,输入是上位机采集modbus设备的信息,也就是这些寄存器是只读的,所以,modbus协议没有写输入(bbbbb)和输入寄存器(bbbbb registers)的命令。

线圈(coil)是状态量,对应modbus设备的开关量输出(do),保持寄存器(holding registers)是模拟量,对应modbus设备模拟量输出(ao),这些寄存器需要modbus设备的上位机进行设置,也就是为可以写的寄存器。

在modicon_modbus协议 协议中,写线圈(coil)和保持寄存器(holding registers)都有两种写命令:

1)、写单个寄存器:

置单线圈(force single coil)功能码05(0x05)

写单个寄存器(preset single holding register)功能码06(0x06)

2)、写多个寄存器

写多线圈(force multiple coils)功能码15(0x0f)

写多个寄存器(preset multiple registers)功能码16(0x10)


202202231632210850864.jpg202202231632200382714.jpg


1 系统网络结构

有两点需要注意的是,(1)当所要控制和通信的数控机床数**过dnc主机自配置的串口时,将会带来一定的不便。本系统采用moxa inbbblio c320turbo/pci多串口卡(c32010t/pci)和多串口扩展板(c32047t)来实现串口扩展的问题;(2)当dnc主机与数控机床通讯距离较远时(**过15m),使用标准的rs-232c电缆就不能进行有效的通讯了。另外,通讯双方设备使用电缆直通连接,在两端设备不共地或引入处有干扰时,往往会毁坏设备接口。本系统采用rs-232长距光隔转发器(串口长线收发器fc232,成对使用)来解决10km以内距离的rs-232设备间通讯时的延长距离和保护接口问题,其中fc232可以直接插在c32047t上,图中的线起的是示意作用。由于fc232可直接插于rs-232接口上,不需外接电源,兼容rs-232接口软件编程标准,这也给工程人员施工带来方便

2.2 功能实现的关键技术

功能实现主要依赖于串口的连接,而连接与否的关键在于串口属性的设置和各设备之间的连接方式。由于各数控机床的通信协议存在着差异,这就使得在设置通信串口属性时与机床的配置一致。以fanuc-0t为例,该机床参数设置:tvon = 0;iso = 1;i/o = 0;波特率设置参考0552参数;停止位设置参考0002参数的最后一位即stp(1为2,0为1),默认为2;奇偶校验位设置为even;数据位设置为7。如果设置有误将会造成通信错误或失真。

同样,各数控机床通信协议的不同,使得各设备间的连接方式也就不同,也就是说各串口之间的连线方法要有所不同,这里由于篇幅原因就不再赘述。

3 结束语

串行通信技术已在dnc通信系统中得到了广泛的应用,其关键技术将主要围绕提高nc程序传送的正确性、快速性;减少信号干挠,提高可靠性等方面。使用vc语言编制的本dnc信息系统,实现制造过程的nc,该系统具有结构简单、运行快速、工作稳定等特点,易于实施,对促进dnc技术的发展具有积极的意义。本文所述的dnc信息系统已在实际中得到了应用,并取得了良好的应用效果



http://zhangqueena.b2b168.com

产品推荐