MODBUS 通信设置
MODBUS 通信设置

第1章MODBUS通信设置1.1MODBUS RTU从站NA-PLC CPU都集成RS232或者RS485接口,通过下图协议选择MODBUS RTU,表示串口作为RTU从站在工作,触摸屏、组态软件等可以作为主站来读取PLC的寄存器地址。
1.1.1功能码与数据分类对应表在本手册中,功能码与相应的数据的对应关系如下所示(以CPU401-0501为例,其它类型CPU测点地址与规约地址的上限有所不同):SW系统字寄10242048409640961024存器T定时器25651210241024256C计数器25651210241024256在MODBUS规约中,地址的起始编号为0。
如%Q0005的规约地址为4。
1.2MODBUS TCP从站协议NA-PLC的以太网接口,默认都是标准MODBUS TCP协议,PLC作为服务器端,触摸屏或者组态软件作为客户端来访问,默认端口号为502(不可更改)。
PLC作为服务器端,最大允许同时访问客户端数量有限制,NA200H最大不要超过8个,NA300/NA400不要超过16个。
1.2.1MODBUS TCP协议变量地址表在本手册中,功能码与相应的数据的对应关系如下所示(以CPU401-0501为例,其它类型CPU测点地址与规约地址的上限有所不同):SW系统字寄10242048409640961024存器T定时器25651210241024256C计数器25651210241024256在MODBUS规约中,地址的起始编号为0。
如%Q0005的规约地址为4。
1.3MODBUS主站通信设置1.3.1MODBUS RTU主站配置在NAPro【PLC配置/硬件配置】下,PLC类型选择NA200H时,它的串口可支持Modbus Master 协议配置,具体操作如下:【选择串口】:配置正确的串口参数,选择Modbus Master协议,即可出现配置界面(图3.40):图3.40协议配置示意图【字符间最大时间间隔(10-1000,默认为200ms)】:一个命令发送后,收到的回文可能不是一次传完,在回文的多次传输中任意两个字符之间的最大时间间隔。
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界面上。
MODBUS通讯协议及编程

MODBUS通讯协议及编程ModBus通讯协议分为RTU协议和ASCII协议,我公司的多种仪表都采用ModBus RTU通讯协议,如:CH2000智能电力监测仪、CH2000M电力参数采集模块、巡检表、数显表、光柱数显表等。
下面就ModBus RTU协议简要介绍如下:一、通讯协议(一)、通讯传送方式:通讯传送分为独立的信息头,和发送的编码数据。
以下耐ㄑ洞 头绞蕉ㄒ逡灿隡ODBUS RTU通讯规约相兼容:初始结构= ≥4字节的时间地址码 = 1 字节功能码 = 1 字节数据区 = N 字节错误校检 = 16位CRC码结束结构= ≥4字节的时间地址码:地址码为通讯传送的第一个字节。
这个字节表明由用户设定地址码的从机将接收由主机发送来的信息。
并且每个从机都有具有唯一的地址码,并且响应回送均以各自的地址码开始。
主机发送的地址码表明将发送到的从机地址,而从机发送的地址码表明回送的从机地址。
功能码:通讯传送的第二个字节。
ModBus通讯规约定义功能号为1到127。
本仪表只利用其中的一部分功能码。
作为主机请求发送,通过功能码告诉从机执行什么动作。
作为从机响应,从机发送的功能码与从主机发送来的功能码一样,并表明从机已响应主机进行操作。
如果从机发送的功能码的最高位为1(比如功能码大与此同时127),则表明从机没有响应操作或发送出错。
数据区:数据区是根据不同的功能码而不同。
数据区可以是实际数值、设置点、主机发送给从机或从机发送给主机的地址。
CRC码:二字节的错误检测码。
(二)、通讯规约:当通讯命令发送至仪器时,符合相应地址码的设备接通讯命令,并除去地址码,读取信息,如果没有出错,则执行相应的任务;然后把执行结果返送给发送者。
返送的信息中包括地址码、执行动作的功能码、执行动作后结果的数据以及错误校验码。
如果出错就不发送任何信息。
1.信息帧结构地址码:地址码是信息帧的第一字节(8位),从0到255。
这个字节表明由用户设置地址的从机将接收由主机发送来的信息。
PLC MODBUS通信协议手册

