1. 项目背景与核心价值
第一次接触汇川AC800系列PLC是在2018年某个汽车产线改造项目上。当时客户指定要用AM400系列完成整条产线的逻辑控制,而团队里没人用过这个国产PLC品牌。抱着试试看的心态,我们开始了在CODESYS平台上的"探险",没想到这一试就打开了新世界的大门。
汇川AC801/AM400/AM600系列PLC最大的特点就是原生支持CODESYS开发环境。这意味着我们可以用熟悉的IEC61131-3标准语言(LD、ST、FBD等)来开发,同时又能享受到国产控制器在性价比和本地化服务上的优势。特别是在当前工业自动化领域国产化替代的大背景下,这类项目越来越常见。
2. 开发环境搭建实战
2.1 软件准备要点
CODESYS开发环境有多个版本,经过实测发现:
- 对于AC801推荐使用CODESYS V3.5 SP16
- AM400/AM600系列最佳适配版本是V3.5 SP12
重要提示:务必从汇川官网下载对应的设备描述文件(.device文件),否则会出现设备识别不全的问题。我就曾因为用了旧版描述文件,导致AM600的扩展模块无法正确识别,白白浪费两天排查时间。
安装时有个小技巧:先装CODESYS基础版,再覆盖安装汇川定制版本。这样既能保证功能完整,又能获得针对汇川PLC的优化特性。
2.2 硬件连接配置
硬件组态时最容易踩的坑是IP地址设置。汇川PLC默认采用192.168.1.88这个固定IP,建议按这个步骤操作:
- 先将开发电脑的以太网口IP改为192.168.1.x段
- 通过网线直连PLC的ETH0口
- 在CODESYS的"设备"视图右键扫描,通常就能自动发现设备
如果遇到连接不稳定,可以尝试:
bash复制ping 192.168.1.88 -t
持续观察网络延迟,超过2ms就说明可能存在干扰,需要检查网线质量或更换交换机。
3. 项目开发核心技巧
3.1 编程规范建议
经过多个项目总结,推荐采用这样的程序结构:
code复制PROJECT
├── 设备配置
├── 全局变量(GVL)
│ ├── 输入映射
│ ├── 输出映射
│ └── 工艺参数
├── POUs
│ ├── 主程序(MAIN)
│ ├── 功能块(FB)
│ ├── 功能(FC)
│ └── 报警处理
└── 可视化界面
特别要注意的是:AM400/600系列对任务周期有严格限制。建议:
- 快速任务周期不小于5ms
- 慢速任务设置在100-500ms
- 运动控制必须使用1ms任务周期
3.2 运动控制开发
AC801在电子凸轮控制方面表现惊艳。以飞剪应用为例,关键参数设置如下:
st复制VAR
axis1 : AXIS_REF;
cam1 : CAM_REF;
masterPosition : LREAL;
END_VAR
MC_CamIn(
Axis:=axis1,
Cam:=cam1,
MasterValue:=masterPosition,
SlaveOffset:=0,
StartMode:=MC_CAM_START_ABSOLUTE,
BufferMode:=MC_BUFFER_MODE_ABORTING
);
调试时务必注意:
- 先进行相位补偿校准
- 再调整凸轮曲线平滑度
- 最后测试动态跟随性能
4. 典型问题解决方案
4.1 下载程序失败排查
遇到下载失败时,按这个顺序检查:
- 确认PLC处于"编程"模式(RUN灯慢闪)
- 检查防火墙是否阻止了CODESYS通信
- 尝试使用USB编程线直连
- 查看PLC日志是否有空间不足提示
4.2 实时性能优化
某项目遇到AM600的EtherCAT从站响应不及时,通过以下调整解决:
- 将EtherCAT周期从2ms改为1ms
- 禁用未使用的从站
- 在CODESYS中设置DC同步模式
- 优化PDO映射,减少通信数据量
调整前后的性能对比:
| 指标 | 优化前 | 优化后 |
|---|---|---|
| 周期抖动 | ±150μs | ±20μs |
| 通信延迟 | 800μs | 300μs |
| CPU负载 | 85% | 65% |
5. 高级功能开发
5.1 OPC UA通信配置
AC800系列支持内置OPC UA服务器,配置步骤:
- 在设备树添加OPC UA组件
- 设置端口号(默认4840)
- 配置安全策略(建议Basic256Sha256)
- 导出节点信息到.csv文件
st复制// 在ST程序中暴露变量
{attribute 'OPC.UA.DA' := '1'}
VAR_EXPORT
productionCount : INT;
END_VAR
5.2 配方管理实践
利用汇川的扩展库实现配方功能:
- 创建配方数据结构体
- 配置CSV文件存储路径
- 使用File库实现导入导出
st复制PROGRAM PLC_PRG
VAR
recipeManager : FB_RecipeManager;
currentRecipe : RecipeData;
END_VAR
recipeManager(
bExport := TRUE,
sFilePath := 'C:\Recipes\param1.csv',
pData := ADR(currentRecipe),
nSize := SIZEOF(currentRecipe)
);
6. 项目部署与维护
6.1 远程监控方案
推荐两种经济实用的方案:
- 通过VPN+CODESYS WebVisu实现(需配置路由器端口映射)
- 使用汇川云平台+4G模块(适合分布式设备)
某食品厂项目采用方案2后,故障响应时间从平均4小时缩短到30分钟。
6.2 固件升级指南
AM600固件升级注意事项:
- 准备空U盘(FAT32格式)
- 将.hfw文件放在根目录
- 插入PLC的USB口后上电
- 等待RUN灯快闪变为慢闪(约3分钟)
遇到升级失败时,可以尝试强制升级模式:按住PLC的ESC键上电,直到所有指示灯同时闪烁。
7. 开发心得与建议
三年间经手了17个汇川PLC项目,总结出几条血泪经验:
- AM400的DI滤波时间默认是10ms,高速计数时要改为1ms
- AC801的RS485口在115200波特率时通信距离不超过50米
- 运动控制项目中,一定要在MAIN程序最开始调用MC_Power
- 定期清理PLC日志文件(建议每月一次)
最近发现CODESYS的Git插件特别好用,可以实现:
- 版本差异对比
- 多人协作开发
- 变更记录追踪
配置方法是在"工具→选项→版本控制"中选择Git,然后关联本地仓库即可。
