1.西门子S7-1200与增量编码器的连接方法
西门子S7-1200可利用数字输入开关点连接增量编码器,实现快速计数器功能。对于单相信号,高可达200KHz;而双相信号(可四倍频及判断方向)的高频率为80KHz。一般情况下,常用的2500PPR增量编码器,其快转速可达1920RPM。增量编码器输出的信号为PNP单向开路信号,推荐选用的增量编码器为10—30V推挽式输出型,如GI58N型编码器。
2.西门子S7-1200与值编码器4—20mA信号的连接方式
值编码器信号具有抗干扰性,停电后数据不会丢失。PLC对于值编码器无需进行持续计数,从而节省了CPU资源。由于现在值编码器的价格大幅下降,且数据可靠性提高,越来越多的用户选择使用值编码器,以节省调试时间并降低售后服务成本。西门子S7-1200具有经济实惠的特点,因此与值编码器的连接4—20mA信号接口。S7-1200自带2路4—20mA输入接口,可直接连接2个带有4—20mA输出接口的值编码器。
值编码器分为单圈值和多圈值。单圈值编码器工作在360度以内或者0—180度内,其中4mA对应0度,20mA对应360度(或180度)。这种编码器的数据与角度值线性对应,无需进行计数,具有抗干扰性和停电后数据不丢失的特点。单圈值编码器推荐使用GMS412.LB型编码器,可根据需求设定20mA对应的角度值和旋转方向。
在需要编码器旋转超过360度的应用中,需要选择多圈值编码器。多圈值编码器的4—20mA输出有两种类型,一种是固定量程的多圈值,例如16圈、64圈、256圈;另一种是智能型多圈值编码器,20mA可在1—4096圈中间的任何位置,且可设置零点偏置。这些编码器已经在多个领域成功应用。
3.西门子S7-1200与值编码器RS485或Modbus RTU信号的连接方式
西门子S7-1200可配置通讯接口RS485,用于连接值编码器的RS485信号。值编码器的RS485信号有多种形式,常见的有简单型RS485广播模式、带地址的自由协议模式和Modbus RTU模式。推荐单个编码器使用主动模式RS485编码器,如GES38.RDB或GES60.RDB;而多个编码器采用Modbus RTU模式,例如GMS412.RMB和GAX60.RMB。
4.西门子S7-1200与值编码器Profibus-DP信号的连接方式
西门子S7-1200可配置Profibus—DP总线通讯接口,可连接各种值编码器,包括欧系和国产品牌。然而,由于成本较高,包括配置电缆布线成本在内,这种连接方式已不太适合S7-1200的经济性。
5.实际运用案例: 西门子S7-1200与值编码器4—20mA信号的联接,进行简易定位控制
实际案例展示一: 单机及多机控制水利闸门高度,全国各地的水闸在防洪、调蓄、供水、排污等方面的起重高度,都需要通过启闭机来提升和关闭。每个闸站通常配备1至6个闸门启闭机。通过西门子S7-1200PLC连接值多圈编码器的4—20mA接口,并配置HMI,可以有效地实现水闸的简易定位控制。这项技术已在东北哈尔滨、江苏常州等地的多个水闸得到应用。
实际案例展示二: 液压双油缸的同步提升控制。对于较大型的水闸闸门,通常需要左右两个液压油缸来提升,以保持位置同步,确保闸门平稳提升和下降。某水闸在广东原先使用的闸门开度仪表仅能进行显示,但由于其可靠性较低,无法完成液压油缸的同步纠偏和升降控制。因此,用户希望采用小型经济型PLC与HMI替代原始的仪表,以提高控制可靠性和可编程性。选择了西门子S7-1200作为PLC,并采用值多圈编码器的4—20mA信号接口。通过将两个编码器与左右两个油缸相连,并将信号输入S7-1200的模拟量接口,PLC对比两组数据,根据高度差来控制左右油缸的液压系统,调节液压油路流量,以调整油缸的提升或下降速度及位置差,实现两个油缸的同步纠偏控制。西门子S7-1200与两个值编码器4—20mA接口的配合,成功地实现了这种同步纠偏和升降控制。
6、西门子PLC与编码器的连接及编程步骤
所需硬件:
(1)PLC: 西门子S7-1200-CPU1214C/DC/DC/DC,V4.1。
(2)编码器: E6B2-CWZ5B,PNP,增量型,1000P/R,如下图所示:
(3)编码器与PLC的连接方式如下图所示: 其中AB的连接点可以自定义,不一定非得是I0.0和I0.1,Z不能更改。
(4)配置高速计数器,如下图所示: 在这里选择HSC1,启用高速计数器、计数、A/B计数、增计数。使用默认地址ID1000作为计数器地址,也可以选择其他地址,占用四个字节。
(5)注意所使用的IO通道的滤波器问题,如下图所示: 老版本CPU在使用高速计数器时屏蔽了滤波,不必考虑,但是V4.1版本的CPU没有屏蔽,所以一定要注意这个滤波和编码器的脉冲频率,如果不合适将被过滤掉。
(6)监控测试结果,如下图所示: 不必编写程序就可以读取。只有在需要某些特殊功能时才需要编写程序,这里不做介绍。
(7)滤波时间和能检测到的大频率,如下图所示: