企业信息

    湖南环辰泰瑞电气设备有限公司

  • 8
  • 公司认证: 营业执照已认证
  • 企业性质:
    成立时间:
  • 公司地址: 湖南省 长沙 长沙县 星沙街道 湖南省长沙县安沙镇谭访新村腰塘组617号
  • 姓名: 彭东
  • 认证: 手机已认证 身份证未认证 微信未绑定

    西门子PLC模块6ES7323-1BL00-0AA0 原厂原装正品

  • 所属行业:仪器仪表 电子元器件 连接器/接插件
  • 发布日期:2018-09-20
  • 阅读量:173
  • 价格:面议
  • 产品规格:不限
  • 产品数量:9999.00 台
  • 包装说明:不限
  • 发货地址:湖南长沙长沙县星沙街道  
  • 关键词:西门子PLC模块6ES7323-1BL00-0AA0

    西门子PLC模块6ES7323-1BL00-0AA0 原厂原装正品详细内容

    问题1:S7-200 CPU内部存储区类型?

    回答:S7-200 CPU内部存储区分为易失性的RAM存储区和*保持的EEPROM两种,其中RAM包含CPU工作存储区和数据区域中的V数据存储区、M数据存储区、T(定时器)区和C(计数器)区,EEPROM包含程序存储区、V数据存储区的全部和M数据存储区的前14个字节。

    也就是说V区和MB0-MB13这些区域都有对应的EEPROM*保持区域。

    EEPROM的写操作次数是有限制的(较少10万次,典型值为100万次),所以请注意只在必要时才进行保存操作。否则,EEPROM可能会失效,从而引起CPU故障。

    EEPROM的写入次数如果**过限制之后,该CPU即不能使用了,需要整体更换CPU,不能够只更换CPU内EEPROM,西门子不提供这项服务。

    问题2:S7-200 CPU的存储卡的作用?

    回答:S7-200还提供三种类型的存储卡用于*存储程序,数据块,系统块,数据记录(归档)、配方数据,以及一些其他文件等,这些存储卡不能用于实时存储数据,只能通过PLC—存储卡编程的方法将程序块/数据块/系统块的初始设置存于存储卡内。

    存储卡分为两种,根据大小共有三个型号。

    32K存储卡:仅用于储存和传递程序、数据块和强制值。32K存储卡只可以用于向新版(23版)CPU传递程序,新版CPU不能向32K存储卡中写入任何数据。而且32K存储卡不支持存储程序以外的其他功能。订货号:6ES7 291-8GE20-0XA0。

    64K/256K存储卡:可用于新版CPU(23版)保存程序、数据块和强制值、配方、数据记录和其他文件(如项目文件、图片等)。64K/256K新存储卡只能用于新版CPU(23版)。64K存储卡订货号: 6ES7 291-8GF23-0XA0;256K存储卡订货号:6ES7 291-8GH23-0XA0。

    为了把存储卡中的程序送到CPU中,必须先插入存储卡,然后给CPU上电,程序和数据将自动复制到RAM及EEPROM中。

    存储卡的使用完整限制条件,请参考《S7-200系统手册》附录A 技术规范—可选卡件一节。

    S7-200的外部存储卡有哪些功能?

    459464

    问题3:S7-200 CPU内的程序是否具有掉电保持特性?

    回答:S7-200 CPU内的程序块下载时,会同时下载到EEPROM中,也就是说程序下载后,将*保持。同样,系统块和数据块下载时,也会同时下载到EEPROM中。

    问题4:S7-200 CPU内部的数据的掉电保持特性?

    回答:S7-200系统手册*四章——“PLC基本概念”一章中“理解S7--200如何保存和存储数据”一节详细介绍了S7-200 CPU内数据的掉电保持特性,建议用户仔细阅读。

    S7-200 CPU内的数据分为RAM区和EEPROM区。

    其中,RAM区数据需要CPU内置的**级电容或者外插电池卡才能实现掉电保持特性。

    对于CPU221和CPU222的内置**级电容,能提供典型值约50小时的数据保持。

    对于CPU224,CPU224XP,CPU224XPsi和CPU226的内置**级电容,能提供典型值约100小时的数据保持。

    **级电容需要在CPU上电时充电。为达到上述指标的数据保持时间,需要连续充电至少24小时。

    当该时间不够时,可以购买电池卡,以获得更长时间的数据保持时间。

    EEPROM区能实现数据*保持,不依靠**级电容或者电池就可以保持数据。

    问题5:S7-200 CPU内部数据的工作顺序?

    回答:S7-200 CPU一上电后,CPU先去检查RAM区域中的数据,如果在**级电容或者电池有电的情况下,数据并未丢失,则使用该RAM区的数据;如果**级电容或者电池没电了,导致数据丢失,则CPU去读EEPROM中相应的区域(包含数据块中的数据定义内容),如果在EEPROM中存有*保持的数据,则CPU将EEPROM中的数据写回到RAM区中,再进行下面的工作。

    如果EEPROM中也没有对应存储区的数据了,则该存储区的数据将变成0。

    问题6:S7-200 CPU电池卡的使用注意事项?

    回答:新版S7-200 CPU电池卡有两种型号。

    对于CPU221和CPU222,由于其中没有实时时钟,则对应的为时钟电池卡,订货号为:6ES7297--1AA23--0XA0。

    对于CPU224,CPU224XP,CPU224XPsi和CPU226,电池卡仅提供电池功能,订货号为:6ES7 291--8BA20--0XA0,该款电池卡型号又叫做BC293。

    电池卡的寿命典型值约为200天,当插上电池卡后,如果CPU处于工作状态或者**级电容有电的情况下,并不消耗电池卡的电量。当电池卡的电量消耗完毕之后,该电池卡就报废了。

    S7-200电池卡不能充电,使用完毕就不能再用了,只能购买新的电池卡了。

    S7-200没有检测电池卡内剩余电量的状态位和这种功能。

    新版S7-200 CPU电池卡不能用于老CPU,即订货号为6ES7xxx-xxx21-0XB0和6ES7xxx-xxx22-0XB0以及更老版本的CPU。


    图1

    以上为两种电池卡以及所在插槽位置。

    电池卡的使用完整限制条件,请参考《S7-200系统手册》附录A 技术规范—可选卡件一节。

    问题7:S7-200 CPU内EEPROM的使用方法?

    回答:EEPROM的写入分为如下几种情况:

    1、MB0—MB13的设置,只需要在系统块—断电数据保持中设置即可。

    默认情况下,系统块设置如下图蓝框中所示,即MB14—MB31,这些区域没有对应的EEPROM区域,无须考虑EEPROM写入次数限制。


    图2

    MB0—MB13如果在系统块中设置成掉电保持区域,如图2红框中所示,并将系统块下载到CPU之后,则这14个字节的数据在掉电的瞬间会将数值写入EEPROM中,如果掉电时间**过**级电容和电池的保持时间之后,再上电时,CPU会将EEPROM中存储的数据数值写回到RAM中对应的存储区,实现*保持数据的目的。

    注意:实现该功能一定要将修改过的系统块下载到CPU中。

    2、数据块中定义的数据,如图3所示,当下载数据块的时候,同时会将定义的数据下载到EEPROM中,这样,当掉电时间**过**级电容和电池的保持时间之后,再上电时,CPU会将EEPROM中存储的数据块中定义的数据数值写回到RAM中对应的存储区,实现*保持数据的目的。也就是恢复成数据的初始设置值。

    注意:实现该功能一定要将定义好数据的数据块下载到CPU中。


    图3

    3、使用SMB31和SMW32控制字来实现将V区的数据存到EEPROM中

    特殊存储器字节31 (SMB31)命令S7-200将V存储区中的某个值复制到*存储器的V存储区,置位SM31.7提供了初始化存储操作的命令。特殊存储器字32 (SMW32)中存储所要复制数据的地址。如图4为S7-200系统手册内关于SMB31和SMW32的使用说明。


    图4

    采用下列步骤来保存或者写入V存储区中的一个特定数值:

    1. 将要保存的V存储器的地址装载到SMW32中。

    2. 将数据长度装载入SM31.0和SM31.1。具体含义如图4所示。

    3. 将SM31.7置为1。


    图5

    注意:如果在数据块中定义了某地址的数据,而又使用这种办法存储同样地址的数据,则当CPU内**级电容或电池没电时,CPU再上电时将采用SMB31和SMW32存储的数据。

    问题8:EEPROM写入次数的统计?

    回答:每次下载程序块/数据块/系统块或者执行一次SMB31.7置位的操作都算作对EEPROM的一次写操作,所以请注意在程序中一定不要每周期都调用SMB31/SMW32用于将数据写入EEPROM内,否则CPU将很快报废。

    问题9:不使用数据块的方法,如何在程序中实现不止一个V区数据的存储?

    回答:由于SMB31/SMW32一次较多只能送入一个V区双字给EEPROM区域,因而当有**过一个双字的数据需要送入EEPROM中时,需要程序配合实现。具体操作方法可参照如下的例子,即使用SMB31/SMW32送完一个数据(字节/字/双字)之后,通过一个标志位(如M0.0)来触发下一个SMB31/SMW32操作,之后需要将上一个标志位清零,以用于下一次的存储数据的操作。



    由于SM31.7在每次操作结束之后都自动复位,因而不能使用它作为*二次触发操作的条件。

    以上程序仅供参考。

    或者可以参考如下FAQ,多次调用指令库用以存储多个V区变量到EEPROM存储区中:

    如何在 CPU 内部 EEPROM 存储空间中*保存变量区域?

    17471561

    问题10:定时器和计数器以及MB14-MB31的掉电保持性能?

    回答:计数器和TONR型的定时器(T0-T31,T64-T95)能够实现掉电保持。这些区域只能由**级电容和电池来进行数据的掉电保持,他们并没有对应的EEPROM*保持存储区。当**过**级电容和电池供电的时间之后,这些计数器和TONR定时器的数据全部清零。

    TON和TOF型的定时器(T32-T63,T96-T255)没有掉电保持数据的功能。请不要在系统块中设置这些区域为掉电保持,如图6所示为错误做法:


    图6

    按上述做法设置之后,下载系统块时会导致如下错误发生:


    图7

    所以请不要将T32-T63,T96-T255的定时器设为掉电保持区域。

    问题11:CPU内具备断电保持性的数据区为何会丢失?

    以下情况会导致CPU内数据清零:

    1. 没有插入电池卡的CPU断电时间过长,内部**级电容放电完毕,TONR区/C区/MB14-MB31区数据丢失,V区和MB0-MB13区的对应EEPROM内没有数据导致数据丢失,

    2. 电池卡使用时间过长,使之没电了, TONR区/C区/MB14-MB31区数据丢失,V区和MB0-MB13区的对应EEPROM内没有数据导致数据丢失,

    3. 插在CPU上的存储卡内程序/数据与CPU内部RAM中运行的程序/数据不符,一上电时会导致原有数据/程序的丢失。

    4. CPU损坏。

    S7-200模拟量模块系列

    模拟信号是指在一定范围内连续的信号(如电压、电流),这个“一定范围”可以理解为模拟量的有效量程。在使用S7-200模拟量时,需要注意信号量程范围,拨码开关设置,模块规范接线,指示灯状态等信息。

    本文中,我们按照S7-200模拟量模块类型进行分类介绍:

    1.AI 模拟量输入模块?

    2.AO模拟量输出模块?

    3.AI/AO模拟量输入输出模块

    4.常见问题分析

    首先,请参见“S7-200模拟量全系列总览表”,初步了解S7-200模拟量系列的基本信息,具体内容请参见下文详细说明: 



     

    AI 模拟量输入模块

    A. 普通模拟量输入模块:

    如果,传感器输出的模拟量是电压或电流信号(如±10V或0~20mA),可以选用普通的模拟量输入模块,通过拨码开关设置来选择输入信号量程。注意:按照规范接线,尽量依据模块上的通道顺序使用(A->D),且未接信号的通道应短接。具体请参看《S7-200可编程控制器系统手册》的附录A-模拟量模块介绍。

    4AI EM231模块:

    首先,模拟量输入模块可以通过设置拨码开关来选择信号量程。开关的设置应用于整个模块,一个模块只能设置为一种测量范围,且开关设置只有在重新上电后才能生效。也就是说,拨码设置一经确定后,这4个通道的量程也就确定了。如下表所示:


    注:表中0~5V和0~20mA(4~20mA)的拨码开关设置是一样的,也就是说,当拨码开关设置为这种时,输入通道的信号量程,可以是0~5V,也可以是0~20mA。

    8AI EM231模块:

    8AI的EM231模块,*0->5通道只能用做电压输入,只有第6、7两通道可以用做电流输入,使用拨码开关1、2对其进行设置:当sw1=ON,通道6用做电流输入;sw2=ON时,通道7用做电流输入。反之,若选择为OFF,对应通道则为电压输入。


    注:当第6、7道选择为电流输入时,*0->5通道只能输入0-5V的电压。

    B. 测温模拟量输入模块(热电偶TC;热电阻RTD):

    如果,传感器是热电阻或热电偶,直接输出信号接模拟量输入,需要选择特殊的测温模块。测温模块分为热电阻模块EM231RTD和热电偶模块EM231TC。注意:不同的信号应该连接至相对应的模块,如:热电阻信号应该使用EM231RTD,而不能使用EM231TC。且同一模块的输入类型应该一致,如:Pt1000和Pt100不能同时应用在一个热电阻模块上。

    热电偶模块TC: 

    EM231 TC支持J、K、E、N、S、T和R型热电偶,不支持B型热电偶。通过拨码设置,模块可以实现冷端补偿,但仍然需要补偿导线进行热电偶的自由端补偿。另外,该模块具有断线检测功能,未用通道应当短接,或者并联到旁边的实际接线通道上。?

    热电阻模块RTD:

    热电阻的阻值能够随着温度的变化而变化,且阻值与温度具有一定的数学关系,这种关系是电阻变化率α。RTD模块的拨码开关设置与α有关,如下图所示,就算同是 Pt100,α值不同时拨码开关的设置也不同。在选择热电阻时,请尽量弄清楚α参数,按 照对应的拨码去设置。具体请参看《S7-200可编程控制器系统手册》的附录A-热电偶和热电阻扩展模块介绍。


    EM231 RTD模块具有断线检测功能,未用通道不能悬空,接法方式如下:

    (1)请将一个电阻按照与已用通道相同的接线方式连接到空的通道,注意:电阻的阻值必须和RTD的标称值相同;

    (2)将已经接好的那一路热电阻的所有引线,一一对应连接到空的通道上。

    因为热电阻分2线制、3线制、4线制,所以RTD模块与热电阻的接线有3种方式,如图所示。其中,精度较高的是4线连接,精度较低的是2线连接。


    提示:

    (1). 在STEP7 Micor/WIN软件中(S7-200的编程软件),对于模拟量输入通道设有软件滤波功能,如图所示,具体请参见《S7-200 ? LOGO? SITOP 参考》->系统块-模拟量滤波。

    但是,在系统块中设置模拟量通道滤波时,RTD和TC模块占用的模拟量通道,应禁止滤波功能。

    西门子SM DT16模块

    (2) EM231 TC和RTD模块上,均有24V电源指示灯和SF故障指示灯。如图所示:(a)若24V电源指示灯=OFF,则说明该模块没有24V工作电源;(b)若SF红灯闪烁,原因可能是:模块内部软件检测出外接断线,或者输入**出范围。 


    注:具体请参见:《S7-200 ? LOGO? SITOP 参考》->EM231 RTD/EM231 TC。

    AO模拟量输出模块

    S7-200的扩展模块里,分别有2路、4路的模拟量输出模块EM232。根据接线方式(M-V或M-I)选择输出信号类型,电压:±10V,电流:0~20mA(4~20mA)。

    AI/AO模拟量输入输出模块

    (A) CPU模块本体集成的2路AI和1路AO

    S7-200只有CPU 224XP和CPU224XPsi,本体集成有模拟量通道。其中,2路AI是:电压信号±10V,1路AO是:电压信号0~10V;或者电流信号0~20mA(4~20mA),输出信号类型可以通过硬件接线来选择。

    (B) EM235模拟量输入输出模块

    EM235模块有4路AI和1路AO。通过拨码开关设置来选择4路AI通道的输入信号程,如下表所示,这个模块可以测量毫伏级(mV)的信号;1路AO是:电压信号 ±10V;或电流信号0~20mA(4~20mA),可以根据硬件接线方式(M-V或M-I)选择输出信号类型。


    注:模块上的电位计是用来调节输入信号和转换数值的放大关系,在模块出厂时已经设置好了,如*要,请不要随意更改。

    常见问题分析

    A.模拟量输入与数字量的对应关系:

    模拟量信号(0~10V,0~5V或0~20mA)在S7-200 CPU内部用0~32000的数值表示(注:4~20mA对应6400~32000),这两者之间有一定的数学关系,如图所示: 


    B.模拟量模块的硬件接线介绍

    (1)CPU 224 XP集成有2路电压输入,接线方法见a:分别为A+和M、B+和M,此时只能输入±10V 电压信号。

    CPU 224XP还集成有1路模拟量输出信号。电流输出如图b,将负载接在I和M端子之间;电压输出如图c,将负载接在V和M端子之间。


    (2)模拟量输入的接线方式 

    以4AI EM231模块为例,分别介绍电压、电流型输入信号的接线方式,如图所示。注意:此接线图是一个示意图,表述的是不同的接线方式,并不是指该模块只有A通道可以接入电压,B通道必须悬空,C和D通道只能接入电流。


    当您的信号为电压输入时可以参考接线方法a,以此类推。

    方式a. 电压输入方式:信号正接A+;信号负接A-;

    方式b. 未用通道接法(不要悬空):未用通道需短接,如B+和B-短接;

    方式c. 电流输入方式(四线制):信号正接C+,同时C+与RC短接;信号负接C-,同时C-和模块的M端短接。

    方式d. 电流输入方式(两线制):信号线接D+,同时D+与RD短接;电源M端接D-,同时和模块的M端短接。

    注:具体请参见:《S7-200 ? LOGO? SITOP 参考》->模拟量模块接线。

    (3)电流型信号输入接线方式 

    电流型信号的接线方式,分为四线制、三线制、二线制接法。这里讨论的“几线制”,是以传感器或仪表变送器是否需要外供电源来区别的,而并不是指EM231模块需要几根信号线,或该变送器的信号线输出。

    a. 四线制-电流型信号的接法: 

    四线制信号是指信号设备本身外接供电电源,同时有信号+、信号-两根信号线输出。供电电源可有220VAC或24VDC,接线如图所示:


    b. 三线制-电流型信号的接法: 

    三线制信号是指信号设备本身外接供电电源,只有一根信号线输出,该信号线与电源线共用公共端,通常情况是共负端的。接线如图所示:


    注:若设备的24VDC供电电源与EM231模块的供电电源不是同一个电源,那么,需要将模块的M端与该通道的负端引脚短接(如,M和C-短接)。这是为了使模块与测量通道工作在同一的参考电压,也就是等电位。下面的二线制接法同理。

    c. 二线制-电流型信号的接法: 

    二线制信号是指信号设备本身只有两根外接线,设备的工作电源由信号线提供,即其中一根线接电源,另一根线是信号输出。接线如图所示:


    C.224XP本体集成的AI,能否接电流信号0~20mA? 

    首先,这两路模拟量输入通道可以接收±10V的电压信号,不能直接接收电流信号。若使用该通道接收电流信号,会有一定的风险,可能导致测量的不准确或模块的损坏等等。

    3RW4026-1BB05

    3RW4026-1BB14

    3RW4026-1BB15

    3RW4026-1TB04

    3RW4026-1TB05

    3RW4026-2BB04

    3RW4026-2BB05

    3RW4026-2BB14

    3RW4026-2BB15

    3RW4026-2TB04

    3RW4026-2TB05

    3RW4027-1BB04

    3RW4027-1BB05

    3RW4027-1BB15

    3RW4027-1TB04

    3RW4027-1TB05

    3RW4027-2BB04

    3RW4027-2BB05

    3RW4027-2BB14

    3RW4027-2BB15

    3RW4027-2TB04

    3RW4027-2TB05

    3RW4028-1BB04

    3RW4028-1BB05

    3RW4028-1BB14

    3RW4028-1BB15

    3RW4028-1TB04

    3RW4028-1TB05

    3RW4028-2BB04

    3RW4028-2BB05

    3RW4028-2BB14

    3RW4028-2BB15

    3RW4028-2TB04

    3RW4028-2TB05

    3RW4036-1BB04

    3RW4036-1BB05

    3RW4036-1BB14

    3RW4036-1BB15

    3RW4036-1TB04

    3RW4036-1TB05

    3RW4036-2BB04

    3RW4036-2BB05

    3RW4036-2BB14

    3RW4036-2BB15

    3RW4036-2TB04

    3RW4036-2TB05

    3RW4037-1BB04

    3RW4037-1BB05

    3RW4037-1BB14

    3RW4037-1BB15

    3RW4037-1TB04

    3RW4037-1TB05

    3RW4037-2BB04

    3RW4037-2BB05

    3RW4037-2BB14

    3RW4037-2BB15

    3RW4037-2TB04

    3RW4037-2TB05

    3RW4038-1BB04

    3RW4038-1BB05

    3RW4038-1BB14

    3RW4038-1BB15

    3RW4038-1TB04

    3RW4038-1TB05

    3RW4038-2BB04

    3RW4038-2BB05

    3RW4038-2BB14

    3RW4038-2BB15

    3RW4038-2TB04

    3RW4038-2TB05

    3RW4046-1BB04

    3RW4046-1BB05

    3RW4046-1BB14

    3RW4046-1BB15

    3RW4046-1TB04

    3RW4046-1TB05



    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 的软件编写。此软件可以从西门子下载中心免费下载,也可以从以下的链接下载。

    //www..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相关的指令,该软件包可以从以下的链接下载。//www..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停机,然后下载,操作过程如下所示。

    西门子EM CM01模块

    图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存储区需要在设定的较小和较大的范围之间,如果访问的区域**出这个范围,则访问会被拒绝,同时输出报错误信息。

     

    西门子S7-300电源模板    

    6ES7307-1BA00-0AA0    西门子电源模块(2A)

    6ES7307-1EA00-0AA0    西门子电源模块(5A)

    6ES7307-1KA01-0AA0    西门子电源模块(10A)

    西门子S7-300CPU    

    6ES7312-1AE13-0AB0    西门子CPU312,32K内存  MPI协议

    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内存

    西门子S7-300内存卡    

    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)

    西门子S7-300开关量模板    

    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    西门子开入模块(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-5FF0


    http://f18374336999.cn.b2b168.com
    欢迎来到湖南环辰泰瑞电气设备有限公司网站, 具体地址是湖南省长沙长沙县湖南省长沙县安沙镇谭访新村腰塘组617号 ,联系人是彭东。 主要经营湖南环辰泰瑞电气设备有限公司 在经营活动中精益求精,具备如下业务优势: SIEMENS 可编程控制器   1、 SIMATIC S7 系列PLC、S7200、s71200、S7300、S7400、ET200   2、 逻辑控制模块 LOGO!230RC、230RCO、230RCL。 单位注册资金未知。 我们公司主要供应西门子卡件,西门子S7-300卡件等产品,我们的产品货真价实,性能可靠,欢迎电话咨询!