全国服务热线 15221406036

西门子模块6ES7214-2AS23-0XB8参数选型

更新时间:2024-05-08 07:10:00
价格:请来电询价
联系电话:
联系手机: 15221406036
联系人:聂航
让卖家联系我
详细介绍

西门子模块6ES7214-2AS23-0XB8参数选型

西门子s7-1200 紧凑型在当前的市场中有着广泛的应用,由于其,所以常被用作小型自动化控制设备的控制器,这也使得它经常与modbus仪表(扫描枪、打印机等设备进行通讯。因为没有第三方modbus仪表,这里就以s7-200作为第三方的仪表为例介绍modbus通讯。

1.控制系统原理

图1:通讯系统原理

2.硬件需求

s7-1200 plc目前有3种类型的cpu:

1)s7-1211c cpu。

2)s7-1212c cpu。

3)s7-1214c cpu。

这三种类型的cpu多都可以连接三个串口通信模版。

本例中使用的plc硬件为:

1)pm1207( 6ep1 332-1sh71 )

2) s7-1214c ( 6es7 214 -1be30 -0xb0 )

3) cm1241 rs485 ( 6es7 241 -1ch30 -0xb0 )

4)cpu224xp (6es7 214-2ad23-0xb0)

3.软件需求

1) 编程软件 step7 basic v10.5 ( 6es7 822-0aa0-0ya0)

2)编程软件 step 7 microwin; modbus库软件选项包

4.组态

我们通过下述的实际操作来介绍如何在step7 basic v10.5 中组态s7-1214c 和s7-200的modbus通信。

4.1 s7-1200作modbus主站,s7-200作modbus从站

s7-1200作为modbus主站的配置步骤如下:

点击桌面上的“totally integrated automation portal v10”图标,打开如下图:

图2: 新建s7 -1200项目

首先需要选择“create new project”选项,然后在“project name:”里输入modbus_master;在“path:”修改项目的存储路径为“c:\”;点击“create”,这样就创建了一个文件modbus的新项目。创建后的窗口如下图所示:

图3: 新建项目后

点击门户视图左下角的“project view”切换到项目视图下,如下图:

图4: 切换到项目视图

打开后,在“devices”标签下,点击“add new device”,在弹出的菜单中输入设备名“plc_1”并在设备列表里选择cpu的类型。选择后如下图:

图5: plc硬件组态

插入cpu后,点击cpu左边的空槽,在右边的“catalog ”里找到“communication”下的rs485模块,拖拽或双击此模块,这样就把串口模块插入到硬件配置里,接下来就需要配置此rs485模块硬件接口参数,选择rs485模块,在其下方会出现该模块的硬件属性配置窗口, 在属性窗口里有下面五个选项, “general”; “port configuration”;“transmit message configuration”;“receive message configuration”;“io address/hw identify”。在“general”里包括了此模块的“项目信息”;而在“port configuration”里可以对端口的进行参数配置,

波特率为:9600 ;

校验方式:无 ;

数据位为:8 ;

停止位: 1;

硬件流控制:无;

等待时间: 1ms

设置参数如下图:

图6: rs485端口配置

在“transmit message configuration”和“receive message configuration”里保持默认设置,在“io address/hw identify”里确认一下“硬件识别号”为11。

此时,完成了硬件的组态,接下来需要编写modbus通讯程序。

在plc中编写发送程序。在项目管理视图下双击“device”—》“program block”—》“add new block”在弹出的窗口中选择“organizations block(ob)”,然后在其右边的窗口里选择“startup”,去除“symbolic access only”的选项勾。如下图所示:

图7: 添加启动ob块

点击“ok”后会打开此ob块,然后在启动ob块里用mb_comm_load(注:mb_comm_load和mb_master功能块是在“project library”下的“library”选项卡里,如下图所示:)

图8: library

调用后如下图所示:

图9: 调用mb_comm_load块

在调用mb_comm_load功能块时 ,都会自动弹出创建相应背景数据块的界面,如下图:

图10:创建背景数据块

按上面的步骤在ob1中插入mb_master功能块如下图:

图11:调用mb_master块

在插入功能块的过程,相应的生成mb_comm_load_db和mb_master_db,两个背景数据块。然后再创建一个发送或接收的数据缓冲区,点击plc_1项目下的“program block”下的“add new block”,在弹出的窗口中选择db类型为“bbbbbb db”,并去掉“symbolic access only”选项勾(这样可以对该db块进行直接地址访问),并取名该db块为mb_comm_db。建好这个db块后,双击打开mb_comm_db预先定义数据区的大小,如下图所示:

图12:数据区的定义

完成数据区的定义后,接下来就可以对mb_comm_load功能块和mb_master功能块进行参数赋值,赋值的参数见图9和图11。 在上面的编程块里需要注意的是,在mb_master功能块中的参数mb_addr参数是从站的modbus的站地址。这里要读取的从站的站地址为2;关于mode、data_addr、data_len可在下表中查看,data_ptr存放发送或接收到的数据。

表1:mb_master modbus功能表

