s7 1200 rtu多少从站,s71200支持Modbus协议吗
来源:整理 编辑:亚灵电子网 2022-12-07 01:38:15
本文目录一览
1,s71200支持Modbus协议吗
支持,最新的V10.5版本有现成的modbus库函数,既可以做主站,也可以做从站,非常方便。
2,求助S71200modbus rtu一主多从问题
你是用485来做吗?理论上可以允许连接128台,但实际上通讯时会比较慢。 想要编程节约时间可以使用用功能块,系统有自带的功能块。还有485传输距离不能超过1200M.s7-200中的modbus通讯协议实际上是用了其自由口协议来实现,因此,端口上的报文接收都要用到smb2这个系统寄存器。双口modbus在原生西门子s7-200plc的cpu上是不可能实现的。 解决办法: 选择兼容品牌的cpu,某些产品具有双自由口,可以实现第二通
3,S71200 怎么实现与上位机进行Modbus
这个问题,不好回答。我只能说一下思路。控制都容易,温度传感器变送出4---20mA信号,给PLC模拟量模块,然后模拟量输出模块输出4---20mA信号给你要控制的设备(阀门,或者风机,你这个中央空调哪里用的,有楼宇,还有车间用的,虽说原理一样,但控制可以不同的)。你要做的就是写PLC程序,用读到的温度,去控制设备的运行参数。至于画面,WinCC那里,做个参数设置,设置要调节的温度就可以了。难度在PID调节那里。采样时间和PID三个参数不好定。这个采样时间,其实不要太大就行,应该小于温度上升时间的1/10。这个很难把握,上升多少是上升时间啊。硬件组态:s7-1200可以为主站,需要加rs485通讯模块cm1241或信号板cb1241。s7-200为从站,建议选用224或226,具有两个通信口,可以选用,方便通讯及监控。 软件编程:1200用tia组态硬件及编写程序,详细方法见西门子s7-1200系统手册。s7-200用modbus 从站指令直接编程,详细方法见其系统手册。由于这个过程比较麻烦,非一句两句说的清楚。需要注意:两个站号必须唯一,通讯线连接时注意极性,通讯格式必须相同,另外要弄清楚s7-200作为从站时内部寄存器的所对应的modbus地址!
4,如何通过Modbus协议实现S71200与S7200通讯
西门子S7-1200 紧凑型PLC在当前的市场中有着广泛的应用,由于其性价比高,所以常被用作小型自动化控制设备的控制器,这也使得它经常与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类型为“Global 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的通讯功能块,关于库程序可以咨询西门子热线或访问西门子的官方网站),打开后并编写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从站的配置步骤如下:点击桌面上的“Totally Integrated Automation Portal V10”图标,打开如下图:图17:S7-1200监控变量值首先需要选择“Create new project”选项,然后在“Project name:”里输入Modbus_Slave在“Path:”修改项目的存储路径为“C:\Backup file”;点击“Create”,这样就创建了一个文件Modbus_Slave的新项目。创建后的窗口如下图所示:图18: 新建项目后点击门户视图左下角的“Project View”切换到项目视图下,如下图:图19:切换到项目视图打开后,在“Devices”标签下,点击“Add new device”,在弹出的菜单中输入设备名“PLC_1”并在设备列表里选择CPU的类型。选择后如下图:图20: 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设置参数如下图:图21: 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”的选项勾。如下图所示:图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类型为“Global 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上面就完成了程序的编写,对项目进行编译;右击PLC_1项目在弹出的菜单里选择“Complies ALL”选项,这样就对硬件与软件进行编译,如下图:图28:编译项目编译且没有错误后就可以下载程序到PLC中,同样右击PLC_1项目,在弹出的菜单选择“Download to Device”。S7-200作为Modbus主站的配置步骤如下:点击桌面上的“V4.0 STEP 7 MicroWIN SP6”图标(因为STEP 7 MicroWIN安装时并没有安装Modbus的库程序,所以Modbus的库程序是需要单独安装的,安装后才可以在库程序中调用Modbus的通讯功能块,关于库程序可以咨询西门子热线或访问西门子的官方网站),打开后并编写Modbus主站程序如下图:图29:S7-200 Modbus主站编程在上面调用的是端口0的程序,所以在连接通讯线时,需要连接到端口0上,编译并下载项目到S7-200的PLC中。下载后运行PLC。用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的数据没有接收。西门子S7-1200 紧凑型PLC在当前的市场中有着广泛的应用,由于其性价比高,所以常被用作小型自动化控制设备的控制器,这也使得它经常与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类型为“Global 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的通讯功能块,关于库程序可以咨询西门子热线或访问西门子的官方网站),打开后并编写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从站的配置步骤如下:点击桌面上的“Totally Integrated Automation Portal V10”图标,打开如下图:图17:S7-1200监控变量值首先需要选择“Create new project”选项,然后在“Project name:”里输入Modbus_Slave在“Path:”修改项目的存储路径为“C:\Backup file”;点击“Create”,这样就创建了一个文件Modbus_Slave的新项目。创建后的窗口如下图所示:图18: 新建项目后点击门户视图左下角的“Project View”切换到项目视图下,如下图:图19:切换到项目视图打开后,在“Devices”标签下,点击“Add new device”,在弹出的菜单中输入设备名“PLC_1”并在设备列表里选择CPU的类型。选择后如下图:图20: 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设置参数如下图:图21: 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”的选项勾。如下图所示:图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类型为“Global 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上面就完成了程序的编写,对项目进行编译;右击PLC_1项目在弹出的菜单里选择“Complies ALL”选项,这样就对硬件与软件进行编译,如下图:图28:编译项目编译且没有错误后就可以下载程序到PLC中,同样右击PLC_1项目,在弹出的菜单选择“Download to Device”。S7-200作为Modbus主站的配置步骤如下:点击桌面上的“V4.0 STEP 7 MicroWIN SP6”图标(因为STEP 7 MicroWIN安装时并没有安装Modbus的库程序,所以Modbus的库程序是需要单独安装的,安装后才可以在库程序中调用Modbus的通讯功能块,关于库程序可以咨询西门子热线或访问西门子的官方网站),打开后并编写Modbus主站程序如下图:图29:S7-200 Modbus主站编程在上面调用的是端口0的程序,所以在连接通讯线时,需要连接到端口0上,编译并下载项目到S7-200的PLC中。下载后运行PLC。用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的数据没有接收。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类型为“global 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的通讯功能块,关于库程序可以咨询西门子热线或访问西门子的官方网站),打开后并编写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)。监控到的值如下图所示:
文章TAG:
s71200 多少 从站