第3章:开发环境搭建:硬件准备与软件安装
说实话,很多朋友学数控二次开发,第一步就卡在环境搭建上。
我见过太多人,代码写得挺溜,结果连伺服都动不了。为啥?硬件没配好,通信没通。
这一章,咱们就把这事儿彻底捋清楚。
3.1 硬件准备:选对家伙事儿
做二次开发,硬件是基础。我个人习惯,先把控制器、PLC、伺服驱动器这三样定下来。
3.4.1 控制器选型
控制器是大脑。我建议用开放式架构的,比如基于PC的软控制器,或者带EtherCAT主站的专用控制器。
为什么?因为你要改M代码,得能访问底层逻辑。封闭的控制器,你连门都摸不着。
- PC-based控制器:比如倍福CX系列,或者国产的固高、正运动。优点是灵活,C#、C++都能写。
- 专用数控系统:比如发那科、西门子,但二次开发门槛高,得买他们的开发包。
3.4.2 PLC选型
PLC负责逻辑控制,比如冷却液开关、刀库换刀。别小看它,M代码很多功能是靠PLC实现的。
我常用的PLC品牌:汇川、台达、西门子S7-1200。选型时注意两点:
- 支持EtherCAT:现在主流通信协议,速度快。
- 支持Modbus:老设备兼容,调试方便。
3.4.3 伺服驱动器与电机
伺服是执行机构。你写个M03主轴正转,最后得靠伺服转起来。
选型时注意:
- 功率匹配:别拿小伺服带大负载,会烧。
- 编码器类型:增量式还是绝对式?我建议用绝对值编码器,断电不用回零。
3.2 软件安装:工欲善其事
硬件到位了,软件得跟上。我习惯先装开发环境,再装PLC编程软件。
3.2.1 Visual Studio安装
做二次开发,VS是主力。我用的是VS 2022 Community版,免费,功能够用。
安装时注意:
- 工作负载:选“.NET桌面开发”和“使用C++的桌面开发”。
- SDK:.NET Framework 4.8或.NET 6/8,看你项目需求。
安装步骤很简单,下一步下一步就行。但有个坑:
重要: 安装路径不要有中文!我见过有人装到“D:\编程工具”,结果编译报错。老老实实用英文路径。
3.2.2 PLC编程软件
PLC编程软件各家不同。我用过汇川的AutoShop、西门子的TIA Portal。
安装时注意:
- 版本兼容:软件版本要和PLC固件匹配。比如TIA Portal V17只能连S7-1200固件V4.5以上。
- 授权:有些软件需要加密狗,提前准备好。
我个人习惯,先装PLC软件,再装VS。因为PLC软件有时会装一些底层驱动,顺序反了可能冲突。
3.3 通信协议配置:让设备说话
硬件软件都齐了,但设备之间不说话,等于白搭。通信协议就是它们的语言。
3.3.1 EtherCAT配置
EtherCAT是实时以太网,速度快,抖动小。做数控,首选它。
配置步骤:
- 安装EtherCAT主站驱动:比如倍福的TwinCAT,或者开源SOEM。
- 扫描从站:在软件里扫描,看能不能识别到伺服驱动器。
- 配置PDO映射:把控制字、状态字、位置值映射好。
举个例子,配置一个汇川IS620P伺服:
// PDO映射示例(XML格式)
<RxPdo>
<Index>0x1600</Index>
<Entry>
<Index>0x6040</Index> // 控制字
<SubIndex>0x00</SubIndex>
</Entry>
<Entry>
<Index>0x607A</Index> // 目标位置
<SubIndex>0x00</SubIndex>
</Entry>
</RxPdo>
3.3.2 Modbus配置
Modbus是老协议,但很多传感器、IO模块还在用。配置简单,但要注意:
- 波特率:默认9600,但建议用115200,速度快。
- 数据位/停止位:8数据位,1停止位,无校验。这是标准配置。
我遇到过一个问题:Modbus通信时好时坏。查了半天,发现是终端电阻没加。嗯,这里要注意,长距离通信必须加120欧姆终端电阻。
3.4 实战:搭建一个最小系统
理论说完了,咱们动手搭一个。这是我常用的最小系统:
| 设备 | 型号 | 数量 | 备注 |
|---|---|---|---|
| 控制器 | 固高GTS-400 | 1 | PCIE接口,4轴 |
| PLC | 汇川H3U | 1 | 支持EtherCAT |
| 伺服驱动器 | 汇川IS620P | 2 | 带绝对值编码器 |
| 开关电源 | 24V/10A | 1 | 给PLC和IO供电 |
接线很简单:控制器通过EtherCAT连伺服,PLC通过Modbus连IO模块。通电后,用PLC软件扫描,能看到所有设备在线。
如果扫描不到,别慌。先检查网线,再检查IP地址。EtherCAT设备默认IP是192.168.1.x,别和路由器冲突。
总结一下: 环境搭建这事儿,说白了就是三步:硬件选对、软件装好、通信配通。每一步都有坑,但走一遍就熟了。
下一章,咱们开始写第一个自定义M代码。到时候,你会感谢今天搭好的环境。
公众号:蓝海资料掘金营,微信deep3321