Coo l may P LC的M odbus通讯使用手册Modbus通讯协议作为标准的工业通讯协议已经被广泛地应用在各个领域,Coo l mayPLC的RS485通讯接口支持这种通讯协议,使 PLC能方便地与具有Modbus通讯协议的设备进行通讯,例如变频器、温湿度模块、组态网路、各种传感器等。
Modbus通讯协议分为两种串行通讯模式,ASCII和 RTU通讯模式。
在配置每台PLC 时,用户须选择通讯模式以及RS485串行口的通讯参数。
(波特率,奇偶校验等),在Modbus总线上的所有设备应具有相同的通讯模式和串行通讯参数。
使用Modbus通讯,必须在梯形图中对每台PLC的相关特殊元件进行设置。
D8120通讯参数选择寄存器:b15b14 b13 b12 b11 b10b9b8b7b6b5b4b3 b2 b1b0b0数据长度: 0:7位1:8位b2b1奇偶性00:None无01:Odd奇11:Even偶b3停止位:0:1位1:2位b7b6b5b4波特率0100:600bps 0111:4800bps 0101:1200bps1000:9600bps 0110:2400bps 1001:19200bps b8-b12 与Modbus无关B13 Modbus通讯模式:0:RTU 1:ASCIIB14 启动通讯协议: 0:使用编程口协议或按RS指令通讯1:使用Modbus协议通讯B15 PLC主从机选择0:从机1:主机D8121从机站号寄存器:范围1-247。
当PLC作为Modbus通讯从机时,必须有一个站号,在梯形图里对D8121进行设定。
D8126发送前的延时寄存器:范围0-1000,单位ms。
让接收设备有个准备时间,可以适当选择5-20ms。
当PLC为主机时读取从机数据指令示例:RD3A K1 H0 D0RD3A原来是模拟量模块读取指令,原指令功能不能使用。
RD3A指令对应 Modbus的03号功能,读取(4X类型)寄存器。
力控modbus通信方法modbus-tcp、modbus-rtu莫迪康通信配置步骤

⼒控modbus通信⽅法modbus-tcp、modbus-rtu莫迪康通信配置步骤⽬录第 1 章 485 设备与⼒控通讯1.1DI/DO/AI/AO 接⼊1.1.1添加设备1.1.2测试设备1.2读取 DI 状态1.3输出/读取 DO 状态1.4读取 AI 值第 2 章以太⽹设备与⼒控通讯2.1DI/DO/AI/AO 接⼊2.1.1添加设备2.1.2测试设备2.2读取 DI 状态2.3输出/读取 DO 状态2.4读取 AI 值第 1章 485 设备与⼒控通讯1.1DI/DO/AI/AO 接⼊以 ZKA-4088-RS485 为例,介绍综科智控 485 设备与⼒控进⾏通讯的步骤设置。
ZKA-4088-RS485 是8 路数字量输⼊(D I),8 路数字量输出(DO),4 路模拟量输⼊设备(AI,0/4-20mA),485 通信总线。
以 ZKA-4088-RS485 出⼚默认通讯参数如下:站号:01波特率:115200数据格式:8,N,1与电脑连接的端⼝:客户查看电脑设备管理器中的COM⼝,选择实际使⽤的端⼝1.1.1添加设备选择:IO 设备组态>[PLC] > [莫迪康] > [ModbusRTU] 如下图所⽰:为设备取⼀个名称,在此输⼊ TEST,单击“下⼀步”,如下图所⽰。
为设备选择连接串⼝,选择COM4,根据实际对应COM 参数设置,并保存选择 6 和 16 号命令,选择 32 位数数据存放格式:1.1.2测试设备在设备上右键> [TEST],如下图所⽰:1.2读取 DI 状态ZKA-4088-RS485的 8路 DI 寄存器为 10001~10008:如上图所⽰,寄存器 DI001 变量值为 1,表⽰此时第 1 个输⼊通道X1闭合。
1.3输出/读取 DO 状态ZKA-4088-RS485 的 8路 DO 寄存器为 00001~00008:新建 IO 点,选择可读可写建⽴ IO 点完成后,点击运⾏按,即可读取 DO 状态在对应的 IO 点上右键>写数据写⼊ 1,则通道 DO1 输出,设备上 Y1灯亮1.4读取 AI 值ZKA-4088-RS485 的 4 路 AI(模拟量输⼊)寄存器为 30001~30008,因为ZKA模块采⽤的是32位AD芯⽚,所以每个模拟量通道占⽤ 2 个寄存器,共4 个字节(32bit),其中⾼两个字节为采集结果的⾼16bit,低两个字为采集结果的低16bit,模块出⼚时为保证⾼精度,滤波后输出16bit,所以⽤户实际使⽤时只需要读取低16bit采集结果即可,,也就是读取偏置0002,0004,0006,0008地址上的寄存器数据,数据类型为⽆符号整型。
K-8000C ModBus协议

