AIRIOT与西门子300 1200 1500 PLC连接操作视频:

https://c.airiot.cn/detail/v_62418ab0e4b0812e1784aa97/3

Modbus TCP协议

协议概述

MODBUS TCP的简称,MODBUS是OSI模型第7层上的应用层报文传输协议,它在连接至不同类型总线或网络的设备之间提供客户机/服务器通信。平台的MBTCP协议是建立在TCP协议之上的应用层协议。自带MODBUS TCP协议的设备一般为TCP server端(只能由客户端主动连接,不能主动连接平台),所以需要一个TCPserver转TCPclient的透明转发模块,来连接设备和平台。当然,如果设备本身支持client模式,可直连。

功能码

01读写:对开关量(bit位)进行读写,写入默认使用05功能码(不需要单独设置),该功能码一般针对PLC的开关输出点(比如西门子PLC的Q点)。
02只读:对开关量(bit位)进行读,是只读的,不允许写入,一般针对PLC的开关输入点(比如西门子PLC的I点)。
03读写:对整形/浮点型数据进行读写,写入默认使用06功能码(16位整形数据)和10功能码(32位和64位整形和浮点型数据),也就是对单个寄存器写入使用06,多个寄存器使用10。
04只读:对整形/浮点型数据进行读,只读不写。

字节顺序

表示字节的高低位顺序。

配置说明

连接配置

设备IP

设备的IP地址。

端口

设备的端口号。

连接超时时间

单位秒,默认10s,创建连接的最长超时时间及读写数据的最长超时时间。

连接空闲时间

单位秒,默认30s,从上一次请求后超过时间连接未使用,关闭当前连接。

连接使用间隔

单位毫秒,默认1毫秒,同一设备IP和端口下的设备,读取的时间间隔。

站号

将请求发送到 Modbus TCP 从站设备的设备ID。

采集周期

表示读取传感器数据的周期时间,单位秒,最小值0.001秒,由于MODBUS协议是请求应答式协议,每次读数据都会等待接收,等待的过程会产生延时,最长等待超时时间(秒),所以越多数据不响应,采集周期会越长。

自动化地址

开启自动化地址,数据点偏移地址从1开始。
偏置表示的是数据地址。如果数据地址是16进制表示(0x0000开始),则需要把16进制转为十进制并加1,才是偏置的值。如果地址使用区号+序号表示(比如40001),则偏置只取序号就可以了(也就是1)。

通讯监控参数

通讯超时时间:单位秒(s),判断设备超时的时间标准,超时时间默认为定义采集周期的3倍。

数据点配置

image.png

名称

数据点名称

标识

数据点唯一标识

读取区域

线圈状态:01读写,对开关量(bit位)进行读写,写入默认使用05功能码(不需要单独设置),该功能码一般针对PLC的开关输出点(比如西门子PLC的Q点)。
输入状态:02只读,对开关量(bit位)进行读,是只读的,不允许写入,一般针对PLC的开关输入点(比如西门子PLC的I点)。
保持寄存器:03读写,对整形/浮点型数据进行读写,写入默认使用06功能码(16位整形数据)和10功能码(32位和64位整形和浮点型数据),也就是对单个寄存器写入使用06,多个寄存器使用10。
输入寄存器:04只读,对整形/浮点型数据进行读,只读不写。

偏移地址

数据点所在寄存器起始地址。

读写属性

设置读写属性

数据类型

数据类型 寄存器个数 字节数 说明
Int8 1 1 有符号整型
UInt8 1 1 无符号整型
Int16BE 1 2 有符号整数,高位在前
Int16LE 1 2 有符号整数,低位在前
UInt16BE 1 2 无符号整数,高位在前
UInt16LE 1 2 无符号整数,低位在前
Int32BE 2 4 有符号长整数,高位在前
Int32LE 2 4 有符号长整数,低位在前
Int32BE- 2 4 有符号长整数,高位在前,字节交换
Int32LE- 2 4 有符号长整数,低位在前,字节交换
UInt32BE 2 4 无符号长整数,高位在前
UInt32LE 2 4 无符号长整数,低位在前
UInt32BE- 2 4 无符号长整数,高位在前,字节交换
UInt32LE- 2 4 无符号长整数,低位在前,字节交换
FloatBE 2 4 浮点数,高位在前
FloatLE 2 4 浮点数,低位在前
FloatBE- 2 4 浮点数,高位在前,字节交换
FloatLE- 2 4 浮点数,低位在前,字节交换
DoubleBE 4 8 双精度浮点数,高位在前
DoubleLE 4 8 双精度浮点数,低位在前
DoubleBE- 4 8 双精度浮点数,高位在前,字节交换
DoubleLE- 4 8 双精度浮点数,低位在前,字节交换
Boolean 1 1 布尔型
String 32 64 字符串-ASCII编码
HEX 1 2 16进制数字
BCD 3 6 BCD码

寄存器个数

数据点占用的寄存器个数,不填根据数据类型处理。

指令配置

image.png

写入区域

线圈状态:01读写,对开关量(bit位)进行读写,写入默认使用05功能码(不需要单独设置),该功能码一般针对PLC的开关输出点(比如西门子PLC的Q点)。
保持寄存器:03读写,对整形/浮点型数据进行读写,写入默认使用06功能码(16位整形数据)和10功能码(32位和64位整形和浮点型数据),也就是对单个寄存器写入使用06,多个寄存器使用10。

偏移地址

点所在寄存器起始地址。

数据类型

同数据点。

默认写入值

指令写入时候的默认值。

单字节

勾选单字节后数据值按寄存器写入数据,否则多个寄存器同时写值。