浔之漫智控技术(上海)有限公司
主营产品或服务:西门子PLC , 西门子变频器 , 西门子数控系统
西门子电机(全国)一级经销商

西门子电机全国一级经销商

西门子电机全国一级经销商

我现在想使用FB63 TSEND/FB64 TRCV/FB65 TCON这些TCP指令块,放在一个新创建的FB6块里,然后用OB1调用下FB6。但我打开PLC程序备份,在STEP7硬件组态中,发现CP840D sl的IP地址为192.168.215.1(请见附件中图片)。是不是意味着现在是使用X127口跟外面进行TCP通讯?如果一定要使用X130口作为以太网通讯口的话,是不是就需要更改这个IP地址,也就是要重新下载硬件组态?但是我电脑里的TOOLBOX版本跟840D里面的版本不一定是兼容的,如果下载进去有可能导致设备报错故障就麻烦了,我毕竟DY次接触,不一定会恢复回去。所以我现在的想法是尽量不改动硬件组态,就想使用X127端口跟外部进行TCP通讯。

 X127为传动专用,通过此口可以用传动软件如STARTER查看变频器参数。查看PLC程序,需要其他口,840Dsl说明中有端口的说明。

我给你一个在用设备的通讯组态参考,西门子s7-200 smart中的modbus rtu通讯

s7 200 smart做为主站,从站为一个环保数采仪,从站地址为1:9600:8:无:1

1、主站读取从站的三个模拟量:400001(float),400083(int),400085(int)

请问主站如何设置指针地址以及寄存器地址,需要做轮询吗,如何做。(多从站需要轮询,这种单从站的如何读跨度较大地址的数值)

1、400001-400085 这一片连续区域读,仪表允不允许读,这个要看说明书;

 即使允许读,数据量大,有效数占比很少,无用数多,会增加通讯负载;

     所以建议分次读,用多条指令,轮循的方法。

     如 400083-400085 都允许读,则用二条主站读指令

2、同一个从站,从站地址为1,基于上面

DY条 MBUS_MSG 主要管脚

Slave    1   从站地址

RW       0   读写请求:0 = 读, 1 = 写

Addr     400001   读写从站的保持寄存器起始地址

Coun t  2   数据个数,这个数据类型是浮点数,点2 个字

DataPtr  &VB0, 则VD0为读来的从站 400001 保持寄存器数据

第二条 MBUS_MSG 主要管脚    

Slave    1   从站地址

RW       0   读写请求:0 = 读, 1 = 写

Addr     400083   读写从站的保持寄存器起始地址

Coun t  3   数据个数,400083-40085 是3个字

DataPtr  &VB4, 则VW4为读来的从站 400083  保持寄存器数据

                               VW6为读来的从站 400084  保持寄存器数据

                               VW8为读来的从站 400085  保持寄存器数据

3、如果要改成三条,参考上面给出的方法,也是可以的。

4、参考资料

 Modbus RTU 主站指令库

西门子在 STEP 7-Micro/WIN SMART 中正式推出 Modbus RTU 主站协议库(西门子标准库指令)。

 西门子标准指令库(STEP 7-Micro/WIN SMART)

1. Modbus RTU 主站指令库的功能是通过在用户程序中调用预先编好的程序功能块实现的,该库对 CPU 集成的 RS 485 通讯口 和 CM 01 信号板有效。该指令库将设置通信口工作在自由口模式下。

2. Modbus RTU 主站指令库使用了一些用户中断功能,编其他程序时不能在用户程序中禁止中断。

 Modbus RTU 主站指令库不能同时应用于CPU 集成的 RS 485 通讯口 和 CM 01 信号板。

使用 Modbus RTU 主站指令库,可以读写 Modbus RTU 从站的数字量、模拟量 I/O 以及保持寄存器。

Modbus RTU 主站功能编程

1. 调用 Modbus RTU 主站初始化和控制子程序

使用 SM0.0 调用 MBUS_CTRL 完成主站的初始化,并启动其功能控制:

 用 SM0.0 调用 Modbus RTU 主站初始化与控制子程序

各参数意义如下:

a.

EN

使能:

必须保证每一扫描周期都被使能(使用 SM0.0)

b.

Mode

模式:

为 1 时,使能 Modbus 协议功能;为 0 时恢复为系统 PPI 协议

c.

Baud

波特率:

支持的通讯波特率为1200,2400,4800,9600,19200,38400,57600,115200。

d.

Parity

校验:

校验方式选择

0=无校验

1=奇较验

2=偶较验   

e.

Port

端口号:

0 = CPU 集成的 RS 485 通讯口 ; 1 = 可选 CM 01 信号板 。

f.

Timeout

超时:

主站等待从站响应的时间,以毫秒为单位,典型的设置值为 1000 毫秒(1 秒),允许设置的范围为 1 - 32767。

 注意: 这个值必须设置足够大以保证从站有时间响应。

g.

Done

完成位:

初始化完成,此位会自动置1。可以用该位启动 MBUS_MSG 读写操作(见例程)

h.

Error

初始化错误代码(只有在 Done 位为1时有效):

0= 无错误

1= 校验选择非法

2= 波特率选择非法

3= 超时无效

4= 模式选择非法

9= 端口无效

10= 信号板端口 1 缺失或未组态

发布时间:2024-11-26
展开全文
拨打电话 微信咨询 发送询价