西门子模块6ES73361HE000AB0
《销售态度》:质量保证、诚信服务、及时到位!
《销售宗旨》:为客户创造价值是我们永远追求的目标!
《服务说明》:现货配送至全国各地含税(17%)含运费!
《产品质量》:原装正品,全新原装!
《产品优势》:专业销售 薄利多销 信誉好,口碑好,价格低,货期短,大量现货,服务周到!
SIEMENS西门子上海启水自动化科技有限公司
工作QQ:2880583566
手机:186 1628 9300(微信同步)
1. 产品概况
1.1 引言
自动化领域的当前发展主流趋势是基于PLC集成的解决方案。在实现若干复杂工艺功能和运动控制的应用中,基于PLC的机电一体化1)解决方案得到了迅速的推广,它既能为用户提供更加灵活和更加效能的机械设备,也能大大地节约制造成本。因此,机电一体化的理念正逐渐地贯彻到越来越多的项目规划和产品设计中。
在机电一体化方案中,注重运动控制的工艺功能在自动化系统和驱动系统中得到了广泛的应用。西门子的Technology CPU(或称T CPU)实现了在一个SIMATIC CPU中集成工艺和运动控制功能,它不仅可完美地执行开环控制和运动控制的任务,而且能完全集成在SIMATIC产品家族和TIA(Totally Integrated Automation,全集成自动化)环境之中。
作为新的SINAMICS驱动家族的一员,SINAMICS S120是满足机器和工厂框架中高性能要求的模块化驱动系统。S120提供了高性能的单轴和多轴驱动,凭借其扩展性和灵活性,可广泛应用在众多行业。
1)机电一体化(Mechatronics),结合了机械工程、计算机技术和电子技术的综合性学科,常用于制造业的设计和开发工作。
1.2 Technology CPU产品介绍
目前西门子提供了三款T CPU(如图1)供用户选择:315T-2DP、317T-2DP和317TF-2DP。CPU 315T-2DP/CPU 317T-2DP应用在运动控制和标准控制相结合的典型应用中;CPU317TF-2DP除了包含了以上两款产品的所有功能,还提供了额外的故障安全功能,可应用在标准控制、运动控制和安全相关控制相结合的综合应用之中。
图1 T CPU产品家族
T CPU包括以下部分:
系统提供预编程的符合PLCopen认证的功能块简化了用户的编程工作。STEP 7选件包S7-Technology可用于对所有的工艺功能进行编程和调试。
T CPU可同时处理多达32个(对于315T-2DP)或64个(对于317T(F)-2DP)工艺对象。
更多T CPU产品信息请参考支持中心提供的相关网页。
1.3 SINAMICS S120产品介绍
Sinamics S120 是西门子公司推出的全新的集 V/F、矢量控制及伺服控制于一体的驱动控制系统,它不仅能控制普通的三相异步电动机,还能控制同步电机、扭矩电机及直线电机。其强大的定位功能将实现进给轴的绝对、相对定位。内部集成的 DCC(驱动控制图表)功能,用 PLC 的 CFC 编程语言来实现逻辑、运算及简单的工艺等功能。
S120分为两种,AC/AC(单轴驱动器)和DC/AC(多轴驱动器)。
更多S120产品信息请参考支持中心提供的相关网页。
2. 准备
2.1 环境要求
2.1.1 本文档所述实例基于以下硬件环境:
• PS307 5A 6ES7307-1EA00-0AA0
• CPU 317TF-2DP 6ES7317-6TF14-0AB0
• SIMATIC MMC 8M 6ES7953-8LP11-0AA0
• SIMATIC Field PG M3 6ES7715-1BB23-0AA1
• PROFIBUS电缆
• 其他S7 300模块(如果有,如DI、DO等)
• S120 Training Case 6ZB2480-0BA0,
图2 S120 Training Case
包括:
(1)CU320 6SL3040-0MA00-0AA1
(2)非调节型电源模块5kW 6SL3130-6AE15-0AA0
(3)双电机模块3A 6SL3120-2TE13-0AA0
(4)同步电机(1FK7022-5AK71-1AG3),通过SMC20(6SL3055-0AA00-5BA1)接增量型编码器(2048,Sin/Cos,1Vpp)
(5)同步电机(1FK7022-5AK71-1LG3),通过DRIVE-CLIQ接绝对值编码器(512 ppr,EnDat)
(6)CompactFlash Card 6SL3054-0CG01-1AA0
2.1.2 本文档所述实例基于以下软件环境:
• Window XP SP3
• STEP 7 V5.5 SP2
• S7 Technology V4.2 SP1
• S7 Distributed Safety V5.4 SP52)
2)如需使用故障安全功能,则需要此软件。
2.2 任务
2.2.1 组态实例
图3 系统连接图
2.2.2 任务
使用HW Config和S7T Config组态轴,然后借助STEP 7用户程序操作该轴。要完成该任务请遵循以下步骤:
步骤 | 内容 |
1 | 接线 |
2 | 在HW Config中对CPU 317TF-2DP进行组态 |
3 | 更改MPI/DP接口的传输速率并将组态数据下载到CPU中 |
4 | 组态DP(DRIVE) |
5 | 激活生成工艺系统数据 |
6 | 使用HW Config对驱动器进行组态 |
7 | 组态通过PG/PC接口访问驱动器 |
8 | 将硬件组态下载到目标硬件中 |
9 | 使用S7T Config组态SINAMICS驱动器 |
10 | 使用S7T Config组态轴工艺对象 |
11 | 创建工艺DB |
12 | 使用STEP 7用户程序控制轴 |
13 | 试运行 |
表1 操作步骤列表
2.2.3 使用站向导
如果在步骤 1 之后,借助站点向导建立了 T 站点,则可以一步式执行步骤 2 到 5 ,然后接着执行步骤 6 。
3. 步骤
3.1 步骤1:接线
3.1.1 T CPU接线
请参考手册S7-300 S7-300 CPU 数据: CPU 315T-2 DP 接线。
请严格按照手册要求接线,注意安全。
3.1.2 PROFIBUS接线
用PROFIBUS电缆连接CU320到CPU 317TF-2DP的DP(DRIVE)接口,并将CU320的 PROFIBUS 地址设置为4 。可按照如下方式直接通过硬件DIP开关设置CU320的PROFIBUS 地址:
图 4 CU320 PROFIBUS地址设置
3.2 可选:借助向导帮助建立 T 站点
组态CPU 31xT(F)时使用站向导可以一步式执行多步操作。若选择该功能,可直接跳转到步骤6。
操作步骤:
序号 | 操作 |
1 | 在SIMATIC Manager中建立一个新的项目 |
2 |
选择“插入”(Insert) >“站”(Station) >“SIMATIC T 站”(SIMATIC T Station) 菜单命令。
也可右击项目名,选择“插入新对象” (Insert New Object) >>“SIMATIC T 站”(SIMATIC T Station)
结果:“创建T站”对话框打开。 |
3 |
在“创建T站”对话框中设置以下参数: “CPU 型号”(CPU type): CPU317TF-2 DP “生成工艺系统数据”(Generate Technology System Data) 选项激活 “MPI/DP”:“新建”(New),类型 MPI,传输速度 1.5 Mbps “PG/PC”:未使用
点“OK”确认,STEP 7开始创建S7 300站,创建结束出现以下提示
结果:在项目中建立了包含CPU 317TF-2DP的SIMATIC 300站。 |
4 | 如步骤2中所述,打开硬件组态并插入其他模块(如DI、DO等)并进行相关设置。 |
5 | 如步骤3中所述,将硬件组态下载到CPU中。 |
6 | 之后可直接跳转到步骤6继续以下操作。 |
3.3 步骤2:在HW Config中对CPU 317TF-2DP进行组态
操作步骤:
序号 | 操作 |
1 | 在 SIMATIC 管理器中创建新的项目(例如“TCPUS120 ( 4579 KB ) ”)并添加一个 SIMATIC 300 站点。 |
2 | 通过选择“SIMATIC 300”站点并双击“Hardware”(硬件)打开 HW Config。 |
3 |
打开“Hardware Catalog”(硬件目录)并在“Profile”(配置文件)下拉列表中选择“SIMATIC Technology-CPU”硬件配置文件。
|
4 | 在 HW Config 的站窗口中通过拖放插入一个装配导轨。 |
5 | 将“PS 307 5A”电源模块拖放到装配导轨上。 |
6 |
通过拖放将 T CPU 添加到装配导轨。
随后会弹出一个消息框,点“OK”确认
|
7 |
随后弹出PROFIBUS接口DP(DRIVE)的属性对话框,点“OK”确认默认设置
|
8 | 在S7 300站中添加其他模块(如果有) |
3.4 步骤3:更改MPI/DP接口的传输速率并将组态数据下载到CPU中
操作步骤
序号 | 操作 |
1 | 在装配导轨中,双击“MPI/DP”以在 HW Config 中打开MPI/DP 接口 (X1)。 |
2 |
单击“属性”(Properties) 按钮。
|
3 |
在弹出的对话框中,点击“新建”创建一个新的MPI子网
|
4 |
在随后弹出的对话框中的“网络设置”标签下,设置传输速率为“1.5 Mbps”。
|
5 | 单击“OK”(确定),确认所有打开的对话框。 |
6 | 选择SIMATIC管理器的“选项”>“设置PG/PC接口”菜单命令,选择MPI方式连接。 |
7 |
选择“PLC”>“下载”菜单命令,并在 CPU 的 STOP 模式中传送组态。
|
8 |
在弹出的对话框“选择节点地址”中,选择CPU并点“OK”确认。
|
3.5 步骤4:组态DP(DRIVE)
操作步骤
序号 | 操作 |
1 | 在安装导轨中,双击“DP(驱动器)”(DP(DRIVE))以打开 HW Config 中的“属性 - DP(驱动器)”(Properties - DP(DRIVE)) 对话框。 |
2 |
单击“Properties”(属性)按钮。
|
3 | 输入 PROFIBUS 地址“2”。 |
4 | 单击“New”(新建)以创建新 PROFIBUS 子网。 |
5 |
在“网络设置”(Network settings) 选项卡中,设置PROFIBUS 网络的传输率。 输入传输率 12 Mbps。保持子网的“DP”配置文件设置。
|
6 | 单击“OK”(确定),确认 HW Config 的所有打开的对话框。 |
3.6 步骤5:激活生成工艺系统数据
操作步骤
序号 | 操作 |
1 | 双击装配导轨上的“Technology” |
2 |
选择“Technology system data”(工艺系统数据)标签,然后设置“Generate technology system data”(生成工艺系统数据)复选框。 单击“OK”确认。
如果不产生工艺系统数据,Technology CPU只能作为标准S7 300 CPU使用。 |
3.7 步骤6:使用HW Config对驱动器进行组态
操作步骤
序号 | 操作 |
1 |
在 HW 目录中,打开树形结构SIMATIC Technology > PROFIBUS DP(DRIVE) > Drives > SINAMICS > SINAMICS S120,选择S120 CU320,并拖放到DP(DRIVE)的DP主站系统。
|
2 |
在弹出的对话框中输入PROFIBUS地址“4”,然后点“OK”确认。
|
3 |
在弹出的对话框中为SINAMICS选择适当的驱动器版本,然后单击“OK”确认。
|
4 |
在弹出的“DP slave property”对话框中,选择“Isochronous Operation”标签,设置“Synchronize drive to equidistant DP cycle”,然后可设置相关事件系数,之后点击“Align”,并点击“OK”确认。
|
5 | 通过调用 Station(站)> Save and compile(保存并编译)命令完成 HW 组态。 |
3.8 步骤7:组态通过PG/PC接口访问驱动器
操作步骤
序号 | 操作 |
1 | 在 HW Config 中使用 Options(选项)> Configure network(组态网络)命令启动 NetPro 网络组态工具。 |
2 |
在 HW 目录中,打开树形结构Stations(站点)> PG/PC,然后将 PG/PC 站点拖放到“Network View”(网络视图)窗口中。
|
3 选择新插入的 PG/PC 组件,然后单击 Edit(编辑)> Object properties...(对象属性...)打开“Properties – PG/PC”(属性 — PG/PC)对话框,选择Interface(接口)标签。
|
|
4 |
单击“New...”(新建...)按钮打开“New Interface – Type Selection”(新建接口 — 类型选择)对话框。 选择“MPI”,然后单击“OK”(确定)进行确认。
|
5 |
在“Properties - MPI Interface”(属性 — MPI 接口)对话框中,选择地址“1”和“MPI network”(MPI 网络)。 单击“OK”(确定),确认输入。
|
6 |
选择“Properties – PG/PC”(属性 — PG/PC)对话框中的“Assignment”(分配)标签。通过单击“Assign”(分配)将 PG/PC 中的 MPI 接口参数分配至已组态的接口。
|
7 |
单击“OK”(确定)完成接口分配。
|
8 |
现在已经将 PG/PC 插入了 MPI 网络,并满足了与 SINAMICS S120控制单元交换数据的要求。
|
9 |
通过调用 Network(网络)> Save and compile(保存并编译)命令来完成网络组态。选择“Compile and check everything”(编译并检查全部),然后单击“OK”(确定)进行确认。
|
10 | 单击 File(文件)> Close(关闭),关闭输出窗口。 |
11 | 通过调用 Network(网络)> Exit(退出)命令关闭 NetPro 组态程序。 |
3.9 步骤8:将硬件组态下载到目标硬件中
操作步骤
序号 | 操作 |
1 |
切换回 HW Config 通过调用 PLC > Download...(下载...)命令将硬件组态下载到 CPU 中。 |
2 | 通过调用 Station(站)> Exit(退出)命令关闭 HW Config。 |
3.10 步骤9:使用S7T Config组态SINAMICS驱动器
操作步骤
3.10.1 自动在线组态驱动器
序号 | 操作 |
1 |
在 SIMATIC 管理器中,双击“Technological Objects”打开 S7T Config。
结果:“工艺对象管理”(Technology Objects Management) 打开。 如果未组态任何工艺对象(如该实例所示),系统将自动运行 S7T Config。 |
2 | 通过选择 Project(项目)> Save and recompile all(全部保存并重新编译)命令保存当前项目数据。 |
3 |
在打开的S7T Config中,选择 Project(项目)> Connect to selected target system(连接到所选的目标系统)命令更改为在线模式。如果未选择目标系统,会弹出以下对话框
选择Technology和S120_CU320,并将Access point(接入点)设为S7ONLINE,点“OK”确认。 |
4 |
如果S120中有组态数据,则可能会有如下对话框,在这里直接点“Close”关闭。
|
5 |
在S7T Config左侧的项目树中选择S120_CU320,在工具栏中选择Restore factory settings(恢复工厂设置)命令,执行对S120的工厂复位。
|
6 |
在项目浏览器中,打开树形结构 SIMATIC 300(1) > Technology(技术)> SINAMICS_S120 > Automatic configuration(自动组态)。通过双击“Automatic configuration”(自动组态)打开自动组态。
|
7 |
在“Automatic Configuration”(自动组态)对话框中点击“Configure”启动自动组态。
|
8 |
保留驱动对象的默认设置(“Servo”),点“Create”开始自动组态。
结果:两个驱动对象自动创建组态且初始化。组态数据会自动地上载到编程设备。 |
9 |
自动组态结束后,点击“Go OFFLINE”切换到离线模式。
|
3.10.2 离线组态不带完整的DRIVE-CLIQ接口技术的Servo 03驱动器
序号 | 操作 |
1 |
在项目浏览器中,打开树形结构 SIMATIC 300(1) > Technology > SINAMICS_S120 > Drives > Servo_03 > Configuration。通过双击“Configuration”(组态)打开离线驱动器组态。
|
2 |
单击“Configure DDS...”(组态 DDS...)按钮以启动组态。
|
3 |
接受默认设置并单击“下一步>”(Next >)。
|
4 |
在功率单元对话框中,确认所有的默认参数。
|
5 |
该 SINAMICS training case中没有调节型电源模块。 单击“OK”,确认弹出的警告。
|
6 |
在“功率单元BICO”对话框中,选择“Infeed in operation”为“1”,点“Next”进入下一步。
|
7 |
没有完整 DRIVE-CLIQ 技术的电机被连接至功率单元的接口端子X2,点“Next”继续。
|
8 |
从列表中选择正确的电机。 要激活备选选项,必须选中“Select standard motor from list”(从列表中选择标准电机)框。SINAMICS training case中使用的电机是 1FK7022-xAK7x-xxxx。 根据所提供的文档或电机类型铭牌(低压电机 — 蓝色齿轮)核对此电机型号。 选择合适的电机并单击“下一步 >”(Next >)。
|
9 |
选择“不使用制动闸”(Without holding brake) 并单击“下一步 >”(Next >)。
|
10 |
选择“Encoder 1”和“Select standard encoder from list”> “Via order no.”,选择1FK7xxx-xxxxx-xAxx。点“OK”和“Next”进入到下一步。
|
11 |
选择PROFIdrive报文帧类型为“(105) SIEMENS begram 105,PZD-10/10”,并单击“Next >”继续。
|
12 |
单击“Finish”(完成)按钮完成离线组态,并关闭对话框。
|
3.10.3 离线组态带带完整的DRIVE-CLIQ接口技术的Servo 02驱动器
序号 | 操作 |
1 |
在项目浏览器中,打开树形结构 SIMATIC 300(1) > Technology > SINAMICS_S120 > Drives > Servo_02 > Configuration。 双击“Configuration”打开离线驱动器组态。
|
2 |
通过单击“Configure DDS...”(组态 DDS...)按钮启动组态。
|
3 |
参考组态“Servo_03”,组态“Servo_02” 驱动器。 功率部分具有完整的DRIVE-CLIQ技术,并已预组态好,所以电机和编码器相关参数已经预先设置好。 |
4 |
有完整 DRIVE-CLIQ 技术的电机被连接至功率单元的接口端子X1
|
5 | 根据向导,完成Servo_02驱动器的离线组态。 |
西门子模块6ES73361HE000AB0
3.10.4 离线组态Servo 03和Servo 02的报文结构
序号 | 操作 |
1 |
打开树形结构 SIMATIC 300(1) > Technology > SINAMICS_S120 > Communication > Message frame configuration。在“SINAMICS_S120 – 组态”对话框中,将两个消息帧类型都设置为“SIEMENS begram 105”,然后单击“Set up address”按钮,以在HW Config中设置报文帧地址。
|
2 |
弹出的对话框中点“Yes”确认。
结果:
|
3 |
在HW Config中选择Station > Save and Compile,保存并编译整个站,并下载到PLC中。 注意:如果提示保存编译错误,请检查连接DP(DRIVE)的PROFIBUS时间参数。 |
4 | 在S7T Config中选择 Project > Save and recompile all菜单命令,保存并编译整个工艺项目。 |
5 | 在S7T Config中选择 Project > Connect to target system菜单命令,切换到在线模式。 |
6 | 所需的组态位于 PG/PC 上。 在“在线/离线比较”对话框中,单击“<== Download”按钮,将组态传送到驱动器。 |
7 |
在弹出的对话框中勾选相关选项,并点“Yes”开始下载。
|
8 | 点“Close”关闭“在线/离线比较”对话框。 |
3.11 步骤10:使用S7T Config组态轴工艺对象
操作步骤
序号 | 操作 |
1 |
在项目浏览器中,打开树形结构 SIMATIC 300(1) > Technology > AXES。 双击“Insert axis”启动轴向导:
|
2 |
在弹出的“Insert Axis”对话框中,保留默认设置(速度控制,定位),点“OK”确认。
|
3 |
在弹出的“Axis Type”对话框中,接受默认选择,点“Next”继续。
|
4 |
在“Drive assignment”对话框中,点“Set up addresses”获取驱动器组态信息。
之后选择组态的轴工艺对象要连接的驱动器Servo 02,点击“Data transfer from the drive”读取已组态好的电机的归一化参考速度、最大速度及最大扭矩等参数,点“Next”进入下一步。
|
5 |
在弹出的“Encoder assignment”对话框中,分配驱动器带的编码器,并点击“Data transfer from the drive”读取已组态好的编码器参数,点“Next”进入下一步。
|
6 |
在弹出的“Encoder configuration”对话框中,接受默认的参数,点“Next”进入到下一步。
|
7 |
在弹出的“Summary”对话框中,点“Finish”结束轴组态。
|
8 | 如需组态另外一个轴工艺对象,可将其连接到Servo 03驱动器,组态过程参考本步骤1~7步操作。 |
9 | 保存编译后将工艺数据下载到Technology CPU中。 |
3.12 步骤11:创建工艺DB
操作步骤
序号 | 操作 |
1 |
切换到“Technological Objects Management”(工艺对象管理)。 单击“OK”确认消息框,。
如果尚未运行“Technological Objects Management”(技术对象管理)应用程序,则可在SIMATIC 管理器中双击“Technology”文件夹中的“Technological Objects”将其打开。 |
2 |
选中DB1~DB3,点“Create”创建工艺DB
|
3 |
通过 Technological bs > Exit菜单命令关闭 Technological ObjectsManagement(工艺对象管理)。此时可看到在STEP 7管理器的Block路径下,已经生成了工艺DB及其引用的UDT类型。
|
3.13 步骤12:使用STEP 7用户程序控制轴
操作步骤
序号 | 操作 |
1 |
在STEP 7管理器的Block路径下新建一个FB100,命名为“SimplePositioning”,打开FB100.
|
2 |
在程序编辑器中选择“Library”>“S7-Tech”>“S7-Tech V4.2”,从这里可以调用系统提供的运动控制功能块。
|
3 |
调用FB401“MC_Power”、FB402“MC_Reset”、FB405“MC_Halt”、FB410“MC_MoveAbsolute”等功能块。注意在Axis引脚输入的对应轴工艺对象的工艺DB号。
|
4 |
在OB1中调用FB100
|
5 |
在STEP 7管理器中将所有的用户程序下载到PLC中
|
3.14 步骤13:试运行
序号 | 操作 |
1 | 在项目的“Blocks”文件夹中,双击“VAT_1”变量表。 |
2 | 选择“PLC ”> “Connect to” > “Configured CPU”命令使变量表在线。 |
3 | 选择“Variable”>“Monitor”切换到变量监控。 |
4 | 首先使能轴,然后执行MoveAbsolute,使轴运行到一个指定位置“Object_Position”(MD22)。 |
5 | 可通过MC_Halt停止轴的运行。 |
1. 概述
在现场应用中,很多仪表和设备仅支持Modbus RTU的通讯协议,第三方仪表可以做Modbus主站或从站,西门子的通讯模块CP341 / CP441-2 通过Dongle(硬件狗)可以扩展该协议,S7-200 集成的口可以支持自由口通讯,通过指令库也可以方便的实现Modbus RTU通讯。本文以S7-200作为Modbus 主站,CP341作为Modbus 从站,实现Modbus RTU通讯,阐述两者在通讯方面的设置和注意事项。
2. 软件环境
2.1 STEP7 V5.4 SP4
用于编写 S7-300/400程序,此软件需要从西门子购买,本文档中的300的程序是使用Step7 V5.4 SP4的软件编写。
2.2 CP PTP Param V5.1 SP11
串行通讯模板的驱动程序,安装此驱动后才能对PtP模板进行参数配置,并在Step7中集成通讯编程需要使用的功能块。此驱动随购买模板一起提供,也可以从以下的链接下载:27013524
2.3 CP PTP Modbus Slave V3.1 SP7
CP341或CP441-2用于Modbus从站时,需要安装此驱动协议,但安装之前必须先安装PtP Driver,此驱动可以在购买Modbus Dongle时选择购买,也可以从以下的链接下载:27774276
2.4 STEP7 Micro/WIN V4.0 SP6
用于S7-200编程的软件,本文档中的200的程序是使用Step7 Micro/win 的软件编写。此软件可以从西门子下载中心免费下载,也可以从以下的链接下载。
http://www.ad.siemens.com.cn/download 网站 自动化系统>>S7-200>>软件,文档编号S0002。
2.5 Toolbox_V32-STEP 7-Micro WIN 32 Instruction Library
S7-200实现Modbus RTU功能,可以使用Modbus的指令库,要使用西门子的标准指令库,必须先安装指令库的软件包 Instruction Library,安装后,可以在Step 7-Micro/WIN软件的库中找到Modbus相关的指令,该软件包可以从以下的链接下载。http://www.ad.siemens.com.cn/download 网站 自动化系统>>S7-200>>软件,文档编号S0010。
3. 硬件列表和接线
3.1 硬件列表
S7-300从站 | CPU315-2DP | 6ES7 315-2AG10-0AB0 |
CP341 RS422/485 | 6ES7 341-1CH01-0AE0 | |
Dongle | 6ES7 870-1AB01-0YA0 | |
PC 适配器(USB) | 6ES7 972-0CB20-0XA0 | |
S7-200主站 | CPU 224XP | 6ES7 214-2BD23-0XB0 |
表1 硬件设备
3.2 硬件接线
3.2.1 接口定义
S7-200的通讯口为RS485物理口(9针口),CP341是RS422/485的接口类型(15针口),两种设备的接口引脚的示意图如下所示,更详细的信息可以参考CP341及S7-200通信接口的手册。
图1 S7-200 CPU通信口引脚定义
图2 S7-300 CP341 RS422/485 通讯口引脚定义
3.2.2 接线示意图
图3 硬件结构和接线示意图
4. 组态设置和编程
4.1 S7-200做Modbus主站的设置
S7-200 CPU上的通信口在电气上是标准的RS-485半双工串行通信口,此串行字符通信的格式:1个起始位;7/8位数据位;1位奇/偶/无校验;1停止位。通信波特率可以设置为1200、2400、4800、9600、19200、38400、57600或112500,符合这些格式的串行通讯设备可以和S7-200进行自由口通讯,Modbus RTU指令库就是使用自由口编程实现的。
4.1.1 Modbus RTU主站库
使用Modbus 主站指令库时需要注意的几点:
图4 库存储区设置
Modbus 地址 | 读 / 写 | Modbus 从站须支持的功能 |
00001~09999 | 读 | 功能1:读输出点 |
数字量输出 | 写 | 功能5:写单个输出点 |
功能15:写多个输出点 | ||
10001~19999 | 读 | 功能2:读输入点 |
数字量输入 | ||
30001~39999 | 读 | 功能4:读输入寄存器 |
输入寄存器 | ||
40001~49999 | 读 | 功能3:读保持寄存器 |
保持寄存器 | 写 | 功能6:写单个寄存器 |
功能16:写多个寄存器 |
表2需要从站支持的功能
4.1.2 S7-200 Modbus主站编程
编程时,使用SM0.0调用MBUS_CTRL完成主站的参数初始化,详细见下表,参数的说明也可以从子程序的局部变量表中找到。
图5 Modbus RTU 主站初始化
图中各参数含义如下
编号 | 符号/含义 | 说 明 |
a | EN / 使能 | 必须保证每一扫描周期都被使能(使用SM0.0)。 |
b | Mode / 模式 | 为1时使能为Modbus协议;为0时恢复为PPI协议。 |
c | Baud / 波特率 | 支持的通讯波特率为1200,2400,4800,9600,19200,38400,57600,115200。 |
d | Parity / 校验 | 校验方式选择:0=无校验;1=奇校验,2=偶校验。 |
e | Timeout / 超时 | 主站等待从站响应的时间,以毫秒为单位,典型的设置值为 1000毫秒,允许设置的范围为1-32767。这个值必须设置足够大以保证从站有时间响应。 |
f | Done / 完成位 | 初始化完成,此位会自动置1。 |
g | Error / 错误位 | 初始化错误代码。 |
表3
调用 Modbus RTU 主站读写子程序MBUS_MSG,发送一个Modbus 请求。
图6 调用Modbus RTU 主站读写子程序
图中各参数含义如下
编号 | 符号/含义 | 说 明 |
a | EN / 使能 | 同一时刻只能有一个读写功能使能。 |
b | First / 读写请求位 | 每一个新的读写请求必须使用脉冲触发。 |
c | Slave / 从站地址 | 可选择的范围1–247。 |
d | RW / 读写操作位 | 0=读, 1=写。 |
e | Addr / 读写从站的数据地址 | 选择读写的数据类型: |
00001 至 0xxxx - 开关量输出 | ||
10001 至 1xxxx - 开关量输入 | ||
30001 至 3xxxx - 模拟量输入 | ||
40001 至 4xxxx - 保持寄存器。 | ||
f | Count / 数据的个数 | 通讯的数据个数(位或字的个数)。 |
g | DaptPtr / 数据指针 | 如果是读指令,读回的数据放到这个数据区中; |
如果是写指令,要写出的数据放到这个数据区中。 | ||
h | Done / 完成位 | 读写功能完成位。 |
i | Error / 错误代码 | 只有在Done位为1时,错误代码才有效。 |
表4
从上图中可见,S7-200作为Modbus RTU主站,波特率9.6Kb/s,偶校验,连接从站的站地址是3,数据存储区为VB2000开始的区域。
4.2 CP341 做Modbus 从站的硬件组态
4.2.1 硬件组态
图7 S7-300侧硬件组态
4.2.2 设置Modbus参数
图8 消息桢字符结构
按照上述操作设置参数,从上图可以看出,本例中的传输波特率9.6Kb/s,1位起始位,8位数据位,偶校验位,1位停止位,从站站地址是3,主从通讯设备的字符帧格式和波特率等参数设置需要一致。
图9 RS422/485 接口组态
RS422/485接口只能一个有效,接口的选择只需要组态而不需要在硬件上短接。
4.2.3 Modbus驱动的下载
当配置好Modbus通信的参数后,保存前需要向CP341下载Modbus Slave的驱动,一旦下载完成后无需再次下载。
需要注意的是,在下载驱动时(可以在无Dongle情况下下载),需要将CPU停机,然后下载,操作过程如下所示。
图10 下载Dongle时,需要CPU停机
图11 从站驱动下载后结果
4.2.4 CP341做Modbus从站的编程
从Step7 软件下的EXAMPLE目录中,找到项目名“zXX21_05_PtP_Com_MODSL”的项目,打开,然后将Modbus通讯模块FB80传递到用户项目中,打开路径如下所示。
图12 Modbus Slave 例程打开路径
OB1中调用FB80编程如下:
图13 FB80程序块调用
CP卡初始化正常后,CP_START,CP_START_FM和CP_START_OK为1信号,否则CP_START_ERROR为1,同时可以从ERROR_NR察看错误信息,也可以在硬件组态中在线后的CP341的诊断缓冲区察看详细的错误信息,错误信息对照和处理方式可以参考
《S7-300以用于PtP CP Modbus 协议RTU格式S7的可装载驱动程序为从站》的手册。
FB80的各参数含义如下
LADDR | 硬件组态中CP341的起始逻辑地址,本例中为256 |
START_TIMER | 初始化超时定时器,本例中为T120 |
START_TIME | 初始化定时器时间,本例中为5S |
OB_MASK | I/O访问错误屏蔽位,本例中为True(I/O访问错误已屏蔽) |
CP_START | FB初始化使能位,本例中为M0.0 |
CP_START_FM | CP_START 初始化的上升沿位,本例中为M0.1 |
CP_NDR | 从CP卡写操作位,本例中为m0.2 |
CP_START_OK | 初始化完成且无错误,本例中为M0.3 |
CP_START_ERROR | 初始化完成,但有错误,本例中为M0.4 |
ERROR_NR | 错误号,本例中为MW2 |
ERROR_INFO | 错误信息,本例中为MW4 |
表5
5. 通讯测试
Modbus RTU格式通信协议是以主从的方式进行数据传输的,在传输的过程中主站是主动方,即主站发送数据请求报文到从站,从站返回响应报文。Modbus 系统间的数据交换是通过功能码来控制的,以下对现场常用的功能码进行分类测试,关于功能码的详细信息请参考手册。
5.1 FC01/05/15功能码
CP341从站的通讯区域配置
图14 FC01/05/15 参数组态界面
FC01、FC05、FC15对应的数据区为位输出,数据的传递以位为单位,可以读写操作,用户地址区为0xxxx,Modbus地址在信息传递中从0开始。如上图,左边为信息传递地址(地址区不能冲突),右边对应的是S7-300的数据区。例如左边信息传递地址从0 ~ 7对应用户地址区为00001 ~ 00008,对应S7-300的M10.0 ~ M10.7,并且以此为例说明FC01功能码的通讯。
S7-200主站程序调用
图15 功能码FC01使用
S7-200主站,用功能码FC01读取从站8点数字量输出,接收的数据存放在VB2000开始的区域,测试截图结果如下。
图16 FC01功能码数据交换
5.2 FC02功能码
CP341从站的通讯区域配置
图17 FC02 参数组态界面
FC02对应的数据区为位输出,数据的传递以位为单位,只读操作,用户地址区为1xxxx,Modbus地址在信息传递中从0开始,如上图,左边为信息传递地址(地址区不能冲突),右边对应的是S7-300的数据区。例如左边信息传递地址从0 ~ 7对应用户地址区为10001 ~ 10008,对应S7-300的M20.0 ~ M20.7,并且以此为例说明FC02功能码的通讯。
S7-200主站程序调用
图18 功能码FC02使用
S7-200主站,用功能码FC02读取从站8点数字量输入,接收的数据存放在VB2000开始的区域,测试截图结果如下。
图19 FC02功能码数据交换
5.3 FC03/06/16 功能码
CP341从站的通讯区域配置
图20 FC03/06/16参数组态界面
FC03/06/16 对应的数据区为寄存器,数据的传递以字为单位,可以读写操作,用户地址区为4xxxx,Modbus地址在信息传递中从0开始。如上图,左边为信息传递地址,右边对应的是S7-300的数据区,左边传输地址不可改,右边只对应一个数据区。例如用户地址
区为40001 ~ 40004,对应S7-300数据区为DB1.DBW0 ~ DB1.DBW6,并且以此为例说明
FC03功能码的通讯。
S7-200主站程序调用
图21功能码FC03使用
S7-200主站,用功能码FC03读取从站4个字寄存器,接收的数据存放在VB2000开始的区域,测试截图结果如下。
图22 FC03功能码数据交换
5.4 FC04 功能码
CP341从站的通讯区域配置
图23 FC04参数组态界面
FC04对应的数据区为寄存器输入,数据的传递也以字为单位,只读操作,用户地址区3xxxx,Modbus地址在信息传送中从0开始。如上图,左边为信息传递地址,右边对应的是S7-300的数据区,左边传输地址不可改,右边只对应一个数据区。例如用户地址区为30001 ~ 30004,对应S7-300数据区为DB1.DBW0 ~ DB1.DBW6,并且以此为例说明FC04功能码的通讯。
S7-200主站程序调用
图24功能码FC04使用
S7-200主站,用功能码FC04读取从站4个字输入寄存器,接收的数据存放在VB2000开始的区域,测试截图结果如下。
图25 FC04功能码数据交换
5.5 Limits 栏
图26 Limits 参数组态界面
对于写功能码FC05、06、15、16,可以禁用或限制访问相关S7-300存储区,即使用这些功能码时,S7-300存储区需要在设定的最小和最大的范围之间,如果访问的区域超出这个范围,则访问会被拒绝,同时输出报错误信息。
6. 总结
本文档以S7-200为主站和CP341为从站简单介绍了Modbus RTU通讯,关于通讯的组态设置,编程以及常用功能码的使用,其具体的使用可以作为西门子串行通讯模块与第三方的仪表、设备等进行串行通信的参考。
电源模块
6ES7 407-0DA02-0AA0 电源模块(4A)
6ES7 407-0KA02-0AA0 电源模块(10A)
6ES7 407-0KR02-0AA0 电源模块(10A)冗余
6ES7 407-0RA02-0AA0 电源模块(20A)
6ES7 405-0DA02-0AA0 电源模块(4A)
6ES7 405-0KA02-0AA0 电源模块(10A)
6ES7 405-0RA01-0AA0 电源模块(20A)
6ES7 971-0BA00 备用电池
CPU
6ES7 412-3HJ14-0AB0 CPU 412-3H; 512KB程序内存/256KB数据内存
6ES7 414-4HM14-0AB0 CPU 414-4H; 冗余热备CPU 2.8 MB RAM
6ES7 417-4HT14-0AB0 CPU 417-4H; 冗余热备CPU 30 MB RAM
6ES7 400-0HR00-4AB0 412H 系统套件包括 2 个CPU、1个H型中央机架、2个电源、2个1M 存储卡、4个
同步模块、2根同步电缆,以及4个备用电池(PS407 10A)
6ES7 400-0HR50-4AB0 412H 系统套件包括 2 个CPU、1个H型中央机架、2个电源、2个1M 存储卡、4个
同步模块、2根同步电缆,以及4个备用电池(PS405 10A)
6ES7 412-1XJ05-0AB0 CPU412-1,144KB程序内存/144KB数据内存
6ES7 412-2XJ05-0AB0 CPU412-2,256KB程序内存/256KB数据内存
6ES7 414-2XK05-0AB0 CPU414-2,512KB程序内存/512KB数据内存
6ES7 414-3XM05-0AB0 CPU414-3,1.4M程序内存/1.4M数据内存 1个IF模板插槽
6ES7 414-3EM05-0AB0 CPU414-3PN/DP 1.4M程序内存/1.4M数据内存 1个IF模板插槽
6ES7 416-2XN05-0AB0 CPU416-2,2.8M程序内存/2.8M数据内存
6ES7 416-3XR05-0AB0 CPU416-3,5.6M程序内存/5.6M数据内存 1个IF模板插槽
6ES7 416-3ER05-0AB0 CPU416-3PN/DP 5.6M程序内存/5.6M数据内存 1个IF模板插槽
6ES7 416-2FN05-0AB0 CPU416F-2,2.8M程序内存/2.8M数据内存
6ES7 416-3FR05-0AB0 CPU416F-3PN/DP,5.6M程序内存/5.6M数据内存
6ES7 417-4XT05-0AB0 CPU417-4,15M程序内存/15M数据内存
内存卡
6ES7 955-2AL00-0AA0 2 X 2M字节 RAM
6ES7 955-2AM00-0AA0 2 X 4M字节 RAM
6ES7 952-0AF00-0AA0 64K字节 RAM
6ES7 952-1AH00-0AA0 256K字节 RAM
6ES7 952-1AK00-0AA0 1M字节 RAM
6ES7 952-1AL00-0AA0 2M字节 RAM
6ES7 952-1AM00-0AA0 4M字节 RAM
6ES7 952-1AP00-0AA0 8M字节 RAM
6ES7 952-1AS00-0AA0 16M字节 RAM
6ES7 952-1AY00-0AA0 64M字节 RAM
6ES7 952-0KF00-0AA0 64K字节 FLASH EPROM
6ES7 952-0KH00-0AA0 256K字节 FLASH EPROM
6ES7 952-1KK00-0AA0 1M字节 FLASH EPROM
6ES7 952-1KL00-0AA0 2M字节 FLASH EPROM
6ES7 952-1KM00-0AA0 4M字节 FLASH EPROM
6ES7 952-1KP00-0AA0 8M字节 FLASH EPROM
6ES7 952-1KS00-0AA0 16M字节 FLASH EPROM
6ES7 952-1KT00-0AA0 32M字节 FLASH EPROM
6ES7 952-1KY00-0AA0 64M字节 FLASH EPROM
开关量输入模板
6ES7 421-7BH01-0AB0 开关量输入模块(16点,24VDC)中断
6ES7 421-1BL01-0AA0 开关量输入模块(32点,24VDC)
6ES7 421-1EL00-0AA0 开关量输入模块(32点,120VUC)
6ES7 421-1FH20-0AA0 开关量输入模块(16点,120/230VUC)
6ES7 421-7DH00-0AB0 开关量输入模块(16点,24V到60VUC)
开关量输出模板
6ES7 422-1BH11-0AA0 开关量输出模块(16点,24VDC,2A)
6ES7 422-1BL00-0AA0 32点输出,24VDC,0.5A
6ES7 422-7BL00-0AB0 32点输出,24VDC,0.5A,中断
6ES7 422-1FH00-0AA0 16点输出,120/230VAC,2A
6ES7 422-1HH00-0AA0 16点输出,继电器,5A
模拟量模块
6ES7 431-0HH00-0AB0 16路模拟输入,13位
6ES7 431-1KF00-0AB0 8路模拟输入,13位,隔离
6ES7 431-1KF10-0AB0 8路模拟输入,14位,隔离,线性化
6ES7 431-1KF20-0AB0 8路模拟输入,14位,隔离
6ES7 431-7QH00-0AB0 16路模拟输入,16位,隔离
6ES7 431-7KF00-0AB0 8路模拟输入,16位,隔离,热电偶
6ES7 431-7KF10-0AB0 8路模拟输入,16位,隔离,热电阻
6ES7 432-1HF00-0AB0 8路模拟输出,13位,隔离
功能模板
6ES7 450-1AP00-0AE0 FM450-1计数器模板
6ES7 451-3AL00-0AE0 FM451定位模板
6ES7 452-1AH00-0AE0 FM452电子凸轮控制器
6ES7 453-3AH00-0AE0 FM453定位模板
6ES7 455-0VS00-0AE0 FM455C闭环控制模块
6ES7 455-1VS00-0AE0 FM455S闭环控制模块
6DD1 607-0AA2 FM 458-1DP快速处理系统
6ES7 953-8LJ20-0AA0 用于FM458-1DP 基本模板 512KByte(MMC)
6ES7 953-8LL20-0AA0 用于FM458-1DP 基本模板 2MByte(MMC)
6ES7 953-8LM20-0AA0 用于FM458-1DP 基本模板 4MByte(MMC)
6DD1 607-0CA1 EXM 438-1 I/O扩展模板
6DD1 607-0EA0 EXM 448 通讯扩展模板
6DD1 607-0EA2 EXM 448-2 通讯扩展模板
6DD1 684-0GE0 SC64连接电缆
6DD1 684-0GD0 SC63连接电缆
6DD1 684-0GC0 SC62连接电缆
6DD1 681-0AE2 SB10端子模块
6DD1 681-0AF4 SB60端子模块
6DD1 681-0EB3 SB61端子模块
6DD1 681-0AG2 SB70端子模块
6DD1 681-0DH1 SB71端子模块
6DD1 681-0AJ1 SU12端子模块
6DD1 681-0GK0 SU13端子模块
通讯模板
6ES7 440-1CS00-0YE0 CP440通讯处理器
6ES7 441-1AA04-0AE0 CP441-1通讯处理器
6ES7 441-2AA04-0AE0 CP441-2通讯处理器
6ES7 963-1AA00-0AA0 RS232C接口模板
6ES7 963-2AA00-0AA0 20mA接口模板
6ES7 963-3AA00-0AA0 RS422/485接口模板
6ES7 870-1AA01-0YA0 可装载驱动 MODBUS RTU 主站
6ES7 870-1AB01-0YA0 可装载驱动 MODBUS RTU 从站
6GK7 443-5FX02-0XE0 CP443-5基本型通讯处理器,支持Profibus-Fms协议
6GK7 443-5DX04-0XE0 CP443-5扩展型通讯处理器,支持Profibus-DP协议
6GK7 443-1EX11-0XE0 CP443-1 以太网通讯处理器
6GK7 443-1EX41-0XE0 CP443-1 高级以太网通讯处理器
附件
6ES7 960-1AA04-0XA0 冗余系统同步模板(新)近距离同步(10米以内)
6ES7 960-1AB04-0XA0 冗余系统同步模板(新)远程同步模板(10米到10公里,用同长度的光缆)
6ES7 960-1AA04-5AA0 冗余系统光纤连接电缆(1米)(新)
6ES7 960-1AA04-5BA0 冗余系统光纤连接电缆(2米)(新)
6ES7 960-1AA04-5KA0 冗余系统光纤连接电缆(10米)(新)
6ES7 833-1CC01-0YA5 S7F系统可选软件包
6ES7 833-1CC00-6YX0 F运行授权
6ES7 197-1LA03-0XA0 Y-LINK
6ES7 492-1AL00-0AA0 前连接器
6ES7 400-1TA01-0AA0 主板(18槽)
6ES7 400-1JA01-0AA0 主板(9槽)
6ES7 400-1TA11-0AA0 主板(18槽)铝板
6ES7 400-1JA11-0AA0 主板(9槽)铝板
6ES7 401-2TA01-0AA0 CR2主板(18槽)
6ES7 400-2JA00-0AA0 UR2-H主板(18槽)
6ES7 400-2JA10-0AA0 UR2-H主板(18槽)铝板
6ES7 403-1TA01-0AA0 ER1机架(18槽)
6ES7 403-1JA01-0AA0 ER2机架(9槽)
6ES7 403-1TA11-0AA0 ER1机架(18槽)铝板
6ES7 403-1JA11-0AA0 ER2机架(9槽)铝板
6ES7 460-0AA01-0AB0 IM460-0
6ES7 461-0AA01-0AA0 IM461-0
6ES7 468-1AH50-0AA0 连接电缆 (0.75米)
6ES7 468-1BB50-0AA0 连接电缆 (1.5米)
6ES7 461-0AA00-7AA0 终端器
6ES7 460-1BA01-0AB0 IM460-1
6ES7 461-1BA01-0AA0 IM461-1
6ES7 468-3AH50-0AA0 468-3连接电缆 (0.75米)
6ES7 468-3BB50-0AA0 468-3连接电缆 (1.5米)
6ES7 460-3AA01-0AB0 IM460-3
6ES7 461-3AA01-0AA0 IM461-3
6ES7 468-1BF00-0AA0 468-1连接电缆(5米)
6ES7 468-1CB00-0AA0 468-1连接电缆(10米)
6ES7 468-1CC50-0AA0 468-1连接电缆(25米)
6ES7 468-1CF00-0AA0 468-1连接电缆(50米)
6ES7 468-1DB00-0AA0 468-1连接电缆(100米)
6ES7 461-3AA00-7AA0 终端器
6ES7 463-2AA00-0AA0 IM463-2接口模块
6ES7 964-2AA04-0AB0 IF-964 DP接口模块
西门子模块6ES73361HE000AB0