西门子授权总经销商 S7-1200 6ES7954-8LE03-0AA0 12M 存储卡

供应商
浔之漫智控技术(上海)有限公司
认证
西门子
全国代理
S7-1200
现货
德国
全新
手机号
15801997124
联系人
王明炎
所在地
上海市松江区石湖荡镇塔汇路755弄29号1幢一层A区213室
更新时间
2024-04-10 13:46

详细介绍

西门子授权总经销商 s7-1200 6es7954-8le03-0aa0  12m 存储卡

simatic s7,存储卡 用于 s7-1x00 cpu/sinamics, 3,3v flash,12 mb

数据块 (db) 在用户程序中创建数据块 (db) 以存储代码块的数据。用户程序中的所有程序块都可访问全局 db中的数据,而背景 db 仅存储特定功能块 (fb) 的数据。 相关代码块执行完成后,db 中存储的数据不会被删除。有两种类型的 db:• 全局 db 存储程序中代码块的数据。任何 ob、fb 或 fc 都可访问全局 db 中的数据。 • 背景 db 存储特定 fb的数据。背景 db 中数据的结构反映了 fb 的参数(input、output 和 inout)和静态数据。(fb的临时存储器不存储在背景 db 中。) 说明 尽管背景 db 反映特定 fb 的数据,然而任何代码块都可访问背景 db 中的数据。您还可以在 run 模式下修改和下载数据块 (页 1236)。 只读数据块 可将 db 组态为只读: 1. 在项目浏览器中右键单击相应db,然后在右键快捷菜单中选择“属性”(properties)。 2. 在“属性”(properties)对话框中选择“特性”(attributes)。 3. 选择“在设备中写保护数据块”(data blockwrite-protected in the device) 选项并单击“确定” (ok)。 已优化的数据块和标准数据块您还可以将数据块访问组态为已优化。如果数据块未优化,则将其视为标准数据块。标准 db 与 step 7 classic编程工具以及经典的 s7‑300 和 s7‑400 cpu 兼容。可优化访问的数据块无固定的定义结构。数据元素在声明中仅包含一个符号名,在块中没有固定地址。cpu 会将元素自动存储到块的可用存储区中,以免在存储器中留下间隙。这样一来,便可*优化地利用 存储器容量。要设置对数据块的优化访问,请按以下步骤操作: 1. 在 step 7 项目树中展开程序块文件夹。 2.右键单击数据块并从上下文菜单中选择“属性”(properties)。 3. 为属性选择“优化块访问”(optimized blockaccess)。 编程概念 7.3 使用块来构建程序 s7-1200 可编程控制器 180 系统手册, v4.6 11/2022,a5e02486685-ap 请注意,默认情况下会为新数据块选中优化块访问。如果取消选择“优化块访问”(optimized blockaccess),则块将采用标准访问。 说明 函数块及其背景数据块的块访问类型 请确保以下情况:如果函数块的设置是“optimizedblock access”(优化的块访问),则该函数 块的背景数据块的设置也应该是“optimized blockaccess”(优化的块访问)。同样,如果没有 为该函数块选择“optimized blockaccess”(优化的块访问),从而该函数属于标准访问类型, 则应确保背景数据块也为标准类型,而不是优化的块访问类型。如果没有兼容的块访问类型,那么在函数块执行期间从人机界面对该函数块的 in/out 参数 值所做的更改可能会丢失。 7.3.5创建可重复使用的代码块 使用项目浏览器中“程序 块”(program blocks) 下的 “添加新块”(add new block)对话框创建 ob、 fb、fc 和全局 db。 创建代码块时,需要为块 选择编程语言。无需为 db 选择语言,因为它仅用于 存储数据。选中“添加新对象并打开” (add new and open) 复选 框(默认),在项目视图 中打开代码块。可存储想要在库中重复使用的对象。每个项目都有一个与之相连的项目库。除项目库外,您还可以创建可在多个项目中使用的任意数量的全局库。由于库彼此兼容,因此可以复制库要 素并将其从一个库移动到另一个库。库可用于创建块的模板:首先将块粘贴到项目库中,随后在其中进一步开发块。*后,将块从项目库复制到全局库。可将全局库共享给正在使用项目的其他同事。他们可使用块并根据 需要进一步调整块以满足各自的需求。 编程概念 7.3使用块来构建程序 s7-1200 可编程控制器 系统手册, v4.6 11/2022, a5e02486685-ap 181有关库操作的详细信息,请参见 tia portal 信息系统。 7.3.6 向块传递参数 函数块 (fb) 和函数 (fc)有三种不同接口类型: • in • in/out • out 函数块和函数通过 in 和 in/out接口类型接收参数。块对这些数据进行处理,此后,通过 in/out 和 out 接口类型将返回值传回调用者。用户程序采用以下两种方法中的某一种传递参数。 传值 用户程序以“传值”(call-by-value)方式将参数传递给某个函数时,用户程序会将实际参数值 复制给块的 in 接口类型的输入参数。该操作期间,被复制值要求使用额外存储空间。“my_int” ٬: 31 fc / fb in value: 31 当用户程序调用该块时,会复制这些值。 传引用用户程序以“传引用”(call-by-reference) 方式向某个函数传递参数时,用户程序将引用 in/ out接口类型的实参地址,不进行值复制操作。该操作过程不需要额外的存储空间。 "my_string" ٬:'test' fc / fbin/out ৲㘳 "my_string"

