以下项目为主站读写从站的数据,从站是远程站用于控制主站设备的启停及监控设备状态。从站控制由屏写入从站PLC在通过串口发送出去给主站。
硬件接线框架图
西门子的官方文档上写着可以带32个子站,这个没测试过。以往最多与26台变频器通讯过。读写不会太慢,波特率设置到19200。因为这个项目的距离比较远,担心不稳定所以波特率设置为9600 。19200也有测试过,能通讯得上。但还是担心不稳定所以就设置为9600了。
通讯配置表如下图所示:
总字数 | |||||
AC2从站地址 | AC2 485实际写入 地址(基本不管) |
53 | AC3主站 接收地址 | ||
VW510 | 格栅井潜污泵1号状态 | 40001 | 1 | VW510 | |
VW512 | 格栅井潜污泵2号状态 | 40002 | 1 | VW512 | |
VW514 | 格栅井潜污泵3号状态 | 40003 | 1 | VW514 | |
VW516 | 格栅井潜污泵4号状态 | 40004 | 1 | VW516 | |
VW518 | 生活污水池潜污泵1号状态 | 40005 | 1 | VW518 | |
VW520 | 生活污水池潜污泵2号状态 | 40006 | 1 | VW520 | |
VW522 | 搅拌器状态 | 40007 | 1 | VW522 | |
VW524 | 生活污水池潜污泵停时间段1 | 40008 | 1 | VW524 | |
VW526 | 生活污水池潜污泵停时间段2 | 40009 | 1 | VW526 | |
VW528 | 生活污水池潜污泵停时间段3 | 40010 | 1 | VW528 | |
VW530 | 生活污水池潜污泵停时间段4 | 40011 | 1 | VW530 | |
VW532 | 生活污水池潜污泵停时间段5 | 40012 | 1 | VW532 | |
VW534 | 生活污水池潜污泵停时间段6 | 40013 | 1 | VW534 | |
VW536 | 生活污水池潜污泵停时间段7 | 40014 | 1 | VW536 | |
VW538 | 生活污水池潜污泵停时间段8 | 40015 | 1 | VW538 | |
VD540 | 格栅井液位 | 40016 | 2 | VD540 | |
VD544 | 格栅井液位高量程 | 40018 | 2 | VD544 | |
VD548 | 格栅井液位低量程 | 40020 | 2 | VD548 | |
VD552 | 生活污水池液位 | 40022 | 2 | VD552 | |
VD556 | 生活污水池液位高量程 | 40024 | 2 | VD556 | |
VD560 | 生活污水池液位低量程 | 40026 | 2 | VD560 | |
VD564 | 格栅井启动小泵液位 | 40028 | 2 | VD564 | |
VD568 | 格栅井启动大泵液位 | 40030 | 2 | VD568 | |
VD572 | 格栅井全关泵液位 | 40032 | 2 | VD572 | |
VD576 | 生活污水池启动泵液位 | 40034 | 2 | VD576 | |
VD580 | 生活污水池停止泵液位 | 40036 | 2 | VD580 | |
VD584 | 搅拌器启动液位 | 40038 | 2 | VD584 | |
VD588 | 搅拌器停止液位 | 40040 | 2 | VD588 | |
VD592 | 格栅井液位高报警 | 40042 | 2 | VD592 | |
VD596 | 生活污水池液位高报警 | 40044 | 2 | VD596 | |
VD600 | 用于清除标志格栅井=1时 | 40046 | 2 | VD600 | |
VD604 | 用于清除标志生活污水池 | 40048 | 2 | VD604 | |
VD608 | 控制位 | 40050 | 2 | VD608 | |
40050位操作 |
|||||
AC2读 | AC3写入AC2 | ||||
V608.0 | 格栅井潜污泵1号启动(AC3) | 40050.0 | V608.0 | ||
V608.1 | 格栅井潜污泵2号启动(AC3) | 40050.1 | V608.1 | ||
V608.2 | 格栅井潜污泵3号启动(AC3) | 40050.2 | V608.2 | ||
V608.3 | 格栅井潜污泵4号启动(AC3) | 40050.3 | V608.3 | ||
V608.4 | 生活污水池潜污泵1号启动(AC3) | 40050.4 | V608.4 | ||
V608.5 | 生活污水池潜污泵2号启动(AC3) | 40050.5 | V608.5 | ||
V608.6 | 搅拌器启动(AC3) | 40050.6 | V608.6 | ||
V608.7 | 格栅井潜污泵AC3启动允许 | 40050.7 | V608.7 | ||
V609.0 | 生活污水池潜污泵AC3启动允许 | 40050.8 | V609.0 | ||
V609.1 | 搅拌器启动AC3允许 | 40050.9 | V609.1 | ||
V609.2 | 格栅井潜污泵1号停止(AC3) | 40050.10 | V609.2 | ||
V609.3 | 格栅井潜污泵2号停止(AC3) | 40050.11 | V609.3 | ||
V609.4 | 格栅井潜污泵3号停止(AC3) | 40050.12 | V609.4 | ||
V609.5 | 格栅井潜污泵4号停止(AC3) | 40050.13 | V609.5 | ||
V609.6 | 生活污水池潜污泵1号停止(AC3) | 40050.14 | V609.6 | ||
V609.7 | 生活污水池潜污泵2号停止(AC3) | 40050.15 | V609.7 | ||
V610.0 | 搅拌器停止(AC3) | 40051.0 | V610.0 | ||
V610.1 | 综合污水池水位非高时=0,高=1 | 40051.1 | V610.1 | ||
V610.2 | 40051.2 | V610.2 | |||
V610.3 | 40051.3 | V610.3 | |||
V610.4 | 40051.4 | V610.4 | |||
V610.5 | 40051.5 | V610.5 | |||
V610.6 | 40051.6 | V610.6 | |||
V610.7 | 40051.7 | V610.7 | |||
V611.0 | 40051.8 | V611.0 | |||
V611.1 | 40051.9 | V611.1 | |||
V611.2 | 40051.10 | V611.2 | |||
V611.3 | 40051.11 | V611.3 | |||
V611.4 | 40051.12 | V611.4 | |||
V611.5 | 40051.13 | V611.5 | |||
V611.6 | 40051.14 | V611.6 | |||
V611.7 | 40051.15 | V611.7 | |||
VD612 | 综合池液位 | 40052 | 2 | VD612 |
以下为程序:
配置从站的地址为3
以下为从站的程序段
从站程序比较简单,因为只是作为远程操作站来处理。人不用跑到主站那边去操作,在从站的屏上直接可以远控主站设备。所以那些控制位都是在屏上的按钮给的。采用的是按下为1,放开为0的形式。注意这里的初始化地址为从站自己的地址,等会在系统配置上能看到。这个跟主站程序上读写的站地址对应上了。
主站的系统块配置
从站的系统块配置
本文只是对485的读写寄存器进行操作。如果要操作其它的比如只读寄存器,只写寄存器等就得对通讯两端进行其它配置。