WSTP11A

来自Waveshare Wiki
Waveshare-admin讨论 | 贡献2021年8月16日 (一) 14:13的版本 (Text replace - "Service14" to "Service20")
跳转至: 导航搜索
WSTP11A
{{{name2}}}
{{{name3}}}
功能简介
特性 工业级温度变送器
' 无特性,不解释
' 无特性,不解释
' 无特性,不解释
' 无特性,不解释
接口 RS485 (标准Modbus-RTU协议)

产品概述

本产品是工业级温度变送器,用于检测气体或者液体温度,测量精度达到0.5%FS,使用RS485(标准Modbus-RTU协议),外壳为304不锈钢,具有超强抗干扰能力和IP65的防护等级。

产品特点

  • 数字量输出,使用RS485(标准Modbus-RTU协议)
  • 宽电压供电、非线性修正、精度高
  • 体积小、重量轻、安装方便
  • 防雷击、截频干扰设计、抗干扰能力强
  • 接线方向和过压保护、限流保护
  • 测量精度高0.5%FS

产品参数

  • 测量介质:液体、气体
  • 物体温度测量范围:-70°C ~ 380 °C
  • 供电电压:12~36VDC
  • 整体重量:180g
  • 测量范围:-50~100℃
  • 输出信号:RS485(标准Modbus-RTU协议)
  • 测量精度:0.5%FS
  • 环境温度:-40~85℃
  • 稳定性能:±0.1%FS/年
  • 防护等级:IP65
工作条件
环境温度 环境湿度
-40~85℃ 0%~95%RH(无冷凝、无结霜)
材质
整体材质 304不锈钢
赫斯曼接头 ABS工程塑料
护管材质 304不锈钢(接触)
过程连接 304不锈钢(接触)
外壳 304不锈钢(接触)

接口说明

赫斯曼接口连接方式
1 接V+(12V~36V)
2 接A
3 接V-(GND)
4(Gnd.png) 接B

通讯方式

RS485由RS232和RS422发展而来,弥补了抗干扰能力差、通信距离短、速率低的缺点,增加了多点、双向通信能力,即允许多个发送器连接在同一条主线上,同时增加了发送器的驱动能力和冲突保护特性,扩展了总线共模范围。

通讯协议

Modbus协议是应用于电子控制器上的一种通用语言。通过此协议,控制器相互之间、控制器经由网络(例如以太网)和其它设备之间可以通信。它已经成为一通用工业标准。有了它,不同厂商生产的控制设备可以连成工业网络,进行集中监控。此协议定义了一个控制器能认识使用的消息结构,而不管它们是经过何种网络进行通信的。它描述了一控制器请求访问其它设备的过程,如何回应来自其它设备的请求,以及怎样侦测错误并记录。它制定了消息域格局和内容的公共格式。
Modbus具有以下几个特点:
(1)标准、开放,用户可以免费、放心地使用Modbus协议,不需要交纳许可证费,也不会侵犯知识产权。
(2)Modbus可以支持多种电气接口,如RS-232、RS-485等,还可以在各种介质上传送,如双绞线、光纤、无线等。
(3)Modbus的帧格式简单、紧凑,通俗易懂。

  • 本产品通讯协议技术参数(产品地址默认为01)

WSTP11A parameter.png

  • 读取数据03命令说明(数据都为16进制数)

WSTP11A read data.png

  • 写入 06命令说明(数据都为16进制数)

WSTP11A write add.png
PS:

  1. 设备地址:每个设备都有一个自己的地址,当设备接收到一帧数据后,程序首先对设备地址字节进行判断比较,如果与自己的地址不同,则对这帧数据直接不予理会,如果如果与自己的地址相同,就要对这帧数据进行解析,按照之后的功能码执行相应的功能。如果地址是0x00,则认为是一个广播命令,就是所有的从机设备都要执行的指令。
  2. 功能码:在第二个字节功能代码字节中,Modbus规定了部分功能代码,此外也保留了一部分功能代码作为备用或者用户自定义,这些功能码大家不需要去记忆,甚至都不用去看,直到你有用到的那天再过来查这个表格即可。
  3. CRC校验:CRC校验是一种数据算法,是用来校验数据对错的。CRC校验函数把一帧数据除最后两个字节外,前边所有的字节进行特定的算法计算,计算完后生成了一个16bit的数据,作为CRC校验码,添加在一帧数据的最后。接收方接收到数据后,同样会把前边的字节进行CRC计算,计算完了再和发过来的CRC的16bit的数据进行比较,如果相同则认为数据正常,没有出错,如果比较不相同,则说明数据在传输中发生了错误,这帧数据将被丢弃,就像没收到一样,而发送方会在得不到回应后做相应的处理错误处理。

