MUDBUS通讯实验
M340_modbus通讯实验

M340_modbus通讯实验实验设备:Modbus 主站:M340:P342010Modbus 从站:TWDLCAA24DRF接线方式:使用双绞线电缆,RJ45的4(D1)接到TWDNAC 485T的A,5(D0)接到TWDNAC 485T的B实验概诉:主站通过WRITE_VAR指令往从站写2个字的数据,然后用READ_VAR指令读取该数据,监视读到的值是否与写入值一致,以熟悉M340的MODBUS通讯。
实验步骤:1.新建项目选择TWDLCAA24DRF,添加选件TWDNAC485T,并配置为Modbus,地址为2,并配置好通讯参数,如下图:2.在UNITY中新建项目并做好硬件配置,modbus通讯口设置为主站并设置通讯参数(参数与twido的485T一致)3.编写程序a.在“数据编辑器”中给%mw200初始值5555,%mw201初始值1234b.配置WRITE_VAR,让主站把%mw200开始的连续2个字写到从站的%mw10。
c.配置READ_VAR,主站读取从站的%mw10开始的连续2个字,并存到主站的%mw10(RECP)。
4.把项目程序分别下载到主、从站plc,接好通讯电缆,运行plc,并在UNITY中打开主站M340的程序并监视%mw10、11的数值是否与写入数值一致。
实验注意事项:1)正确配置READ_VAR和WRITE_VAR(请参考帮助文档),比如,OBJ类型为‘%mw’,输入时别忘了单引号。
2)主从站的通讯端口的参数设置必须一致.3)功能块ADDM输入地址格式,对于使用 Modbus 协议的设备的地址,参数 IN 采取格式‘',注意别忘了单引号,其中:r:机架号(机架)本例为0m:模块位置本例为0c:Modbus 端口(0) 的通道编号(主站即M340 的通道,本例为0)e:Modbus 从站号(设备)(范围介于 1 到 247 之间)本例为2 4)twido的内存要释放,即在梯形图逻辑中要用到%mw11或以后的寄存器.。
modbus协议通信实例

modbus协议通信实例Modbus协议是一种常用的工业通信协议,它可以实现不同设备之间的数据交换。
下面将介绍一个Modbus协议通信的实例。
在这个实例中,我们需要将一个温度传感器的数据传输到PLC控制器上。
首先,我们需要选择一个支持Modbus协议的温度传感器和PLC 控制器。
在这个实例中,我们选择了一个支持Modbus RTU协议的温度传感器和PLC控制器。
接下来,我们需要配置温度传感器和PLC控制器的Modbus通信参数。
在这个实例中,我们选择了9600波特率、8数据位、无校验位和1停止位。
我们还需要为温度传感器和PLC控制器分配Modbus地址。
在这个实例中,我们将温度传感器的Modbus地址设置为1,将PLC控制器的Modbus地址设置为2。
现在,我们可以开始编写PLC控制器的程序。
在这个实例中,我们使用了一个Modbus RTU通信模块来实现PLC控制器与温度传感器之间的通信。
我们需要在PLC控制器的程序中添加Modbus RTU通信模块,并配置通信参数和Modbus地址。
然后,我们需要编写一个读取温度传感器数据的程序,并将数据存储到PLC控制器的内存中。
在温度传感器和PLC控制器之间建立通信后,我们可以使用Modbus 调试工具来测试通信是否正常。
在这个实例中,我们使用了一个Modbus调试工具来读取温度传感器的数据。
我们需要在Modbus调试工具中设置通信参数和Modbus地址,并发送读取数据的命令。
如果通信正常,我们将能够读取到温度传感器的数据。
最后,我们可以在PLC控制器的HMI界面上显示温度传感器的数据。
在这个实例中,我们使用了一个数码管来显示温度传感器的数据。
我们需要在PLC控制器的程序中添加一个数码管,并将温度传感器的数据显示在数码管上。
总之,Modbus协议是一种常用的工业通信协议,它可以实现不同设备之间的数据交换。
在这个实例中,我们使用了Modbus RTU协议来实现温度传感器和PLC控制器之间的通信,并将温度传感器的数据显示在PLC控制器的HMI界面上。
4 s7 1200做modbus通信