K-8000C ModBus协议一、控制器设备连接第三方调控--ModBus协议,是电脑第三方软件通过ModBus协议控制K-8000C。
1. K-8000C控制器采用RS485接口协议,控制器端口接入是如下图所示:二、控制器设置---MODBUS编号K-8000C通过RS485协议端口,与第三方设备连接(编号001);多台控制器同时受控,需要设置各个控制器的Modbus Address编号。
1. 按住“芯片”键,控制器开机;进入设置Modbus Address编号界面。
2.按“速度+”和“速度-”键,调整当前控制器的编号。
3.按“模式”键,确认选择。
如下图: Modbus Addr:002 即控制器编号24.重启控制器,控制器开机检测会显示:5.完成K-8000C编号设置操作。
注:多台控制器编号不能重复三、Modbus通信协议设置第三方设备通过Modbus通信协议发送命令控制器,需要遵循以下要求1.信号通信要求-串口通信协议波特率:9600数据:8停止位:1校验位:无2.外围设备向脱机主控发送的命令:备注:设备所有的操作都为16进制数据注2:控制器地址 0X: 00是广播;01是第一个控制器,02是第二个控制器,依次类推。
注3:播放节目 OY: 00是节目1;01是节目2;02是节目3,依次类推。
06 7 0E 15 16 23 1E 31注4:速度切换0Z: 00是速度1;01是速度目2;02是速度3,依次类推。
注5:是校验码,由串口命令生成器生成。
CRC16低字节:18 CRC16高字节:36完整命令:01 06 01 01 00 01 18 36 含义:1号控制器播放节目24.使用第三方软件,通过发送命令,控制LED灯具控制器。
CP1H MODBUS通讯功能块使用说明

CP1H和变频器MODBUS-RTU通信功能块使用说明程序名:CP1H MODBUS通讯功能块.cxp·读功能块注:目前该功能块仅支持CP1H连接一个变频器。
一、外部参数区:注:1、参数区地址可以更改,可以将D2000-D2009,W301改成别的地址2、关于接收数据存放地址,例:标志为:#B2,首址为:&9950,则接收到的数据存在D9950开始的地址内。
二、接收数据存储区:经验证,本功能块一共输出14组相同的数据。
接收数据区长度为:读数据个数×14。
例:标志为:#B2,首址为:&9950,读个数为:6,则接收数据存储区为:D9950—D10133。
·写功能块一、外部参数区:注:1、参数区地址可以更改,可以将D2000-D2009,W302改成别的地址二、写入数据存储区:写入数据存储区存放要写入变频器的数据。
例:标志为:#B2,首址为:&9900,写入个数为2,则将D9900,D9901中的数据写入变频器中。
·使用说明(读写类似)注:读和写不能同时进行,写完之后可以立即读,但读完之后要有个间隔才能写。
可以通过控制W301.00(读)和W302.00(写)的通断来控制读写。
1、创建功能块:功能块—插入功能块—梯形图,命名为:读变频器2、双击【读变频器】,打开功能块编辑窗口,可以自己编辑功能块3、将别人编辑好的功能块【复制】【粘贴】到自己的程序中4、在通讯段中设置参数内容注:功能块启动信号Start不能上电导通。
5、、在通讯段编辑窗口里面,点击菜单【插入】【功能块调用】,在弹出窗口中输入实例名(如Q1等),选择功能块定义(即使用哪个功能块),确定5、点击参数前面区域,按【回车键】输入各个参数,其中EN接常通接点6、设置通讯口参数和变频器参数,即可开始通信。
CP1H参数设置(和变频器设置一致)串口1/2通信设置:定制波特率:9600 格式:8,1,N 模式:串口网关V1000变频器参数设置。
modbus TCP从站设置

