西门子1200面板的485通讯案例

1、添加485通讯面板
在这里插入图片描述
2、查看的默认通讯参数
在这里插入图片描述

【注意】
波特率:9600
奇偶校验:无
数据位:8位
停止位:1位
这是西门子的默认标准,建议提升至公司所有485通讯设备的统一调准。这样方便编程和调试

3、面板实物和接线
在这里插入图片描述
4、其他常见的485口

在这里插入图片描述
5、485指令选择,主要用哪里的指令取决于硬件
在这里插入图片描述
6、西门子1200常见的485通讯功能码和Modbus地址转换
在这里插入图片描述

MODE:0读取从站设备中的数据;1 将数据写入到从站设备中
转换后的Modbus地址起始是从1开始,如三方设备的地址是2000H,十六进制2000H转换为十进制就是8192,
也就是Modubus的地址要向后便宜8192个位,再加上起始地址是1,则写为8193,此时如果功能码是06,则最终的Modbus地址是8193+40000=48193。MODE=1,则表示,Master向Slave中写入一个保持寄存器,Modbus为48193

7、组态建立连接
在这里插入图片描述

485通讯的特点,一主多从,从站不需要写代码,仅主站写代码即可,Master函数内有读写指令,所以一般是组态+Master函数即可完成通讯
communication_load  通讯加载
REQ=request 请求  一般只需要建议一通电通讯连接,done后才能使用master的读写指令。所以使用FirstScan即可
PORT 端口,博图系统默认端口为269
BAUD 波特率。 9600
PARITY 校验    0  无校验
MB_DB 有且只能写Master的背景DB块

8、Master函数向从站中读写数据
在这里插入图片描述

REQ =request 请求,导通一次则发送一次,一直导通则一直发送数据,所以一般选用上升沿触发
MB_ADDR  从站站号,需要在从站设备中设置。如主站站号1,从站站号2
MODE  模式选择。0从从站中读取数据到主站;1主站数据写入到从站
DATA_ADDR modbus地址,需要根据MODE+Modbus功能+从站内部存储该数据的地址(如果对方是16进制则需先转换成10进制)=Modbus地址
		具体可以参照第六张图片
DATA_LAN=data length 数据长度  modbus地址后面需要操作几个数据长度  demo中假设为1
data_ptr=datapointer:接收数据的地址指针,接收数据的首地址。此处为master向slave中发送数据在master中的保存地址

9、多条读写指令的处理
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值