
西门子电缆SIEMENS代理商
为西门子中国有限公司授权合作伙伴,浔之漫智控技术(上海)有限公司代理经销西门子产品供应全国,西门子工控设备包括S7-200SMART、 S7-200CN、S7-300、S7-400、S7-1200、S7-1500、S7-ET200SP 等各类工业自动化产品。作为西门子授权代理商,西门子模块代理商,西门子一级代理商,西门子PLC代理商,西门子PLC模块代理商,
,建立现代化仓
储基地、积累充足的产品储备、引入万余款各式工业自动化科技产品我们还提供西门子G120、G120C V20 变频器; S120 V90 伺服控制系统;6EP电源;电线;电缆;
网络交换机;工控机等工业自动化的设计、技术开发、项目选型安装调试等相关服务。西门子中国有限公司授权合作伙伴——浔之漫智控技术(上海)有限公司,公司国际化工业自动化科技产品供应商,是专业从事工业自动化控制系统、机电一体化装备和信息化软件系统
集成和硬件维护服务的综合性企业。西部科技园,东边是松江大学城,西边和全球**芯片制造商台积电毗邻,
向北5公里是佘山国家旅游度假区。轨道交通9号线、沪杭高速公路、同三国道、松闵路等
交通主干道将松江工业区与上海市内外连接,交通十分便利。
建立现代化仓
储基地、积累充足的产品储备、引入万余款各式工业自动化科技产品,我们以持续的卓越与服务,取得了年销
售额10亿元的佳绩,凭高满意的服务赢得了社会各界的好评及青睐。与西门子品牌合作,只为能给中国的客户提供值得信赖的服务体系,我们
的业务范围涉及工业自动化科技产品的设计开发、技术服务、安装调试、销售及配套服务领域。
目前,将产品布局于中、高端自动化科技产品领域,主要销售西门子PLC模块,西门子交换机,西门子变频器,西门子触摸屏,西门子电机,西门子数控软件,西门子电线电缆,西门子低压产品等等。
优化的数据块以符号方式寻址。没有
显示“偏移地址”。
对于非优化的块,“偏移地址”会显示出
来,可用于寻址。
在优化块中,您可以使用“保持”单独声
明每个变量。
在非优化块中,只能使用“保持”声明所
有变量或全部不声明。
全局 DB 变量的掉电保持性直接在全局 DB 中定义。默认情况下,预设的是掉电不保
持。
在函数块(而不是背景 DB)通常建议使用优化的变量。如果在个别情况下希望保留原有的程序,程序中
可混合使用优化和非优化的数据存储。
系统知道每个变量的内部存储,无论是结构化的(源自单独定义的数据类型)还是
基本的(INT、LREAL、...)。
在不同内存区域的相同类型的两个变量之间赋值,系统会自动转换。这种转换需要
对变量结构化,应尽可能避免。
2.6.5 优化和非优化访问的块之间的参数传输
当将结构作为输入/输出参数 (InOut) 传输到被调用块时,它们默认作为引用传输
(参见第 3.3.2 章 引用调用)。
如果其中一个块具有“优化访问”属性而另一个块具有“默认访问”属性,
则情况并非如此。在这种情况下,所有参数通常作为副本传输(参见第 3.3.1 章按值
调用)。
在这种情况下,被调用块始终使用复制的值。在块处理期间,这些值可能会更改,
并且在处理块调用后将它们复制回原始操作数。
如果原始操作数被异步进程(例如,被 HMI 或中断 OB 访问)更改,这可能会出问
题。如果在块处理之后将复制的值复制回原始操作数,则原始操作数上异步执行的
更改将被覆盖。集成的类型测试可防止错误访问。
• 通过 VARIANT 变量符号寻址,代码更易阅读。
• 代码效率更高,处理时间更短。
• VARIANT 指针显然比 ANY 指针更直观。
• 在系统功能的帮助下,可以直接使用正确类型的 VARIANT 变量。
• 可以灵活高效地传输不同结构的变量。
特性
比较 ANY 和 VARIANT,可以看到以下属性。
表 2 -26:ANY 和 VARIANT 的比较
ANY VARIANT
使用定义的结构需要 10 个字节的内存 不需要用户的主存储器
通过分配数据区或填充 ANY 结构进行初始
化
通过分配数据区或系统指令进行初始化
无类型化的–无法识别互连结构的类型 类型化的–互连类型可被识别,对于数
组,长度也可以确定
部分类型化的–对于数组,长度也可以确
定
VARIANT 可以通过系统指令进行评估和创
建
在必须使用 ANY 指针之前检查一下。在许多情况下,不再需要指针(见下
表)。
• 当数据类型仅在程序运行中确定时,仅将数据类型 VARIANT 用于间接寻址。
– 使用数据类型 VARIANT 作为 InOut 形式参数来创建独立于实际参数数据类
型的通用块(参见本章中的示例)。
– 使用 VARIANT 数据类型而不是 ANY 指针。由于集成的类型测试,可以尽
早发现错误。由于符号寻址,程序代码可以很容易地理解。
– 使用 VARIANT 指令,例如,进行类型识别(参见以下示例和第 2.9.2
章 VARIANT 指令)
• 使用数组的索引而不是通过 ANY 寻址数组元素(参见第 3.6.2 章 ARRAY 数据
类型和间接字段访问)。
表 2 -27:比较 ANY 指针和简化
ANY 指针有什么用? 使用 S7-1200/1500 进行简化
可以处理不同数据类型的程序函数 使用 VARIANT 指针作为块的 InOut 参数
的函数(参见以下示例)
数组的处理
• 例如,读取、初始化、复制相同类型
的元素
默认的数组功能
• 使用 #myArray[#index] 读写(参见
第 3.6.2 章 ARRAY 数据类型和间接
字段访问)
• 使用 MOVE_BLK 进行复制(参见第
2.9.1 节 MOVE 指令)
• 通过**寻址传输结构和高效处理
例如,通过指向函数的 ANY 指针传
输用户定义的结构
将结构作为 InOut 参数传输
• 见第 3.3.2 章引用调用
注意 如果要复制非结构化 VARIANT 变量的值,您还可以使用 VariantGet 代替
MOVE_BLK_VARIANT(第 2.9.2 章 VARIANT 指令)。的实例中定义变量的掉电保持性。这些设置对于
该 FB 的所有实例都有效。
优化和非优化数据块的访问类型
下表显示了块的所有访问类型。