MODBUS TCP/IP从站设置
可以通过MODBUS TCP/IP协议,在局域网内对对触摸屏进行远程的通信与控制。
从站1设置:
一、设置IP
首先使用拨码开关1、3设置触摸屏的IP地址和端口号,该例中设置从站屏的IP地址为:192.168.1.31,端口号为:502。
(具体操作见案例说明“外部拨码开关”部分,端口号要设置为502不能更改)二、建立连接
建立工程后,在下图的位置双击“连接1
弹出“通讯口属性”对话框(如下图示)
在上图所示的对话框中,进行下列设置:
*连接接口:选择为“以太网”(如图所示)
*HMI位置:选择为“本机”(如图所示)
*连接服务:选择为“Mosbus”-“Modbus Slave TCP/IP"
(如图所示)
在弹出的“通讯口属性”对话框点击“参数”,进入下图所示对话框设置IP地址和端口号,设置完成点击“确定”。
三、在画面上做相应的控件
如下图做几个“数值输入与显示”的控件。
做完上述设置,将程序下载到屏内,将主从站连接到路由器或者直接连接,进行监视和控制操作。
从站2设置、从站3设置:
按照从站1的设置方式,分别设置从站2的IP地址为
192.168.1.30,从站3的IP地址为192.168.1.200.并做对应控件
注:1、屏做从站时使用的地址为屏的内部地址。
2、端口号设置为502。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第1章MODBUS通信设置1.1MODBUS RTU从站NA-PLC CPU都集成RS232或者RS485接口,通过下图协议选择MODBUS RTU,表示串口作为RTU从站在工作,触摸屏、组态软件等可以作为主站来读取PLC的寄存器地址。
1.1.1功能码与数据分类对应表在本手册中,功能码与相应的数据的对应关系如下所示(以CPU401-0501为例,其它类型CPU测点地址与规约地址的上限有所不同):SW系统字寄10242048409640961024存器T定时器25651210241024256C计数器25651210241024256在MODBUS规约中,地址的起始编号为0。
如%Q0005的规约地址为4。
1.2MODBUS TCP从站协议NA-PLC的以太网接口,默认都是标准MODBUS TCP协议,PLC作为服务器端,触摸屏或者组态软件作为客户端来访问,默认端口号为502(不可更改)。
PLC作为服务器端,最大允许同时访问客户端数量有限制,NA200H最大不要超过8个,NA300/NA400不要超过16个。
1.2.1MODBUS TCP协议变量地址表在本手册中,功能码与相应的数据的对应关系如下所示(以CPU401-0501为例,其它类型CPU测点地址与规约地址的上限有所不同):SW系统字寄10242048409640961024存器T定时器25651210241024256C计数器25651210241024256在MODBUS规约中,地址的起始编号为0。
如%Q0005的规约地址为4。
1.3MODBUS主站通信设置1.3.1MODBUS RTU主站配置在NAPro【PLC配置/硬件配置】下,PLC类型选择NA200H时,它的串口可支持Modbus Master 协议配置,具体操作如下:【选择串口】:配置正确的串口参数,选择Modbus Master协议,即可出现配置界面(图3.40):图3.40协议配置示意图【字符间最大时间间隔(10-1000,默认为200ms)】:一个命令发送后,收到的回文可能不是一次传完,在回文的多次传输中任意两个字符之间的最大时间间隔。
【接收超时(10-10000,默认为400ms)】:主站发送命令后,等待从站的响应时间。
【序号】:最多可以配置64个功能码命令。
【功能码】:未配置即为Disable,配置时可根据Modbus协议的功能码定义。
Modbus支持如下的功能码:【从站地址(1-255)】:Modbus从站串口设备通信地址。
【寄存器地址(0-65535)】:主站对从站的寄存器进行Modbus读写操作,此处即是从站的协议地址。
对不同的从站,寄存器地址也各不相同,需参考各自从站的说明文档。
【寄存器个数】:主站通过Modbus功能码进行读写操作的从站寄存器个数,最大值取决于从站寄存器的可访问范围。
注意:05、06功能码的寄存器个数只能设置为1,这是由功能码本身的定义决定的。
01、02、15功能码的寄存器个数为1-1920。
03、04、16功能码的寄存器个数为1-120。
【数据区】:可设置为%M、%MW、%N、%NW、V变量名,主站对从站进行读写操作,此处为用于存放数据区域的起始地址,数据个数为前面配置的寄存器个数。
【控制位】:通过设置%M位控寄存器,可根据需要触发此读写指令的发送时间,%M点0->1跳变时,命令发送一次,发送成功后自动清零。
无需控制时设置为0,此时这条读写指令定时500ms执行一次。
例如控制位设置为2,也就是通过%M2来控制操作,%M2置1后,命令执行一次,然后%M2自动回复到0。
【通信标志位】:串口号系统寄存器序号状态COM1%SW513-%SW5161-641表示通信故障,每个位对应一个序号COM2%SW517-%SW5201-641表示通信故障,每个位对应一个序号COM3%SW521-%SW5241-641表示通信故障,每个位对应一个序号COM4%SW525-%SW5281-641表示通信故障,每个位对应一个序号使用案例1.新建工程,选择PLC类型为NA200H,CPU类型为CPU401-1101,模块的Modbus Master 配置如下,bb为V变量名。
2.先看序号1的03功能码,读取从站地址为1的设备,从从站的寄存器地址0开始连续读取10个字(读取从站的%MW1-%MW10),存放在主站(也就是本模块)的%NW1及其之后的数据区(%NW1-%NW10)中。
下图即为从站的%MW区数值,以及主站读到的存放数据区%NW区数值:3.再看序号2的05功能码,向从站地址为1的设备写入,被写入的寄存器地址为0(也即%Q1),待写入的值存放在主站的变量区bb中(bb[0]),写入的控制位为%M1。
1)先将主站的变量bb[0]的值置1。
此时可观察到从站的%Q1值未变化,也即未写入。
2)再将主站的%M1置1后,它会自己回复到0状态,此时从站%Q1值被写为1。
3)将bb[0]的值改为0时,%Q1也未变化,还是为1。
4)再置主站的%M1为1后,%Q1才会被写成0状态。
1.3.2通过MODRW功能块实现MODBUS RTU主站功能NA300/400PLC的CPU不支持主站配置功能,用户可以通过我们提供的标准功能块实现MODBUS RTU主站功能。
◆MODRW功能块描述该功能模块用于实现标准MODBUS主站规约的数据读写功能,自动对MODBUS规约信文进行解析,CRC校验核对和数据长度核对,用户只要填写数据读写地址及功能码即可完成简单的通信功能。
功能块的调用需要定时触发,定时时间间隔即为数据读写的周期,最小周期不能小于50ms,通信过程中根据从站数据响应时间适当调整通讯时间间隔,否则有可能出现数据读取错误或者读取不到的现象。
通讯状态指示:SW21(COM1发送状态)、SW23(COM2发送状态)0:正在发送1:发送成功2:发送失败SW22(COM1接收状态)、SW24(COM2接收状态)0:正在接收1:成功接收2:串口故障3:接收超时4:字符间隔过长5:超过信文最大字符数7:返回信文不正确8:请求信文不正确9:检验出错◆图标调用在LD中的表示形式:在FBD中的表示形式:在IL中的表示形式:CAL MODRW(PORT:=Port,ADR:=Address,CODE:=Code,R:=Register,N:=Number, DATA:=Data)在ST中的表示形式:MODRW(PORT:=Port,ADR:=Address,CODE:=Code,R:=Register,N:=Number,DATA:=Data);参数说明例:使用MODRW功能块时,CPU属性里面的协议选择自由口,通信超时时间根据功能块触发时间来选择,要小于功能块触发时间。
说明:上例表示每秒钟用CPU的串口1读取从地址为1的从站,用03功能码读取从0开始的连续30个寄存器的数据,读到的数据存储在%MW100开始的连续30个字寄存器里。
注:此功能模块,在CPU401-1101和CPU201-1101中不可以使用,请使用MODBUS RTU主站配置界面完成MODBUS读写。
1.3.3MODBUS/TCP主站配置在NAPro中,新建或打开一个工程,双击【资源/MODBUS/TCP主站配置】,即可出现配置界面。
图3.41MODBUS/TCP配置选型图3.42MODBUS/TCP参数配置界面【序号】:最多可以配置64个功能码命令。
【IP地址】:所要通讯的从站IP地址,可在同一行内输入两个IP地址(正常情况下在冗余设备中使用),中间用英文的分号“;”隔开,例如192.168.1.66;192.168.2.66。
注意:主站与从站通讯,IP地址需要在同一网段。
【功能码】:未配置时为“无”,配置时可根据MODBUS/TCP协议的功能码定义。
MODBUS/TCP 支持如下的功能码:MODBUS/TCP通讯的产品来说(比如我们的NA系列PLC),无需这个参数,所以可以随便配置,都能通讯。
但对于有这个参数要求的产品,必须严格按照要求配置从站地址。
【寄存器地址(0-65535)】:主站对从站的寄存器进行MODBUS/TCP读写操作,此处即是从站的寄存器地址,对不同的从站,寄存器地址也各不相同,需参考各自从站的说明文档。
【寄存器个数】:主站通过MODBUS/TCP功能码进行读写操作的从站寄存器个数,最大值取决于从站的寄存器可访问范围。
注意:05、06功能码的寄存器个数只能设置为1,这是由功能码本身的定义决定的。
01、02、15功能码的寄存器个数为1-1920。
04功能码的寄存器个数为1-120。
03功能码的寄存器个数为1-30000。
16功能码的寄存器个数为1-1000。
【数据区】:对于读功能码,可设置为%M、%MW、%N、%NW、V变量名,对于写功能码,可设置为%I、%Q、%IW、%QW、%M、%MW、%N、%NW、%S、%SW、V变量名。
主站对从站进行读写操作时,此处用于存放数据区域的起始地址。
【扫查模式】:1..周期:周期性地发送这封命令。
周期范围1-36000,最小单位为100ms,即此处设置为1,就代表周期设置为100ms,推荐设置的值为10,即1s。
2.位控:使用控制位来控制这封命令的发送。
通过设置%M位控寄存器,可根据需要触发此读写指令的发送时间。
%M点0->1跳变时,命令发送一次,发送成功后自动清零。
例如控制位设置为2,也就是通过%M2来控制操作,%M2置1后,命令执行一次,然后%M2自动回复到0。
【通信标志位】:%S0145-%S0208对应1-64个序号功能码的读写状态,1表示通信故障,0表示通信正常。
使用案例1.新建工程,模块的MODBUS/TCP配置如下,aa为V变量名。
2.主站与两个从站的IP地址在同一网段192.168.4.xxx。
3.先看序号1的03功能码,读取IP地址为192.168.4.158从站设备,从从站的寄存器地址0开始连续读取10个字(读取从站的%MW1-%MW10),存放在主站(也就是本模块)的%NW1及其之后的数据区(%NW1-%NW10)中,扫查周期为1s。
下图即为从站的%MW区数值,以及主站读到的存放数据区%NW区数值:4.再看序号2的05功能码,向IP地址为192.168.4.170的从站设备写入,被写入的寄存器地址为20000(也即%N1),待写入的值存放在主站的变量区aa中(aa[0]),写入的控制位为%M5。
1)先将主站的变量aa[0]的值置1。
此时可观察到从站的%N1值未变化,也即未写入。
2)再将主站的%M5置1后,它会自己回复到0状态,此时从站%N1值被写为1。
3)将aa[0]的值改为0时,%N1也未变化,还是为1。