定西西门子S7-300/400PLC模块代理经销商-西门子PLC代理介绍西门子S7-300/400PLC代理由上海钡斯森工业设备有限公司提供西门子模块PLC代理,西门子PLC代理商有限公司 西门子变频器代理商有限公司价格 西门子触摸屏代理商有限公司销售 西门子PLC代理商有限公司现货 西门子PLC代理商有限公司代理商,西门子数控NCU代理商,西门子电缆代理商

西门子S7-200系列PLC的MODBUS通信功能(二)
在上一篇文章中我们说到了MODBUS RTU 协议的信息帧的格式,同时也跟到大家提到了如何通过从站设备提供的通信说明中的信息帧格式及地址去准备相应的数据,那么我们主要说一下S7-200系列PLC中MODBUS RTU库指令意思。
在S7-200SMART系列PLC中的库指令中集成了MODBUS RTU通信的库指令,库指令中包含了S7-200SMART系列PLC作为主站功能的库指令及S7-200SMART系列PLC作为从站功能的库指令(如下图所示)
在这里我们主要介绍下主站的库指令,主站的库指令中根据所使用的通信口的个数不一样分为两个,若使用时PLC的本体的RS485端口需要作为modbus的主站功能,而扩展的RS485的信号板又需要作为MODBUS的主站的功能,那么前者使用*个主站库的指令,后者可以使用第二个主站库指令,每个主站库指令中都有两个指令,分别为初始化指令MBUS_CTRL ,数据读写发送请求指令MBUS_MSG指令。下面我们对这两个指令的意思以及指令上的管脚进行一些说明。
MBUS_CTRL指令

EN:初始化指令使能端,需要保持每个扫描周期都接通
Mode:通信协议的选择,若需选择MODBUS RTU通信,这需要保持该位为1状态,所以此处可以使用SM0.0接通。
Baud:通信波特率的设置
Parity:奇偶校验的选择,0表示无校验,1表示奇校验,2表示偶校验
Port :端口号设置,若使用PLC本体上的RS485端口,则应选择为0(注意S7-200PLC中的库指令中的MBUS_CTRL没有此管脚)
Timeout: 该参数用于确定 Modbus 从站设备是否对主站发出请求做出响应。若达到设定值后,还未获得从站的响应,则PLC认为从站出问题,同时MBUS-MSG指令中的故障代码存储器中会存储相应的故障代码,同时完成位的状态为1.
Done:完成位,当初始化完成后,该位的状态为1,编写程序时,可以根据这个完成位来判断初始化是否完成,完成后可以用于激活MBUS_MSG指令进行数据请求的发送,(需要注意是:初始化完成后,至少需要过一个扫描周期后,才能去激活MBUS-MSG指令,否则可能通信不*)
Error:故障代码存储器(使用一个字节进行存储),当初始化出现错误后,在故障存储器中会产生一个代码,查看指令帮助中的代码说明,可以查看到可能出错的原因是什么。
MBUS_MSG指令
EN:指令的使能
MBUS_MSG指令使用时一定要注意的一点就是,同一个扫描周期内,只能由一条MBUS_MSG的EN端的状态为1.如果在一个扫描周期内出现2条及2条以上的MBUS_MSG的EN端的状态为1的情况。则MBUS_MSG指令中的故障代码的值会为6,通信会不*。
First:触发请求,仅保持一个扫描周期的时长 ,因此在使用时需要使用沿脉冲进行触发。
Slave:从站站号,根据从站中设置的地址进行填写
RW:读写操作选择,0表示读,1表示写,若控制变频器运行,使用写的功能,若需要读取变频器的电流等需要用读的命令。
Addr:起始的MODBUS寄存器地址,此地址使用时一定要正确编写。
MODBUS寄存器的地址,根据功能码的不一样,主要有4种类型的表示方式,分别为0XXXX(读写线圈状态),1XXXX(读开关输入状态),3XXXX(读输入寄存器),4XXXX(读写保持寄存器)四种类型,对于第四种类型4XXXX的类型,地址可以扩展,扩展为4XXXXX六位数的类型格式。
各功能码对应的MODBUS地址寄存器类型如下图所示,而每种地址的起始地址都是从0001开始,而且都是以十进制数进行表示的。
地址类型确认后,如何来确定输入的地址呢?
该地址的确定与在上篇文章中提到的MODBUS RTU信息帧格式中的Data内容有关,Data的内容包括两部分内容,一部分内容为数据区的地址,一部为数据区的内容,则此处的MODBUS寄存器的地址与数据区的地址有关。
此处中的数据区的地址,指的是寄存器地址,从图中可以看到他的范围是从十六进制数的0000到十六进制数的FFFF,因此从这我们可以看到功能码为06,对应的寄存器地址是0000的时候,那么在我们MBUS_MSG指令中的Adder的地址应填写为40001(因为都是表示的*个地址,需要一一对应上)。

