1、系统配置 1.1 软件 安装 Step7 Micro/Win SMART software(含 Modbus协议库)的PC机,本例中使用的是Step7 Micro-Win SMART V2.0。 1.2 硬件 G120配备CU240E-2控制单元的变频器一台、异步电机一台、S7-200 SMART PLC 一台、标准DRIVE-CLIQ电缆一根、双绞屏蔽电缆一根。本例中,使用的G120的控制单元CU240E-2固件版本V4.6。 注意:在使用MicroWin software创建项目之前,确认Modbus库文件已经存在。 图1-1 S7-200 SMART 界面 2、硬件接线 2.1 CU240E-2控制单元接口 CU240E-2控制单元端子排如图2-1,RS485接口在控制单元的底部,共有5个接线端子,其中从左到右,2号端子为RS485P,3号端子为RS485N,这两端子用于通信数据的发送和接收。 图2-1 控制单元端子图 2.2 G120 与S7-200 SMART接线 图2-2 PLC和控制器接线图 S7-200 SMART作为Modbus通信主站,其通信端口和变频器从站的接线如图 2-2。在通信网络的首、末端需要使用终端电阻。对于S7-200 SMART,需要在通信端口端子 3和8之间连接一阻值为120欧姆的电阻。对于变频器,把通 信网络末端的CU240E-2终端电阻拨码开关拨到ON位置即可(位置在图 2-1中,标号⑨);中间位置的 CU240E-2,终端电阻拨码开关必须拨到OFF位置。本 例中,S7-200 SMART使用CPU自带通信端口和变频器进行通信。 3、通信设置 3.1 设置通讯接口 本例程使用PLC 以太网接口和 DRIVE-CLIQ 电缆,设置通信接口,如下图3-1。 第一步:双击“通信”,弹出“通信”设置窗口; 第二步:选择网络接口卡,设置为“ICP/IP.AUTO.1”,系统会自动收索CPU。 图3-1 设置通信接口 3.2 建立PC和PLC之间的连接 选择“网络接口”后自动搜索到CPU,如图3-2。 第一步:搜索到 CPU 后,选择搜索到的CPU,点击CPU的”IP地址”。 第二步:点击“ 确定 ” 按钮,完成网络连接。 图3-2 建立S7-200 CPU和控制器连接 4、变频器参数设置 4.1 变频器地址设置 变频器的Modbus通信地址可以通过控制单元上的总线地址拨码开关进行设置,如图 4-1。 当地址拨码开关的位置都为OFF时,也可用过参数 P2021进行设置。(说明: 改变地址后需重新上电后才能生效) 图 4-1 地址开关设置 4.2 变频器参数设置 对变频器一些基本的通信参数进行设置,才可以进行Modbus通信,如表4-2所示: 表4-2 变频器的参数设置 4.3 G120常用寄存器说明 G120变频器常用寄存器介绍,也是本例所使用的寄存器,如表4-3。要了解更多的 G120寄存器信息,请参见G120操作手册 。 表4-3 常用寄存器说明 5、PLC编程 5.1 初始化程序 使用Modbus协议的初始化模块MBUS_CTRL,初始化S7-200 SMART的CPU端口专用于Modbus主站通信,如图 5-1。 图 5-1 初始化 功能块说明: 注:此处以及下文的“功能块说明”仅介绍了功能块内的主要管脚功能,未说 明的管脚功能,请参考 Step7 Micro-Win SMART V2.0软件的帮助文件。 EN使能: 必须保证每一扫描周期都被使能(使用SM0.0 Mode模式: 为1时,使能Modbus协议功能;为0时恢复为系统PPI协议。Baud 波特率: 支持的通讯波特率为4800,9600,19200 ,此处设置 9600。 Parity 校验: 校验方式选择 (G120采用偶校验) 0=无校验 1=奇较验 2=偶较验 Port端口:设置物理通信端口(0= CPU中集成的 RS-485,1= 可选 CM01信号板上的 RS-485或RS-232)。 Timeout超时:主站等待从站响应的时间,以毫秒为单位,典型的设置值为1000毫秒(1 秒),允许设置的范围为 1-32767。注意:这个值必须设置足 够大以保证从站有时间响应。 Done完成位:初始化完成,此位会自动置1。 Error:初始化错误代码。 5.2 主站读写功能块 5.2.1 写控制字 图5-2 写控制字 功能块说明: 注:此处以及下文的“功能块说明”仅介绍了功能块内的主要管脚功能,未说 明的管脚功能,请参考Step7 Micro-Win SMART V2.0软件的帮助文件。 EN使能:同一时刻只能有一个读写功能(即 MBUS_MSG)使能。注意:G120对于写指令同一时刻只运行对一个保持寄存器操作;读指令同一时 刻最大允许操作125个保持寄存器。 First读写请求位:每一个新的读写请求必须使用脉冲触发。 Slave从站地址:可选择的范围1-247 RW请求方式: 0=读,1=写 Count数据个数:通讯的数据个数(位或字的个数)。注意:Modbus主站可读/写的最大数据量为120个字(是指每一个MBUS_MSG指令)。 DataPtr数据指针:
2. 如果是写指令,写出的数据放到这个数据区中 。 Done 完成位:读写功能完成位 。 Error错误代码: 只有在 Done位为1时,错误代码才有效。 常用的控制字: 047E :运行准备 047F :正转启动 0C7F :反转启动 04FE :故障确认 5.2.2 写速度设定值 图5-3 写速度值 5.2.3 读状态字和速度实际值 图5-4 读状态字1和速度实际值 5.2.4 读取斜坡时间 图5-5 读参数 P1120、P1121 5.2.5 写斜坡下降时间 图5-6 写参数 P1121 6、分配库存储区 在编译程序之前,首先要为Modbus库分配可用的全局 V存储器地址,如图6-1所示。 第一步:选择 “程序块” ->“ 库” 右键,选择“库存储区”; 第二步:点击 “建议地址”, 选择 V存储器的地址; 第三步:点击 “确定”退出。 图6-1 分配库存储区 7、调试程序 程序编辑完成后,要调试程序,如下图7-1所示。 第一步:点击“保存“,保存好编辑的程序; 第二步:点击“编译“,编译程序; 第三步:点击“下载“,把程序下载到PLC的CPU当中; 第四步:点击“运行“,启动程序。 图7-1 调试程序 8、监控状态表 通过监控状态表,可以修改过程数据和监控过程数据的变化状态,如图8-1所示。 图8-1状态表 控制字:VW100=16#047F 说明启动命令已经给了。 状态字:VW300=16#EF37 说明变频器的状态,参见 r0052。 主设定值:VW200=16#1000 说明速度设定值已经给了,16#0-4000对应转速 0-P2000的值。 速度实际值:VW302=16#1000 说明电机实际转速已经运行到 375rpm。 斜坡上升时间:VW400=1000,从寄存器列表中可以看到 40322的寄存器的定 标系数是 100,所以参数 P1120=1000/100=10。 斜坡下降时间:VW402=2000,读的下降时间;VW500=2000,设定的下降时 间;VW402=VW500,说明写指令已经生效。从寄存器列表中可以看到 40323 的寄存器的定标系数是 100,所以参数 P1121=2000/100=20。 9、Modbus错误代码 Done完成位:Modbus功能块的完成位,用于确定功能块的操作是否完成; Error 错误代码:只有在Done位为1时,错误代码才有效。Modbus错误代码及含义如表 9-1所示。 表9-1 Modbus错误代码表 |
|