s7 1200做modbus通信实验设备:s7 1200PLC一台;cm1241 通信卡一块;modbus主站设备一台(此实验使用PC 端modbuscan 32模拟主站)实验过程:一、硬件组态及设置;硬件组态为s7 1200cpu和cm1241通信卡,如下图所示:cm 1241要设置的为端口组态,具体设置需根据现场设备而定,此次试验采用9600 8n1的通信方式,接线采用485接线。
S7 1200 需要设置IP和时钟存储器设置IP:设置时钟存储器:二、做从站时软件编写:1)、创建通信数据块:创建数据块后,进入属性去掉“优化的块访问”。
然后在数据块中创建存储区域。
2)、调用“MB_COMM_LOAD”初始化通讯端口:各引脚参数如下图:“MB_COMM_LOAD”只需要调用一次,所以可以将其放置于OB100,此处使用PLC时钟存储器的FristScan来使之只在第一个周期调用。
3)、调用“MB_SLAVE”:“MB_SLAVE”上个引脚说明如下图所示:Modbus内部点位如下图所示:三、做主站时软件编写:S7 1200做主站时硬件配置和从站时相比无需更改,仅需在软件部分做修改即可。
1)、创建通信数据块:添加modbusMaster数据区域2)、调用“MB_COMM_LOAD”初始化通讯端口:此处配置与做从站时配置一致,仅需注意MB_DB管脚处要与使用的背景数据块对应。
3)、调用MB_MASTER:MB_MASTER各引脚说明如下图所示:Modbus各个模式及通信地址如下图所示:四、实验测试:1)、s7 1200从站时通信测试:将上面的2个程序段下载入PLC就可以进行modbus通信测试了;测试结果如下:功能码01:功能码02:功能码04:PLC内数据:可见通信正常,所有数据读写也正常。
2)、s7 1200做主站时通信测试:首先使用读取模式;PC端使用ModbusSlave模拟从站,首先把所有q点置1;PLC内部数据如下图:只留第一个为1;PLC内部数据:接着测试读取寄存器,此处随意修改几个数值:PLC内部读取的数值如下图:最后测试s7 1200发送数据给从站;首先修改PLC里的数据:使用Modbus Slave 读取的数据如下图所示:从上面试验可以看出s7 1200 做主站时各功能码下读取数据正常,写入数据也正常,所有功能均正常工作。
MODBUS通讯实例教程V0.1(延安)

MODBUS通讯实例教程一.实验前准备工作:1.1工具:●电脑1台;●USB转232数据线1根(每个品牌型号驱动不一样,必须对应安装USB转232驱动);●232转485接头1个;●带MODBUS仪表1块。
注:1.实验前必须确保数据线正常,建议准备两根相同的数据线及232转485接头。
B转232驱动安装好,在设备管理器中查看,设备端口及端口号。
(图-1)图-11.2功能码:●03:读保持寄存器●04:读输入寄存器●06:写单个保持寄存器●10:写多个保持寄存器✧仪表通讯地址:1/9600/8N1(参数必须一一对应,O奇校验/E偶校验/N无校验)。
二.用串口调试软件与设备通讯(ComMonitor.exe)调试软件保存在桌面可使用。
注:在使用串口“ComMonitor”软件时,必须用“管理员身份运行”2.1读取仪表起始值为第1个数据,读1个数据[发送]010300000001840A注释:数据中0000为读取的起始值,0001读取寄存器的个数。
[接收]010*******B9D4注释:数据中02为读取的字节个数,0100读取的两个字节。
2.2读取仪表起始值为第3个数据,读2个数据[发送]01030002000265CB注释:数据中0002为读取的起始值,0002读取寄存器的个数。
[接收]01030403000400F8B7注释:数据中04为读取的字节个数,03000400读取的4个字节。
2.3读取仪表起始值为第1个数据,读10个数据(转化为16进制是0A)[发送]010********A C5CD注释:数据中0000为读取的起始值,000A读取寄存器的个数。
[接收]0103140100020003000400050006000700080009001000D8DA注释:数据中14(16进制)为读取字节个数。
转换为10进制为20.意思就是读取到20个字节,010002 0003000400050006000700080009001000为10个寄存器数据。
M340_modbus通讯实验