根据这个计算方法,我们可以写出 在上一篇文章中提到的控制变频器运行的寄存器地址对应都MBUS_MSG指令中Adder的地址为:
功能码为06,所以类型为4XXXX的类型,地址为16# 3200,相对于16#0000来讲,偏移了12800.(此为十进制数)所以对应到MBUS_MSG指令中的地址为在1的基础上上偏移12800,即12801,而功能码06对应的类型为4,所以我们在使用时应在MBUS_MSG指令的Adder出填写412801这个地址。
Cont:读写的格式,表示从adder这个管脚指的的地址开始的连续个地址进行数据的读写。
Dataptr:读写数据存放的地址,使用指针的方式表示,实际地址以十六位的方式表示,假设使用的地址是&VB100。前面的指令管脚定义的是对变频器运行命令的控制,则当把16#1001写入到VW100中,则电机正转运行,若把16#1003写入到VW100中,则表示的是反转运行。若是读取的功能,假设MBUS_MSG指令中adder为413077,count为2,Dataptr为&VB102, 则表示把413077这个地址中的数据读取出来存放于VW102,把413078的数据读取出来存放于VW104中。
Done:完成位。当执行完成后,该为位1,因此当出现需要使用多个MBUS_MSG指令是,可以使用每个指令的Done来实现轮询的功能。
Error:故障代码存储器,方便查询通信故障。
西门子(SIEMENS)公司的PLC产品包括LOGO,S7-200,S7-300,S7-400,工业网络,HMI人机界面,工业软件等。德国西门子(SIEMENS)公司生产的可编程序控制器在我国的应用也相当广泛,在冶金、化工、印刷生产线等领域都有应用。
西门子S7系列PLC体积小、速度快、标准化,具有网络通信能力,功能更强,可靠性更高。S7系列PLC产品可分为微型PLC(如S7-200),小规模性能要求的PLC(如S7-300)和中、高性能要求的PLC(如S7-400)等。
1.SIMATIC S7-200 PLC
S7-200 PLC是小型化的PLC,它适用于各行各业,各种场合中的自动检测、监测及控制等。S7-200 PLC的强大功能使其无论单机运行,或连成网络都能实现复杂的控制功能。