接线方式

WSTP11A connect1.png
WSTP11A connect2.png

使用说明

本例程使用树莓派双通道隔离型RS485扩展板(需要自行购买)为例,详细的使用方法参考2-CH_RS485_HAT_WIKI

硬件连接

赫斯曼接口连接方式
1 接V+(12V~36V)
2 接A(Change 2)
3 接V-(GND)
4(Gnd.png) 接B(Change 2)


功能引脚 树莓派接口(BCM) 描述
VCC 5V 3.3V/5V电源正
GND GND 电源地
SCLK P21(SPI1 SCLK) SPI时钟输入
MOSI P20(SPI1 MOSI) SPI数据输入
MISO P19(SPI1 MISO) SPI数据输出
CS P18(SPI1 CS) SPI片选信号
IRQ P24 中断输出
EN1 P27 通道1(Channel 1)收发使能: 高电平发送使能,低电平接收使能
EN2 P22 通道2(Channel 2)收发使能: 高电平发送使能,低电平接收使能

添加驱动

  • 在终端执行:
sudo nano /boot/config.txt
#加入如下,int_pin根据实际焊接方式设置:
dtoverlay=sc16is752-spi1,int_pin=24
#重启设备
sudo reboot

重启后,SC16IS752的驱动会加载到系统内核中,此时可以运行ls /dev查看一下 将会多出如下设备: Rs485添加驱动.png
在2020-05-27的树莓派系统中gpiochip3没有了变成了gpiochip2

安装库

  • 安装wiringPi
sudo apt-get install wiringpi
#对于树莓派4B可能需要进行升级;
cd /tmp
wget https://project-downloads.drogon.net/wiringpi-latest.deb
sudo dpkg -i wiringpi-latest.deb
gpio -v
# 运行 gpio -v 会出现2.52版本,如果没有出现说明安装出错
  • 安装python2库
sudo apt-get update
sudo apt-get install python-pip
sudo pip install RPi.GPIO
sudo apt-get install python-serial
sudo apt-get install python-crcmod
  • 安装python3库
sudo apt-get update
sudo apt-get install python3-pip
sudo pip3 install RPi.GPIO
sudo apt-get install python3-serial
sudo apt-get install python3-crcmod

测试

  • 下载并运行测试例程
sudo apt-get install p7zip-full
sudo wget https://www.waveshare.net/w/upload/1/14/WSTP11A_Code.7z
sudo 7z x WSTP11A_Code.7z
sudo chmod 777 -R WSTP11A_Code
cd WSTP11A_Code/
  • C程序
cd c
make clean
make
sudo ./main
  • python程序
#python2
cd python 
cd examples
sudo python main.py
#python3
cd python 
cd examples
sudo python3 main.py

程序详解

  1. 示例程序运行在只有一个变送器连接上时,通过获取变送器地址、读取温度数据、设置地址加一

WSTP11A run.png

  • C语言函数详解
#当只有一个设备连接上RS485总线,获取当前设备地址
uint8_t WSTP11A_get_addr(void)
#将指点地址的设备修改到新地址
uint8_t WSTP11A_set_addr(uint8_t o_addr, uint8_t n_addr)
#获取指定地址的设备的数据信息
float WSTP11A_get_temp(uint8_t addr)
  • python函数详解
#通过字符队列获取16位CRC校验
def crc16Add(self,read):
#当只有一个设备连接上RS485总线,获取当前设备地址
def get_addr(self):
#获取指定地址的设备的数据信息
def get_temp(self,addr):
#将指点地址的设备修改到新地址
def set_addr(self,o_addr,s_addr):

程序

数据手册


  • 原因分析:
    • 变送器未供电
    • 接线错误
  • 解决方法:
    • 给变送器按接线图正确供电


  • 原因分析:
    • 变送器未供电
    • 现场射频干扰较强
    • 未使用屏蔽线缆
  • 解决方法:
    • 使用屏蔽线缆且屏蔽层接地
    • 变送器与大地可靠连接


  • 原因分析:
    • 供电电压不正确
  • 解决方法:
    • 是否符合供电范围



联系人:黄工

QQ:2850151199
EMAIL:2850151199@qq.com
电话:0755-83040712
微信:扫下方二维码添加
Service20-Weichat.png

说明:进行售后服务前,请准备好客户信息(定货单位、定货人等),以供验证