




已阅读5页,还剩8页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
MODBUS协议主站驱动程序1 MODBUS规约简介Modbus通讯协议广泛应用于工业控制领域的通用通讯协议,几乎所有的主流工控系统都支持这种协议。Modbus通讯协议最初是由Modicon公司提出的,基于RS232的通讯协议的,后来Modicon公司又将这种协议推广到了以太网上,形成了基于TCP的Modbus协议。有些厂家还在UDP上定义了modbus协议,Modbus通讯协议是主从方式的规约。通讯都是由主站发起的,主站发出通讯请求,从站收到请求后,回答所请求的数据。基于TCP的Modbus协议的主站是TCP的客户端,从站是TCP的服务器端。本主站通讯驱动同时支持基于RS232的Modbus规约和基于TCP的Modbus规约。同时支持多串行连接,每个串行口下允许有32个设备;支持多个TCP连接的Modbus规约,每个TCP连接下允许有32个设备。连接方式,如图3-1所示。图3-1 设备连接示意图本驱动程序支持不仅支持串行口上MODBUS规约,同时支持TCP和UDP上MODBUS规约。此通讯驱动程序可以运行在DPU下也可运行虚拟DPU下。2 接口硬件连接方式如采用串口方式进行通讯,XDPS系统通常采用标准的RS232口即Com1或Com2ComN,通讯距离一般为15米,如需增长通讯距离,可采用R232/485转换器,通讯距离为1200米。接线方式,如图3-2所示。XDPS DPUCOM口串口Modbus设备信号名称信号引脚信号名称RXD2-TXDTXD3-RXDGND5-GND图3-2 接线图3 驱动程序组成本程序由动态链接文件modiplc.dll、配置文件modiplc.ini两个文件组成,如果是WINCE环境的DPU,动态链接文件的名称为modiplc_CE.dll。如果采用虚拟DPU,这两个文件都要拷入VDPU目录下运行;如果采用DPU,则应该以文件下装的形式,把以上两个文件安装到VDPU目录下。 4 寄存器数据与DPU逻辑I/O地址的对应关系DPU的每个站最多可带16块逻辑卡件,每对DPU最多可带16个站。在配置文件中,定义了寄存器数据与XDPS系统VDPU逻辑卡件的数据通道的对应关系。XDPS系统的IO逻辑内测点地址由以下几个因素确定:通道类型、站号、卡件地址、通道号;MODBUS设备的数据地址信息由从站地址号、寄存器地址决定,这种映射关系在Modiplc.ini 中定义。5 Modiplc.ini配置文件说明5.1通讯参数配置无论是在串口通讯方式,还是在TCP或者是UDP通讯方式,都要保证本驱动程序的通讯参数与对方的通讯参数是匹配的,那么有哪些参数需要配置、怎样配置这些参数呢?I、如果外部设备通过串口连接到DPU上,需要这样配置通讯参数:CONFIGcommunication_port1 = Com1,9600,8,n,0,1,debug ,ASCIIcommunication_port2 = Com2,9600,8,n,0,1,debug。communication_portN = ComN,9600,8,n,0,1,debug“communication_port1”、“communication_port2”、。、“communication_portN”配置的是DPU下一共有多少通讯通道(最多可支持64个通道)和各个通讯通道下的通讯参数,后面的参数依次为:串口号:如“COM1”表示的是串口1,“COM2”表示的是串口2,。波特率:可选项57600、38400、19200、9600、4800、2400、1200、600等数据位:可选项8、7、6。奇偶校验位:可选项e、o、n,分别表示偶校验、奇校验、无校验。停止位:可选项0、1、2,分别表示1位停止位、1.5位停止位、2位停止位。设备数量:配置通讯口下连接的Modbus设备数量,最多可连接32个设备。是否需要调试窗口:如果配置了“debug”,表示DPU运行时,需弹出窗口,显示这个通讯口的报文,如果没有,则不弹出窗口显示这个通讯口的报文。串口MODBUS协议的类型:如果配置了“ASCII”,表示这个通讯口上的通讯协议是MODBUS ASCII协议;如果没有配置这个参数,则这个通讯口上的协议是MODBUS RTU协议。这个参数与上面的“是否需要调试窗口”参数可以配置,也可以不配置,这两个参数的位置可以对调。II、串口设备可以通过串口转TCP/IP网络的设备(如MOXA NPORT)连接到DPU上,或者设备本身就是支持TCP/IP网络连接,它们通过网络直接连接到DPU上,这时需要这样来配置通讯参数:CONFIGcommunication_port1 = TCP,222.222.223.46,4001,1,debug,ASCIIcommunication_port2 = MODICON_TCP,222.222.223.47,502,1,debugcommunication_port3 = UDP,222.222.223.48,3308,1,debugcommunication_port4 = UDP_RS232PACK,222.222.221.1,5001,1,debug。communication_portN= TCP,222.222.223.49,3308,1,debug“communication_port1”、“communication_port2”、。、“communication_portN”仍然表示DPU下一共有多少通讯通道(最多可支持64个通道)和各个通讯通道下的通讯参数,后面的参数依次为:协议类型:如配置“TCP”表示的是这个通讯口下的设备是通过串口转TCP/IP网络的设备连接到DPU上的。后面的其他参数表示的是这个通讯口下的设备连接在哪个串口转TCP/IP网络设备上,以及这个设备的哪个串口上。应该说明的是,这时通讯通道上协议仍然是串行口上的MODBUS协议。如配置“MODICON_TCP”表示的是这个通讯口下的设备是通过TCP/IP网络的设备直接连接到DPU上的,后面的其他参数表示的是设备的网络地址信息。通过TCP/IP网络直接连接的设备所用的通讯协议是MODBUS ON TCP协议。如配置“UDP” 表示的是这个通讯口下的设备是通过网络的设备直接连接到DPU上的,所用的通讯协议是自定义基于UDP的MODBUS协议。后面的其他参数表示的是设备的网络地址信息。如果配置了“UDP”选项,则需要配置下列行来表示DPU与这个设备通讯的本地所用的IP地址和UDP端口号。communication_port3_LocalAddress = 222.222.223.1,3308如配置“UDP_RS232PACK” 表示的是这个通讯口下的设备是通过网络的设备直接连接到DPU上的,所用的应用层协议是RS232上的 MODBUS协议。后面的其他参数表示的是设备的网络地址信息。如果配置了“UDP_RS232PACK”选项,也需要配置下列行来表示DPU与这个设备通讯的本地所用的IP地址和UDP端口号。communication_port3_LocalAddress = 222.222.223.1,3308 无论是串行口还是TCP上的MODBUS协议,本驱动程序都是按国际通用实现的,因此这里不对协议的具体内容作详细描述了。自定义基于UDP的MODBUS协议将在后面详细描述。IP地址:如果协议类型配置为“TCP”,那么这个IP地址为串口转TCP/IP网络设备的IP地址;如果协议类型配置为“MODBUS_TCP”或“UDP”,那么这个IP地址为设备的IP地址。端口号:如果协议类型配置为“TCP”,那么这个端口号为串口转TCP/IP网络设备的TCP端口号,这个端口对应着连接设备的串行口(MOXA NPORT的COM1COM4的端口缺省配置为40014004);如果协议类型配置为“MODBUS_TCP”,那么这个端口号为设备的TCP端口号,MODBUS OVER TCP协议中定义了这个端口号为502;如果协议类型配置为“UDP”,那么这个端口号为设备的UDP端口号,用户可自行选择这个端口号,只要与对方一致,并且不要与系统其它应用端口冲突就可以。设备数量:配置通讯口下连接的Modbus设备数量,最多可连接32个设备。只有在协议类型配置为“TCP”时,这个参数才会大于1,协议类型配置为“MODBUS_TCP”或“UDP”时,设备数量为1。是否需要调试窗口:如果配置了“debug”,表示DPU运行时,需弹出窗口,显示这个通讯口的报文,如果没有,则不弹出窗口显示这个通讯口的报文。串口MODBUS协议的类型:只有在协议类型配置为“TCP”时,才可以配置此参数,因为只有在这个情况下用的是串口MODBUS协议。如果配置了“ASCII”,表示这个通讯口上的通讯协议是MODBUS ASCII协议;如果没有配置这个参数,则这个通讯口上的协议是MODBUS RTU协议。这个参数与上面的“是否需要调试窗口”参数可以配置,也可以不配置,这两个参数的位置可以对调。III、通讯驱动程序,不管在哪种连接方式下,都支持通讯通到的冗余,那么冗余通道应如何配置呢?如果外部设备通过串口连接到DPU上,如:CONFIGcommunication_port1 = Com1,9600,8,n,0,1,debug ,ASCII其冗余通道可配置为:communication_port1_dup = com2表示的是在COM1通讯不正常时,DPU会通过COM2与设备通讯如果通过网络连接到DPU上,如:CONFIGcommunication_port2 = TCP,222.222.223.46,3308,1,debugcommunication_port2 = MODICON_TCP,222.222.223.46,502,1,debugcommunication_port2 = UDP,222.222.223.46,3308,1,debug这些通讯的冗余通道可配置为:communication_port2_dup = 222.222.224.46,3308“communication_port2_dup”后面的两个参数表示的是冗余通道上设备或串口转网络设备的IP地址和端口号。协议时“UDP”时,配置了冗余通道的对方设备的地址,还需要配置冗余通道的本地网络IP地址和端口号,如:communication_port2_localaddress_dup = 222.222.224.1,3308IV、不管是串行口MODBUS协议还是TCP上MODBUS协议,报文中都定义了数据的长度,这个数据的长度在报文中是用一个字节表示的,因此一次传送的数据不可能太多,模拟量(16寄存器)为约255/2=127个,开关量(位寄存器)为255*8=2040个。在用户自定义的“UDP”协议中,增加了一个选项,报文中表示数据长度的字节数可以配置,可以配置成1字节或2个字节,这样可以在一次通讯中传送大量数据。这个配置也是在CONFIG段中完成的,如:CONFIGcommunication_port2_databyte=2V、在进行通讯调试时,可以为每一个通讯通道配置报文收集文件,用来记录整个通讯过程的报文收发情况,调试人员通过这个文件可以分析通讯运行情况。如:CONFIGcommunication_port1_record_file=d:mod1.txt上面的配置表示的是将第一个通讯通道的报文记录在文件“d:mod1.txt”里,注意在正常通讯状态下,不应配置这个文件,否则会增加DPU的CPU的负荷。VI、此外,CONFIG段里还有两个时间参数,一个是TimeOut,另外一个是Request_Intv,它们所代表意义是:TimeOut表示Modbus协议每一次访问的超时时间,单位为毫秒,缺省值为2000毫秒。通讯驱动程序访问MODBUS设备数据时,如果命令发送后,在TimeOut时间范围内,设备没有应答,那么通讯驱动程序就不再等待回答,继续下面的通讯内容。Request_Intv表示Modbus协议连续两次访问之间的间隔,单位为毫秒,缺省值为0毫秒。有些MODBUS设备由于CPU处理能力的限制,不允许MODBUS主站连续访问其数据,这个时候要配置这个参数。 5.2数据映射关系配置配置了通道的通讯参数后,还需要通讯程序如何将设备的通讯数据映射到DPU的逻辑I/O地址“站号-卡号-通道号”上。I、MODBUS设备有哪些寄存器呢?一个典型MODBUS设备有4种线圈状态寄存器、线圈输入状态寄存器、保持寄存器、输入寄存器。前两种为开关量寄存器,后两种为模拟量寄存器。在访问这些寄存器时,须指明寄存器的类型,及功能码,下面是功能码与寄存器地址的对照表:功能码起始地址描述100001线圈状态寄存器,是可以读写的开关量寄存器。写此单个寄存器的功能码为5;写此多个寄存器的功能码为15。200002线圈输入状态寄存器,只读开关量寄存器。340001保持寄存器,是可以读写的模拟量寄存器。写此单个寄存器的功能码为6;写此多个寄存器的功能码为16。430001输入寄存器,只读模拟量寄存器。本驱动程序的配置文件里,每一组数据的前面都有功能码,配置的寄存器起始地址都是从0开始计数的,这个0地址对应着每个功能码代表寄存器起始地址。II、一个典型MODBUS设备的通讯数据与DPU的逻辑I/O地址的映射关系可以配置如下:Port1_PLC1Slave_No=1Type=0Station_No=1PlateNum=2Plate1_No=0Plate2_No=1Plate1_DI=1,0,32,20Plate1_AI=3,0,32,20Plate2_DO=32,32,20Plate2_AO=32,32,20下面对所配置的内容进行说明:“Port1_PLC1”表示的是第一个通讯通道的第一个设备。“Slave_No”配置的是这个设备的MODBUS地址。“Station_No” 配置的是这个设备对应的逻辑I/O站的站号。“PlateNum” 配置的是这个设备对应I/O站下的逻辑卡件的数量。“Plate1_No”、“ Plate2_No”表示的是每一块逻辑卡件的卡号。“Plate1_DI”、“Plate1_AI”配置的是Plate1上输入数据通道对应的寄存器的类型(功能码)、起始寄存器地址、连续寄存器的数量(通道数量)、输入数据的扫描周期(单位为100毫秒)。“Plate2_AO”、“Plate2_DO”配置的是Plate2上对应的输出数据通道对应的起始寄存器地址、寄存器的数量(通道数量)。这里没有配置功能码,开关量输出卡用的是功能码15,模拟量输出卡用的是功能码16;可以按配置的周期输出。每一块逻辑卡件上,可以同时有开关量输入/输出、模拟量输入/输出数据,但每一种数据只能配置一组。比如说不能配两个“Plate1_AI”或“Plate1_DI”或“Plate1_AO”或“Plate1_DO”。每一块逻辑卡件上,开关量通道的数量最多是256个,即连续寄存器的数量最多是256;受MODBUS协议中数据长度的限制,模拟量最多是125个通道,即连续寄存器的数量最多是127。有一种情况是例外的,即配置的协议是“UDP”时,不管是开关量还是模拟量,连续寄存器的数量最多可以是2560,这时一块逻辑卡件上容纳不了这么多数据,通讯驱动程序会按每块逻辑卡200个模拟量通道,256个开关量通道,将这些数据依次安排在后续逻辑卡件上。注意在种情况下,自检程序里只能看到配置的卡件号, 后续卡件是看不到的,但DPUCFG里是可以进行组态的。注意:在PortM_PlcN的配置增加了“Type”配置项,它表示当前通讯设备的特殊性。Type =0:表示普通MODBUS设备,此为缺省值。 Type =1:表示南瑞励磁设备SAVR2000(需要初始化通讯连接)Type =2:表示西安润辉设备(通讯数据的高低字节反了)III、通讯驱动程序输出数据给MODBUS设备时,除了能进行上述周期型输出操作外,还能进行变化输出,即当输出的数据发生变化时,才将这些数据输出给MODBUS设备。请看下面的配置:Port1_PLC1Slave_No=1Station_No=1PlateNum=3Plate1_No=0Plate2_No=1Plate3_No=2Plate1_Oper_1=10,24 Plate2_Oper_2=10,24Plate3_AO_Oper=10,24其中“PlateN_Oper_1=”后面的参数分别是起始寄存器号、连续的寄存器数,表示的是一种开关量操作逻辑卡,每个寄存器对应一个开关量输出通道XDO,只有当XDO的输出值发生变化时,才将数据送数据给MODBUS设备,不变化不传送。采用5号MODBUS功能码,一次只传送一个通道的数据。注意:配置了此操作点的卡件上不可同时配置DO、Oper_2、AO_Oper。“PlateN_Oper_2=”后面的参数分别是起始寄存器号、连续的寄存器数,表示的是另外一种开关量操作类型,每个要控制的通道(寄存器),对应两个连续的XDO,第一XDO有上升沿时,驱动程序会给要控制的寄存器发送0值,第二XDO有上升沿时,驱动程序会给要控制的寄存器发送1值。在进行组态时,要注意,控制对方设备的一个寄存器是用相邻两个XDO来实现的,给这两个XDO发脉冲指令可以控制寄存器(或开关)的不同状态,XDO的脉冲宽度取决于通讯驱动能不能响应到此脉冲的上升沿,一般应大于2秒,可根据实际情况决定。通讯时驱动程序采用5号MODBUS功能码来发送数据,一次只传送一个通道的数据。 每块卡上最大的通道数为128,因为每个通道对应2个XDO,一块卡上配置128个通道时,这块卡上就有256个XDO。注意:配置了此操作点的卡件上不可同时配置DO、Oper_1、AO_Oper。“PlateN_AO_Oper=”后面的参数分别是起始寄存器号、连续的寄存器数,表示的是一种模拟量操作点,每个要控制的寄存器,对应一个XAO和XDO,同一地址编号的XAO和XDO管理一个寄存器,只有XAO的值发生变化或XDO有上上升沿时,才会将XAO的数传送给下面的设备。 注意:配置了此种操作点的卡件上不可同时配置AO、DO、Oper_1、Oper_2数据。 IV、MODBUS协议不直接支持浮点数传输,很多设备都是用两个连续的模拟量寄存器来表示一个4字节浮点数的工程值,这种情况下,Modiplc.ini文件中读这种数据通道的配置与读一般的模拟量通道的配置相比,并没有特殊的地方。仍然这样配置:PlateN_AI=功能码,寄存器起始地址,寄存器数量,扫描间隔寄存器数量应该是所要读取的浮点数个数的两倍。在做逻辑组态时,应将XAI的通道转换类型设置成“Float间接浮点数转换(L16+H16)”,这样DPU计算程序会将两个连续的XAI通道对应成一个浮点数工程值,如将XAI(1-0-0)和XAI(1-0-1)对应成第一个浮点数工程值、XAI(1-0-2)和XAI(1-0-3)对应成第二个浮点数工程值、。注意,此时,逻辑组态里只需要用偶数通道XAI(1-0-0)、XAI(1-0-2)、,而奇数通道XAI(1-0-1)、XAI(1-0-3)、是不用的。V、MODBUS协议不直接支持4字节长整数通道的配置,很多设备都是用两个连续的模拟量寄存器来表示一个4字节长整数,这种情况下,Modiplc.ini文件中读这种数据通道的配置与读一般的模拟量通道的配置相比,并没有特殊的地方。仍然这样配置:PlateN_AI=功能码,寄存器起始地址,寄存器数量,扫描间隔寄存器数量应该是所要读取的长整数个数的两倍。在做逻辑组态时,应将XAI的通道转换参数进行正确设置,如量程范围设成065535,AD值范围也设成065535,再做这样的算法,如:XAI(1-0-0)+65536*XAI(1-0-1),计算结果就是第一个长整数通道的值。6 配置文件举例分析6.1采用串口进行通讯配置文件举例 CONFIGcommunication_port1 = Com1,9600,8,n,0,1,debug采用串口1进行通讯,通讯波特率为9600bps,数据位为8位,无奇偶校验,1.5位校验位,有报文监视窗口Port1_PLC1Slave_No=1表示PLC的地址为1Station_No=1表示该PLC对应DPU的1号站PlateNum=4PlateNum表示该PLC对应4块卡件Plate1_No=0表示卡件Plate1的地址为0Plate2_No=1表示卡件Plate2的地址为1Plate3_No=2表示卡件Plate3的地址为2Plate4_No=3表示卡件Plate4的地址为3Plate1_AI=3,0,64,2表示卡件Plate1为模拟量输入卡件,通道0至通道63与该PLC的保持寄存器40001至40064共64个寄存器对应;扫描周期为200ms。Plate2_AI=4,64,64,2表示卡件Plate2为模拟量输入卡件,通道0至通道63与该PLC的输入寄存器30065至30108共64个寄存器对应;扫描周期为200ms。Plate3_DO=0,8,200表示卡件Plate3的开关量输出通道与该PLC的00001至00008号线圈状态相对应Plate4_AO=0,2表示卡件Plate4的模拟量输出通道与该PLC的40001至40002号保持寄存器相对应6.2采用TCP/IP方式配置文件应用举例CONFIGcommunication_port1 = Com1,9600,8,n,0,1,debug采用串口1进行通讯,通讯波特率为9600bps,数据位为8位,无奇偶校验,1.5位校验位,有报文监视窗口Port1_PLC1Slave_No=1表示PLC的地址为1Station_No=1表示该PLC对应的DPU1站PlateNum=4PlateNum表示该PLC对应4块卡件Plate1_No=0表示卡件Plate1的地址为0Plate2_No=1表示卡件Plate2的地址为1Plate3_No=2表示卡件Plate3的地址为2Plate4_No=3表示卡件Plate4的地址为3Plate1_AI=3,0,64,2表示卡件Plate1为模拟量输入卡件,起始通道为0的64个通道与该PLC的输入寄存器40001至40064共64个寄存器对应;扫描周期为200ms。Plate2_AI=4,64,64,2表示卡件Plate2为模拟量输入卡件,起始通道为0的64个通道与该PLC的输入寄存器30065至30108共64个寄存器对应;扫描周期为200ms。Plate3_DO=0,8表示卡件Plate3的开关量输出通道与该PLC的00001至00008号线圈状态相对应Plate4_AO=0,2表示卡件Plate4的模拟量输出通道与该PLC的00001至00008号线圈状态相对应7 通讯驱动程序的调试将通讯驱动程序MODIPLC.DLL或MODIPLC_CE.DLL、配置文件MODIPLC.INI、VDPU.CFG文件下装到DPU中,或拷贝到VDPU目录下,重新启动DPU程序,就可以调试通讯程序了。注意,VDPU.CFG配置文件如何修改,在前面的章节里,已经详细描述过,只要将这里就不再重复说明了。通讯驱动程序提供了两种调试手段,一是通过报文调试窗口来分析通讯过程,另一个是通过记录的报文文件来分析通讯过程。如何显示报文调试窗口和记录通讯报文前面已经介绍过,这里主要介绍的是怎样使用这两种手段来调试。7.1报文调试窗口报文调试窗口的标题栏显示了通讯通道的参数如串口号和串口参数或IP地址和端口号,用户根据此标题栏的内容判断配置的参数是否正确。如果DPU与设备间的通讯是通过TCP连接实现的,那么标题栏上还显示了DPU与设备的连接的状态,如果已经连接上设备或串口转TCP网络的设备,那么标题栏显示已经建立的状态“Connected”,反之则显示“Connecting”,表示未连接成功。报文调试窗口里显示了通讯通道收发报文的情况,发送的报文用灰底黑字表示,接收的报文用蓝底黄字表示。通讯过程中,通讯内容向窗口上方滚动,最新的通讯内容显示在窗口的下方。用户可以按“Ctrl_C”暂定窗口的滚动,再按“Ctrl_C”继续窗口滚动。串口连接时的报文调试窗口TCP连接未成功时的报文调试窗口TCP连接成功时的报文调试窗口7.2报文记录文件下面是一个DPU与MODICON TCP设备的通讯的报文记录文件,文件
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 漯河食品职业学院《品牌战略与实践》2023-2024学年第二学期期末试卷
- 九江理工职业学院《数据库管理系统》2023-2024学年第二学期期末试卷
- 安徽省定远育才实验学校2025年高三3月摸底考试综合试题含解析
- 重庆理工职业学院《新世纪文学研究》2023-2024学年第一学期期末试卷
- 景德镇陶瓷大学《会展广告设计》2023-2024学年第一学期期末试卷
- 成都医学院《和声(3)》2023-2024学年第二学期期末试卷
- 河北中医药大学《麻醉解剖学》2023-2024学年第二学期期末试卷
- 四川工程职业技术学院《书法(Ⅰ)》2023-2024学年第二学期期末试卷
- 浙江省杭州市萧山区2025年初三质量检测试题(三模)化学试题试卷含解析
- 山东省武城县达标名校2025届初三下学期中考考前质量检测试题三(5月模拟)英语试题含答案
- 校外租房学生走访记录
- GB 26403-2011食品安全国家标准食品添加剂特丁基对苯二酚
- 威尼斯的小艇 省一等奖
- 2023年神东煤炭校园招聘笔试题库及答案解析
- 爆破作业现场勘查记录表(样表)
- 临床试验疑难问题解答
- 物资编码手册
- 中国神经外科重症患者气道管理
- 毕业论文建筑沉降观测
- 国航因私免折票系统
- 机电安装总进计划横道图
评论
0/150
提交评论