S7-200PLC可提供4个不同的基本型号与8种CPU可供选择使用。
2.SIMATIC S7-300 PLC
S7-300是模块化小型PLC系统,能满足中等性能要求的应用。各种单独的模块之间可进行广泛组合构成不同要求的系统。与S7-200 PLC比较,S7-300 PLC采用模块化结构,具备高速(0.6~0.1μs)的指令运算速度;用浮点数运算比较有效地实现了更为复杂的算术运算;一个带标准用户接口的软件工具方便用户给所有模块进行参数赋值;方便的人机界面服务已经集成在S7-300操作系统内,人机对话的编程要求大大减少。SIMATIC人机界面(HMI)从S7-300中取得数据,S7-300按用户的刷新速度传送这些数据。S7-300操作系统自动地处理数据的传送;CPU的智能化的诊断系统连续监控系统的功能是否正常、记录错误和特殊系统事件(例如:时,模块更换,等等);多级口令保护可以使用户高度、有效地保护其技术机密,防止未经允许的复制和修改;S7-300 PLC设有操作方式选择开关,操作方式选择开关像钥匙一样可以拔出,当钥匙拔出时,就不能改变操作方式,这样就可防止非法删除或改写用户程序。具备强大的通信功能,S7-300 PLC可通过编程软件Step 7的用户界面提供通信组态功能,这使得组态非常容易、简单。S7-300 PLC具有多种不同的通信接口,并通过多种通信处理器来连接AS-I总线接口和工业以太网总线系统;串行通信处理器用来连接点到点的通信系统;多点接口(MPI)集成在CPU中,用于同时连接编程器、PC机、人机界面系统及其他SIMATIC S7/M7/C7等自动化控制系统。
3. SIMATIC S7-400 PLC
S7-400 PLC是用于中、*性能范围的可编程序控制器。
S7-400 PLC采用模块化无风扇的设计,可靠耐用,同时可以选用多种级别(功能逐步升级)的CPU,并配有多种通用功能的模板,这使用户能根据需要组合成不同的系统。当控制系统规模扩大或升级时,只要适当地增加一些模板,便能使系统升级和充分满足需要。
4.工业通讯网络
通讯网络是自动化系统的支柱,西门子的全集成自动化网络平台提供了从控制级一直到现场级的一致性通讯,“SIMATIC NET”是全部网络系列产品的称,他们能在工厂的不同部门,在不同的自动化站以及通过不同的级交换数据,有标准的接口并且相互之间完全兼容。
5.人机界面(HMI)硬件
HMI硬件配合PLC使用,为用户提供数据、图形和事件显示,主要有文本操作面板TD200(可显示中文),OP3,OP7,OP17等;图形/文本操作面板OP27,OP37等,触摸屏操作面板TP7,TP27/37,TP170A/B等;SIMATIC面板型PC670等。个人计算机(PC)也可以作为HMI硬件使用。HMI硬件需要经过软件(如ProTool)组态才能配合PLC使用。

6. SIMATIC S7工业软件
西门子的工业软件分为三个不同的种类:
(1)编程和工程工具 编程和工程工具包括所有基于PLC或PC用于编程、组态、模拟和维护等控制所需的工具。STEP 7标准软件包SIMATIC S7是用于S7-300/400,C7 PLC和SIMATIC WinAC基于PC控制产品的组态编程和维护的项目管理工具,STEP 7-Micro/WIN是在Windows平台上运行的S7-200系列PLC的编程、在线仿真软件。
(2)基于PC的控制软件 基于PC的控制系统WinAC允许使用个人计算机作为可编程序控制器(PLC)运行用户的程序,运行在安装了Windows NT4.0操作系统的SIMATIC工控机或其它任何商用机。WinAC提供两种PLC,一种是软件PLC,在用户计算机上作为视窗任务运行。另一种是插槽PLC(在用户计算机上安装一个PC卡),它具有硬件PLC的全部功能。WinAC与SIMATIC S7系列处理器完全兼容,其编程采用统一的SIMATIC编程工具(如STEP 7),编制的程序既可运行在WinAC上,也可运行在S7系列处理器上。
(3)人机界面软件 人机界面软件为用户自动化项目提供人机界面(HMI)或SCADA系统,支持大范围的平台。人机界面软件有两种,一种是应用于机器级的ProTool,另一种是应用于监控级的WinCC。
ProTool适用于大部分HMI硬件的组态,从操作员面板到标准PC都可以用集成在STEP 7中的ProTool有效地完成组态。ProTool/lite用于文本显示的组态,如:OP3,OP7,OP17,TD17等。ProTool/Pro用于组态标准PC和所有西门子HMI产品,ProTool/Pro不只是组态软件,其运行版也用于Windows平台的监控系统。
WinCC是一个真正开放的,面向监控与数据采集的SCADA(Supervisory Control and Data Acquisition)软件,可在任何标准PC上运行。WinCC操作简单,系统可靠性高,与STEP 7功能集成,可直接进入PLC的硬件故障系统,节省项目开发时间。它的设计适合于广泛的应用,可以连接到已存在的自动化环境中,有大量的通信接口和全面的过程信息和数据处理能力,其总线新的WinCC5.0支持在办公室通过IE浏览器动态监控生产过程。
