西门子标准电缆代理总经销商以下示例说明了如何将 in/out 参数作为边沿存储位。STLFP#InOutFlagStore.x0“InOutFlagStore”是 BYTE 数据类型的 in/out参数。可以通过地址“#InOutFlagStore.x0”,对作为边沿存储位的位地址 0 进行寻址。函数 (FC)中块参数的自动初始化在 S7-300/400 中,必须事先为函数的临时局部数据 (Temp)进行赋值。否则,程序执行时可能会使用未定义的值。在 S7-1500中,由于在调用块时,会对以下参数自动进行初始化,从而极大降低了操作未定义值的风险。● STRING 和 WSTRING数据类型的临时局部数据始终预分配了Zui大长度 254 和实际长度 0。● 但对于函数 (FC)中的元素数据类型的临时局部数据,则将自动初始化为具有优化访问。再按照指定的数据类型为其赋值预定义的值。例如,BOOL类型的预定义值为“false”。对于 PLC 数据类型的元素,将预先赋值 PLC 数据类型 (UDT) 声明中所指定的默认值。对于ARRAY 元素,用于 PLC 数据类型中,也将预先赋值数值“0”。在 S7-300/400 中,必须为函数中的输出参数(Output) 进行赋值,否则程序中可能会发生意外响应。使用跳转指令或 RLO 指令时,必须检查所支持每条程序路径。在S7-1500中,由于在调用块时,会对元素数据类型的输出参数自动进行初始化,从而极大降低了未定义输出参数产生的风险。再按照指定的数据类型为这种输出参数预先赋值为事先定义的值。例如,BOOL类型的预定义值为“false”。但结构化的输出参数不会预先赋值。在调用块时,这种输出参数将作为指针传送,不能是未定义。2.4.1.8S7-1500 中的多重实例功能 (S7-1500)多重实例功能S7-1500 系列 CPU中的所有函数块都具有多重实例功能。这意味着,在参考程序中标记为不带有多重实例功能的函数块,移植后可转换为带有多重实例功能的块。每次转化FB时都会在移植日志中都会输出一条通知。如果在移植后继续将 FB 用作单实例,则程序可直接运行无需更改。
与西门子品牌合作,只为能给中国的客户提供值得信赖的服务体系,我们
的业务范围涉及工业自动化科技产品的设计开发、技术服务、安装调试、销售及配套服务领域。建立现代化仓
储基地、积累充足的产品储备、引入万余款各式工业自动化科技产品,我们以持续的卓越与服务,取得了年销
售额10亿元的佳绩,凭高满意的服务赢得了社会各界的好评及青睐。其产品范围包括西门子S7-SMART200、S7-200CN、S7-300、S7-400、S7-1200、S7-1500、S7-ET200SP等各类工业自动化产品。西门子授权代理商、西门子一级代理商 西门子PLC模块代理商﹐西门子模块代理商供应全国范围:
我们还提供。
西门子中国授权代理商——浔之漫智控技术(上海)有限公司,本公司坐落于松江工业区西部科技园,西边和全球zhuming芯片制造商台积电毗邻,
东边是松江大学城,向北5公里是佘山国家旅游度假区。轨道交通9号线、沪杭高速公路、同三国道、松闵路等
交通主干道将松江工业区与上海市内外连接,交通十分便利。
目前,浔之漫智控技术(上海)有限公司将产品布局于中、高端自动化科技产品领域,
PLC模块S7-200、S7-1200、S7-300、S7-400、ET200分布式I/O等
HMI触摸屏、SITOP电源、6GK网络产品、ET200分布式I/O SIEMENS驱动产品MM系列变频器、G110 G120变频器、直流调速器、电线电缆、
驱动伺服产品、数控设备SIEMENS低压配电与控制产品及软起动器等
西门子中国有限公司授权——浔之漫智控技术(上海)有限公司为西门子中国代理商,主要供应全国范围:西门子PLC代理商SIEMENS可编程控制器PLC模块、HMI触摸屏、SITOP电源、6GK网络产品、ET200分布式I/OSIEMENS 驱动产品MM系列变频器、G110 G120变频器、直流调速器、电线电缆、
S7-1500中的浮点数 (S7-1500)无效浮点数S7-1500 中,无效浮点数的处理方式与 S7-300/400 中的不同。示例:●S7-300/400:表达式“无效浮点数 <> 1.0”的结果为 FALSE。● S7-1500:表达式“无效浮点数<> 1.0”的结果为 TRUE。请注意,由于存在这种差异,可能会导致程序中的指令产生不同结果。2.4.1.10 将STRING 的具体字符写入 S7-1500 (S7-1500)写入 STRING 的具体字符如果要写入 STRING中的某个字符或字节,则 S7-1500 CPU 会检查目标地址是否位于该STRING的实际长度内。如果超出实际长度,则不会写入该字符或字节。唯一例外:在STRING 实际长度后直接写入字符时。以下示例显示了实际长度为5 时的字符串“hello”。该 STRING 的第 27 个字符超出了实际长度,无法写入。STRING将保持不变,赋值结果为“hello”。SCLMyDB.mystring := 'hello';MyDB.mystring[27]:=CHAR_TO_BYTE('!');以下示例显示上述的例外情况:该字符将直接写在 STRING 后的第 6个字符处。赋值结果为“hello!”。SCLMyDB.mystring := 'hello';MyDB.mystring[6]:=CHAR_TO_BYTE('!');如果可能,请尽量使用“扩展指令 > 字符串 + 字符”(Extendedinstructions > String + Cha)窗格中的指令,对 STRING 进行处理。访问 S7-1500中的状态字 (S7-1500)状态字S7-1500 中不再支持状态字。状态字中包含的信息极少,且目前只能在 STL 中进行评估。LAD和 FBD 不再支持状态字评估。以下章节将介绍有关各编程语言中状态字访问的移植信息。参见将 LAD/FBD 程序移植到 S7-1500(页 56)移植 STL 程序到 S7-1500 (页 60)2.4.1.12 将软件更改加载到 S7-1500(S7-1500)下载软件变更在下载软件变更方面,S7-1500 系列 CPU 的特性与 S7-300/400 系列 CPU的不同。例如,S7-1500 CPU 允许在 STOP 和 RUN 模式中下载变更,而不会影响之前加载变量的实际值。2.4.2移植指令到 S7-1500 (S7-1500)2.4.2.1 有关移植指令的信息(S7-1500)指令的自动移植在移植过程中,会将原程序中使用的指令尽可能多的传递给新程序。在此过程中,会在尽可能不更改原程序语义的情况下自动进行一些必要的修改。如果指令存在多个版本,那么移植操作始终使用Zui新的指令版本。并使用兼容或类似指令自动替换S7-1500 中不可用的指令。 列出了移植指令时可能发生的情况:类别 情况 系统响应 手动修改程序1 该指令在两个CPU 系列中相同。 移植该指令。 无需任何修改。所移植程序的语义保持不变且可编译。2 该指令在 S7-1500中不可用,存在与之兼容的新指令。将该指令替换为新指令。可能会插入保留原程序语义的其它指令。并在移植日志中报告这一替换操作。无需任何修改。所移植程序的语义保持不变且可编译。3该指令在 S7-1500中不可用,存在与之类似的指令。将该指令替换为该类似的指令。并在移植日志中报告这一替换操作。程序中将标记待检查的位置。在程序中的相应位置处或在编译过程中,将以注释形式显示所需调整的相关信息。此时,必须检测程序并进行必要的修改。4该指令在 S7-1500中不可用,也没有与之类似的指令。该指令将以红色高亮显示。该程序无法编译。此时,必须检测程序并进行必要的修改。移植类别 3的指令信息S7-300/400 中的一些指令在 S7-1500 中不再可用,这是由于在 S7-1500中采用了更为便捷高效的方式实现这些功能。在移植过程中,PLC 移植将使用相应的新指令替代这些不支持的指令。但对于类别 3中的指令则无法自动完整移植。例如,可能需要添加新参数。在程序中将标记出无法自动移植的位置。在程序的相应位置、移植日志或编译过程中,将以注释形式直接显示所需调整的相关信息。可能需要进行以下手动调整:●如果新指令有其它形参,则将为这些形参指定相应的实参。●如果新指令中修改了参数名称,则需更改参数的分配。如果移植无法确保参数分配的定义与参考程序的相同,则将标记出需检查的实参。在移植后检查程序中这些位置处的语义,并在必要时进行更正。●如果参考程序中包含有硬件标识号(例如,在“LADDR”参数中),则也会将这些标识号标记出来。在“LADDR”参数中输入新的 HW标识符。● 如果新指令修改了错误代码,则需在程序中修改错误的处理方式。有关移植类别 3 的指令示例,请参见章节“移植数据块指令 (页34)”。移植类别 4 的指令信息有些指令在 S7-1500中已不再有效,这是因为这些指令的功能已经完全改变。在移植过程中不会替代这些指令。并在程序中以红色显示,程序无法编译。在程序的相应位置、移植日志或编译过程中,将以注释形式直接显示所需调整的相关信息。在以下章节,我们将简要介绍移植类别4 中不可移植的指令以及相应的备选解决方案。说明更多支持您可以在西门子工业在线支持网站中找到有关 PLC 移植的Zui新信息