上面就完成了程序的编写,对项目进行编译;右击plc_1项目在弹出的菜单里选择“complies all”选项,这样就对硬件与软件进行编译,如下图:

图13:编译项目

编译且没有错误后就可以下载程序到plc中,同样右击plc_1项目,在弹出的菜单选择“download to device”。

s7-200作为modbus从站的配置步骤如下:

点击桌面上的“v4.0 step 7 microwin sp6”图标(因为step 7 microwin安装时并没有安装modbus的库程序,所以modbus的库程序是需要单独安装的,安装后才可以在库程序中调用modbus的通讯功能块,关于库程序可以咨询西门子热线或访问西门子的guanfangwangzhan),打开后并编写modbus从站程序如下图:

图14:s7-200 modbus从站编程

在上面调用的是端口0的程序,所以在连接通讯线时,需要连接到端口0上,编译并下载项目到s7-200的plc中。下载后运行plc。

用dp电缆连接s7-1200与s7-200。

在线监控s7-200中的程序,并监控变量表,修改vb1000到vb1011的值为1到12(vb1000到vb1011对应的modbus的地址为40001-40006)。监控到的值如下图所示:

图15:s7-200监控变量值

在线监控 s7-1200变量表如下图:

图16:s7-1200监控变量值

4.2 s7-200作modbus主站,s7-1200作modbus从站

s7-1200作为modbus从站的配置步骤如下:

图17:s7-1200监控变量值

首先需要选择“create new project”选项,然后在“project name:”里输入modbus_slave在“path:”修改项目的存储路径为“c:\backup file”;点击“create”,这样就创建了一个文件modbus_slave的新项目。创建后的窗口如下图所示:

图18: 新建项目后

点击门户视图左下角的“project view”切换到项目视图下,如下图:

图19:切换到项目视图

图20: plc硬件组态

波特率为:9600 ;

校验方式:无 ;

数据位为:8 ;

停止位: 1;

硬件流控制:无;

等待时间: 1ms

设置参数如下图:

图21: rs485端口配置

此时,完成了硬件的组态,接下来需要编写modbus通讯程序。

图22: 添加启动ob块

点击“ok”后会打开此ob块,然后在启动ob块里用mb_comm_load(注:mb_comm_load和mb_slave功能块是在“project library”下的“library”选项卡里,如下图所示:)

图23: library

调用后如下图所示:

图24: 调用mb_comm_load块

在调用mb_comm_load功能块时 ,都会自动弹出创建相应背景数据块的界面,如下图:

图25:创建背景数据块

按上面的步骤在ob1中插入mb_slave功能块如下图:

图26:调用mb_slave块

在插入功能块的过程,相应的生成mb_comm_load_db和mb_slave_db,两个背景数据块。然后再创建一个发送或接收的数据缓冲区,点击plc_1项目下的“program block”下的“add new block”,在弹出的窗口中选择db类型为“bbbbbb db”,并去掉“symbolic access only”选项勾(这样可以对该db块进行直接地址访问),并取名该db块为mb_comm_db。建好这个db块后,双击打开mb_comm_db预先定义数据区的大小,如下图所示:

图27:数据区的定义

完成数据区的定义后,接下来就可以对mb_comm_load功能块和mb_slave功能块进行参数赋值,赋值的参数见图24和图26。 在上面的编程块里需要注意的是,在mb_slave功能块中的参数mb_addr参数是此从站的modbus站地址。这里定义为此从站的站地址为2;mb_hold_reg是指向modbus保持寄存器db的指针。保持寄存器db必须为典型的全局db。mb_slave所提供给主站的功能见下表:

表3:mb_slave modbus功能表a

表4:mb_slave modbus功能表b

图28:编译项目

s7-200作为modbus主站的配置步骤如下:

点击桌面上的“v4.0 step 7 microwin sp6”图标(因为step 7 microwin安装时并没有安装modbus的库程序,所以modbus的库程序是需要单独安装的,安装后才可以在库程序中调用modbus的通讯功能块,关于库程序可以咨询西门子热线或访问西门子的guanfangwangzhan),打开后并编写modbus主站程序如下图:

图29:s7-200 modbus主站编程

用dp电缆连接s7-1200与s7-200。

在线监控s7-1200中的程序,并监控变量表,修改db3.dbb0到db3.dbb20的值为1到21(db3.dbb0到db3.dbb19对应的modbus的地址为40001-40010)。监控到的值如下图所示:

图30:s7-1200监控变量值

在线监控 s7-200变量表如下图:

图31:s7-1200监控变量值

从上面的变量监控表里可以看到vb420中没有数据,因为在主站的s7-200里的程序里只读取10个变量(即40001-40010)对应着的vb400-vb419,所以vb420的数据没有接收。


没有

联系方式

  • 地址:上海松江 上海市松江区石湖荡镇塔汇路755弄29号1幢一层A区213室
  • 邮编:201600
  • 联系电话:未提供
  • 经理:聂航
  • 手机:15221406036
  • 微信:15221406036
  • QQ:3064686604
  • Email:3064686604@qq.com