西门子做modbus从站与MODSCAN通讯
- 格式:docx
- 大小:51.47 KB
- 文档页数:4
MODBUS调试⼯具(modscan32)使⽤说明-MODBUS调试⼯具(modscan3。
其它⾏业占存:2.19MB 时间:2021-11-01软件介绍: MODBUS调试⼯具(modscan32)官⽅版是款适合电脑中使⽤的MODBUS调试助⼿。
MODBUS调试⼯具(modscan3... 使⽤MODBUS调试⼯具(modscan32)如何操作使⽤呢?在平时很少⽤到,想必有的⽹友还不太了解的,为此,今⽇⼩编带来的这篇⽂章就为⼤伙分享了MODBUS调试⼯具(modscan32)使⽤说明,⼀起来看看吧。
1.⾸先要保证外部连接线正确连接好,确认数据的连接正常,搞定了硬件,下⾯进⼊到软件界⾯操作. 第⼀步: 单击菜单栏的Connenction --- ”connect”出现 第⼆步: 单击Rotocol Selection进⼊下⼀步 第三步:通讯参数设定:进⾏下⾯的设置操作.单击后出现的界⾯填写如下图所⽰的数据 2.Modbus的类型选择: 在Modbus Point Type就是要读取的寄存器区: “01 : COIL STATUS ” 指1号命令DO寄存器 “02 : INPUT STATUS ” 指2号命令DI寄存器 “03 : HOLDING REGUSTER ” 指3号命令保存寄存器 “04 : INPUT REGISTER ” 指4号命令输⼊寄存器 按照硬件产品说明书指导选择哪⼀种类型。
3.PC显⽰数据设置: 从左到右对应看:⼆进制、⼋进制、⼗六进制 4.其它功能菜单项: 从左到右对应看:新建、打开、保存、连接、断开、数据定义等。
所有参数设置完成后单击OK,如果对应串⼝有数据输⼊,就能获取数据。
以上就是⼩编给⼤家带来的全部内容,⼤家都学会了吗?。
西门子PLC的“ModbusRTU通讯”和“轮询”Modbus是PLC应用中常用的通讯手段,轮询是在进行一个控制器连接多个从站的通讯时常用的编程手段,由于ST语言在数据处理上的优势,此方法变得更为简单。
下面以西门子S7 1214C PLC的ModbusRTU通讯为例,展现ST语言下的modbus通讯和轮询。
硬件连接要准备的硬件和软件:1.西门子PLC 1214C;2.通讯板CB1241;B转RS485转换器;4.Modscan2/Modsim32电脑模拟软件模拟主/从站,5.SPU(serial port Utility),监视通讯报文。
PLC作为主站,使用软件Modsim32模拟从站,使用两芯线(最好是带屏蔽双绞线)进行连接:硬件连接将通讯板的AB两端与转换器的AB两端进行连接,要注意AB两端区分正负极,反接不会烧坏设备,但是无法正常通讯。
编写程序1.设备组态在博图软件中配置西门子PLC和通讯板。
modbus通讯需要设置波特率、数据位、停止位和校验位等通讯参数,在博图中的设备组态中设置此参数,主从站设置一致即可通讯。
通讯参数设置波特率9600,数据位8位,停止位1位,无校验,在PLC离线模式下下载硬件组态。
下载组态信息2.调用modbus功能块西门子的通讯一般都需要调用系统功能块,在“指令”-“通信”-“通信处理器”下可以找到modbus通讯功能块:通讯功能块可以看到这里提供两套modbus通讯模块,这两套都可以使用(暂不清楚具体的区别),本文选用的是下面的版本较低的模块。
新建程序段,将配置模块MB_COMM_LOAD和主站模块MB_MASTER拖入程序中:调用功能块功能块调用后要对必要的引脚进行赋值,各个引脚的功能可以按F1查看,建立一个DB数据块,声明一些变量连接功能块的引脚:声明变量上面声明了两个容量为5的字数组,用于数据的发送和接受,这个容量可以根据需求任意设置。
然后将这写变量写入模块引脚:模块赋值配置模块MB_COMM_LOAD的触发REQ只需要在连接时触发一次啊,因此直接将系统内置的变量“firstscan”写入即可,上电后执行一次。
modsim32和modscan32两种modbus调试工具使用说明精品文档--------------------------精品文档,可以编辑修改,等待你的下载,管理,教育文档---------------------- ------------------------------------------------------------------------------------------------------------------------------------------------------ModSim32和ModScan32两种Modbus调试工具使用说明:Modbus采用主从式通信,日常使用较多的是Modbus RTU和Modbus TCP/IP两种协议。
最常用的Modbus通信调试工具就是ModScan32和ModSim32。
ModScan32用来模拟主设备。
它可以发送指令到从机设备(使用Modbus协议的智能仪表终端设备)中,从机响应之后,就可以在界面上返回相应寄存器的数据。
ModSim32用来模拟从设备。
它可以模拟采用ModBus协议的智能终端。
主要用在HMI组态开发中,通过ModSim32改变寄存器状态的值,模拟智能终端的状态变化,来观察HMI画面的变化。
使得画面的变量配置正确。
ModSim32 和ModScan32可以在同一台电脑中运行,用来模拟采用了Modbus协议的设备的数据收发过程,方法如下:(1)ModSim32的设置ModSim32几乎不需要设置,启动ModSim32后,在菜单栏中选择Connection->Connect->Modbus/TCP Svr即可,如图1所示:图1 弹出图2对话框,端口为默认的502,点击OK即可:--------------------------精品文档,可以编辑修改,等待你的下载,管理,教育文档---------------------- ------------------------------------------------------------------------------------------------------------------------------------------------------精品文档--------------------------精品文档,可以编辑修改,等待你的下载,管理,教育文档---------------------- ------------------------------------------------------------------------------------------------------------------------------------------------------图2(2)ModScan32的设置启动ModScan32后,在菜单栏中选择Connection->Connect,弹出如图4对话框,在Connect下边选择Remote TCP/IP Server连接方式,IP Address处填写本机IP地址,Service处为默认的502即可,点击OK。
ABB AC900F和S7-1500/1200 Modbus TCP通讯测试公司:烟台东润科技股份有限公司一、 测试准备1.ABB AC900F CPU 1台2.S7-1200 CPU 2台3.Freelance2016 SP1组态软件4.TIA V14软件5.modscan64和modsim64(Modbus Slave)调试工具注:1)Modbus TCP通讯区分为服务器和客户机,没有主从之分。
2)客户机主动请求数据,服务器进行响应。
3)modscan64为服务器测试工具,Modbus Slave和modsim64为客户机测试工具;4)本测试过程同时适用于西门子S7-1500 PLC控制系统。
二、 AC900F使用Modbus TCP从站(服务器)和S7-1200使用MB_CLIENT(客户机)进行Modbus TCP通讯(一)和S7-1200系统进行Modbus TCP通讯,ABB Freelance2016 SP1配置组态1.ABB Freelance2016 SP1软件的安装及基本组态可以参考ABB Freelance2016的基础教程,硬件组态添加Modbus TCP通讯接口2.Modbus TCP服务器端配置界面,定义接口名称,服务器端口默认502,勾选使用访问控制,访问控制界面设置客户机端的IP地址172.16.1.21。
3.程序块内程序,添加一个8回路读程序块,以此为例定义好功能块名称和功能块连接的接口名称(F2选择通讯接口名称),起始地址为Modbus标准地址,0相对应40001,寄存器数量为通讯数据量,我们将测试对40001~40008的地址进行读测试。
测试程序4.说明:1)ABB Freelance2016只能添加一个Modbus TCP从站(服务器),每个Modbus TCP从站可以设置10个连接的客户机。
2)每个客户机数据通讯以寄存器地址进行区分。
(二)和S7-1200系统进行Modbus TCP通讯,S7-1200配置组态1.添加新设备2.定义设备网络和IP地址3.核对硬件标识符为644.CPU属性-保护-连接机制,勾选允许访问5.激活系统内置定时脉冲6.添加全局通讯接口数据块DB1,名称TCON_1,新建变量TCON,数据类型TCON_IP_V47.添加全局数据块DB2,名称:数据交换,去除优化块的访问,编译后出现绝对地址;8.在OB1组织块编写通讯主程序,添加MB_CLIENT功能块MB_CLIENT的参数含义如下表:9.说明:1)MB_CLIENT块使用中,STATUS状态代码可以实时判断目前的通讯状态,可将代码采集到人机界面实时判断通讯状态;2)修改通讯接口数据时,出现8200故障代码,需要将CPU进行停止/启动操作或断电重启方可恢复;3)STATUS状态代码定义一栏:三、 AC900F使用Modbus TCP主站(客户机)和S7-1200使用MB_SERVER(服务器)进行Modbus TCP通讯(一)和S7-1200系统进行Modbus TCP通讯,S7-1200配置组态1.添加新设备2.定义设备网络和IP地址3.核对硬件标识符为644.CPU属性-保护-连接机制,勾选允许访问5.添加全局通讯接口数据块DB1,名称TCON_1,新建变量TCON,数据类型TCON_IP_V46.添加全局数据块DB2,名称:数据交换,去除优化块的访问,编译后出现绝对地址;7.在OB1组织块编写通讯主程序,添加MB_SERVER功能块MB_CLIENT的参数含义如下表:8.通讯测试客户机采用Modscan64软件测试,Modscan64做 Modbus TCP Client 测试软件,是第三方软件。
ModScan(主站)与200PLC(从站)的Modbus通讯软件配置:ModScan测试软件、Step7-MicroWin V4.0.6.35编程软件硬件配置:电脑、西门子200PLC(CPU 224XP CN REL 02.01)、PPI编程电缆、USB-TO-Serial 电缆、研华ADAM4520 RS232/RS422/RS485模块准备:焊接RS485通讯电缆一根(Date+→DB9 3引脚、Date-→DB9 8引脚)、RS485通讯电缆连接200PLC的Port0端口、安装modbus库文件1.打开Step7-MicroWin V4.0.6.35编程软件,设置库存储区;(注意:在“库存储区分配”对话框中输入库存储区的起始地址,注意避免该地址和程序中已经采用或准备采用的其它地址重合。
规定Modbus 保持寄存器区从VB0 开始(HoldStart =VB0),并且保持寄存器为1000个字(MaxHold=1000),因保持寄存器以字(两个字节)为单位,实际上这个通信缓冲区占用了VB0~VB1999共2000个字节。
因此分配库指令保留数据区时至少要从VB2000开始。
当然保持区不一定要从VB0开始。
)2.在主程序中添加Modbus Slave Port0从站块(MBUS_INIT ,MBUS_SLAVE )库文件•西门子Modbus 从站协议库包括两条指令:MBUS_INIT 指令和MBUS_SLAVE 指令。
•MBUS_INIT 指令用于启用和初始化或禁止Modbus通讯。
•MBUS_SLAVE 指令用于为Modbus主设备发出的请求服务。
•MBUS_INIT 指令用于启用和初始化或禁止Modbus从站通讯。
在使用MBUS_SLAVE 指令之前,必须正确执行MBUS_INIT 指令。
指令完成后立即设定“完成”位,才能继续执行下一条指令。
MBUS_INIT 指令说明:•EN:指令使能位。
1.Modbus RTU主站1.1 Modbus RTU 主站指令库1.2 Modbus RTU 主站功能编程1.3 关于 Modbus RTU 主站协议及地址1.4 Modbus RTU 主站常问问题1.5 Modbus RTU主站例程2.Modbus RTU从站2.1 CPU 上的通信口(Port0)支持 Modbus RTU 从站通信协议2.2 编程基本步骤:2.3 Modbus RTU 从站地址与S7-200的地址对应2.4 Modbus RTU 从站指令库支持的功能码2.6Modbus RTU从站例程2.7 Modbus RTU 从站常见问题3.STEP 7-Micro/WIN 的标准指令库3.1 分配库指令数据区1.Modbus RTU主站1.1 Modbus RTU 主站指令库西门子在 Micro/WIN V4.0 SP5 中正式推出 Modbus RTU 主站协议库(西门子标准库指令)。
图 1. 西门子标准指令库(Micro/WIN V4.0 SP5)Modbus指令库注意● 1. Modbus RTU 主站指令库的功能是通过在用户程序中调用预先编好的程序功能块实现的,该库对Port 0 和 Port 1 有效。
该指令库将设置通信口工作在自由口模式下。
● 2. Modbus RTU 主站指令库使用了一些用户中断功能,编其他程序时不能在用户程序中禁止中断。
● 3. Modbus RTU 主站库对CPU的版本有要求。
CPU 的版本必须为 2.00 或者 2.01(即订货号为6ES721*-***23-0BA*),1.22版本之前(包括1.22版本)的 S7-200 CPU 不支持。
使用 Modbus RTU 主站指令库,可以读写 Modbus RTU 从站的数字量、模拟量 I/O 以及保持寄存器。
要使用 Modbus RTU 主站指令库,须遵循下列步骤:● 1.安装西门子标准指令库● 2.按照要求编写用户程序调用 Modubs RTU 主站指令库1.2 Modbus RTU 主站功能编程1. 调用 Modbus RTU 主站初始化和控制子程序使用 SM0.0 调用 MBUS_CTRL 完成主站的初始化,并启动其功能控制:图 2. 用 SM0.0 调用 Modbus RTU 主站初始化与控制子程序各参数意义如下:a. EN 使能:必须保证每一扫描周期都被使能(使用 SM0.0)b. Mode 模式:为 1 时,使能 Modbus 协议功能;为 0 时恢复为系统 PPI 协议c. Baud 波特率:支持的通讯波特率为1200,2400,4800,9600,19200,38400,57600,115200。
S7-200 MODBUS RTU 从站通讯CPU 上的通信口(Port0)支持 Modbus RTU 从站通信协议S7-200 CPU上的通信口Port0可以支持Modbus RTU协议,成为ModbusRTU从站。
此功能是通过S7-200的自由口通信模式实现,因此可以通过无线数据电台等慢速通信设备传输。
如果想在S7-200 CPU之间、或者其他支持Modbus RTU的设备使用Modbus RTU 协议通信,需要由有S7-200CPU做Modbus主站。
S7-200 CPU做主站必须由用户自己用自由口模式,按相关协议编程。
详情请参考《S7-200系统手册》之相关章节。
要实现Modbus RTU通信,需要STEP 7-Micro/WIN32 V3.2以上版本的编程软件,而且须安装STEP7-Micro/WIN32 V3.2 Instruction Library(指令库)。
ModbusRTU 功能是通过指令库中预先编好的程序功能块实现的。
ModbusRTU从站指令库只支持CPU上的通信0口(Port0)。
基本步骤:1.检查Micro/WIN的软件版本,应当是STEP7-Micro/WIN V3.2以上版本。
2.检查Micro/WIN的指令树中是否存在ModbusRTU从站指令库(图1),库中应当包括MBUS_INIT和MBUS_SLAVE两个子程序。
如果没有,须安装Micro/WIN32V3.2的Instruction Library(指令库)软件包;图1. 指令树中的库指令3.编程时使用SM0.1调用子程序MBUS_INIT进行初始化,使用SM0.0调用MBUS_SLAVE,并指定相应参数。
关于参数的详细说明,可在子程序的局部变量表中找到;图2. 调用Modbus RTU通信指令库图中参数意义如下:1.模式选择:启动/停止Modbus,1=启动;0=停止2.从站地址:Modbus从站地址,取值1~2473.波特率:可选1200,2400,4800,9600,19200,38400,57600,1152004.奇偶校验:0=无校验;1=奇校验;2=偶校验5.延时:附加字符间延时,缺省值为06.最大I/Q位:参与通信的最大I/O点数,S7-200的I/O映像区为128/128,缺省值为1287.最大AI字数:参与通信的最大AI通道数,可为16或328.最大保持寄存器区:参与通信的V存储区字(VW)9.保持寄存器区起始地址:以&VBx指定(间接寻址方式)10.初始化完成标志:成功初始化后置111.初始化错误代码12.Modbus执行:通信中时置1,无 Modbus 通信活动时为 0。
ModbusRTU通讯协议在S7-200 PLC中的应用摘要:本文介绍了用modbusrtu测试软件modscan32与西门子s7-200 plc之间的通讯建立与测试。
关键词:s7-200 modbusrtu 主站从站西门子s7-200 plc具有低成本、可靠性高、技术成熟、能适应各种恶劣的环境等特点在成套设备中得到广泛的应用。
随着工业控制的飞速发展,控制已经从分散控制发展向集中控制型的集散控制系统需要通过s7-200检测现场设备的运行数据并进行控制,采用modbusrtu协议是一个不错的选择,不用另外增加任何设备,只需要在s7-200中进行编程设置即可。
接下来我们通过实例来介绍modbusrtu测试软件modscan32与西门子s7-200 plc之间的通讯建立与测试。
一、modbus rtu协议与s7-200相互关系简介目前支持modbus通信的dcs、plc系统和过程仪表大都采用基于串行接口的modbus rtu模式,西门子公司提供了针对西门子plc modbus rtu的协议库。
极大的简化了modbus rtu通信的开发,以便快速实现二者的相关应用。
通过modbus rtu从站指令库,使得s7-200可以作为modbus rtu中的从站,以实现与modbus主站设备的通信。
二、软硬件准备1.软件:modscan测试软件、step7-microwin v4.0sp06编程软件、s7-200modbus指令库文件。
2.硬件:pc机、西门子s7-200plc(cup224xp cn rel02.01)、ppi编程电缆、usb-to-serial电缆、rs232转rs485模块。
3.焊接rs485通讯电缆一根(date+ →db9 3引脚、date- →db9 8引脚)、rs485通讯电缆连接200plc的port0端口。
三、使用modbus 指令库需要注意事项1.使用modbus指令库,对step7 micro/win软件版本的要求。
通讯简单测试Modscan32使用简介2017-12-13 23:38 来源:配电监测工程师Modbus采用主从式通信,日常使用较多的是Modbus RTU和Modbus TCP/IP两种协议。
智能仪表较多为Modbus RTU协议,常用调试软件为第三方工具ModScan32,比较简单易懂的一款软件,下面介绍一下其使用方法。
ModScan32用来模拟主设备。
它可以发送指令到从机设备(使用Modbus协议的智能仪表终端设备)中,从机响应之后,就可以在界面上返回相应寄存器的数据。
一、首先要保证外部的连接线正确连接好,确认数据线连接正常。
下面打开软件界面,如下图:第一步、点击菜单栏Connection-->connect,出现Connection Details对话框;第二步、单击rotocol Selection进入下一步;第三步、通讯参数设定;注:1、当通讯接口是串口时需要确定现在具体使用的是PC机的哪个串口。
一般情况PC机集成配置的串口为COM1,通过USB接口扩展的为COM3或COM4(具体机器会有所不同)。
2、通讯参数的选择要与从站(仪表/设备)中的设置一致,包括通讯速率、数据长度、奇偶校验和停止位。
其中的“rotocol Selection”选择默认的“RTU”模式。
3、Device Id——从站仪表/设备地址号4、Address——读取的起始寄存器地址5、Length——需要读取的寄存器个数(一般建议先读少量寄存器,确认通讯上了之后再批量读多个寄存器数据。
)二、Modbus1、在监视区的“MODBUS Point Type”中选择通讯的Modbus寄存器类型。
01:COIL STATUS ——读写开关量类型DO02:INPUT STATUS ——读开关量类型DI03:HOLDING REGUSTE ——读写WORD类型04:INPUT REGISTER ——读WORD类型按照硬件产品说明书指导选择哪一种类型,常规modbus规约读取使用03功能码2、检查通讯电缆,确认线路没有问题后点击快捷键,连接通讯。
西门子200做modbus从站与MODSCAN32通讯一.准备工作:1.西门子200编程软件:V4.0 STEP 7 MicroWIN SP92.西门子200PLC一个:CPU224XP3.编程电缆一条:USB-PPI4.串口软件:MODSCAN32_V4.A01二.modbus通讯概念:西门子S7200做Modbus从站需要使用MBUS_INIT、MBUS_SLAVE即可。
MBUS_INIT指令被用于启用和初始化或禁止Modbus通讯。
在使用MBUS_SLAVE指令之前,必须正确执行MBUS_INIT指令。
指令完成后立即设定"完成"位,才能继续执行下一条指令。
在每次扫描且EN输入打开时执行该指令。
应当在每次通讯状态改变时执行MBUS_INIT指令。
因此,EN输入应当通过一个边缘检测元素用脉冲打开,或者仅在首次扫描时执行。
"模式"输入数值选择通讯协议:输入数值1将端口0指定给Modbus协议并启用协议;将输入数值0指定给PPI,并禁用Modbus协议。
"波特"参数将波特率设为1200、2400、4800、9600、19200、38400、57600或115200。
"地址"参数将地址设为1和247之间(包括1和247)的数值。
"校验"参数被设为与Modbus主设备校验相匹配。
可接受的数值为:*0-无校验*1-奇数校验*2-偶数校验"时延"参数通过将指定的毫秒数增加至标准Modbus信息超时的方法延长标准Modbus信息结束超时条件。
该参数的典型数值在有线网络上应为0。
如果您在使用带有纠错功能的调制解调器,将时延设为50至100毫秒的数值。
如果您在使用扩展频谱无线电,将时延设为10至100毫秒的数值。
"时延"数值可以是0至32767毫秒。
MaxIQ参数将供Modbus地址00xxxx和01xxxx使用的I和Q点数设为0至128之间的数值。
MODBUS 通讯实验通讯实验,,(MODSCAN 和MODSIM )实验所需硬件设备:Micro1400,1763-NC01转换器,RS232转RS485的转换接头实验所需软件设备:MODSCAN 和MODSIM 一、MODSCAN 与PLC 之间的通讯之间的通讯((此时PLC 为Modbus Slave ) 1.打开RSLogix500软件,对串口进行配置,具体步骤如下:双击 Channel Configuration 进入端口配置,选择channel0,如图:点击Apply完成以上配置。
2.打开Modscan软件,点击Connection进行连接设置:选择connect,进入以下画面:进入Protocol Selection界面点击OK ,3.下面以03HOLDING REGISTER为例,对PLC进行读写双击40001,在Value中写入值50,,点击Update查看数据文件夹中对应的标签,双击N23可以发现寄存器的值已经更改。
然后对PLC读操作,在第二位即寄存器地址40002中写入23 回车切换到MODSCAN能发现寄存器40002的值已经变成了23二、MODSIM 与PLC 之间的通讯之间的通讯((此时PLC 为Modbus Master ) 1.打开RSLogix500软件,对串口进行配置,具体步骤如下:点击Apply ,OK ,数据读写需要Message 指令来完成,新建Message 数据文件夹MSG9梯形图中写一行Message 指令,如下图:双击Setup Screen进行配置,完成以上配置后,接下来对Modsim进行配置2.打开软件Modsim,在connection下的connect配置如图,OK。
将PLC 中的程序运行如下:双击40001,如下对话框,写入值321可以发现N7:0的值变成了321北京首科力通毛俊2012-3-12。
S7-300 Modbus RTU通讯方法(CP341作从站)_STEP 硬件及软件列表组态和配置编写通信程序设备连接手册下载硬件及软件列表设备名称设备型号PS 307 6ES7 307-1EA00-0AA0CPU 315-2DP 6ES7 315-2AG10-0AB0MMC 6ES7 953-8LG11-0AA0CP341 6ES7 341-1AH01-0AE0Dongle 6ES7 870-1AB01-0YA0应用CP341进行MODBUS协议通信时需要有Dongle的支持。
在使用之前先将Dongle 安装在CP341模块的背面的Dongle插槽中,Dongle和插入Dongle前后的CP341如下图所示:图1注意:STEP7 V5.X软件上,必须安装如下软件包才可进行后续的组态配置。
PTP协议软件包:SIMATIC S7-CP PtP Param V5.1+SP14MODBUS主站驱动MODBUS从站驱动组态和配置1、打开上面创建的项目ptp,用鼠标右键点击项目名称,选择Insert New Object-> SIMATIC 300 Station,更改站的名称为CP341 Modbus-S。
图22、双击Hardware进入硬件配置画面,插入RACK、CPU315-2DP、CP341。
图33、双击CP341模板,点击Parameter...,配置CP341参数。
在Protocol选项中选择MODBUS Slave。
图44、双击Protocol下的信封图标,配置MODBUS Slave参数,点击MODBUS-Slave按钮。
•步骤1:设置MODBUS从站地址,本例中设为2;•步骤2:设置MODBUS从站波特率,停止位,校验位等参数;•接下来配置功能代码所表示的参数,具体参见下4图5、FC01,05,15:读取、强制输出位的状态;左边的地址为信息传送地址,右边对应西门子的PLC地址区,即左边地址从0~100对应MODBUS地址区为00001~00101,对应西门子数据区为M0.0~M12.4;101~200对应MODBUS 地址区为00102~00201,对应西门子数据区为Q0.0~Q12.3;从地址201~300,301~400对应Modbus 地址区为00202~00301,00302~00401,对应西门子数据区为Timer,Counter。
ModSim32和ModScan32两种Modbus调试工具使用说明Modbus通信协议是一种常用的工业自动化领域的通信协议,用于连接不同设备之间进行数据传输和控制。
为了更好地使用和调试Modbus通信,两种常用的调试工具ModSim32和ModScan32应运而生。
本文将介绍这两种Modbus调试工具的使用说明,帮助读者快速上手并实现高效的Modbus通信。
一、ModSim32调试工具ModSim32是一种基于Windows平台的Modbus调试工具,提供了一套完整的Modbus仿真环境。
以下是ModSim32的使用步骤:1. 下载和安装:在ModSim32官方网站上下载安装程序,并按照提示进行安装。
2. 运行程序:双击桌面上的ModSim32图标,启动程序。
3. 设置通信参数:选择“设置”菜单,点击“通信参数”选项。
在弹出的对话框中,设置串口号、波特率和校验方式等通信参数。
4. 配置Modbus设备:选择“配置”菜单,点击“添加Modbus设备”选项。
在设备配置界面上,输入设备地址、数据类型和寄存器信息,以便程序能够正确地与设备通信。
5. 开始通信:点击工具栏上的“启动通信”按钮,ModSim32将开始模拟Modbus设备,并接收/发送数据。
6. 监视和调试:在主界面上,可以监视实时数据的变化,并使用其它功能如读写寄存器、发送Modbus命令等进行调试。
二、ModScan32调试工具ModScan32是一种功能强大的Modbus调试工具,可用于测试和调试Modbus从站设备。
以下是ModScan32的使用步骤:1. 下载和安装:在ModScan32官方网站上下载安装程序,并按照提示进行安装。
2. 运行程序:双击桌面上的ModScan32图标,启动程序。
3. 设置通信参数:选择“连接”菜单,点击“设置通信参数”选项。
在弹出的对话框中,设置串口号、波特率和校验方式等通信参数。
4. 配置从站设备:选择“连接”菜单,点击“添加从站设备”选项。
使用MODSCAN32软件测试OCS从站通讯
1、使用条件,OCS控制器做从站,程序中配置从站通讯参数、地址等内容。
2、如按照以上配置,打开MODSCAN32软件主菜单-Connection-Connect进行配置,本例
使用Com5端口(可从右键-我的电脑中查询使用的端口号),注意参数与控制器中的参数一致。
3、点击上图Protocol Selection配置。
4、 配置完成,从监视画面进行通讯地址格式选择,可参照OCS Modbus 通讯地址表
能实际测出对应地址寄存器的数值代表OCS 从站通讯正常。
如上图,R1-R5及R10寄存器数值已监视出来。
通讯异常时对应地址寄存器无数值,并且提示通讯超时。
如上图
若从站通讯未成功,请仔细检查控制器是否运行、程序中通讯部分的设置、控制器终端拨码开关设置及通讯接线等是否正确。
从站ID
附OCS Modbus通讯地址表。
“ModScan32”是标准的MODBUS 测试软件,可以测试各种MODBUS RTU 方式的通讯。
下面简单介绍如何采用此软件测试BGI系列仪表的MODBUS 通讯。
1:解压缩后直接运行“ModScan32.exe”文件,出现如下画面:
在“Setup”菜单中,选择“Data Definition”数据定义,出现如下对话框:
红色汉字为各个选择项的注释,按照要求,填写扫描频率,从站(仪表)通讯地址,采用命令号(3号表示读单个或多个寄存器内容),扫描起始地址,扫描读取的长度……
注意:读取数据长度不要超过相应仪表的最大数据长度,否则将出现通讯错误。
确定后可以直接连接,选择“Connect”后出现通讯对话框,选择数据位,起始位,停止位,效验位。
BGI仪表一般采用8位数据位,1位停止位,无效验。
确认后,如仪表的通讯设置完成(采用MODBUS RTU, 相应数据位和停止位和PC上设置一致)则可连续读取到数据。
例如:
此时,可以直接用鼠标双击某个可读可写地址,如40020 往后的地址,则可以直接修改内容,此软件自动发送“06”命令给仪表修改相应寄存器内容。
此软件不支持“连续写多个地址命令”(0X10命令)。
MODBUS 通讯实验通讯实验,,(MODSCAN 和MODSIM )实验所需硬件设备:Micro1400,1763-NC01转换器,RS232转RS485的转换接头实验所需软件设备:MODSCAN 和MODSIM 一、MODSCAN 与PLC 之间的通讯之间的通讯((此时PLC 为Modbus Slave ) 1.打开RSLogix500软件,对串口进行配置,具体步骤如下:双击 Channel Configuration 进入端口配置,选择channel0,如图:点击Apply完成以上配置。
2.打开Modscan软件,点击Connection进行连接设置:选择connect,进入以下画面:进入Protocol Selection界面点击OK ,3.下面以03HOLDING REGISTER为例,对PLC进行读写双击40001,在Value中写入值50,,点击Update查看数据文件夹中对应的标签,双击N23可以发现寄存器的值已经更改。
然后对PLC读操作,在第二位即寄存器地址40002中写入23 回车切换到MODSCAN能发现寄存器40002的值已经变成了23二、MODSIM 与PLC 之间的通讯之间的通讯((此时PLC 为Modbus Master ) 1.打开RSLogix500软件,对串口进行配置,具体步骤如下:点击Apply ,OK ,数据读写需要Message 指令来完成,新建Message 数据文件夹MSG9梯形图中写一行Message 指令,如下图:双击Setup Screen进行配置,完成以上配置后,接下来对Modsim进行配置2.打开软件Modsim,在connection下的connect配置如图,OK。
将PLC 中的程序运行如下:双击40001,如下对话框,写入值321可以发现N7:0的值变成了321北京首科力通毛俊2012-3-12。
modsim32和modscan32两种modbus调试工具使用说明精品文档--------------------------精品文档,可以编辑修改,等待你的下载,管理,教育文档---------------------- ------------------------------------------------------------------------------------------------------------------------------------------------------ModSim32和ModScan32两种Modbus调试工具使用说明:Modbus采用主从式通信,日常使用较多的是Modbus RTU和Modbus TCP/IP两种协议。
最常用的Modbus通信调试工具就是ModScan32和ModSim32。
ModScan32用来模拟主设备。
它可以发送指令到从机设备(使用Modbus协议的智能仪表终端设备)中,从机响应之后,就可以在界面上返回相应寄存器的数据。
ModSim32用来模拟从设备。
它可以模拟采用ModBus协议的智能终端。
主要用在HMI组态开发中,通过ModSim32改变寄存器状态的值,模拟智能终端的状态变化,来观察HMI画面的变化。
使得画面的变量配置正确。
ModSim32 和ModScan32可以在同一台电脑中运行,用来模拟采用了Modbus协议的设备的数据收发过程,方法如下:(1)ModSim32的设置ModSim32几乎不需要设置,启动ModSim32后,在菜单栏中选择Connection->Connect->Modbus/TCP Svr即可,如图1所示:图1 弹出图2对话框,端口为默认的502,点击OK即可:--------------------------精品文档,可以编辑修改,等待你的下载,管理,教育文档---------------------- ------------------------------------------------------------------------------------------------------------------------------------------------------精品文档--------------------------精品文档,可以编辑修改,等待你的下载,管理,教育文档---------------------- ------------------------------------------------------------------------------------------------------------------------------------------------------图2(2)ModScan32的设置启动ModScan32后,在菜单栏中选择Connection->Connect,弹出如图4对话框,在Connect下边选择Remote TCP/IP Server连接方式,IP Address处填写本机IP地址,Service处为默认的502即可,点击OK。
西门子200做modbus从站与MODSCAN32通讯
一.准备工作:
1.西门子200编程软件: STEP 7 MicroWIN SP9
2.西门子200PLC一个:CPU224XP
3.编程电缆一条:USB-PPI
4.串口软件:
二.modbus通讯概念:
西门子S7200做Modbus从站需要使用MBUS_INIT、MBUS_SLAVE即可。
MBUS_INIT指令被用于启用和初始化或禁止Modbus通讯。
在使用MBUS_SLAVE指令之前,必须正确执行MBUS_INIT指令。
指令完成后立即设定"完成"位,才能继续执行下一条指令。
在每次扫描且EN输入打开时执行该指令。
应当在每次通讯状态改变时执行MBUS_INIT指令。
因此,EN输入应当通过一个边缘检测元素用脉冲打开,或者仅在首次扫描时执行。
"模式"输入数值选择通讯协议:输入数值1将端口0指定给Modbus协议并启用协议;将输入数值0指定给PPI,并禁用Modbus协议。
"波特"参数将波特率设为1200、2400、4800、9600、19200、38400、57600或115200。
"地址"参数将地址设为1和247之间(包括1和247)的数值。
"校验"参数被设为与Modbus主设备校验相匹配。
可接受的数值为:
*0-无校验
*1-奇数校验
*2-偶数校验
"时延"参数通过将指定的毫秒数增加至标准Modbus信息超时的方法延长标准Modbus信息结束超时条件。
该参数的典型数值在有线网络上应为0。
如果您在使用带有纠错功能的调制解调器,将时延设为50至100毫秒的数值。
如果您在使用扩展频谱无线电,将时延设为10至100毫秒的数值。
"时延"数值可以是0至32767毫秒。
MaxIQ参数将供Modbus地址00xxxx和01xxxx使用的I和Q点数设为0至128之间的数值。
数值0禁止所有向输入和输出的读取。
建议使用的MaxIQ数值是128,该数值可在S7-200中存取所有的I和Q点。
MaxAI参数将供Modbus地址03xxx使用的字输入(AI)寄存器数目设为0至32之间的数值。
数值0禁止模拟输入的读数。
建议使用的MaxAI数值如下,这些数值可允许存取所有的S7-200模拟输入:
*0用于CPU 221
*16用于CPU 222
*32用于CPU 224、226和226XM
MaxHold参数设定供Modbus地址04xxx使用的V内存中的字保持寄存器数目。
例如,为了允许主设备存取2000个字节的V内存,将MaxHold设为1000个字的数值(保持寄存器)。
HoldStart参数是V内存中保持寄存器的起始地址。
该数值一般被设为VB0,因此HoldStart 参数被设为&VB0(VB0地址)。
其他V内存地址可指定为保持寄存器的起始地址,以便在项
目的其他地方使用VB0。
Modbus主设备可存取V内存MaxHold个字数,从HoldStart开始。
MBUS_INIT指令完成时,"完成"输出打开。
"错误"输出字节包含执行指令的结果。
请参阅Modbus从属协议执行错误代码中可能因执行指令而产生的错误条件。
MBUS_SLAVE指令被用于为Modbus主设备发出的请求服务,并且必须在每次扫描时执行,以便允许该指令检查和回答Modbus请求。
在每次扫描且EN输入开启时执行该指令。
MBUS_SLAVE 指令无输入参数。
当MBUS_SLAVE指令对Modbus请求作出应答时,"完成"输出打开。
如果没有需要服务的请求时,"完成"输出关闭。
"错误"输出包含执行该指令的结果。
该输出只有在"完成"打开时才有效。
如果"完成"关闭,错误参数不会改变。
请参阅Modbus从属协议执行错误代码中可能因执行该指令而导致的错误条件。
错误代码说明
0无错误
1内存范围错误
2非法波特率或校验
3非法从属地址
4非法Modbus参数值
5保持寄存器与Modbus从属符号重叠
6收到校验错误
7收到CRC错误
8非法功能请求/功能不受支持
9请求中的非法内存地址
10从属功能未启用
三:程序编写
PLC地址=(modbus地址-1)*2;如modbus地址为40002,则PLC地址为VW1002。
四:设置库存储区
库存储区起始地址为:HoldStart+(MaxHold*2);此处库存储区地址应为VB1000+(20*2)=VB1040; 库存储区不应小于VB1040,否则会导致通讯失败。
五:建立通讯连接
设置通讯参数:与PLC初始化从站协议一致。
测试成功。