通信方式总结

通信应用

PLC:屏幕、变频器、仪表、PLC、机器人、电脑、伺服(伺服驱动器、伺服电机)、物联网

网口:RJ45、以太网
串口:485(多)(modbus RTU(最多)、TCP、ASCⅡ(很少))、422、232

在这里插入图片描述
引脚排序,自下向上
其中3(+)、8(-)最有用
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

Modbus RTU(串口通信)

直接进行通信的:I、Q、V、AI(模拟量)(其他存储区不可直接通信,但可将其传送至可直接通信的存储区)

RTU master 针对200smart 0口(暴露在外面的通信口)
RTU master2 针对200smart 1口(在信号板内的接口)

在这里插入图片描述

在这里插入图片描述
RTU最多可控制247个从站

错误代码

在这里插入图片描述

指令

在这里插入图片描述
在这里插入图片描述

主站指令

CTRL(定义参数)

定义主从站间的速度、奇偶、端口、延时(等多久)
PPI协议(西门子专属,老协议基本不用)
parity(奇偶校验位):一般默认偶校验(2);与之通信的另外一台设备应该有相同的Parity
Timeout: 典型值1000ms(从站多时,建议改的更小)
注意:Done和Error地址不可重复

波特率、奇偶校验,必须主从一致

在这里插入图片描述

MSG(主站读写)

First:触发要用沿指令
Slave:从站站号(自己定义即可),地址(相当于Modbus TCP中的端口号IPport)
addr:写到从站的哪里去,其和从站的V存储区有特定对应关系 (V存储区是以字为单位)(相当于TCP协议Client中的addr(Modbus地址))
dataptr:主站数据存储起始地址(永远以字节形式展现)(相当于Modbus TCP协议Client中的dataptr)

一般要保证EN(使能)和First同步得到信号
slave(从站号):取值范围一般在1-247,主站站号和从站站号可相同。0只有主站功能(广播作用,只能发不能收 )

主站站号从哪看?
在这里插 入图片描述

在这里插入图片描述
在这里插入图片描述
Count: 单位是位(对于Q、I),对于V存储区单位是字
Dataptr:必须是指针形式
(表示从该地址开始,其地址的大小随Cout变化;例如:Dataptr为&IB0,当count=8时,数据区地址为I0.0-i0.7.当cout=16时,数据区地址为I0.0-I1.7)

读写需要循环沿触发

分配库存储区

从站指令

INIT(定义参数)

所有管脚都是定义从站的,不可定义主站
在这里插入图片描述
addr:整个从站的地址(和主站MSG指令中的addr含义不同),此处Addr和主站MSG中Slave相同(相当TCP通信中的IPport)
MaxIQ:单位是位
MaxAI:单位是位
MaxHold:单位是字(特指从站V存储区,有多少地址可供主站读写)
Holdstart:要求用指针,从站V存储区的起始地址;例如:holdstar=&vb0,maxhold=1000字,含义为从VB0开始的1000个字的空间(VB0-VB2000)可供读写

SLAVE(从站应答指令)

在这里插入图片描述

分配库存储区

从站 INIT holdstart和主站Addr(Modbus地址)对应关系

读写V存储区(4xxxx)
Modbus地址=40001+(从站实际存储地址-从站起始地址)/2

例子:
Holdstart =&VB10 ;实际写/读地址为VW30(V存储区以字为单位)
对应Modbus地址=40001+(30-10)/2=40011

主站和从站通讯、从站和从站通讯

从站和从站通讯,两者不可直接通信,只能通过主站中转通信
一般来说,不会往I/Q区读写数据,只是向V存储区读写数据(空间大)

Modbus TCP

在这里插入图片描述

通信资源


在这里插入图片描述
服务器端口号和本地端口号要一一对应

客户端指令

在这里插入图片描述

ipaddr 1-4: 服务器的ip地址
ip-port: 服务器端口号 默认502
rw:读写模式 (0读1写)
dataptr:(指针形式) 起始地址(通信数据本地存储区域,数据读出或写入的数据存储区)
addr:modbus地址(区分不同寄存器的功能码)服务器的参数地址,来自服务器holdstart管脚
count:要读写的数据参数长度

在这里插入图片描述

服务器指令(写在服务器的cpu中)

在这里插入图片描述
ip_port:服务器自身端口号(本地与远程端口号要一致)
connect:是否接收客户端请求
maxiq: 最大输入输出点
maxai:最大模拟量输入,最大56
maxhold:允许数据访问的长度
holdstart:v存储器保持寄存器起始指针

client和server 中addr和holdst 对应关系及换算

在这里插入图片描述

服务器端口holdstart 和 客户端addr关系

dataptr 如何确定?
count如何确定?

holdstart和addr对应关系:

在这里插入图片描述
服务器地址VD60中的60为绝对地址,结果为客户端中的addr

VD××地址为何要写成VB×× ??

知道modbus地址(客户端addr)和起始地址(服务器holdstart)换算成绝对地址

在这里插入图片描述

示例练习

在这里插入图片描述

在这里插入图片描述
复位和置位?

Modbus TCP/IP指令

TCP_CONNECT端口及IP地址的设定规则

在这里插入图片描述

在这里插入图片描述

connect id:建立的连接编号是多少,以此来识别机器
ip addr:客户端写服务器ip地址,服务器写客户端的ip地址
remport:远程设备端口号(服务器)
locport:客户端端口号
active:建立通讯时处于什么模式(主动1/被动0)

在这里插入图片描述

TCP/IP数据发送和接收指令的应用

在这里插入图片描述

在这里插入图片描述
(服务器)length:实际接收长度

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值