1、一、器件说明 本系统使用到 OMRON CP1H 一体化小型 PLC 和 Invt(英威腾) CHF 系列 V/F 控制变频器两个主要类型的工业控制元件。以下做简单介绍: 1、CP1H 一体化小型 PLC: 产品名称: CP1H小型高功能 PLC 产品介绍: 1.基本性能 1-1处理速度:基本指令 0.1s;特殊指令 0.3s 1-2 I/O容量: 最多 7个扩展单元,开关量最大 320点,模拟量最大 37路 1-3程序容量: 20K步 1-4数据容量: 32K字 1-5机型类别:本体 40点, 24点输入, 16点输出,继电器输出或晶体管输出可选 2.特殊功能 2-1 4轴脉冲输出: 100
2、kHz4( X型和 XA型),最大 1MHz( Y型) 2-2 4轴高速计数:单向 100kHz或相位差 50 kHz4( X型和 XA型),最大 1MHz( Y型) 2-3 内置模拟量: 4输入, 2输出( XA型) 3.通信功能 3-1通信接口:最大 2个串行通信口( RS-232A或 RS-422/485任选) 本体附带一个 USB编程端口 3-2通信功能:上位链接、无协议通信、 NT链接( 1:N)、串行网关功能、串行 PLC链接功能、 Modbus-RTU简易主站 4.其他功能 4-1模拟量输入手动设定 4-2 2位 7段码发光二极管显示故障信息 4-3支持欧姆龙中型机 CJ1系列高
3、功能模块(最大 2块) 4-4支持 FB/ST编程,可以利用欧姆龙的 Smart FB库,与 CJ1/CS1系列程序统一,可以互换 2、Invt(英威腾)CHF 系列 V/F 控制变频器: 产品类型: CHF 系列通用型 V/F 控制变频器 产品介绍: 一、优化的 V/F 控制 CHF 系列变频器采用 DSP 控制系统,完成优化的 V/F 控制,比传统V/F 控制更具优越的性能。 二、经济型结构(G/P 合一) CHF 系列变频器为通用型变频器,主要面向简单调速应用客户,采用G/P 合一结构,更能满足大部分客户的功能需求。 联创科技(常州)技术文档 CP1H 内置 Modbus-RTU 和 I
4、NVT 变频器的通讯连接说明 功能模块名称 功能说明 独立外引键盘 实现本机键盘与外引键盘的双重控制及变频器运行状态的监视 LED 外引键盘:为简易型键盘,可实现本机键盘的所有功能 串行通讯功能 提供 RS485 物理通讯接口(选配) 内嵌 MODBUS RTU 和 ASC两种通讯模式 端子功能 提供丰富的端子控制功能供用户自由选择 三、主要技术参数 1、输出频率范围:0.00600.00Hz 2、速度控制方式:V/F 控制 3、指令通道方式:操作面板、端子控制、远程通讯控制 4、频率给定方式:数字键盘给定、模拟量给定(电流、电压信号)、高速脉冲给定、远程通讯给定、多段速给定、PLC 给定、P
5、ID 闭环给定等,可以多种频率组合和切换 5、起动转矩大:1Hz/150% 6、载波频率范围:1.0K15.0KHz 7、速度控制精度:5%最高速度 8、自动电压调整(AVR):当电网电压变化时,能自动保持输出电压恒定 9、自动限流:能限制电机电流的最大值,从而可靠地保护变频器和电机 10、摆频控制:多种三角波频率曲线,满足纺织行业的个性化需求 11、多功能键盘:提供三种快捷调试模式,满足用户的多种应用要求 12、所有的输入、输出端子皆为可编程的,方便用户的使用 13、高速脉冲输入输出功能:可实现定长控制和脉冲计数 二、系统说明 CP1H 是欧姆龙公司新近推出的功能强大的一体化小型 PLC,该
6、机型扩展能力强,可以带7 块扩展,内置 USB 接口,支持编程功能,2 个可选的 RS422/485 和 RS232C 接口。该机型支持功能块编程和 ST 语言编程。这里对 CP1H 两个串口内置的 Modbus RTU 主站功能和变频器通信作简单介绍, Invt(英威腾) CHF 系列 V/F 控制变频器提供了 RS485 通信接口,采用国际标准的 Modbus 协议进行主从通讯。 CHF 系列变频器的 ModBus 协议通讯数据格式支持 RTU 和 ASCII 两种模式。所以两者通过 Modbus RTU 模式进行连接成为可能。通过编写PLC 程序,使变频器作为 MODBUS 协议从站接收
7、来自 CP1H PLC 的通信指令,实现起停、频率给定、监控等功能。 Modbus 协议广泛应用于各种工业控制设备中,欧姆龙的变频器 3G3MV、 3G3RV、3G3MZ 也都支持 Modbus RTU 通信,因此通过 CP1H 的串行通信接口,可以简单经济的实现和支持 Modbus 协议的各类变频器通信。 三、系统设定 直接使用 CP1H 的 Mosbus RTU 简易主站功能和支持 Modbus RTU 变频器通信: 该功能只需要在规定的 DM 数据区写入需要发送的 Modbus 命令, 触发发送标志, CP1H就可以自动发送添加了 CRC16 校验的 Modbus 命令, CP1H 将自
8、动接收变频器的响应,存储到特定的 DM 数据区。使用这种方法不仅可以和变频器通信,而且可以和任何支持 Modbus RTU 协议的设备通信 . CP1H 在与 CHF 系列矢量变频器通信前须做好以下准备工作:具体设定如下: 1) 硬件连接: 1确认 CHF 系列矢量变频器已安装好 RS485 通讯选件, ( RS485 通信功能是 CHF 系列矢量变频器的选配件) ; 2将 CP1W CIF11 安装到 CP1H X40DT D 的通信端口 2 上,使用双绞屏蔽电缆连接 CP1W CIF11 和 CHF 系列变频器的 485 端口, 电缆的一端接在 CHV 变频器 RS485 通讯口的 GND
9、、 485+、 485端子上,另一端接 CIF11 上相应的 GND、 485+、 485端子,其余线屏蔽不用; 2) CP1H 设定: 1主要设定 Port2 为 Serial-Gateway(串口网关)功能 ,通信波特率 9600,8,E,N 。 (当然也可以使用 Port1 口。 ) 其中 CP1W-CIF11开关设定 ,1=ON(终端电阻 );2,3=ON(RS485方式 );5=ON(不要 echo back数据 );6=ON(RS485 方式 ) 3)预先设置变频器以下参数: PC0.0=1 /变频器通讯地址为 1 PC0.1=3 /通讯波特率 9.6K PC0.2=1 /通讯数据
10、偶校验 P0.03=2 /变频器的运行指令采用通讯方式 P3.01=7 /变频器的 A 频率设定采用通讯方式 4)相应 CHF 系列变频器的 ModBusRTU 协议通讯数据格式如下 5) CP1H 的 ModBus RTU 特定的数据地址分配入下表: 这里需要注意通信数据字节数 D32302 和 D32202 在标准 Modbus 协议中是没有该参数的,该数据字节数是指从该地址以后的所有 Modbus 命令字节数,不包括 CRC16 的 2 个字节数。 6) 通讯地址意义及填写发送数据: 通讯地址意义见 CHF 系列矢量变频器说明书通信协议一章。在此恕不复述。 在 D32300 填写数据如下
11、: 0001,0006,0004,2000,1388,向 1 号变频器写入频率 25Hz(最大频率设定 50Hz 情况下 ),其中 0004 是标准 Modbus 协议内没有的数据。指 2000,1388,共 4个字节。 之后触发 Port2 的发送位: A640.00,CP1H 会自动将标准的 Modbus 协议发送出去。然后将接收到的数据存储在 D32350 开始的数据区内。 另接受到的实际值在 D32354 D32355 中,分四个字节显示,分别在 D32354 中的低位和 D32355 中的高位,其正确结果需要通过移位整理才能正确显示,需要注意。 四、程序编写 1如何控制 1 台变频器
12、不间断读取变频器数据 如果使用 0.2S 的脉冲来控制 A64000,发送 DM32300 的数据 ,那么由于时序问题 ,可能有时变频器超时错误 .因此要使用 A64000 和 A64001 来进行控制 ,具体程序如下 : 注释:1)第一个扫描周期,置位 W20.00 2)W20.00 触发 A640.00 的上升沿,发送数据 3)发送开始后,A640.00 将 W20.00 复位 4)发送完成后,A640.01 将 W20.00 置位,再次进行发送 2如何在读取变频器数据同时时 ,在需要时写入变频器数据 (需要时再写 ) 实际控制中可能读取命令较多 ,而写变频器参数次数较少 ,那么将读写命令
13、使用一个位区分 ,将该位的非串接在读取传送前 ,该位的非串在写命令的产送前 ,从而可以决定本次发送读命令还是写命令 .具体如下 : 3如果连接多台变频器,如何控制轮巡读写多台变频器数据 (每个轮巡都读写 ) 如果使用 SFT 对读写的变频器进行轮巡读写 ,向每台变频器发送 1 条读命令 ,1 条写命令 ,那么 3 台变频器需要发送 6 次 ,SFT 需要移位 6 次完成 ,数据如下 : D0000-D0009:0001,0003,0004,1001,0001,读取 1 号变频器 1001 寄存器变频器状态 D0010-D0019:0001,0006,0004,2000,1388,向 1号变频器
14、写入频率 25Hz(最大 50Hz情况下 ) D0020-D0029:0002,0003,0004,3000,0001,读取 2 号变频器 3000 寄存器变频器运行频率 D0030-D0039:0002,0006,0004,1000,0001,向 2 号变频器写入正转启动命令 D0040-D0049:0003,0003,0004,5000,0001,读取 3 号变频器 5000 寄存器变频器故障状态 D0050-D0059:0003,0006,0004,1000,0005,向 3 号变频器写入停止命令 每次发送前将数据前将数据使用 XFER 传送到 D32300. 接受数据使用发送下一台变频
15、器命令位 ,将数据存储到从 D32350 传送到 D1000 开始数据区 , 存在问题 : 1. 在发送命令到接受数据完成大概需要 180-200ms 左右 ,而变频器的超时检测 2S,因此最多理论可以发送 10 条命令 .使用四的方法 2,最多接 10 台 ,使用方法 3 最多接 10 台 2. 在轮寻发送命令过程中 ,如果一台变频器没有响应 ,那么 Modbus-RTU 将等待响应 ,无法退出 ,从而无法发送其它命令 .串口没有超时设定功能 . 附录:读写多台变频器程序流程 该流程对每台变频器执行 1 读 1 写命令,每个周期都进行读写. 第一个扫描周期 ,置位 W20.00 将 #1 写
16、入 SFT 轮寻地址 W40W40 将第 1 台变频器的数据XFER 移入入 D32300 发送区W20.00 触发 A640.00 从 2 口发送数据 ,下一个扫描周期复位 W20.00, 正常完成A640.01 为 1,SFT 数据右移 1位 ,再次将接发送数据传送到 D32300,准备下次发送 W40 右移后将接受区D32350XFER 到 D1000 开始数据使用 A640.01 触发 W20.00 开始下次发送程序名称 : 新程序1段名: 样例程序OMRON_CP1H-X40DT-D与Invt_CHF变频器依照Modbus-RTU模式进行通讯。CP1WCIF11的DIP (1),2,
17、3,5,6开关置ON。安装于CP1H的串口2上,设置为串口网关模式。000000(000000)A392.04串口2通讯异常标志SETA526.00串口2重启标志W16.00000001(000003)A526.00串口2重启标志W16.00 W10.00 通讯复位000002(000006)W14.00 W12.00000003(000008)300.00通讯控制W12.00SETW20.00发送位W10.00通讯复位MOV(021)#1W40OP1OP2000004(000013)A200.11P_First_Cycle第一次循环标志BSET(071)#0D32300D32319OP1OP
18、2OP3000005(000015)300.03invt读写切换W21.00 变频器1写命令000006(000017)300.04点动启停切换W22.00 点动启停状态切换000007(000019)300.06Invt启停切换W24.00 变频运行停止切换000008(000021)300.02写运行频率300.05点动控制300.01Invt运行MOV(021)#1388D301OP1OP2写代码值MOV(021)#2000D300OP1OP2写代码地址W25.00 写频率000009(000027)300.01Invt运行300.05点动控制W24.00变频运行停止切换MOV(021)
19、#1D301OP1OP2写代码值W24.00MOV(021)OP1变频运行停止切换#5D301OP2写代码值MOV(021)#1000D300OP1OP2写代码地址000010(000037)300.05点动控制300.01Invt运行W22.00点动启停状态切换MOV(021)#3D301OP1OP2写代码值W22.00点动启停状态切换MOV(021)#8D301OP1OP2写代码值MOV(021)#1000D300OP1OP2写代码地址000011(000047)300.07读变频器状态W21.00变频器1写命令MOV(021)#1000D302OP1OP2读代码地址000012(0000
20、50)300.08读频率W21.00变频器1写命令MOV(021)#3000D302OP1OP2读代码地址000013(000053)300.09读故障W21.00变频器1写命令MOV(021)#5000D302OP1OP2读代码地址000014(000056)300.07读变频器状态W60.00 读参数300.08读频率300.09读故障000015(000060)W22.00点动启停状态切换W50.00 写单个参数W22.00点动启停状态切换W24.00变频运行停止切换W24.00变频运行停止切换W25.00写频率000016(000066)W60.00MOV(021)#1OP1OP2读参
21、数 D0W15.00MOV(021)#3D1OP1OP2MOV(021)#4D2OP1OP2MOV(021)D302D3OP1读代码地址OP2MOV(021)#1D4OP1OP2000017(000073)W50.00写单个参数MOV(021)#1D10OP1OP2MOV(021)#6D11OP1OP2MOV(021)#4D12OP1OP2MOV(021)D300D13OP1写代码地址OP2MOV(021)D301D14OP1写代码值OP2000018(000079)W40.00变频器1发送W21.00变频器1写命令XFER(070)&10D0D32300OP1OP2OP3W21.00变频器1
22、写命令XFER(070)&10D10D32300OP1OP2OP3000019(000086)A640.00Port2发送位RSETW20.00发送位000020(000088)W20.00发送位A640.00 Port2发送位000021(000090)A640.01Port2 完成位SETW20.00发送位000022(000092)W40.00变频器1发送XFER(070)&10D32350D1000OP1OP2OP3A640.01Port2 完成位MOV(021)D1005D100OP1OP2MOV(021)D1004D101OP1OP2XFRB(062)#1008D100D200OP
23、1OP2OP3BDSL(473)#0D200D250OP1OP2OP3000000(000000)程序名称 : NewProgram2段名: Section1CP1H和多台变频器(3台3G3MV)进行通讯A200.11P_First_Cycle第一次循环标志SETW20.00发送位MOV(021)#1W40OP1OP2000001(000003)W40.00变频器1发送W21.00变频器1写命令XFER(070)&10D0D32300OP1OP2OP3W21.00变频器1写命令XFER(070)&10D10D32300OP1OP2OP3000002(000010)W40.01变频器2发送W21
24、.01变频器2写命令XFER(070)&10D20D32300OP1OP2OP3W21.01变频器2写命令XFER(070)&10D30D32300OP1OP2OP3000003(000017)CF114P_Off常断标志W40.02变频器3发送W21.02变频器3写命令XFER(070)&10D40D32300OP1OP2OP3W21.02变频器3写命令XFER(070)&10D50D32300OP1OP2OP3000004(000025)A640.00Port2发送位RSETW20.00发送位000005(000027)W20.00发送位A640.00 Port2发送位000006(000
25、029)利用SFT循环指令,对多台设备进行循环读写。W40.02变频器3发送SFT(010)W40W40OP1OP2A640.01Port2 完成位CF114P_Off常断标志000007(000033)W40.01变频器2发送W21.00变频器1写命令XFER(070)&10D32350D1000OP1OP2OP3W21.00变频器1写命令XFER(070)&10D32350D1010OP1OP2OP3RSETW21.00变频器1写命令000008(000041)W40.02变频器3发送W21.01变频器2写命令XFER(070)&10D32350D1020OP1OP2OP3W21.01变频
26、器2写命令XFER(070)&10D32350D1030OP1OP2OP3RSETW21.01变频器2写命令000009(000049)W40.03SFT采样位W21.02变频器3写命令XFER(070)&10D32350D1040OP1OP2OP3W21.02变频器3写命令XFER(070)&10D32350D1050OP1OP2OP3RSETW21.02变频器3写命令000010(000057)A640.01Port2 完成位SETW20.00发送位000011(000059)W40.00变频器1发送TMHH(540)0000#300OP1OP2000012(000061)W40.01变频器2发送TMHH(540)0001#300OP1OP2000013(000063)W40.02变频器3发送TMHH(540)0002#300OP1OP2000014(000065)W40.03SFT采样位TMHH(540)0003#300OP1OP2000015(000067)T0003KEEP(011)W22.00T0002T0001T0000A640.01Port2 完成位000016(000073)W30.00 A641.00