实验设备:Modbus 主站:M340:P342010Modbus 从站:TWDLCAA24DRF接线方式:使用双绞线电缆,RJ45的4(D1)接到TWDNAC 485T的A,5(D0)接到TWDNAC 485T的B实验概诉:主站通过WRITE_VAR指令往从站写2个字的数据,然后用READ_VAR 指令读取该数据,监视读到的值是否与写入值一致,以熟悉M340的MODBUS 通讯。
实验步骤:1.新建项目选择TWDLCAA24DRF,添加选件TWDNAC485T,并配置为Modbus,地址为2,并配置好通讯参数,如下图:2.在UNITY中新建项目并做好硬件配置,modbus通讯口设置为主站并设置通讯参数(参数与twido的485T一致)3.编写程序a.在“数据编辑器”中给%mw200初始值5555,%mw201初始值1234b.配置WRITE_VAR,让主站把%mw200开始的连续2个字写到从站的%mw10。
c.配置READ_VAR,主站读取从站的%mw10开始的连续2个字,并存到主站的%mw10(RECP)。
4.把项目程序分别下载到主、从站plc,接好通讯电缆,运行plc,并在UNITY中打开主站M340的程序并监视%mw10、11的数值是否与写入数值一致。
实验注意事项:1)正确配置READ_VAR和WRITE_VAR(请参考帮助文档),比如,OBJ类型为‘%mw’,输入时别忘了单引号。
2)主从站的通讯端口的参数设置必须一致.3)功能块ADDM输入地址格式,对于使用 Modbus 协议的设备的地址,参数 IN 采取格式‘r.m.c.e',注意别忘了单引号,其中:r:机架号(机架)本例为0m:模块位置本例为0c:Modbus 端口 (0) 的通道编号(主站即M340 的通道,本例为0)e:Modbus 从站号(设备)(范围介于 1 到 247 之间)本例为24)twido的内存要释放,即在梯形图逻辑中要用到%mw11或以后的寄存器.。
Twido_modbus通讯实验EXCH

两台Twido PLC间的MODBUS通讯实验报告两台Twido PLC间的MODBUS通讯实验报告目录一、实验背景 (3)1.1Modbus简介 (3)1.2Modbus主站标准协议的字表格式 (3)1.3EXCH指令的用法 (3)二、实验设备 (4)2.1硬件 (4)2.2软件 (4)三、实验目的 (6)四、实验模型 (6)五、实验过程 (6)六、实验结果 (7)七、实际案例 (8)1.1Modbus简介Modbus是由Modicon(现为施耐德电气公司的一个品牌)在1979年发明的,是全球第一个真正用于工业现场的总线协议。
Modbus 协议是应用于电子控制器上的一种通用语言。
通过此协议,控制器相互之间、控制器经由网络(例如以太网)和其它设备之间可以通信。
它已经成为一通用工业标准。
Modbus可以支持多种电气接口,如RS-232、RS-485等,还可以在各种介质上传送,如双绞线、光纤、无线等。
控制器通信使用主—从技术,即仅设备(主设备)能初始化传输(查询)。
其它设备(从设备)根据主设备查询提供的数据作出相应反应。
主设备可单独和从设备通信,也能以广播方式和所有从设备通信。
如果单独通信,从设备返回消息作为回应,如果是以广播方式查询的,则不作任何回应。
Modbus协议建立了主设备查询的格式:设备(或广播)地址、功能代码、所有要发送的数据、错误检测域。
从设备回应消息也由Modbus协议构成,包括确认要行动的域、任何要返回的数据、和错误检测域。
如果在消息接收过程中发生错误,或从设备不能执行其命令,从设备将建立错误消息并把它作为回应发送出去。
控制器能设置为两种传输模式(ASCII或RTU)中的任何一种在标准的Modbus 网络通信。
RTU方式相比ASCII方式,同样长度的数据帧能携带更多的有效信息,但RTU方式要求传输消息时必须非常连续,而ASCII方式允许传输字符的间隔达到1s。
1.2Modbus主站标准协议的字表格式请参考SCDOC671 181页~183页1.3EXCH指令的用法Twido控制器位Modbus通信提供了EXCH用于发送和接收消息。
M340的modbus通过Data_exch通讯实验 图文并茂

