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库文件已经存在。
2、硬件接线 2.1 CU240E-2控制单元接口
CU240E-2控制单元端子排如图2-1,RS485接口在控制单元的底部,共有5个接线端子,其中从左到右,2号端子为RS485P,3号端子为RS485N,这两端子用于通信数据的发送和接收。
2.2 G120 与S7-200 SMART接线
S7-200 SMART作为Modbus通信主站,其通信端口和变频器从站的接线如图 2-2。在通信网络的首、末端需要使用终端电阻。对于S7-200 SMART,需要在通信端口端子 3和8之间连接一阻值为120欧姆的电阻。对于变频器,把通 信网络末端的CU240E-2终端电阻拨码开关拨到ON位置即可;中间位置的 CU240E-2,终端电阻拨码开关必须拨到OFF位置。本例中,S7-200 SMART使用CPU自带通信端口和变频器进行通信。
3、通信设置
3.1 设置通讯接口
本例程使用PLC 以太网接口和 DRIVE-CLIQ 电缆,设置通信接口。
第一步:双击“通信”,弹出“通信”设置窗口;
第二步:选择网络接口卡,设置为“ICP/IP.AUTO.1”,系统会自动收索CPU。
3.2 建立PC和PLC之间的连接
选择“网络接口”后自动搜索到CPU。
第一步:搜索到 CPU 后,选择搜索到的CPU,点击CPU的”IP地址”。
第二步:点击“ 确定 ” 按钮,完成网络连接。
4、变频器参数设置
4.1 变频器地址设置
变频器的Modbus通信地址可以通过控制单元上的总线地址拨码开关进行设置。当地址拨码开关的位置都为OFF时,也可用过参数 P2021进行设置。(说明:改变地址后需重新上电后才能生效)
4.2 变频器参数设置
对变频器一些基本的通信参数进行设置,才可以进行Modbus通信,如下表所示:
表4-2 变频器的参数设置
4.3 G120常用寄存器说明
G120变频器常用寄存器介绍,也是本例所使用的寄存器,如表4-3。要了解更多的 G120寄存器信息,请参见G120操作手册 。
表4-3 常用寄存器说明
5、PLC编程
5.1 初始化程序
使用Modbus协议的初始化模块MBUS_CTRL,初始化S7-200 SMART的CPU端口专用于Modbus主站通信。
功能块说明:
注:此处以及下文的“功能块说明”仅介绍了功能块内的主要管脚功能,未说 明的管脚功能,请参考 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 写控制字
功能块说明:
注:此处以及下文的“功能块说明”仅介绍了功能块内的主要管脚功能,未说 明的管脚功能,请参考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.2.3 读状态字和速度实际值
5.2.4 读取斜坡时间
5.2.5 写斜坡下降时间
6、分配库存储区
在编译程序之前,首先要为Modbus库分配可用的全局V存储器地址。
第一步:选择 “程序块” ->“ 库” 右键,选择“库存储区”;
第二步:点击 “建议地址”, 选择 V存储器的地址;
第三步:点击 “确定”退出。
7、调试程序
程序编辑完成后,要调试程序。
第一步:点击“保存“,保存好编辑的程序;
第二步:点击“编译“,编译程序;
第三步:点击“下载“,把程序下载到PLC的CPU当中;第四步:点击“运行“,启动程序。
8、监控状态表
通过监控状态表,可以修改过程数据和监控过程数据的变化状态。
控制字: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错误代码表