1. 概述
在现场应用中,很多仪表和设备仅支持Modbus RTU的通讯协议,第三方仪表可以做Modbus主站或从站,西门子的通讯模块CP341 / CP441-2 通过Dongle(硬件狗)可以扩展该协议,S7-200 集成的口可以支持自由口通讯,通过指令库也可以方便的实现Modbus RTU通讯。本文以S7-200作为Modbus 主站,CP341作为Modbus 从站,实现Modbus RTU通讯,阐述两者在通讯方面的设置和注意事项。
上海朕锌电气设备有限公司我们是西门子代理有需要西门子的请联系人万紫云 电话 15021699383 QQ 2779823058
我司是“德国西门子”公司授权代理商,属于上海各地区一级代理商,公司所有产品均属“德国制造”。
专业代理SIEMENS(西门子) PLC-S7200, 300 400 1200, 西门子数控伺服,6GK, ET200, LOGO,, 人机界面(触摸屏)
西门子数控伺服,SIEMENS 交、直流传动装置, SIEMENS 可编程控制器,及西门子停产备件!
欢迎来电咨询,我们将给你最优质的服务,最实惠的价格,最好的质量保证,让你买的放心,用的安心。
需了解更多西门子PLC S7-300价格,西门子PLC S7-300图片,西门子PLC S7-300选型,西门子PLCS7-300资料,欢迎来电咨询我们
西门子CPU221 DC/DC/DC,6输入/4输出销售商;
订货号;6ES7211-0AA23-0XB0
SIEMENS西门子上海朕锌电气设备有限公司
联系人;万女士
联系手机;15021699383
联系电话;021-31668149
公司全真;021-67226033
在线商务;2779823058
邮箱;2779823058@qq.com
西门子CPU221 DC/DC/DC,6输入/4输出介绍
1详细介绍
1.SIMATICS7-200PLCS7-200PLC是超小型化的PLC,它适用于各行各业,各种场合中的自动检测、监测及控制等。S7-200PLC的强大功能使其无论单机运行,或连成网络都能实现复杂的控制功能。S7-200PLC可提供4个不同的基本型号与8种CPU可供选择使用。
2.SIMATICS7-300PLCS7-300是模块化小型PLC系统,能满足中等性能要求的应用。各种单独
的模块之间可进行广泛组合构成不同要求的系统。与S7-200PLC比较,S7-300PLC采用模块化结构,具备高速(0.6~0.1μs)的指令运算速度;用浮点数运算比较有效地实现了更为复杂的算术运算;一个带标准用户接口的软件工具方便用户给所有模块进行参数赋值;方便的人机界面服务已经集成在S7-300操作系统内,人机对话的编程要求大大减少。SIMATIC人机界面(HMI)从S7-300中取得数据,S7-300按用户指定的刷新速度传送这些数据。S7-300操作系统自动地处理数据的传送;CPU的智能化的诊断系统连续监控系统的功能是否正常、记录错误和特殊系统事件(例如:超时,模块更换,等等);多级口令保护可以使用户高度、有效地保护其技术机密,防止未经允许的复制和修改;S7-300PLC设有操作方式选择开关,操作方式选择开关像钥匙一样可以拔出,当钥匙拔出时,就不能改变操作方式,这样就可防止非法删除或改写用户程序。具备强大的通信功能,S7-300PLC可通过编程软件Step7的用户界面提供通信组态功能,这使得组态非常容易、简单。S7-300PLC具有多种不同的通信接口,并通过多种通信处理器来连接AS-I总线接口和工业以太网总线系统;串行通信处理器用来连接点到点的通信系统;多点接口(MPI)集成在CPU中,用于同时连接编程器、PC机、人机界面系统及其他SIMATICS7/M7/C7等自动化控制系统。
3.SIMATICS7-400PLCS7-400PLC是用于中、高档性能范围的可编程序控制器。S7-400PLC采用模块化无风扇的设计,可靠耐用,同时可以选用多种级别(功能逐步升级)的CPU,并配有多种通用功能的模板,这使用户能根据需要组合成不同的专用系统。当控制系统规模扩大或升级时,只要适当地增加一些模板,便能使系统升级和充分满足需要。
2 产品历史
西门子SIMATIC系列PLC,诞生于1958年,经历了C3,S3,S5,S7系列,已成为应用非常广泛的可编程控制器。
1、西门子公司的产品最早是1975年投放市场的SIMATICS3,它实际上是带有简单操作接口的二进制控制器。
2、1979年,S3系统被SIMATICS5所取代,该系统广泛地使用了微处理器。
我们是西门子代理有需要西门子的请联系人万紫云 电话 15021699383 QQ 2779823058
3、20世纪80年代初,S5系统进一步升级——U系列PLC,较常用机型:S5-90U、95U、100U、115U、135U、155U。
4、1994年4月,S7系列诞生,它具有更国际化、更高性能等级、安装空间更小、更良好的WINDOWS用户界面等优势,其机型为:S7-200、300、400。
5、1996年,在过程控制领域,西门子公司又提出PCS7(过程控制系统7)的概念,将其优势的WINCC(与WINDOWS兼容的操作界面)、PROFIBUS(工业现场总线)、COROS(监控系统)、SINEC(西门子工业网络)及控调技术融为一体。
6、西门子公司提出TIA(TotallyIntegratedAutomation)概念,即全集成自动化系统,将PLC技术溶于全部自动化领域。
由最初发展至今,S3、S5系列PLC已逐步退出市场,停止生产,而S7系列PLC发展成为了西门子自动化系统的控制核心,而TDC系统沿用SIMADYND技术内核,是对S7系列产品的进一步升级,它是西门子,功能最强的可编程控制器。
3 产品分类
主营:西门子S7-200PLC S7-300PLC S7-400PLC S7-1200PLC 6ES5 ET200 人机界面触摸屏变频器MM420 变频器MM430 变频器MM440 6SE70交流工程调速变频器 6RA70直流调速装置 SITOP电源电线电缆数控备件伺服电机等工控产品,我们公司在价格上有较大优势,更注重售后服务,现有大量现货销售,欢迎您来电咨询。
SIEMENS 可编程控制器:
1. SIMATIC S7 系列PLC S7200 s71200 S7300 S7400 ET200
2. 逻辑控制模块 LOGO 230RC 230RCO 230RCL 24RC 24RCL等
3. SITOP 系列直流电源 24V DC 1.3A 2.5A 3A 5A 10A 20A 40A
4. HMI 触摸屏TD200 TD400C TP177 MP277 MP377
SIEMENS交流直流传动装置:
1. 交流变频器 MICROMASTER系列:MM MM420 MM430 MM440 ECO
MIDASTER系列:MDV
6SE70系列(FC VC SC)
2. 全数字直流调速装置 6RA23 6RA24 6RA28 6RA70系列
SIEMENS数控伺服
1. 840D 802S/C 802SL 828D 801D:6FC5210 6FC6247 6FC5357 6FC5211 6FC5200 6FC5510
2. 伺服驱动:6SN1123 6SN1145 6SN1146 6SN1118 6SN1110 6SN1124 6SN1125 6SN1128
电源模板
6ES7307-1BA01-0AA0 电源模块(2A)
6ES7307-1EA01-0AA0 电源模块(5A)
6ES7307-1KA02-0AA0 电源模块(10A)
CPU
6ES7312-1AE13-0AB0 CPU312,32K内存
6ES7312-5BE03-0AB0 CPU312C,32K内存 10DI/6DO
6ES7313-5BF03-0AB0 CPU313C,64K内存 24DI/16DO / 4AI/2AO
6ES7313-6BF03-0AB0 CPU313C-2PTP,64K内存 16DI/16DO
6ES7313-6CF03-0AB0 CPU313C-2DP,64K内存 16DI/16DO
6ES7314-1AG13-0AB0 CPU314,96K内存
6ES7314-6BG03-0AB0 CPU314C-2PTP 96K内存 24DI/16DO / 4AI/2AO
6ES7314-6CG03-0AB0 CPU314C-2DP 96K内存 24DI/16DO / 4AI/2AO
6ES7315-2AG10-0AB0 CPU315-2DP, 128K内存
6ES7315-2EH13-0AB0 CPU315-2 PN/DP, 256K内存
6ES7317-2AJ10-0AB0 CPU317-2DP,512K内存
6ES7317-2EK13-0AB0 CPU317-2 PN/DP,1MB内存
6ES7318-3EL00-0AB0 CPU319-3 PN/DP,1.4M内存
内存卡
6ES7 953-8LF20-0AA0 SIMATIC Micro内存卡 64kByte(MMC)
6ES7 953-8LG11-0AA0 SIMATIC Micro内存卡128KByte(MMC)
6ES7 953-8LJ20-0AA0 SIMATIC Micro内存卡512KByte(MMC)
6ES7 953-8LL20-0AA0 SIMATIC Micro内存卡2MByte(MMC)
6ES7 953-8LM20-0AA0 SIMATIC Micro内存卡4MByte(MMC)
6ES7 953-8LP20-0AA0 SIMATIC Micro内存卡8MByte(MMC)
开关量模板
6ES7 321-1BH02-0AA0 开入模块(16点,24VDC)
6ES7 321-1BH10-0AA0 开入模块(16点,24VDC)
6ES7 321-1BH50-0AA0 开入模块(16点,24VDC,源输入)
6ES7 321-1BL00-0AA0 开入模块(32点,24VDC)
6ES7 321-7BH01-0AB0 开入模块(16点,24VDC,诊断能力)
6ES7 321-1EL00-0AA0 开入模块(32点,120VAC)
6ES7 321-1FF01-0AA0 开入模块(8点,120/230VAC)
6ES7 321-1FF10-0AA0 开入模块(8点,120/230VAC)与公共电位单独连接
6ES7 321-1FH00-0AA0 开入模块(16点,120/230VAC)
6ES7 321-1CH00-0AA0
我们是西门子代理有需要西门子的请联系人万紫云 电话 15021699383 QQ 2779823058 开入模块(16点,24/48VDC)
6ES7 321-1CH20-0AA0 开入模块(16点,48/125VDC)
6ES7 322-1BH01-0AA0 开出模块(16点,24VDC)
6ES7 322-1BH10-0AA0 开出模块(16点,24VDC)高速
6ES7 322-1CF00-0AA0 开出模块(8点,48-125VDC)
6ES7 322-8BF00-0AB0 开出模块(8点,24VDC)诊断能力
6ES7 322-5GH00-0AB0 开出模块(16点,24VDC,独立接点,故障保护)
6ES7 322-1BL00-0AA0 开出模块(32点,24VDC)
6ES7 322-1FL00-0AA0 开出模块(32点,120VAC/230VAC)
6ES7 322-1BF01-0AA0 开出模块(8点,24VDC,2A)
6ES7 322-1FF01-0AA0 开出模块(8点,120V/230VAC)
6ES7 322-5FF00-0AB0 开出模块(8点,120V/230VAC,独立接点)
6ES7 322-1HF01-0AA0 开出模块(8点,继电器,2A)
6ES7 322-1HF10-0AA0 开出模块(8点,继电器,5A,独立接点)
6ES7 322-1HH01-0AA0 开出模块(16点,继电器)
6ES7 322-5HF00-0AB0 开出模块(8点,继电器,5A,故障保护)
6ES7 322-1FH00-0AA0 开出模块(16点,120V/230VAC)
6ES7 323-1BH01-0AA0 8点输入,24VDC;8点输出,24VDC模块
6ES7 323-1BL00-0AA0 16点输入,24VDC;16点输出,24VDC模块
模拟量模板
6ES7 331-7KF02-0AB0 模拟量输入模块(8路,多种信号)
6ES7 331-7KB02-0AB0 模拟量输入模块(2路,多种信号)
6ES7 331-7NF00-0AB0 模拟量输入模块(8路,15位精度)
6ES7 331-7NF10-0AB0 模拟量输入模块(8路,15位精度)4通道模式
6ES7 331-7HF01-0AB0 模拟量输入模块(8路,14位精度,快速)
6ES7 331-1KF01-0AB0 模拟量输入模块(8路, 13位精度)
6ES7 331-7PF01-0AB0 8路模拟量输入,16位,热电阻
6ES7 331-7PF11-0AB0 8路模拟量输入,16位,热电偶
6ES7 332-5HD01-0AB0 模拟输出模块(4路)
6ES7 332-5HB01-0AB0 模拟输出模块(2路)
6ES7 332-5HF00-0AB0 模拟输出模块(8路)
6ES7 332-7ND02-0AB0 模拟量输出模块(4路,15位精度)
6ES7 334-0KE00-0AB0 模拟量输入(4路RTD)/模拟量输出(2路)
6ES7 334-0CE01-0AA0 模拟量输入(4路)/模拟量输出(2路)
附件
6ES7 365-0BA01-0AA0 IM365接口模块
6ES7 360-3AA01-0AA0 IM360接口模块
6ES7 361-3CA01-0AA0 IM361接口模块
6ES7 368-3BB01-0AA0 连接电缆 (1米)
6ES7 368-3BC51-0AA0 连接电缆 (2.5米)
6ES7 368-3BF01-0AA0 连接电缆 (5米)
6ES7 368-3CB01-0AA0 连接电缆 (10米)
我们是西门子代理有需要西门子的请联系人万紫云 电话 15021699383 QQ 2779823058
6ES7 390-1AE80-0AA0 导轨(480mm)
6ES7 390-1AF30-0AA0 导轨(530mm)
6ES7 390-1AJ30-0AA0 导轨(830mm)
6ES7 390-1BC00-0AA0 导轨(2000mm)
6ES7 392-1AJ00-0AA0 20针前连接器
6ES7 392-1AM00-0AA0 40针前连接器
弹簧行连接器
功能模板
6ES7 350-1AH03-0AE0 FM350-1 计数器功能模块
6ES7 350-2AH00-0AE0 FM350-2 计数器功能模块
6ES7 351-1AH01-0AE0 FM351 定位功能模块
6ES7 352-1AH02-0AE0 FM352 电子凸轮控制器+组态包光盘
6ES7 355-0VH10-0AE0 FM355C 闭环控制模块
6ES7 355-1VH10-0AE0 FM355S 闭环控制系统
6ES7 355-2CH00-0AE0 FM355-2C 闭环控制模块
6ES7 355-2SH00-0AE0 FM355-2S 闭环控制模块
6ES7 338-4BC01-0AB0 SM338绝对位置输入模块
6ES7 352-5AH00-0AE0 FM352-5高速布尔处理器
6ES7 352-5AH00-7XG0 FM352-5功能软件包
主营:西门子S7-200PLC S7-300PLC S7-400PLC S7-1200PLC 6ES5 ET200 人机界面触摸屏变频器MM420 变频器MM430 变频器MM440 6SE70交流工程调速变频器 6RA70直流调速装置 SITOP电源电线电缆数控备件伺服电机等工控产品,我们公司在价格上有较大优势,更注重售后服务,现有大量现货销售,欢迎您来电咨询。
SIEMENS 可编程控制器:
1. SIMATIC S7 系列PLC S7200 s71200 S7300 S7400 ET200
2. 逻辑控制模块 LOGO 230RC 230RCO 230RCL 24RC 24RCL等
3. SITOP 系列直流电源 24V DC 1.3A 2.5A 3A 5A 10A 20A 40A
4. HMI 触摸屏TD200 TD400C TP177 MP277 MP377
SIEMENS交流直流传动装置:
1. 交流变频器 MICROMASTER系列:MM MM420 MM430 MM440 ECO
MIDASTER系列:MDV
6SE70系列(FC VC SC)
2. 全数字直流调速装置 6RA23 6RA24 6RA28 6RA70系列
SIEMENS数控伺服
1. 840D 802S/C 802SL 828D 801D:6FC5210 6FC6247 6FC5357 6FC5211 6FC5200 6FC5510
2. 伺服驱动:6SN1123 6SN1145 6SN1146 6SN1118 6SN1110 6SN1124 6SN1125 6SN1128
电源模板
6ES7307-1BA01-0AA0 电源模块(2A)
6ES7307-1EA01-0AA0 电源模块(5A)
6ES7307-1KA02-0AA0 电源模块(10A)
CPU
6ES7312-1AE13-0AB0 CPU312,32K内存
6ES7312-5BE03-0AB0 CPU312C,32K内存 10DI/6DO
6ES7313-5BF03-0AB0 CPU313C,64K内存 24DI/16DO / 4AI/2AO
6ES7313-6BF03-0AB0 CPU313C-2PTP,64K内存 16DI/16DO
6ES7313-6CF03-0AB0 CPU313C-2DP,64K内存 16DI/16DO
6ES7314-1AG13-0AB0 CPU314,96K内存
6ES7314-6BG03-0AB0 CPU314C-2PTP 96K内存 24DI/16DO / 4AI/2AO
6ES7314-6CG03-0AB0 CPU314C-2DP 96K内存 24DI/16DO / 4AI/2AO
6ES7315-2AG10-0AB0 CPU315-2DP, 128K内存
6ES7315-2EH13-0AB0 CPU315-2 PN/DP, 256K内存
6ES7317-2AJ10-0AB0 CPU317-2DP,512K内存
6ES7317-2EK13-0AB0 CPU317-2 PN/DP,1MB内存
6ES7318-3EL00-0AB0 CPU319-3 PN/DP,1.4M内存
内存卡
6ES7 953-8LF20-0AA0 SIMATIC Micro内存卡 64kByte(MMC)
6ES7 953-8LG11-0AA0 SIMATIC Micro内存卡128KByte(MMC)
6ES7 953-8LJ20-0AA0 SIMATIC Micro内存卡512KByte(MMC)
6ES7 953-8LL20-0AA0 SIMATIC Micro内存卡2MByte(MMC)
6ES7 953-8LM20-0AA0 SIMATIC Micro内存卡4MByte(MMC)
6ES7 953-8LP20-0AA0 SIMATIC Micro内存卡8MByte(MMC)
开关量模板
我们是西门子代理有需要西门子的请联系人万紫云 电话 15021699383 QQ 2779823058
6ES7 321-1BH02-0AA0 开入模块(16点,24VDC)
6ES7 321-1BH10-0AA0 开入模块(16点,24VDC)
6ES7 321-1BH50-0AA0 开入模块(16点,24VDC,源输入)
6ES7 321-1BL00-0AA0 开入模块(32点,24VDC)
6ES7 321-7BH01-0AB0 开入模块(16点,24VDC,诊断能力)
这类可编程序控制器,具有较强的控制功能和较强的运算能力。它不仅能完成一般的逻辑运算,也能完成比较复杂的三角函数、指数和PID运算。工作速度比较快,能带的输入输出模块的数量也比较多,输入和输出模块的种类也比较多。
比如,德国SIEMENS公司生产的S7-300就属于这一类。
高档机
这类可编程序控制器,具有强大的控制功能和强大的运算能力。它不仅能完成逻辑运算、三角函数运算、指数运算和PID运算,还能进行复杂的矩阵运算。工作速度很快,能带的输入输出模块的数量很多,输入和输出模块的种类也很全面。这类可编程序控制器可以完成规模很大的控制任务。在联网中一般做主站使用。
比如,德国SIEMENS公司生产的S7-400就属于这一类。
结构
整体式
整体式结构的可编程序控制器把电源、CPU、存储器、I/O系统都集成在一个单元内,该单元叫做作基本单元。一个基本单元就是一台完整的PLC。
控制点数不符合需要时,可再接扩展单元。整体式结构的特点是非常紧凑、体积小、成本低、安装方便。
组合式
组合式结构的可编程序控制器是把PLC系统的各个组成部分按功能分成若干个模块,如CPU模块、输入模块、输出模块、电源模块等等。其中各模块功能比较单一,模块的种类却日趋丰富。比如,一些可编程序控制器,除了-些基本的I/O模块外,还有一些特殊功能模块,像温度检测模块、位置检测模块、PID控制模块、通讯模块等等。组合式结构的PLC特点是CPU、输入、输出均为独立的模块。模块尺寸统一、安装整齐、I/O点选型自由、安装调试、扩展、维修方便。
叠装式
叠装式结构集整体式结构的紧凑、体积小、安装方便和组合式结构的I/O点搭配灵话、安装整齐的优点于一身。它也是由各个单元的组合构成。其特点是CPU自成独立的基本单元(由CPU和一定的I/O点组成),其它I/O模块为扩展单元。在安装时不用基板,仅用电缆进行单元间的联接,各个单元可以一个个地叠装。使系统达到配置灵活、体积小巧。
4 工作原理
上海朕锌是一家专业从事西门子工业自动化产品和数控系统销售、技术服务及培训的工程服务公司。 在西门子工业自动化产品领域,公司凭借雄厚的技术实力及多年从事 SIEMENS 产品的销售经验,本着树立公司形象和对用户认真负责的精神开展业务,赢得了 SIEMENS 公司与广大用户的好评及大力支持,我公司除了在西门子S7-200/300/400PLC、变频传动、直流调速装置、网络通讯及WinCC人机界面显示系统等的产品销售中拥有较好的价格优势外,同时我们致力于工业自动化控制领域的产品开发、工程配套和系统集成,拥有丰富的自动化产品的应用和实践经验以及雄厚的技术力量,公司拥有一批充满创新活力并具有丰富工作经验的优秀员工,致力于为您提供优质的产品和服务。公司在技术方面不断吸收国内外先进的经验,在工程实施方面为客户提供全方位的服务。我们不但是自动化的专业设备供应商,更是您真诚的合作伙伴,为您提供了SIEMENS的最新技术及自动控制的最佳解决方案。
查看详细 >
西门子DP线接头 SIMATIC S7-300 是模块化的微型 PLC 系统,可满足中、低端的性能要求。
模块化、无风扇设计、易于实现分布式结构以及方便的操作,使得 SIMATIC S7-300 成为中、低端应用中各种不同任务的经济、用户友好的解决方案
当PLC投入运行后,其工作过程一般分为三个阶段,即输入采样、用户程序执行和输出刷新三个阶段。完成上述三个阶段称作一个扫描周期。在整个运行期间,PLC的CPU以一定的扫描速度重复执行上述三个阶段。
我们是西门子代理有需要西门子的请联系人万紫云 电话 15021699383 QQ 2779823058
输入采样
PLC 、触摸屏、变频器、电缆及通讯卡、数控系统、网络接头、伺服驱动、 凡在公司采购西门子产品,均可质保一年,假一罚十
以满足客户的需求为宗旨 , 以诚为本 , 精益求精
内存卡:
西门子6ES7953-8LF11-0AA0 SIMATIC Mic
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 主站指令库时需要注意的几点:
-
需要S7-200的编程软件是 Micro/WIN V4.0 SP5及以上版本;
-
Modbus RTU 主站库对CPU的版本有要求,CPU 的版本必须为 2.00 或者 2.01(即订货号为 6ES721*-***23-0BA*);
-
Modbus主站可读/写的最大数据量为120个字(指每一个 MBUS_MSG 指令);
-
Modbus 主站库支持Port0和Port1(从站库只支持Port0口),本例中用Port0;
-
使用Modbus 库时必须对库存储区进行分配,见下图设置,而且分配的空间不能和程序中其它空间冲突,否则编译调用会报错。

图4 库存储区设置
-
Modbus主站库支持的功能码和地址对应关系:
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通讯,关于通讯的组态设置,编程以及常用功能码的使用,其具体的使用可以作为西门子串行通讯模块与第三方的仪表、设备等进行串行通信的参考。
7. 相关参考资料
关于西门子串行通信应用的文档可以参考相关产品手册,或登录下载中心网站http://www.ad.siemens.com.cn/download/ , 搜索下载如下文档:
A0006:串口通讯模块的信息与使用
A0081:CP340/341/440/441通讯及编程
A0336:CP341 Modbus RTU多站点轮询
A0440:CP340/341基于ASCII驱动协议的多站点轮询
A0384:S7-300 CP341作主S7-200作从的Modbus通信