4. 硬件接线与组态:远程IO模块的电源、总线、IO接线,以及TIA Portal中的硬件组态
好,咱们进入第四讲。这一章是实打实的动手环节。
很多学员觉得编程难,其实在我看来,硬件接线和组态才是最容易出幺蛾子的地方。你程序写得再漂亮,现场线没接对,设备就是不动。我见过太多工程师抱着电脑查半天程序,最后发现是24V电源没送过来——这种低级错误,咱们今天争取一次讲透。
4.1 远程IO模块的电源接线
远程IO模块要工作,首先得有电。这听起来是废话,但怎么接、接多少伏、要不要隔离,这里头门道不少。
电源类型:绝大多数远程IO模块,比如西门子的ET200SP、ET200MP,或者第三方像WAGO、Beckhoff的模块,都支持DC 24V供电。也有少数用AC 220V的,但工业现场主流就是24V直流。
接线方式:
- 总线耦合器供电:电源先接到总线耦合器(Bus Coupler)上,再由耦合器通过背板总线给后面的IO模块供电。这种最常用。
- 单独供电:如果IO模块数量多、电流大,或者有模拟量模块、高精度模块,我建议单独拉一路24V给后面的模块。我在一个项目里遇到过,数字量模块和模拟量模块共用一路电源,结果模拟量采集值总是跳变,后来分开供电就稳了。
- 冗余供电:对于关键设备,比如安全系统,可以用双路电源。一路坏了另一路顶上。
电源容量计算:
别小看这个。每个模块都有功耗参数,比如一个16点数字量输入模块,典型功耗可能0.5W。你挂10个模块,就是5W。再加上总线耦合器本身的功耗,还有给传感器供电的电流。我一般会留20%-30%的余量。
| 模块类型 | 典型功耗 | 备注 |
|---|---|---|
| 总线耦合器(ET200SP) | 约1.5W | 含总线通信功耗 |
| 16DI 数字量输入 | 约0.5W | 不含传感器供电 |
| 16DO 数字量输出 | 约1.0W | 不含负载电流 |
| 4AI 模拟量输入 | 约1.2W | 含内部转换电路 |
4.2 总线接线:把模块串起来
远程IO模块之间怎么通信?靠总线。常见的有PROFINET、PROFIBUS、EtherCAT、Modbus TCP等。咱们以最主流的PROFINET为例。
PROFINET接线:
- 用标准网线(Cat5e或Cat6),RJ45接头。
- 从PLC的PN口出来,接到第一个远程IO站的总线耦合器。
- 然后从第一个耦合器的下一个PN口,再接到第二个站,以此类推。这叫“菊花链”拓扑。
- 也可以加交换机,做星型拓扑。我个人习惯用星型,排查故障方便。
终端电阻:
如果你用的是PROFIBUS(RS485),那必须在总线两端加终端电阻。PROFINET不需要,因为它用的是以太网物理层,自动阻抗匹配。嗯,这里要注意,别把PROFIBUS的习惯带到PROFINET上来。
4.3 IO接线:传感器和执行器
这部分最琐碎,也最容易出错。咱们分输入和输出来说。
数字量输入(DI)接线:
- 源型(Sourcing):传感器提供24V正信号,模块检测到高电平就为“1”。这是最常见的接法。
- 漏型(Sinking):传感器提供0V负信号,模块检测到低电平为“1”。日系PLC常用,西门子也能配。
- 接线示例:传感器正极接模块的DI点,负极接模块的COM端(公共端)。
数字量输出(DO)接线:
- 继电器输出:可以接交直流负载,但响应慢。我一般用在控制接触器、指示灯上。
- 晶体管输出:只能接直流负载,响应快。适合控制伺服、步进驱动器的使能信号。
- 接线示例:模块DO点接负载正极,负载负极接0V。注意负载电流不能超过模块额定值,一般0.5A/点。
模拟量输入(AI)接线:
- 电流信号(4-20mA):两线制传感器,正极接模块的AI+,负极接AI-。模块内部有250Ω电阻取样。
- 电压信号(0-10V):三线制传感器,正极接AI+,负极接AI-,还有一根公共端接COM。
- 注意屏蔽:模拟量信号容易受干扰,一定要用屏蔽双绞线,屏蔽层单端接地。我见过一个现场,模拟量波动大,查了半天发现屏蔽层没接地,接上就好了。
4.4 TIA Portal中的硬件组态
线接好了,接下来要在软件里告诉PLC:你下面挂了哪些模块。这就是硬件组态。
步骤一:添加远程IO站
- 打开TIA Portal,在项目树里双击“添加新设备”。
- 选择“分布式I/O” -> “ET200SP”或你实际用的型号。
- 给这个站起个名字,比如“Remote_Station_1”。
步骤二:配置总线接口
- 在设备视图里,选中总线耦合器。
- 在属性里设置PROFINET设备名称(Device Name),这个必须和硬件上拨码开关或软件分配的一致。
- 设置IP地址。我习惯用固定IP,比如192.168.0.2,方便管理。
步骤三:添加IO模块
- 从硬件目录里,把对应的模块拖到站点的槽位上。
- 顺序必须和实际接线一致。比如第一个槽是DI模块,第二个槽是DO模块,不能乱。
- 每个模块会自动分配IO地址。比如DI模块的输入地址是I0.0-I1.7,DO模块的输出地址是Q0.0-Q1.7。
步骤四:编译与下载
- 组态完成后,点击“编译”按钮,检查有没有错误。
- 然后选中PLC,点击“下载”到设备。
- 下载时选择“PG/PC接口”,选你电脑连PLC的网卡。
代码示例:在程序中访问远程IO
组态完成后,远程IO的地址和本地IO一样用。比如:
// 读取远程DI模块的第一个点
IF "Remote_Station_1".I0.0 THEN
// 启动电机
"Motor_Start" := TRUE;
END_IF;
// 控制远程DO模块的第一个点
"Remote_Station_1".Q0.0 := "Conveyor_Run";
你看,编程上没有任何区别。这就是TIA Portal的方便之处——硬件组态帮你把底层通信封装好了。
4.5 常见问题与排查
最后,我总结几个我经常遇到的坑:
- 通信不上:先检查网线,再检查设备名称和IP地址。我有个项目,折腾了两小时,最后发现是网线头没压好。
- IO点不亮:用万用表量模块的电源灯亮不亮。如果不亮,查24V电源。如果亮,查传感器或执行器本身。
- 模拟量不准:先看接线,屏蔽层接地了吗?再看量程,模块组态的是4-20mA还是0-10V?我遇到过组态成电压,实际接电流,结果数值乱跳。
好了,这一章的内容就这些。硬件接线和组态,说白了就是细心加耐心。你按步骤来,一步步检查,基本不会出大问题。下一章咱们开始写真正的控制程序,到时候这些硬件配置就派上用场了。