企业信息

    上海赞国自动化科技有限公司

  • 7
  • 公司认证: 营业执照已认证
  • 企业性质:私营企业
    成立时间:2014
  • 公司地址: 上海市 松江区 小昆山镇 上海市松江区鼎源路(时尚谷创意园)618弄72栋6楼
  • 姓名: 姚军
  • 认证: 手机未认证 身份证已认证 微信未绑定

    山西省SIMATICS7-1200 原装正品-货源充足

  • 所属行业:电气 工控电器
  • 发布日期:2018-12-06
  • 阅读量:233
  • 价格:面议
  • 产品规格:不限
  • 产品数量:9999.00 台
  • 包装说明:不限
  • 发货地址:上海松江小昆山  
  • 关键词:山西省SIMATICS7-1200

    山西省SIMATICS7-1200 原装正品-货源充足详细内容

    Modbus RTU

    概述

    S7-1200 CPU V4.1 版本以及 STEP 7 V13 SP1 扩展了 Modbus RTU 的功能,可以使用PROFINET 或 PROFIBUS 分布式 I/O 机架与各类设备(RFID 阅读器、GPS

    设备和其它)进行通信:

    ● PROFINET :可以将 S7-1200 CPU 的以太网接口连接至 PROFINET接口模块。可通过机架中 PtP 通信模块以接口模块实现与 PtP 设备的串行通信。

    ● PROFIBUS :在 S7-1200 CPU 机架左边插入 PROFIBUS 通信模块。将PROFIBUS 通信模块连接至 PROFIBUS 接口模块的机架。可通过机架中 PtP

    通信模块以接口模块实现与 PtP 设备的串行通信。

    出于这个原因,S7-1200 支持两组 PtP 指令:

    ● 早期 Modbus RTU 指令 :这些 Modbus RTU 指令存在于 S7-1200 的 V4.0版本之前,并且仅可通过 CM 1241 通信模块或 CB 1241 通信板进行串行通信。

    ● Modbus RTU 指令 :这些 Modbus RTU指令具备早期指令的所有功能,并且增添了连接 PROFINET 和 PROFIBUS 分布式I/O 的功能。借助 Modbus RTU 指令,

    您可组态分布式 I/O 机架中 PtP 通信模块与PtP 设备的之间通信。要使用这些 Modbus RTU 指令,S7-1200 CM 1241模块的固件版本不得低于 V2.1。

    说明

    用于 S7-1200 的 V4.1

    版本时,可以对所有类型的点对点通信使用点对点指令:串行通信、基于 PROFINET的串行通信和基于 PROFIBUS 的串行通信。STEP 7提供早期点对点指令的目的

    仅是为了支持现有程序。无论对于 V4.1 CPU 或 V4.0还是更早版本的 CPU,早期指令仍然有效。无须对之前程序的指令进行转换。

    选择 Modbus RTU  指令的版本

    在 STEP 7 中可使用两个版本的 Modbus RTU 指令:

    ● 版本 1.1 较初在 STEP 7 Basic/Professional V13 中提供。

    ● 版本 2.1 在 STEP 7 Basic/Professional V13 SP1 中提供。

    可以从兼容性和移植便利性方面考虑,选择将相应的指令版本插入用户程序中。

    不能将两个版本的指令用于同一模块,但不同的模块可以使用不同版本的指令。

    不要在同一 CPU 程序中同时使用 1.x 和 2.y 指令版本。 用户程序的 Modbus RTU

    指令必须具有相同的主版本号(1 1.x、2 2.y 或 V V.z)。

    主版本组内的各个指令可具有不同的次版本号 (1.x x)。

    单击指令树任务卡上的图标可启用指令树的标题和列

    要更改 Modbus RTU

    指令的版本,请从下拉列表中选择相应版本。

    可以选择一组指令或分别选择各个指令。

    使用指令树将 Modbus RTU 指令放入程序时,将在项目树中创建新的 FB 实例。

    在项目树的“PLC_x > 程序块 > 系统块 > 程序资源”(PLC_x > Program blocks > Systemblocks > Program resources) 下可看到新的 FB 实例。

    要确认程序中 Modbus RTU

    指令的版本,必须检查项目树的属性而不是程序编辑器中显示的框的属性。

    选择项目树的 Modbus RTU FB

    实例,单击右键,选择“属性”(Properties),然后选择“信息”(Information) 页查看 ModbusRTU 指令的版本号。

    可执行 Modbus_Comm_Load 来组态端口以使用 Modbus RTU 协议。 为使用 ModbusRTU 协议组态端口后,该端口只能由 Modbus_Master 或 Modbus_Slave 指令使

    用。

    对用于 Modbus 通信的每个通信端口,都必须执行一次 Modbus_Comm_Load 来组态。

    为要使用的每个端口分配一个一的 Modbus_Comm_Load 背景数据块。 较多可在 CPU中安装三个通信模块(RS232 或 RS485)和一个通信板 (RS485)。 从启动 

    OB 调用Modbus_Comm_Load 并执行它一次,或使用**个扫描系统标记发起调用以执行它一次。

    只有在必须更改波特率或奇偶校验等通信参数时,才再次执行 Modbus_Comm_Load。

    如果将 Modbus 库与分布式机架中的模块结合使用,则必须在一个循环中断例程中执行Modbus_Comm_Load 指令(例如,每秒或每隔 10 秒执行一次)。

    如果分布式机架的电源中断或者卸下了模块,则在模块恢复运行时,仅向 PtP 模块发送HWConfig 参数组。 由 Modbus_Master 启动的所有请求都会**时,并且 

    Modbus_Slave转入静默状态(对任何消息均无响应)。 循环执行 Modbus_Comm_Load解决了这些问题。

    将 Modbus_Master 或 Modbus_Slave 指令放入用户程序中时,将为其分配背景数据块。

    * Modbus_Comm_Load 指令的 MB_DB 参数时将引用该背景数据块。

    Modbus_Master  通信规则

    ● 必须先执行 MB_COMM_LOAD 组态端口,然后 Modbus_Master指令才能与该端口通信。

    ● 如果要将某个端口用于初始化 Modbus 主站请求,则 MB_SLAVE不应使用该端口。Modbus_Master执行的一个或多个实例可使用该端口,但是对于该端口,所有 

    Modbus_Master执行都必须使用同一个 Modbus_Master 背景数据块。

    ● Modbus 指令不使用通信中断事件来控制通信过程。用户程序必须轮询Modbus_Master 指令以了解传送和接收的完成情况。

    ● 建议对于给定的端口,从程序循环 OB 中调用所有 Modbus_Master执行。Modbus_Master指令只能在一个程序循环或循环/延时执行等级执行。它们不能同时在

    两种执行**级中执行。如果一个 Modbus_Master 指令被另一个执行**级更高的 Modbus_Master取代,将导致不正确的操作。Modbus_Master

    指令不能在启动、诊断或时间错误执行**级执行。

    ● Modbus_Master 指令启动传输后,必须连续执行已启用 EN输入的该实例,直到返回状态 DONE=1 或状态 ERROR=1为止。在这两个事件其中之一发生前,一个特

    殊的 Modbus_Master实例被视为已激活。原始实例激活后,调用已启用 REQ输入的其它任何实例都将导致错误。如果原始实例的连续执行过程停止,则请求状态

    保持激活一段时间,该时间由静态变量“Blocked_Proc_Timeout”*。一旦**出该时间段,则下一个使用激活的 REQ 输入调用的 Modbus_Master

    指令成为激活实例。这可以防止单个 Modbus_Master指令独占或锁定对端口的访问。如果在由静态变量“Blocked_Proc_Timeout”*的时间段内没有启用原始激

    活的实例,则下次执行此实例(未设置REQ)时将清除激活状态。如果设置了 REQ,则此次执行将启动新的Modbus_Master 请求,如同其它实例未曾激活一样。

    REQ  参数

    0 = 无请求;1 = 请求将数据传送到 Modbus 从站可使用电平或边沿触发的触点控制此输入。只要此输入启用,状态机便会启动,以确保在

    当前请求完成前不允许使用同一背景数据块的任何其它 Modbus_Master发出请求。在当前请求执行期间,将捕获所有其它输入状态并内部保存,直到接收到响应

    或检测到错误。

    如果在当前请求完成前 REQ 输入 = 1,从而再次执行 Modbus_Master的同一实例,则不会进行任何后续传送。但是,如果当前请求已完成,因为 REQ 输入 =

    1 而再次执行 Modbus_Master 时,便会发出新请求。

    DATA_ADDR  和 MODE  参数用于选择 Modbus  功能类型

    DATA_ADDR(从站中的 Modbus 起始地址):*要在 Modbus从站中访问的数据的起始地址。

    Modbus_Master 指令使用 MODE 输入而非功能代码输入。MODE 和 Modbus地址一起确定实际 Modbus 消息中使用的功能代码。下表列出了 MODE 参数、Modbus

    功能代码和 Modbus 地址范围之间的对应关系。


    对于“扩展寻址”模式,根据功能所使用的数据类型,数据的较大长度将减小 1 个字节或 1 个字。

    DATA_PTR  参数

    DATA_PTR 参数指向要写入或读取的 DB 或 M地址。如果使用数据块,则必须创建一个全局数据块为读写 Modbus从站提供数据存储位置。

    说明

    DATA_PTR  数据块类型必须允许直接寻址该数据块必须允许直接(**)寻址和符号寻址。创建该数据块时,必须选择“标准”(Standard) 访问属性。

    DATA_PTR  参数的数据块结构

    ● 这些数据类型对 Modbus 地址 30001 到 39999、40001 到 49999 和 400001 到465536 的 字读取有效,对 Modbus 地址 40001 到 49999 和 400001 到 

    465536的 字写入也有效。

    – WORD、UINT 或 INT 数据类型的标准数组

    – *的 WORD、UINT 或 INT 结构,其中每个元素都具有一的名称和 16

    位数据类型。

    – *的复杂结构,其中每个元素都具有一的名称以及 16 或 32 位数据类型。

    ● 用于 Modbus 地址 00001 到 09999 的 位读取和写入和 10001 到 19999 的位读取。

    – 布尔数据类型的标准数组。

    – 一命名的布尔变量的已命名布尔结构。

    ● 尽管不是必需的,但还是建议每个 Modbus_Master指令都具有各自的单独存储区。此建议的原因在于,如果多个 Modbus_Master指令读取和写入同一个存储

    区,发生数据损坏的可能性会更大。

    ● 不要求 DATA_PTR

    数据区位于同一个全局数据块中。可创建一个具有多个区域的数据块供 Modbus读取、一个数据块供 Modbus 写入或一个数据块用于各个从站。


    CPU 存储器

    6ES79548LC020AA0

    S7-1200 4M 存储卡

    6ES79548LE020AA0

    S7-1200 12M 存储卡

    6ES79548LF020AA0

    S7-1200 24M 存储卡

    6ES79548LL020AA0

    S7-1200 256M 存储卡

    6ES79548LP020AA0

    S7-1200 2G 存储卡

    6ES79548LT020AA0

    S7-1200 32G 存储卡

    购买请按订货号购买


    存储器管理

    CPU 提供了以下用于存储用户程序、数据和组态的存储区:

    ● 装载存储器,用于非易失性地存储用户程序、数据和组态。 将项目下载到 CPU后,CPU 会先将程序存储在装载存储区中。 该存储区位于存储卡(如存在)或 CPU中。 CPU 能够在断电后

    继续保持该非易失性存储区。 存储卡支持的存储空间比 CPU内置的存储空间更大。

    ● 工作存储器是易失性存储器,用于在执行用户程序时存储用户项目的某些内容。 CPU会将一些项目内容从装载存储器复制到工作存储器中。该易失性存储区将在断电后丢失,而在恢复供电时

    由 CPU 恢复。

    ● 保持性存储器,用于非易失性地存储**的工作存储器值。 断电过程中,CPU使用保持性存储区存储所选用户存储单元的值。 如果发生断电或掉电,CPU将在上电时恢复这些保持性值。

    要显示编译程序块的存储器使用情况,请右键单击 STEP 7 项目树中“程序块”(Programblocks) 文件夹中的块,然后从上下文菜单中选择“资源”(Resources)。“编译性”(Compiliation 

    properties) 显示了编译块的装载存储器和工作存储器。要显示在线 CPU 的存储器使用情况,请双击 STEP 7 中的“在线和诊断”(Online anddiagnostics),展开“诊

    断”(Diagnostics),然后选择“存储器”(Memory)。

    保持性存储器

    将某些数据标记为保持性数据可以避免发生电源故障后造成数据丢失。 该 CPU允许您将以下数据配置为保持性数据:

    ● 位存储器 (M): 可以在 PLC

    变量表或分配列表中定义位存储器的保持性存储器的大小。 保持性位存储器总是从MB0 开始向上连续贯穿*的字节数。 通过 PLC

    变量表或在分配列表中通过单击“保持性”(Retain) 工具栏图标*该值。 输入从 MB0开始保留的 M 字节个数。

    注意: 对于任何块,都可通过在“程序块”(Program blocks)

    文件夹中选择块,然后选择“ “ 工具 >  分配列表 ”(Tools > Assignment list)菜单命令来显示分配列表。

    ● 函数块 (FB) 的变量: 如果创建 FB 时选择了“优化”(Optimized),则该 FB的接口编辑器将包含“保持性”(Retain) 列。

    在该列中,可以为每个变量分别选择“保持性”(Retentive)、“非保持性”(Non-Retentive)或“在 IDB 中设置”(Set in IDB)。 在程序编辑器中放置该 FB 时创建的背景 DB

    中也将显示该保持性列。 在优化的 FB 中,如果在变量的“保持性”(Retain)选项中选择“在 IDB 中设置”(Set in IDB)(在背景数据块中设置),那么只能更改背景DB 接口编辑器中某

    个变量的保持性状态。

    如果创建 FB 时选择了“标准 - 与 S7-300/400 兼容”(Standard - compatible with S7-300/400),则该 FB 的接口编辑器中不会包括“保持性”(Retain) 列。

    在程序编辑器中插入该 FB 时创建的背景 DB 会显示“保持性”(Retain)列,并且该列可以编辑。 在这种情况下,为任何变量选择“保持性”(Retain)选项都会导致选择 所有变量。

    同样,为任何变量取消选择该选项都会导致取消选择 所有变量。 对于组态为“标准 - 与S7-300/400 兼容”(Standard - compatible with S7-300/400) 的 FB,可以在背景 DB编辑器中更

    改保持性状态,但所有变量会同时设置为相同的保持性状态。

    创建 FB 后,“标准 - 与 S7-300/400 兼容”(Standard - compatible with S7-300/400)的选项将无法更改。 创建 FB 时,只能选择该选项。 要确定现有 FB

    是否组态了“优化”(Optimized) 或“标准 - 与 S7-300/400 兼容”(Standard - compatiblewith S7-300/400),请在项目树中右键单击该FB,选择“属性”(Properties),然后选择“特

    性”(Attributes)。

    如果“优化块访问”(Optimized block access) 复选框为选中状态,则说明块已优化。否则为标准块且与 S7-300/400 CPU 兼容。

    ● 全局数据块的变量: 在保持性状态分配方面,全局 DB 与 FB 类似。根据块访问设置情况,用户可以定义全局数据块的单个变量或所有变量的保持性状态。

    – 如果在 DB创建时选择“优化”(Optimized),则可以设置每个单独变量的保持性状态。

    – 如果在创建 DB 时选择“标准 - 与 S7-300/400 兼容”(Standard - compatible with S7-300/400),则该保持性状态的设置将适用于该 DB的所有变量;即变量要么都具有保持性,要么

    都没有。

    该 CPU 较多支持 10240 字节的保持性数据。 要了解可用保持性字节数,请在 PLC变量表或分配列表中单击“保持性”(Retain) 工具栏图标。 尽管这里是为 M

    存储器*保持性范围的地方,但*二个箭头会指示可用于 M 和 DB的总剩余存储空间。

    请注意,要保证该值的准确性,必须编译带有保持性变量的所有数据块。

    说明

    下载程序不会清除或更改保持性存储器中的现有值。

    如果要在下载之前清除保持性存储器,请在下载程序前将 CPU 复位为出厂设定。


    系统和时钟存储器

    使用 CPU 属性可启用“系统存储器”和“时钟存储器”的相应字节。

    程序逻辑可通过这些函数的变量名称来引用它们的各个位。

    ● 可以将 M 存储器的一个字节分配给系统存储器。

    该系统存储器字节提供了以下四个位,用户程序可通过以下变量名称引用这四个位:

    – **个周期: (变量名称“FirstScan”)在启动 OB完成后的**次扫描期间内,该位设置为 1。(执行了**次扫描后,“**扫描”位将设置为 0。)

    – 诊断状态变化: (变量名称: “DiagStatusUpdate”)在 CPU记录了诊断事件后的一个扫描周期内设置为 1。 由于直到**程序循环 OB执行结束,CPU 才能置

    位“DiagStatusUpdate”位,因此用户程序无法检测在启动OB 执行期间或**程序循环 OB 执行期间是否发生过诊断更改。

    – 始终为 1(高)(Always 1 (high)): (变量名称“AlwaysTRUE”),该位始终设置为1。

    – 始终为 0(低)(Always 0 (low)): (变量名称“AlwaysFALSE”),该位始终设置为0。

    ● 可以将 M 存储器的一个字节分配给时钟存储器。

    被组态为时钟存储器的字节中的每一位都可生成方波脉冲。 时钟存储器字节提供了 8种不同的频率,其范围从 0.5 Hz(慢)到 10 Hz(快)。

    这些位可作为控制位(尤其在与沿指令结合使用时),用于在用户程序中周期性触发动作。


    CPU 在从 STOP 模式切换到 STARTUP 模式时初始化这些字节。 时钟存储器的位在STARTUP 和 RUN 模式下会随 CPU 时钟同步变化。

    小心

    覆盖系统存储器位或时钟存储器位时的风险改写系统存储器或时钟存储器的各个位可能会破坏这些功能中的数据,同时还可能导致用户程序错误运行,进而造成设备损坏和人员伤害。

    因为时钟存储器和系统存储器都不是预留的 M存储器,所以指令或通信可以写入这些单元并破坏其中的数据。

    避免向这些单元写入数据以确保这些功能正常运行,并且应始终为过程或机器使用紧急停止电路。

    系统存储器组态了一个字节,其中的各个位会在发生特定事件时启用(值 = 1)。

    系统存储器

    时钟存储器组态了一个字节,该字节的各个位分别按固定的时间间隔循环启用和禁用。

    每个时钟位都会在相应的 M 存储器位产生一个方波脉冲。

    这些位可作为控制位(尤其在与沿指令结合使用时),用于在用户代码中周期性触发动作

    时钟存储器

    由于时钟存储器与 CPU周期异步运行,因此,时钟存储器的状态可能会在一个长周期中发生多次改变。

    诊断缓冲区

    CPU 支持的诊断缓冲区包含有与诊断事件一一对应的条目。

    每个条目都包含了事件发生的日期和时间、事件类别及事件描述。

    条目按时间顺序显示,较新发生的事件位于较上面。 此日志较多可提供 50个较近发生的事件。 日志填满后,新事件将替换日志中较早的事件。

    掉电时,将保存事件。

    诊断缓冲区中记录以下事件类型:

    ● 所有系统诊断事件;例如,CPU 错误和模块错误

    ● CPU 的每次状态切换(每次上电、每次切换到 STOP 模式、每次切换到 RUN 模式)必须在线访问诊断缓冲区 。 从“在线和诊断”(Online & diagnostics)

    视图中,在“诊断 > 诊断缓冲区”(Diagnostics > Diagnostics buffer) 下查找诊断缓冲区。

    日时钟

    CPU 支持日时钟。 在 CPU 断电期间,**级电容器提供时钟继续运行所需的电能。

    **级电容器在 CPU 通电时充电。 在 CPU 通电至少 24小时之后,**级电容器所具有的电量通常足以维持时钟运行 20 天。

    STEP 7 将时钟设置为系统时间,它有一个初始的默认值或者遵循出厂值。

    若要使用日时钟,必须进行设置。

    诸如用于诊断缓冲区条目、数据日志文件和数据日志条目的时间戳都是基于系统时间。

    从在线 CPU 的“在线和诊断”(Online & diagnostics) 视图中的“设置日时钟”功能下设置日时钟。 然后,STEP 7 从您设置的时间中加上或者减去 Windows

    操作系统与 UTC(世界协调时间)的偏差来计算系统时间。 如果您的 Windows操作系统的时区和夏令时的设置与您所处的区域相一致,则将日时钟设置为当前的

    本地时间会产生 UTC 的系统时间。

    STEP 7 中包含读写系统时间(RD_SYS_T 和 WR_SYS_T)、读取本地时间(RD_LOC_T) 和设置时区 (SET_TIMEZONE) 的指令 。RD_LOC_T

    指令使用您在 CPU 的一般属性的“日时钟”(Time of day)组态中所设置的时区和夏令时偏移量来计算本地时间。

    这些设置可以设置您本地时间的时区、选择性地设置夏令时并*夏令时的开始时间和结束时间。 您也可以通过使用 SET_TIMEZONE 指令来设定这些设置。

    组态从 RUN  切换到 STOP  时的输出

    可以组态 CPU 处于 STOP 模式时数字量输出和模拟量输出的特性。 可以将 CPU、SB或 SM 的任何输出设置为冻结值或使用替换值:

    ● 替换特定的输出值(默认): 为 CPU、SB 或 SM设备的每个输出(通道)分别输入替换值。

    数字输出通道的默认替换值为 OFF,而模拟输出通道的默认替换值为 0。

    ● 冻结输出以保持上一个状态: 工作模式从 RUN 切换到 STOP时,输出将保留当前值。 上电后,输出被设置为默认的替换值。

    可以在“设备配置”(Device Configuration) 中组态输出的行为。

    选择相应的设备,然后使用“属性”(Properties) 选项卡组态每个设备的输出。

    说明

    某些分布式 I/O 模块提供了用于响应 CPU 停止模式的额外设置。

    请从这些模块的设备配置中的选项列表中进行选择。

    CPU 从 RUN 切换到 STOP 后,CPU

    将保留过程映像,并根据组态写入相应的数字和模拟输出值。




    http://yaojun0307.b2b168.com
    欢迎来到上海赞国自动化科技有限公司网站, 具体地址是上海市松江区小昆山镇上海市松江区鼎源路(时尚谷创意园)618弄72栋6楼,联系人是姚军。 主要经营SIEMENS 可编程控制器   1、 SIMATIC S7 系列PLC、S7200CN、S71200、S7300、S7400、ET200、S7-200SMART、S71500、   2、 逻辑控制模块 LOGO!230RC、230RCO、230RCL、24RC、24RCL等   3、 SITOP 系列直流电源 24V DC 1.3A、2.5A、3A、5A、10A、20A、40A等。 单位注册资金单位注册资金人民币 100 - 250 万元。 价格战,是很多行业都有过的恶性竞争,不少厂家为了在价格战役中获胜,不惜以牺牲产品质量为代价,而我们公司坚决杜绝价格战,坚持用优质的原材料及先进的技术确保产品质量,确保消费者的合法利益。