M340与TWIDO做Data_exch通讯图文并茂DATA_EXCH功能块是用于Premium和M340传输数据到另外一台设备。
特别注意的是这个功能块支持Modbus所有的功能码。
现将常用的Modbus功能码列表,如下:DATA_EXCH用梯形图表示为各个引脚定义ADR为地址引脚,对于PREMIUM系列需要使用ADDR功能块连接对于M340系列需要使用ADDM功能块连接。
TYPE为类型引脚,1为接受/发送,2为只接受,3为只发送。
EMIS为要发送表RECP为接受表GEST为交换管理表实验一:读取N位(功能码01)其中在EMIS数组中第一个字,低字节为功能码01,高字节为读取位的起始位1 第二个字,低字节为读取位的起始位1,高字节为读取位的长度5第三个字,低字节为读取位的长度5最后要在交换管理表的第四个字中定义这个报文字节的长度,为1个字节的功能码,2个字节的数据起始地址,2个字节的读取位的长度,所以长度为1+2+2=5在TWIDO中赋值如下:在RECP中第一个字为返回码第二个字为读取的数据实验二:读取N字(功能码03)其中在EMIS数组中第一个字,低字节为功能码03,高字节为读取字的起始地址1 第二个字,低字节为读取字的起始地址1,高字节为读取字的长度6第三个字,低字节为读取字的长度6最后要在交换管理表的第四个字中定义这个报文字节的长度,为1个字节的功能码,2个字节的数据起始地址,2个字节的读取字的长度,所以长度为1+2+2=5在TWIDO中赋值如下在RECP中第一个字为返回码第二个字开始为读取的数据实验三:写单字(功能码06)其中在EMIS数组中第一个字,低字节为功能码06,高字节为从站要写入字的地址11第二个字,低字节为从站要写入字的地址11,高字节为主站写出字的地址90第三个字,低字节为主站写出字的地址90最后要在交换管理表的第四个字中定义这个报文字节的长度,为1个字节的功能码,2个字节的从站写入字地址,2个字节的主站写出字地址,所以长度为1+2+2=5在主站赋值如下在TWIDO中显示如下实验四:写N字(功能码16)其中在EMIS数组中第一个字,低字节为功能码16,高字节为从站要写入字的起始地址20第二个字,低字节为从站要写入字的起始地址20,高字节为要写入字的长度3第三个字,低字节为要写入字的长度3,高字节为2倍的要写入字的长度第四个字~第六个字为主站写出字,高低字节顺序要相互转换最后要在交换管理表的第四个字中定义这个报文字节的长度,为1个字节的功能码,2个字节的从站写入字地址,2个字节的写入字的长度,1个2倍的要写入字的长度,6个字节的主站写出字,所以长度为1+2+2+1+6=12在主站赋值如下在TWIDO中显示如下另外注意刷新数据时,必须要把EN引脚断开一下才可以重新读取或写入。
PZ96-E4的MODBUS通讯试验

