黄芪

首页 » 常识 » 常识 » 200SMART的MODBUSTCP通信
TUhjnbcbe - 2025/1/13 2:23:00

一、SMART的MODBUSTCP通讯参数

S7-SMART支持做ModbusTCP的客户端或者服务器,可以实现PLC之间通信,也可以实现与支持此通信协议的第三方设备通信。通信伙伴数量比较多的时候,可以使用交换机,扩展以太网接口。

V2.4以下版本的SMART需要手动安装MODBUSTCP库,从V2.4开始软件集成了该库。

Connect,BOOL,=1:服务器接受来自客户端的请求;=0:服务器可以断开已经建立的连接

IP_Port,WORD,服务器本地端口号

MaxIQ,WORD,对应数字量输入/输出点(对应Modbus地址参数0xxxx或者1xxxx)

可设置范围:0-,=0表示禁用对输入和输出的所有读取和写入。建议将MaxIQ值设置为。

MaxAI,WORD,对应模拟量输入参数(对应Modbus地址参数3xxxx)可设置范围:0-56。=0表示禁用对模拟量输入的读取。要允许访问所有CPU模拟量输入,MaxAI的建议值如下:对于CPUCR40和CR60,为0,对于所有其它CPU型号,为56

MaxHold,WORD,用于Modbus地址4xxxx或4yyyyy的V存储器中的字保持寄存器数。

HoldStart,Dword,指向V存储器中保持寄存器起始位置的指针

Done,BOOL,TRUE:以下任一条件时为真:客户端已与服务器建立连接;客户端已与服务器断开连接;客户端已接收Modbus响应;发生错误FALSE:客户端正忙于建立连接或等待来自服务器的Modbus响应。

Error,BOOL,出现错误,仅一个周期有效

MBUS_CLIENT客户端,最多调用8个。

程序执行周期每次扫描都必须调用MBUS_CLIENT,直到Done输出为TRUE。在每个周期中,MBUS_CLIENT均会退出,以便程序可以继续运行。客户端完成请求时,MBUS_CLIENT将Done设置为TRUE。

REQ,位,=0无通信请求,=1向服务器请求通信

CONNECT,位,=1:尝试与分配的IP地址及端口号建立连接;=0:尝试断开已经建立的连接,忽略Req的任何请求

IP_OCTET_1-4,字节,要通信的服务器的IP地址

IP_PORT,字,默认值,服务器的IP端口号

RW,字节,模式选择,=0读,=1写

ADDR,双字,要进行读写的参数的Modbus起始地址

COUNT,字,数据长度,数据访问的位数或字数。数字量输入/输出Count=1表示1bit,最大位,对于模拟量输入和保持寄存器,最大Count值为字。

DATAPTR,指针,数据寄存器地址指针,指向本地用于读/写操作的数据地址区域的首地址DONE,位,请求已经完成且没有出错后,DONE位保持TRUE一个扫描周期的时间

BUSY,位,=1操作正在进行

ERROR,位,错误,保持为TRUE一个扫描周期的时间

STATUS,字,状态,用于输出错误代码

S7-SMART做ModbusTCP通信,可以支持的功能码及功能描述及所占用的地址区,如表4.所示。客户端会主动的发送请求,服务器响应。在通信指令填写参数中没有直接填写功能码,而是通过多个参数填写共同确定功能码的。

表4.功能码概况说明

举例:和ModbusTCP服务器交换数据参数支持功能码:03,在客户端指令中设置两个参数确定03功能码:

RW=0:确定读取数据,(筛选出可能会使用的功能码:01,02,03,04),

Addr:-/-,表示交换数据为寄存器类型的数据。

二、SMART的服务器端设置

1、系统块中设置服务器的IP地址,以确保IP地址设置无误。此步骤为可选,如果确定IP地址设置无误,可忽略此步骤。设置方法如图所示。

2、鼠标点击MAIN主程序的程序段1的编程区域,从库文件夹下找到ModbusTCP服务器指令MBUS_SERVER,鼠标双击,指令出现在程序段1中,操作如图所示。

3、填写服务器指令参数,如图所示。

4、鼠标选中程序块文件夹,单击右键,下拉菜单中选择库存储器,如图所示。

5、在库存储区分配对话框中手动输入存储区的起始地址。此实例为VB开始,以使指令库可以正常工作。确保库存储区与程序中其他已使用的地址不冲突。使用建议地址无法确定是否有地址重叠,所以推荐手动输入正确的库存储区首地址。如图所示。

6、编译项目,下载程序。

通信测试结果

由于客户端要读取服务器的数据,在状态图表中修改当前值,如图所示

三、SMART的客户端设置

1、系统块中设置客户端的IP地址。设置方法如图所示。

2、鼠标点击MAIN主程序的程序段1的编程区域,从库文件夹下找到ModbusTCP客户端指令MBUS_CLIENT,鼠标双击,指令出现在程序段1中,操作如图3.所示。

3、填写客户端指令参数,如图所示。

4、鼠标选中程序块文件夹,单击右键,下拉菜单中选择库存储器,如下图所示。

5、在库存储区分配对话框中手动输入存储区的起始地址。此实例为VB开始,以使指令库可以正常工作。确保库存储区与程序中其他已使用的地址不冲突。使用建议地址无法确定是否有地址重叠,所以推荐手动输入正确的库存储区首地址。如下图所示。

6、编译并程序

将M0.0置位为1,然后在状态图表中创建变量,VW20-VW30共6个字,监视值如图7.所示。

1
查看完整版本: 200SMART的MODBUSTCP通信