简介:这份PDF文档以SL1500-LVRT风机测试作业流程为主线,面向风电调试、运维及自动化控制相关工程师,系统梳理了从安全规程、调前准备到上电绝缘与屏蔽接地检查、上电后检查事项等关键环节。虽然标题标注为“Bachmann软件使用借鉴”,但实际内容更贴近风机测试作业指导,其中也间接说明了Bachmann等自动化软件在设备监控、数据采集与故障排查中的典型应用背景,便于读者理解控制软件在实际风场工程中的使用边界。资源为单个PDF文件,压缩包大小约8.69MB,内容结构清晰,按“安全规程—调前准备—上电前检查—上电后检查”组织,便于按步骤查阅;已有225人学习下载。通过这份资料,读者可掌握风机调试前的工具器件准备、风机完整性检查、常见错误线路修正,以及上电前使用兆欧表进行绝缘电阻测试、屏蔽层完好性检查和接地检测的具体方法,还能了解调试期间安全隔离、防误送电和危险区域封闭等注意事项。这些内容既有助于规范风机测试作业流程,也为在Bachmann等控制平台上开展监控、编程和故障诊断提供了必要的工程背景与安全操作框架。
1. 从SL1500-LVRT调试看Bachmann M1的软件接入路径
SL1500-LVRT风机调试指导书里,写在前面的并不是软件操作,而是工具、端子、屏蔽、接地这些电气准备。真正在现场卡住进度的往往是Bachmann M1控制器这一环:电脑IP没有和控制器放在同一网段,Device Setup_Pre搜不到设备,CFC0配置更新后控制器无法正常重启,偏航和变桨试验就无法继续。整份文档从调前工具准备一路写到PLC程序下载,恰好覆盖了Bachmann控制器在风电现场最常见的两件事:用Device Setup_Pre分配IP地址,用SolutionCenter更新CFC0配置。这篇文章把这条路径拆开讲,参数该设成多少、检测阈值在哪里、连接不上先查哪些点,都会落到具体操作上。适合风电调试工程师、Bachmann系统维护人员,以及刚接触M1控制器的PLC工程师。
2. 从工具到端子:调试前的电气准备与屏蔽接地检查
2.1 工具选型与线缆清单
Bachmann软件调试不是打开电脑就能开始的。指导书里列出的工具表,每一件都和后面的PLC通讯有关。笔记本电脑需要带以太网口或USB转网口,因为M1控制器调试普遍采用网线直连;万用表用于屏蔽、接地和端子通断检测;绝缘表用于上电前的绝缘测试;相序表用于确认三相电源相序;钳流表用来检查电机负载电流。此外还有平口螺丝刀、斜口钳、内六角扳手和活动扳手,用于开接线盒和调整端子。特别要准备的是备用风向风速仪及引线、手动操作盒、压力传感器和PT100传感器,这些是后续传感器测试要用到的替换件。
线缆方面需要网线、KEB线、400V电源线、230V电源线和通讯光纤各一根。KEB线用于连接变频器调试口,通讯光纤用于轮毂与控制柜之间的通讯链路检查。下面把这套清单整理成表,方便现场核对。
| 工具/线缆 | 用途 | 调试环节 |
|---|---|---|
| 笔记本电脑(带网口) | 运行Device Setup_Pre与SolutionCenter | PLC程序下载 |
| 万用表 | 屏蔽/接地/通断/电压测量 | 上电前检查 |
| 绝缘表 | 相对地绝缘电阻测量 | 上电前检查 |
| 相序表 | 校验三相电源相序 | 上电后检查 |
| 钳流表 | 电机电流测量 | 上电后检查 |
| 手动操作盒 | 偏航系统手动操作 | 偏航试验 |
| 备用风速风向仪 | 替换故障传感器 | 传感器测试 |
| 压力传感器 | 液压系统压力校验 | 传感器测试 |
| PT100(11cm两根、14cm一根) | 电机/齿轮箱温度传感器替换 | 传感器测试 |
| 网线、KEB线、光纤 | PLC/变频器/轮毂通讯 | 程序下载与通讯测试 |
| 400V/230V电源线 | 临时供电接入 | 上电检查 |
实际调试时,我一般会额外带一个USB转RS232线,处理个别需要串口维护的模块。工具准备的核心逻辑是:所有可能在测试中替换的传感器和执行器,最好都在塔底或机舱里备一份,否则等到测试中途才发现缺件,只能停机等待。
2.2 习惯性错误线路整改
指导书里专门有一节“更改习惯性错误线路”,意思是这批机组在出厂或安装阶段存在一批反复出现的接线问题,不停机整改会影响后续软件调试。
机械侧需要处理的包括:齿轮箱油循环泵的低速三相电源线(X112.2端子上的1、2、3)与高速三相电源线(X112.2端子上的5、6、7)都要更改相序;国产齿轮箱油冷风扇的三相电源线(X113.2端子上的1、2、3)也要更改相序,进口齿轮箱不动;国产电机加热器400V线路中的一相(X114.2端子上的7或8)改为接地,进口电机不动;短接塔基急停按钮端子F233.2;最后接一条400V电源线,三相线与地线分别接在X110.2的1、2、3和4端子上。
电控柜侧的改动更细。K151.6的22号线改到24号端子;B234.4的14号线改到13号端子;K246.7的14号线拿掉,11号线改接到T215.3的L号端子,并把原有线拿掉;F352.2到变频器J5的线找出来,中间串入K246.7;A242.1的15号线改到79号端子,16号线改到80号端子,70、71、72号线拿掉。变频器侧的J26端子1/2互换、3/4互换、5/6互换,J7从左到右按绿、棕、空、白、空接入通讯线。A239.5的COM1、COM2要确认接入终端电阻;Q312.3手动接通到ON状态,用万用表测量Q102.6的21号线与K151.5的A1之间导通,正常约0.2欧姆;A239.4与A239.5的SW开关都拨到OFF;TBC100的A118.3把SW1调到0,SW2调到RUN。
这些改动初看非常绕,但逻辑是清晰的:相序错误会导致油泵、风扇反转,润滑和冷却全部失效;短接塔基急停是为了调试阶段安全链不被频繁触发,等全部试验完成后再恢复跳线;串入K246.7是为了让变频器故障信号能被控制器采集。改动完每一根线后,我都建议在端子排上做标记,避免后期恢复出厂状态时找不到原始位置。
2.3 屏蔽、接地与绝缘检测:三个万用表场景
2.3.1 屏蔽检查的测量点
屏蔽检查的目的是确认所有动力电缆和信号电缆的屏蔽层都接到了柜内接地点。方法是用万用表欧姆档,黑表笔接电缆屏蔽线,红表笔接控制柜内接地点,阻值在0到0.3欧姆之间为合格。如果阻值偏大,说明屏蔽层与接地排之间接触不良,变频器产生的PWM干扰会通过容性耦合进入编码器和通讯线路。
重点测量点包括:齿轮油泵(+GB300-M112.2,电缆号W112.4)、齿轮箱油冷风扇(+GB300-M113.2,电缆号W113.2)、液压泵(+BU300-M222.2,电缆号W112.6)、水冷却泵(+WU300-M112.7,电缆号W112.7)、四台偏航电机(+YD300-M120.2、M120.4、M120.5、M120.7,对应W120.2、W120.4、W120.5、W120.5)、风速仪(+ANE500-B220.2,电缆号W220.5)、发电机编码器插头外壳。其中发电机编码器外壳是最容易被忽略的,编码器信号直接进Bachmann的IO模块,屏蔽不好会导致转速信号跳变。
2.3.2 接地与非接地检测
接地检测分成两类。需接地部分包括PE与发电机定、转子接线盒的连接、PE与发电机座的连接、PE与发电机轴的连接、PE与BAT300的连接、PE与齿轮箱的连接、PE与齿轮油泵的连接、PE与轮毂柜的连接、PE与轮毂防雷碳刷的连接、PE与机舱防雷电电缆的连接。这些点用万用表欧姆档测量,阻值0到0.3欧姆。
非接地部分则相反,要求阻值显示无穷大,包括油泵低速端接触器K152.2的2/4/6触点、油泵高速端K152.4与K152.6的触点、油冷风扇电机K153.2的触点、制动器电机K154.2的触点、水泵电机K154.3的触点、齿轮箱加热器K156.3的触点、K210.2和K210.5下端各触点、国外发电机加热器K156.4.1触点、充电接触器K212.2/K212.4/K212.6各触点、NCC310柜内各24V保险丝下端、各断路器下端。
这里要注意顺序:必须先做接地检查再做绝缘测试,否则接地回路没有确认就把绝缘表打上去,可能把耐压加到不该接地的部位。非接地部分出现导通,往往意味着接触器触点粘连或线缆破损,需要逐段排查。
2.3.3 绝缘检测与数据记录
绝缘检测使用绝缘表,档位打到500VDC或1000VDC,黑表笔接地,红表笔分别接各接触器A、B、C相,测量相对地绝缘。500VDC适用于控制回路,1000VDC适用于动力回路。现场对绝缘值的最低要求通常不低于1兆欧,实际机组一般要求更高,具体以制造商技术规范为准。
测量点多,数据容易记混。我习惯在现场用一个小脚本记录测量值,不合格的点当场标出来:
# 绝缘电阻检测记录脚本 # 键为测点编码,值为绝缘电阻值,单位MΩ measurements = { "K152.2-U": 500.0, "K152.2-V": 500.0, "K152.2-W": 480.0, "K153.2-U": 0.8, "K153.2-V": 500.0, "K153.2-W": 495.0, "K154.2-U": 510.0, "K154.2-V": 0.5, "K154.2-W": 488.0, } threshold = 1.0 # 最低绝缘电阻阈值,单位MΩ,按现场规程调整 for point, value in measurements.items(): status = "FAIL" if value < threshold else "PASS" print(f"{status} {point}: {value:.1f} MΩ")这段脚本没有任何依赖,直接复制到Python环境就能跑。字典里换成实际测量点编号即可,阈值按项目技术规范调整。脚本的意义是避免人工记录时把高压柜和低压柜的数据写混,打印出来的结果可以直接贴到调试记录里。同样逻辑也可以做成Excel表格,但脚本在塔筒里用笔记本执行更方便。
3. IP地址分配与SolutionCenter连接Bachmann PLC
3.1 M1控制器的IP分配规则
Bachmann M1控制器的调试IP不是随机的,不同出厂配置会落在不同网段。指导书里明确写到,ABB-PLC出厂前要设置成86.1.1.130,而在更新CFC0配置文件时,电脑IP又需要改成192.168.1.?。这说明机组在不同阶段会使用两套网段:一套是设备出厂默认网段,另一套是现场调试网段。开始调试之前,先要从机组资料或控制器标签上确认当前使用的IP地址,不要凭经验直接填。
IP分配的核心规则就一条:电脑与控制器必须在同一网段,且最后一位不能相同。例如控制器是86.1.1.130,电脑就设成86.1.1.100;控制器是192.168.1.10,电脑就设成192.168.1.50。子网掩码用255.255.255.0,网关可以不填,因为是网线直连,不经过路由器。几种常见组合如下表:
| 控制器IP | 电脑IP | 子网掩码 | 网关 |
|---|---|---|---|
| 86.1.1.130 | 86.1.1.100 | 255.255.255.0 | 不填 |
| 192.168.1.10 | 192.168.1.50 | 255.255.255.0 | 不填 |
| 192.168.1.130 | 192.168.1.131 | 255.255.255.0 | 不填 |
在Windows系统上配置静态IP,可以用命令行快速完成。以控制器86.1.1.130、电脑86.1.1.100为例:
netsh interface ip set address name="以太网" static 86.1.1.100 255.255.255.0这条命令需要以管理员身份运行。name参数要替换成实际网卡名称,中文系统通常是“以太网”或“本地连接”,英文系统是“Ethernet”。如果电脑同时有无线网卡和有线网卡,最好先禁用无线网卡,避免系统路由表把数据包发到错误网卡。调试结束恢复上网时,再把有线网卡改回DHCP获取即可:
netsh interface ip set address name="以太网" source=dhcp3.2 使用Device Setup_Pre搜索控制器
IP配置完成后,下一步是用Bachmann的Device Setup_Pre工具搜索控制器。指导书里的操作流程是:打开Device Setup_Pre软件,点击run.bat启动,然后点击最上面的Search按钮,再点击下面的Search,软件会通过广播方式查找同一网段内的控制器,并把找到的IP显示出来。
这个工具的实际价值在于,它不要求操作者预先知道控制器IP。只要电脑IP和控制器在同一网段,就能用广播发现设备。搜索成功后,要把Target-IP Address设置成和找到的控制器IP一致,再点击Apply应用。这里注意一个细节:电脑IP要跟控制器IP“最后一位不同”,Target-IP Address则必须与控制器IP完全一致,二者不要搞混。
如果点Search之后列表为空,优先检查三件事:第一,网线是否直连控制器上的调试以太网口;第二,电脑IP是否真的生效,用ping命令验证;第三,Windows防火墙是否拦截了广播包,临时关闭防火墙再试一次。现场经常遇到的情况是笔记本同时启用了多个网卡,导致广播包从无线网卡发出,这时把无关网卡全部禁用即可。
3.3 SolutionCenter建立在线连接
IP搜索成功只代表网络层通,真正进入Bachmann的程序更新还要靠SolutionCenter。指导书里提到一个关键条件:更新CFC0文件前,要确认电脑安装了SolutionCenter,并且把电脑IP改成192.168.1网段。这说明项目组在CFC0更新阶段使用的是固定的192.168.1网段,与前面Device Setup_Pre搜索用的86.1.1网段不同。
操作上,打开SolutionCenter后会看到一个目标列表,点击刷新就能找到已经分配好IP的控制器。点选目标,再展开左上角的“+”,软件会尝试与控制器建立在线连接。连接成功后,左侧树形结构里能看到PLC节点以及cfc0等配置文件夹。指导书里特别强调,看到左上角红色椭圆标记的“+”并成功展开,才说明PLC与PC已经连通。如果在这个界面长时间无响应,多半是电脑IP没有切到192.168.1网段,或者控制器的通讯任务还没有加载完成。
3.4 连接失败时的排查顺序
连接Bachmann控制器失败,最容易踩的坑有三个。第一是电脑上同时开了多个网卡,Windows路由表混乱,SolutionCenter发出的请求没有走有线网口;第二是防火墙拦截了控制器的调试端口,尤其是在Windows 10以上系统里,默认出站规则严格;第三是控制器侧IO模块上的拨码开关状态不对。指导书里有一条明确的检查项:将A239.4、A239.5的SW开关都拨到OFF。这两个模块如果SW开关状态不对,会导致模块无法正常参与通讯,软件侧看到的现象就是控制器搜索不到或在线连接反复断开。
我一般还会做一步:先用ping命令大量发包,确认丢包率。如果ping出现较大丢包,先换网线,不要急着怀疑控制器。现场环境复杂,塔筒内电磁干扰强,劣质网线或水晶头虚接都会造成通讯时断时续。等网络层完全正常,再继续后面的CFC0更新。
4. CFC0配置更新与PLC程序下载
4.1 CFC0在Bachmann控制器里的角色
CFC0是Bachmann M1控制器上一个特殊的配置存储区域。CFC(Continuous Function Chart)是Bachmann的连续功能图编程语言,编译后生成的配置和初始数据就存放在cfc0目录里。对于SL1500-LVRT机组,控制器需要加载与低电压穿越相关的控制逻辑,如果cfc0里还是出厂时的常规配置,偏航、变桨和变频器通讯行为都不会符合LVRT要求。
理解这一点很重要:程序下载不是把整个工程文件烧进去,而是把编译好的cfc0文件覆盖到控制器指定目录。这意味着本地工程与控制器里的配置必须匹配,版本不一致时会出现逻辑无法解释的故障。所以在更新之前,先确认本地电脑里保存的LVRT相关cfc0文件是经过验证的版本,最好同一个文件在多个机组上已经跑过。指导书里没有给出CFC0文件的具体命名规则,但现场常见的做法是按机组号或软件版本号建目录,避免多台机组配置混淆。
4.2 备份、清空与上传cfc0文件
更新CFC0前必须做备份。具体操作是在SolutionCenter中选中控制器下的cfc0节点,把它导出到本地磁盘保存。这个导出动作要在软件里完成,不要尝试用操作系统直接访问控制器文件系统。备份结束后再删除cfc0中的文件,跟随后的操作顺序是:
- 在SolutionCenter左侧树中展开控制器节点,找到cfc0;
- 删除其中所有文件,确认删除完成后再进行下一步;
- 打开本地电脑上存储的LVRT相关cfc0文件目录;
- 将本地所有文件复制到PLC的cfc0文件夹中;
- 核对文件数量与名称,确认没有遗漏;
- 断开SolutionCenter的在线连接,准备重启PLC。
删除动作看起来简单,但风险很高。如果删除过程中SolutionCenter连接断开,控制器里可能只剩半个配置,重启后PLC直接进入错误状态。所以我在现场会先把备份下载到本地,再删一个文件、刷新一次,确认连接还正常,而不是一次性全选删除。文件上传完成后,不要立即断电,先看一眼cfc0目录下的文件时间戳,确认所有文件都是本次写入的时间。
如果现场需要快速核对本地与PLC端文件是否一致,可以用这个脚本比对两边的文件列表。前提是先分别从SolutionCenter中导出本地和PLC端的文件清单:
# 比对本地与PLC端cfc0文件列表,防止上传遗漏 local_list = open("local_cfc0_files.txt", encoding="utf-8").read().splitlines() plc_list = open("plc_cfc0_files.txt", encoding="utf-8").read().splitlines() local_set = {line.strip() for line in local_list} plc_set = {line.strip() for line in plc_list} missing = sorted(local_set - plc_set) extra = sorted(plc_set - local_set) if missing: print("本地有但PLC缺少的文件:") for f in missing: print(" ", f) else: print("未发现缺失文件") if extra: print("PLC有但本地没有的文件:") for f in extra: print(" ", f)这段脚本把清单文件按行读入,用集合求差集。missing列表里出现的文件名,就是要补传的文件。实际使用中,文件清单可以在SolutionCenter里通过列表视图复制出来,保存成纯文本。注意文件名的空格和大小写不要改,否则比对结果会误报。
4.3 PLC重启与启动确认
文件上传完成后,必须重启PLC。CFC0是控制器启动时加载的配置,运行中修改不会实时生效。指导书里的原话是“等到粘贴完毕,重新启动PLC”。重启方式有两种,一种是在SolutionCenter里执行控制器的软件复位,另一种是断开连接后给控制器重新上电。我偏向用软件复位,因为断电重启会把整个机柜的电压变化引入现场,如果其他设备没有准备好,容易引发连带故障。
重启后不要立刻操作,给控制器留出一段加载时间。指导书里的确认方法是看PLC模块的指示灯:B234.4 PLC模块所有RDY指示灯正常,控制盘背景灯亮,轮毂速度测量装置处LED显示屏有显示。这几个信号合在一起,说明PLC系统已经完成启动并从CFC0中加载了LVRT配置。如果RDY灯出现闪烁或常灭,说明配置加载失败,只能重新检查cfc0文件是否完整。
4.4 重启后的网络连通性验证
配置加载完成不代表可以马上开始试验。先用一个简单的脚本持续检查控制器网络是否恢复,给SolutionCenter的重新连接留出检测窗口:
import subprocess import time plc_ip = "86.1.1.130" # 替换为实际控制器IP for attempt in range(30): result = subprocess.run( ["ping", plc_ip, "-n", "1", "-w", "1000"], capture_output=True, ) if result.returncode == 0: print(f"PLC {plc_ip} 网络已通,耗时 {attempt * 2} 秒") break print(f"等待PLC重启... 第{attempt + 1}次") time.sleep(2) else: print("PLC网络未恢复,请检查控制器状态")这个脚本用系统ping命令做检测,“-n 1”表示发一个包,“-w 1000”表示超时1000毫秒,适合Windows环境;Linux下改成“-c 1 -W 1”。脚本循环30次,每次间隔2秒,共约一分钟。网络恢复后,打开SolutionCenter重新连接,确认cfc0配置版本已经变成LVRT版本。此时再去看NCC310内PLC模块的RDY灯,如果还是全部正常,就可以进入上电试验环节。
5. 上电检查与安全链验证中的软件监视技巧
5.1 用软件回读急停状态,而不是只看继电器
上电检查急停时,指导书里的判断依据是硬件表现:按下任一急停按钮后,NCC310的S230.3蓝色指示灯亮,K230.7 PNOZ1继电器打开,绿灯不亮,表示该急停正常。这个结论没有问题,但如果只靠看灯,等安全链真正出问题时,很难定位是哪一段回路断开的。
建议的做法是把急停回路和Bachmann输入模块的状态位结合起来看。在SolutionCenter的在线监视窗口里找到A239.5对应通道的状态,按下急停按钮时,输入通道状态应该立刻翻转。这个翻转动作与PNOZ1继电器的断开是同时发生的。如果继电器已经断开,但软件里的输入位没有变化,说明问题出在端子接线、IO模块供电或A239.5的SW开关配置上,而不是安全链逻辑。反过来,软件位变了但偏航系统没有进入停止状态,问题就在CFC0逻辑或输出继电器上。
5.2 把急停点做成一张可勾选的状态表
现场调试多台机组时,我习惯把所有急停按钮的硬件编号、输入模块、软件通道和预期状态放在一张表里,逐点打勾。以本次SL1500-LVRT为例,至少包括机舱柜急停S230.2、齿轮箱右侧急停S232.3、齿轮箱左侧急停S232.5,以及塔基急停。下表是状态表的通用形式:
| 急停位置 | 硬件编号 | 输入模块 | 软件通道 | 按下后状态 |
|---|---|---|---|---|
| 机舱柜 | S230.2 | 以现场IO表为准 | 以现场IO表为准 | 1→0 |
| 齿轮箱右侧 | S232.3 | 以现场IO表为准 | 以现场IO表为准 | 1→0 |
| 齿轮箱左侧 | S232.5 | 以现场IO表为准 | 以现场IO表为准 | 1→0 |
| 塔基 | 已短接F233.2 | 调试阶段不测 | 调试阶段不测 | 保持 |
填写这张表时要注意,Bachmann IO模块的输入通道编号在硬件标签上是可见的,做一次急停测试就能确认对应关系。确认完一个点,就在表上标记一次,不要等全部测完再补记。这样每测完一台机组,原始数据就是齐全的。
5.3 一个容易忽略的细节:终端电阻
安全链验证和CFC0更新做完,还剩一个容易被忽略的确认点,就是CAN通讯的终端电阻。指导书中明确要求用万用表测量A239.5的COM1、COM2是否接入了终端电阻。这个测量必须在断电状态下进行,测的是模块端的总线阻抗。如果总线两端都没有终端电阻,CAN信号会在电缆末端反射,表现出的故障很随机:有时偏航通讯正常,有时变桨通讯闪断,常规软件检查根本发现不了。所以我的习惯是,在连接SolutionCenter确认变量状态之前,先把A239.5和总线末端模块的终端电阻一并量掉,并把测量值记在表里。这个工作虽然不起眼,但能省掉后面一大半通讯故障排查时间。
本文还有配套的精品资源,点击获取