PZ96L-E4/CMODBUS通讯实验PZ96L-E4/C电力仪表是上海安科瑞电气股份有限公司自主研发生产的产品,该电力仪表针对电力系统、工矿企业、公共设施、智能大厦的电力监控需求而设计的。
电力仪表可以直接取代常规电力变送器及测量仪表。
作为一种先进的智能化、数字化的前端采集元件,该电力仪表已广泛应用于各种控制系统、SCADA系统和能源管理系统中。
仪表采用交流采样技术,能测量电网中的电流、电压频率、有功功率、无功功率、有功电能、无功电能等参数,可通过面板薄膜开关设置倍率,带RS485通讯、报警输出、开关量输入/输出等功能。
正好有个项目需要用到PZ96L-E4/C仪表(以下简称仪表)的RS485通讯功能,我就做了一个用MODSCAN32软件与仪表进行通讯的实验。
一先按以下接线图接线并上电:仪表PZ96L-E4/C 1台232转 485通讯适配器 1只USB转串口通讯接口 1只二打开MODSCAN32软件,在下拉式菜单Connect下选择Connect,按以下图进行设置其中COM3是电脑USB转串口的地址,波特率9600、数据长度、奇偶校验位、停止位、必须要和仪表设置相符合。
三按上图中Protocol Selections 按钮,进入以下画面进行设置:设置完成后按OK键结束。
四在下拉式菜单File选择New,按以下画面进行设置:数据类型一定要选用03:HOLDING REGISTER ,否则数据不对。
OK,数据已经上来了,具体的项目的含义请参照《 PZ系列可编程智能电测表——三相功率、三相电能部分(P3/P4、E3/E4)》,由安科瑞提供。
河南华东工控技术有限公司耿保国2012年7月31日。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
MODBUS通讯实验一、理论背景1.1单工、半双工和全双工单工数据传输只支持数据在一个方向上传输;全双工数据通信允许数据同时在两个方向上传输,因此,全双工通信是两个单工通信方式的结合,它要求发送设备和接收设备都有独立的接收和发送能力。
半双工数据传输指数据可以在一个信号载体的两个方向上传输,但是不能同时传输。
例如,在一个局域网上使用具有半双工传输的技术,一个工作站可以在线上发送数据,然后立即在线上接收数据,这些数据来自数据刚刚传输的方向。
像全双工传输一样,半双工包含一个双向线路(线路可以在两个方向上传递数据)。
1.2RS-485:RS-485标准是半双工通信协议,RS-485适用于收发双方共享一对线进行通信,也适用于多个点之间共享一对线路进行总线方式联网。
在低速、短距离、无干扰的场合可以采用普通的双绞线,反之,在高速、长线传输时,则必须采用阻抗匹配(一般为120Ω)的RS485专用电缆。
RS485采用差分信号负逻辑,-2V~-6V表示“0”,+2V~+6V表示“1”。
RS485有两线制和四线制两种接线,四线制只能实现点对点的通信方式,现很少采用,现在多采用的是两线制接线方式,这种接线方式为总线式拓扑结构在同一总线上最多可以挂接32个结点。
在RS485通信网络中一般采用的是主从通信方式,即一个主机带多个从机。
很多情况下,连接RS-485通信链路时只是简单地用一对双绞线将各个接口的“A”、“B”端连接起来。
、1.2Modbus工业控制已从单机控制走向集中监控、集散控制,如今已进入网络集约制造时代。
工业控制器连网也为网络管理提供了方便。
Modbus就是工业控制器的网络协议中的一种。
Modbus协议是应用于电子控制器上的一种通讯约规。
通过此协议,控制器相互之间、控制器经由网络(例如以太网)和其它设备之间可以通信。
它已经成为主流的工业标准之一。
对符合Modbus协议的不同厂商生产的控制设备可以连成工业网络,进行集中监控。
图:S7-200 D型9针接口的MODBUS接线方式二、实验准备1、西门子 CPU 226实验操作台;2、自制RS-485 modbus通讯线;3、已安装MODBUS通讯指令库的计算机;4、MODBUS从机设备(此选用FL3102型号火探)5、24供电电源,导线若干。
连接MODBUS通讯线,D型接口端接CPU的端口1(端口0用于与电脑通讯),针脚3引出线接火探的DATA+接线端,针脚8引出线接火探的DATA-接线端。
三、相关指令安装完指令库后,可在指令树的“库”内找到MODBUS通讯相关指令。
需注意的是,指令的引用需与接口端对应。
如本次MODBUS通讯接口插在CPU 端口1,则只能使用“MODBUSMASTER PORT 1”内的指令。
MODBUS主站通讯使用到两个相关指令:3.1MBUS_CTRL用于S7-200的MBUS_CTRL指令可初始化、监视或禁用Modbus通讯。
在使用MBUS_MSG指令之前,必须正确执行MBUS_CTRL指令。
Mode“模式”:输入数值选择通讯协议。
输入值1将CPU端口分配给Modbus协议并启用该协议。
输入值0将CPU端口分配给PPI系统协议并禁用Modbus协议。
Baud"波特":参数将波特率设为1200、2400、4800、9600、19200、38400、57600或115200波特。
Parity"奇偶校验":参数被设为与Modbus从站奇偶校验相匹配。
所有设置使用一个起始位和一个停止位。
可接受的数值为:0 - 无奇偶校验1 - 奇校验2 - 偶校验Timeout"超时":参数设为等待来自从站应答的毫秒时间数。
"超时"数值可以设置的范围为1毫秒到32767毫秒。
典型值是1000毫秒(1秒)。
"超时"参数应该设置的足够大,以便从站有时间对所选的波特率作出应答。
"超时"参数用于确定Modbus从站是否对请求做出应答。
"超时"值确定Modbus主设备在发送了请求的最后一个字符后,将要等待多长时间才会有应答的第一个字符。
如果在"超时"规定的时间内至少收到应答的一个字符,Modbus主设备将从Modbus从站接收到整个应答。
Done"完成" :MBUS_CTRL指令完成时,输出打开。
error"错误":输出包含执行该指令的结果。
下表定义了在执行MBUS_CTRL指令时会产生的错误条件。
错误代码说明0 无错误1 奇偶校验选择无效2 波特率选择无效3 超时选择无效4 模式选择无效3.2MBUS_MSGMBUS_MSG指令(或用于端口1的MBUS_MSG_P1)用于启动对Modbus从站的请求并处理应答。
当EN输入和"首次"输入打开时,BUS_MSG指令启动对Modbus从站的请求。
发送请求、等待应答、并处理应答通常需要多次扫描。
EN输入必须打开以启用请求的发送,并应该保持打开直到"完成"位被置位。
Frist"首次":参数应该在有新请求要发送时才打开以进行一次扫描。
"首次"输入应当通过一个边沿检测元素(例如上升沿)打开,这将导致请求被传送一次。
参见实例程序。
Slave"从站":参数是Modbus从站的地址。
允许的范围是0到247。
地址0是广播地址,只能用于写请求。
RW "读写":参出指定是否要读取或写入该消息。
"读写"参数允许使用下列两个值。
0 :读1 :写Addr"地址":参数是起始的Modbus地址。
10001至19999是离散输入(触点)30001至39999是输入寄存器40001至49999是保持寄存器"地址"的指定取值范围基于Modbus从站支持的地址。
Count"计数":参数指定在该请求中读取或写入的数据元素的数目。
"计数"值是位数(对于位数据类型)和字数(对于字数据类型)。
"DataPtr"参数是指向S7-200 CPU的V存储器中与读取或写入请求相关的数据的间接地址指针。
对于读取请求,DataPtr应该指向用于存储从Modbus从站读取的数据的第一个CPU存储器位置。
对于写入请求,DataPtr应该指向要发送到Modbus从站的数据的第一个CPU存储器位置。
DataPtr值作为间接地址指针传递到MBUS_MSG。
例如,如果要写入Modbus从站的数据从S7-200 CPU中的地址VW200开始,则DataPtr的数值将会是&VB200 (VB200的地址)。
指针必须始终是VB类型,即使它们指向字数据。
保持寄存器(地址4xxxx)和输入寄存器(地址3xxxx)的值是字(2个字节或16位)。
S7-200 CPU字的格式与Modbus寄存器相同。
低位编号的V存储器地址是寄存器的最高有效字节。
高位编号的V存储器地址是寄存器的最低有效字节。
Done"完成":输出在发送请求和接收应答时关闭。
"完成"输出在应答完成或MBUS_MSG指令因错误而中止时打开。
Error"错误":输出仅当"完成"输出打开时有效。
错误代码说明0 无错误1 应答时奇偶校验错误:仅当使用偶校验或奇校验时才会发生。
传输被干扰,可能会收到不正确的数据。
该错误通常是由电气故障(例如错误接线或者影响通讯的电噪声)引起的。
2 未使用3 接收超时:在"超时"时间内,没有来自从站的应答。
可能有以下一些原因:与从站的电气连接有问题、主设备和从站设置为不同的波特率/奇偶校验设置,以及错误的从站地址。
4 请求参数出错:一个或多个输入参数(从站、读写、地址或计数)被设置为非法值。
检查文档中输入参数的允许值。
5Modbus主设备未启用:在调用MBUS_MSG前,每次扫描时都调用MBUS_CTRL。
6 Modbus忙于处理另一个请求:一次只能激活一条MBUS_MSG指令。
7 应答时出错:收到的应答与请求不相关。
这表示从站中出现了某些错误,或者错误的从站应答了请求。
8 应答时CRC错误:传输被干扰,可能会收到不正确的数据。
该错误通常是由电气故障(例如错误接线或者影响通讯的电噪声)引起的。
101 从站不支持在该地址处所请求的功能:请参阅"使用Modbus主设备指令"帮助主题中的所需Modbus从站功能支持表。
102 从站不支持数据地址:"地址"加上"计数"所要求的地址范围超出了从站所允许的地址范围。
103从站不支持数据类型:该"地址"类型不被从站支持。
104从站故障105 从站已接受消息但应答延迟:这是MBUS_MSG的错误,用户程序应在稍后重新发送请求。
106 从站忙,因此拒绝消息:可以再次尝试相同的请求,以获得应答。
107 从站因未知原因而拒绝消息108 从站存储器奇偶校验错误:从站中有错误。
四、程序编写程序截图及注释:4.1第一部分:更改写入火探地址从1变为2将2赋值于VW10(需为字类型)MBUS_CTRL指令设置。
通过查询设备说明书,知道火探MODBUS默认通讯波特率为19.2kbps,无奇偶校验。
MBUS_MSG指令设置:火探默认地址1,进行写入,MODBUS地址为40010(通道1地址,见下图),写入字数为1个,已VB10为起始地址。
将VW10赋值于VW20。
用于监控。
4.2第二部分:在地址2内读出火探的版本型号。
另编写一程序用于在2号地址读取火探版本号同上。
与地址2通讯,进行读动作,MODBUS地址对应40005(从机版本号,见下图),读字数1,起始地址VB10。
同上。
至此程序编写完成。
4.3 其他设置Modbus主设备协议指令的变量要求284个字节的V存储器程序块。
该程序块的起始地址由用户指定,专门保留用于Modbus变量。
“文件”——“库存储区”将VB100至VB383(可自行分配)的存储区分配给MODBUS指令作为中间变量区。
其区间不能再用于其他用途。
设置通信端口:设置完成,编译无错误后即可下载进行测试。