1、准备工作
1-1、SIMATIC S7-200-SMART SR20
购买链接:
1-2、485传感器,温湿度传感器
温湿度传感器信息(一般在配套的文档中)
温湿度传感器中温度湿度寄存器(保持寄存器)地址:
通信示例(在文末更改Node-Red配置的时候可能会用到):
1-3、通过以太网连接SIMATIC S7-200-SMART SR20设备与电脑并进行信息配置
1-3-1、SIMATIC S7-200-SMART SR20通过网线连接电脑设备接线图:
PS:该设备RS485信号线不同寻常,此处接线:
传感器485A口接西门子设备RS485B口(3号引脚)/传感器485B口接西门子设备RS485A口(8号引脚)
1-3-2、连接好设备后进行以下操作:
安装西门子编程软件STEP 7-MicroWIN SMART
打开软件进行如下操作:
查询自己电脑以太网卡的方法:打开“设备管理器”->“网络适配器”->找到含有“Ethernet”字段的网卡
找到后修改设备IP为电脑和腾龙一体机所在的网络地址段
PS:设置成功后将连接电脑的网络水晶头拔出,再接入与电脑和腾龙一体机所在网络地址段一致的交换机中即可使得一体机和电脑能够同时远程访问SIMATIC S7-200-SMART SR20设备。
1-3-3、测试网络通断
Windows系统打开“运行”窗口方法:
1、左侧“开始”菜单,搜索“运行”进入。
2、"win"+R打开“运行”窗口。
在“运行”窗口输入CMD命令打开命令台,再通过"ping"命令访问设备默认IP“192.168.3.7”查看设备是否连接成功。
2、进入ThingsKit Edge配置设备接入
2-1、创建温湿度产品及温湿度设备
进入创建产品页面后:
创建成功后会立即弹信息栏:
2-2、创建Node-RED实例
进入"创建实例":
2-3、给西门子设备烧录梯形程序
程序文件:
打开西门子编程软件STEP 7-MicroWIN SMART,导入程序
软件添加西门子设备并连接:
进行程序监听,若程序运行无误,则效果如下图所示:
2-4、配置节点信息以采集温湿度传感器信息
[{"id":"c3f08b05d373b392","type":"comment","z":"6a6f3334b805e346","name":"读取【西门子S7-200_Smart】示例","info":"","x":340,"y":160,"wires":[]},{"id":"bb99b041a7914ade","type":"comment","z":"6a6f3334b805e346","name":"写入【西门子S7-200_Smart】示例","info":"","x":340,"y":440,"wires":[]},{"id":"2c8e03cf3af14d75","type":"mqtt-out","z":"6a6f3334b805e346","name":"温湿度传感器_01","deviceProfileId":"b256ec00-634c-11ef-b639-9f572d0089df","organizationId":"2bdbedd0-fd96-11ef-988c-556d7f6d32b0","entityId":"b9ecc160-634c-11ef-b639-9f572d0089df","credentialsId":"9T2D7ilYr36gZXQ8","username":"","password":"","clientId":"","transportType":"DEFAULT","deviceType":"DIRECT_CONNECTION","gatewayId":"","thingsModelMapping":[{"key":"温度","identifier":"CurrentTemperature"},{"key":"湿度","identifier":"CurrentHumidity"}],"x":810,"y":300,"wires":[]},{"id":"4f2f66bcb9742dfd","type":"s7 in","z":"6a6f3334b805e346","endpoint":"010dbe8f361fbb7f","mode":"all","variable":"","diff":true,"name":"","x":330,"y":260,"wires":[["aba96ed8b6477d86","f921a221ab72f8e1"]]},{"id":"7f8dbd0fa6ad1b0d","type":"s7 out","z":"6a6f3334b805e346","endpoint":"010dbe8f361fbb7f","variable":"自定义数值:","name":"","x":500,"y":540,"wires":[]},{"id":"f921a221ab72f8e1","type":"debug","z":"6a6f3334b805e346","name":"debug 1","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","statusVal":"","statusType":"auto","x":600,"y":340,"wires":[]},{"id":"8ec7d985ba09b8e1","type":"inject","z":"6a6f3334b805e346","name":"","props":[{"p":"payload"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"1635","payloadType":"num","x":270,"y":540,"wires":[["7f8dbd0fa6ad1b0d"]]},{"id":"aba96ed8b6477d86","type":"function","z":"6a6f3334b805e346","name":"function 1","func":"var object = msg.payload;nvar wendu = object.温度.toFixed(2);nvar shidu = object.湿度.toFixed(2);nnvar json = {n "温度":wendu,n "湿度":shidun}nmsg.payload = json;nnreturn msg;","outputs":1,"timeout":0,"noerr":0,"initialize":"","finalize":"","libs":[],"x":600,"y":260,"wires":[["2c8e03cf3af14d75","0ab822266879fe92"]]},{"id":"0ab822266879fe92","type":"debug","z":"6a6f3334b805e346","name":"debug 2","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","statusVal":"","statusType":"auto","x":780,"y":220,"wires":[]},{"id":"010dbe8f361fbb7f","type":"s7 endpoint","transport":"iso-on-tcp","address":"192.168.1.179","port":"102","rack":"0","slot":"2","localtsaphi":"10","localtsaplo":"02","remotetsaphi":"03","remotetsaplo":"01","connmode":"tsap","adapter":"","busaddr":"2","cycletime":"2000","timeout":"3000","name":"","vartable":[{"addr":"DB1,REAL1300","name":"温度"},{"addr":"DB1,REAL1304","name":"湿度"},{"addr":"DB1,INT1250","name":"自定义数值:"}]}]
2-5、配置解析
2-5-1 节点连接配置
2-5-2、数据读取配置
上述内容来源:
“DB1”表示变量存储区域(对应西门子设备V存储区:变量存储区)
“REAL”/“INT”表示读取的数据类型
(不同的数据类型会读取不同大小的区域,REAL读4个字节/INT读2个字节)
“1300”/“1304”/“1250”表示该值存储区域的起始地址