当用户程序调用该块时,会引用实际参数的地址。 说明 通常情况下,针对结构变量使用 in/out接口类型(例如,array、struct 和 string),避 免不必要地增大所需的数据存储器。 块优化和参数传递对于简单数据类型(例如,int、dint 和 real 型),用户程序可以以“传值”方式传递函数块的参数。传递复杂数据类型(例如,struct、array 和 string)时,可以采用“传引 用”方式。用户程序传递的函数块参数通常在和该函数块相关的背景数据块 (db) 中: •通过将参数复制给背景数据块,或者,复制位于背景数据中参数,用户程序可以以“传 值”方式传递简单数据类型(例如,int、dint 和real)的参数。 • 用户程序将复杂数据类型(例如,struct、array 和 string)复制到用于 in 和 out 参数类型的背景数据块中,或者,复制位于该背景数据块中的复杂数据类型。 • 对于 in/out接口类型,用户程序以“传引用”方式传递复杂数据类型。 数据块可以创建成“优化的”或“标准的”(未优化)数据块。优化型数据块的体积小于非优化型数据块。优化型数据块和非优化型数据块中的数据元素顺序不一样。有关优化块的讨 论,请参见 s7‑1200/1500、step 7(tia portal) s7 编程指南(2018 年 12 月) (https://support.industry.siemens.com/cs/cn/zh/view/81318674/en)中的“优化块”章节。可以创建用来处理优化或非优化数据的函数块和函数。可以选择复选框“优化块访问” (optimized blockaccess),将其作为块的属性。默认情况下,用户程序会优化程序块;程序 块期望传递给该块的数据采用优化格式。用户向某个函数传递复杂参数(例如,struct 结构的参数)时,系统会检查包含该结构的数据块的优化设置和程序块的优化设置。如果你同时优化该数据块和该函数,用户程序将以 “传引用”方式传递该结构(struct)。如果选择了不优化该数据块和该函数,也采用“传 引用”方式传递该结构。但是,如果函数和数据块采用不同优化设置(即,优化了一个块且没有优化另一个块),则 必须将 struct转换成函数所期望的格式。例如,如果选择了不优化该数据块但优化该函数, 则数据块中的 struct须转换成优化格式后才能被该函数进行处理。该转换过程由系统完成, 其方法是:先制作该 struct的一个“副本”,接着,将它转换成该函数所期望的优化格式。 编程概念 7.3 使用块来构建程序 s7-1200 可编程控制器 系统手册,v4.6 11/2022, a5e02486685-ap 183 总而言之,当用户程序将某个复杂数据类型(例如,struct)作为in/out 参数传递给某个 函数时,该函数希望用户程序以“传引用”方式传递 struct。 •对于含该结构的数据块和该函数,如果都选择了优化或者不优化,用户程序将以“传引 用”方式传递数据。 •如果对数据块和函数没有配置相同的优化设置(优化其中一个且不优化另一个),系统 必须先制作 struct的一个副本,再将其传递给函数。由于系统必须制作该结构的副本, 因此,该操作可以高效地将“传引用”转换成“传值”。优化设置对用户程序的影响作用 如果 hmi 或中断组织块更改了结构中的元素,参数复制将可能导致用户程序出现问题。例 如,某个函数有一个in/out 参数(正常情况下以“传引用”方式传递),但是,数据块和 该函数采用了不同的设置,则: 1.用户程序准备调用该函数时,系统必须制作该结构的一个“副本”,以将该数据的格式转换 成与该函数相匹配的格式。 2.用户程序采用该结构的该“副本”的引用调用该函数。 3. 该函数运行期间出现了一个中断组织块,且该中断组织块更改了原结构中的某个值。4. 该函数运行完毕。由于该结构是一个 in/out 参数,因此,系统将该值以原来的格式复制回原 结构。采用制作结构副本的方式进行格式转换的后果:该中断组织块改写过的数据将被丢失。使用 hmi 写入值时,情况也是如此。hmi可中断用户程序,并以和中断 ob 相同的方式写入某个 值。 解决该问题的方法有很多种: •**的方法是:需要使用复杂数据类型(例如,struct)时,对程序块和数据块采用相匹配的优化设置。这种方法可以保证用户程序总是以“传引用”方式进行参数传递。 • 另一种方法是使中断组织块或 hmi不直接修改该结构中的元素。让组织块或 hmi 修改另 一个变量,此后,用户在用户程序的某个特定位置将该变量复制到该结构中。 7.4了解数据一致性 cpu 为所有基本数据类型(例如 word 或 dword)和所有系统定义的结构(例如 iec_timers 或dtl)保持数据一致性。值的读/写操作无法中断。(例如,在读写四字节的 dword 之前, cpu 会防止对该 dword值进行访问。) 为确保程序循环 ob 和中断 ob 无法同时写入同一 个存储单元,在程序循环 ob 中的读/写操作完成之前,cpu不会执行中断 ob。 编程概念 7.4 了解数据一致性 s7-1200 可编程控制器 184 系统手册, v4.6 11/2022,a5e02486685-ap 如果用户程序共享存储器中在程序循环 ob 和中断 ob 之间生成的多个值,用户程序还必须确保在修改或读取这些值时保持一致性。 可以在程序循环 ob 中使用 dis_airt(禁用报警中 断)和en_airt(启用报警中断)指令,以防止对共享值进行访问。 • 在代码块中插入 dis_airt指令,以确保在读/写操作期间无法执行中断 ob。 • 插入读/写能够被中断 ob 更改的值的指令。 • 在顺序结尾插入 en_airt指令,以取消 dis_airt,并允许执行中断 ob。 hmi 设备或另一个 cpu 发出的通信请求也能够中断程序循环 ob的执行。通信请求也会导致 与数据一致性相关的问题。 cpu 确保基本数据类型始终由用户程序指令执行一致地读取和 写入。由于通信会周期性地中断用户程序,因而不能保证 hmi 能够同时更新 cpu 中的多个 值。 例如,给定 hmi 画面上显示的值可能来自cpu 的不同扫描周期。 ptp(point-to-point,点到点)指令、profinet 指令(例如,tsend_c 和trcv_c)和 profinets 分布式 i/o 指令和 profibus 分布式 i/o 指令可用于传送被中断的数据缓冲区。通过避免对程序循环 ob 和中断 ob 中的缓冲区进行任何读/写操作,可以确保数据缓冲区的数 据一致性。如果需要在中断 ob中修改这些指令的缓冲区值,请使用 dis_airt 指令延迟所有 中断(中断 ob 或源自 hmi 或另一个 cpu的通信中断),直到执行了 en_airt 指令。 说明 使用 dis_airt 指令延迟中断 ob 的处理,直到执行了 en_airt指令,以此影响用户程序的 中断等待时间(从事件发生到执行中断 ob 的时间)。 7.5 编程语言 step 7 为 s7-1200提供以下标准编程语言: • lad(梯形图逻辑)是一种图形编程语言。它使用基于电路图 (页 186)的表示法。 •fbd(函数块图)是基于布尔代数 (页 187)中使用的图形逻辑符号的编程语言。 •scl(结构化控制语言)是一种基于文本的**编程语言 (页 187)。 创建代码块时,应选择该块要使用的编程语言。还可使用cem(cause-effect-matrix,因果 矩阵)编程函数块 (fb) (页 178)。有关函数块 cem编程的信息,请参见 step 7 information system。 用户程序可以利用以任何或全部编程语言创建的代码块。

西门子授权总经销商 S7-1200 6ES7954-8LE03-0AA0 12M 存储卡

展开全文

我们其他产品
我们的新闻
在线询价 拨打电话