1、MODBUS通讯协议介绍
MODUS通讯是目前国际上应该得最广泛的通讯协议,它是一种单主站的主从通讯模式,没中继最多支持32个站点的通讯,MODBUS网络只允许有一个主站,通讯由主站发出,主站不断向各个从站轮询,从站接到主站指令决定是否向主站回应。
西门子G120C变频器配备CU240E-2控制单元,集成RS485接口,支持MODBUS协议。
S7-200 SMART作为MODBUS通信主站,其通信端口和变频器从站的接线如图 2-2。在通信网络的首、末端需要使用终端电阻。对于S7-200 SMART,需要在通信端口端子 3和8之间连接一阻值为120欧姆的电阻。对于变频器,把通 信网络末端的CU240E-2终端电阻拨码开关拨到ON位置即可(位置在图 2-1中,标号⑨);中间位置的 CU240E-2,终端电阻拨码开关必须拨到OFF位置。本 例中,S7-200 SMART使用CPU自带通信端口和变频器进行通信。
广州PLC编程,广州西门子PLC编程,广州非标设备设计--广州华沙自动化设备
2、网络结构
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 错误代码表
广州西门子PLC,广州PLC编程,广州自动化设计--广州华沙自动化设备