通过 EcoStruxure Machine Expert,您可以将 SoMachine Basic 或 TwidoSoft/TwidoSuite 项目以及配置的控制器转换为可选择的 EcoStruxure Machine Expert 逻辑控制器。该控制器及其对应的逻辑将被加以转换并集成在 EcoStruxure Machine Expert 项目中。
如要启动转换过程,请执行对话框,在所选择的菜单中插入这些命令。
或 命令。 对话框或 对话框随即打开:如果没有命令可用,可以使用如果您转换的是一个用比最近支持版本更新的 SoMachine Basic 版本所创建的 SoMachine Basic 项目, 视图中将会有一条消息指出这一状况。然后,您可以选择继续或者取消转换。如果您继续,将转换应用程序,不过没有碰到需要校正的错误,则不可以这样做。在这种情况下,阅读并验证消息视图和您的应用程序,然后尝试将它用于服务。
为避免在转换项目后发生意外行为,请确认目标控制器支持项目中所需的功能和通讯端口。
警告 | |
---|---|
若要转换 SoMachine Basic 或 Twido 项目,请执行以下步骤:
步骤 |
操作 |
---|---|
1 |
为了启动转换过程,在 EcoStruxure Machine Expert Logic Builder 中执行三个操作之一(如本章的简介块中所列)。 结果: 对话框或 对话框随即打开:![]() |
2 |
在 字段中输入控制器名称。 |
3 |
在SoMachine Basic 或 Twido 项目文件的路径,或单击 按钮浏览到该文件。 框中输入指向
注: 如果您已经在 对话框中浏览了 SoMachine Basic 或 Twido 项目,则路径已被自动输入到 字段中且无法进行编辑。
|
4 |
从 列表中选择转换该逻辑所用的编程语言。支持下列编程语言:
|
5 |
从SoMachine Basic 或 Twido 控制器的目标控制器。随即在该对话框的 区域显示所选设备的详细信息。 列表选择要转换 |
6 |
单击 开始转换。结果:转换 SoMachine Basic 或 Twido 项目并将其集成在打开的 EcoStruxure Machine Expert 项目中。任何不能转换的修改或配置将列在视图中。 |
7 |
查看 视图的类别 ,验证检测到并列出的错误与警告。 |
8 |
检查转换的项目是否包含预定配置并提供预定功能。如果没有,则调整配置。 |
EcoStruxure Machine Expert 项目中的对象名称和变量名称必须符合 IEC 标准中定义的命名约定。SoMachine Basic 或 Twido 项目中任何不符合标准的名称将会由转换器自动调整到符合 IEC 约定。
如果您想要在转换的 EcoStruxure Machine Expert 项目中保留不符合 IEC 的名称,应在对话框中激活选项 。
TwidoEmulationSupport 库 包含在 EcoStruxure Machine Expert 应用程序中提供 SoMachine Basic 和 TwidoSoft/TwidoSuite 功能性的功能和功能块。TwidoEmulationSupport 库自动集成在含有转换后的控制器的 EcoStruxure Machine Expert 项目中。
在目标 EcoStruxure Machine Expert 项目中,程序会为每一个 SoMachine Basic POU 和自由 POU 以及每一个 Twido 子程序和程序段而单独创建。用于这些程序的编程语言由 / 对话框中被选中的 所决定。但以图形 Grafcet 编程的 POU 则属于例外。它们会被转换为 SFC 程序。关于详细信息,请参阅本章的 Grafcet 一节。
对于每个由应用程序使用的语言对象(如存储器对象或功能块),都会创建一个全局变量。全局变量列表(一个用于存储器位、一个用于存储器字等)会为不同对象类别而单独创建。
以下限制适用于有关程序结构的应用程序转换:
在 EcoStruxure Machine Expert 中,无法跳转到另一个程序中的标签。
无法在子程序中定义 Grafcet 步。
无法在子程序中激活或停用 Grafcet 步(通过 #
和 D#
指令)。
SoMachine Basic 和 Twido 中提供用于存储器对象的区域与 EcoStruxure Machine Expert 不同。
在 SoMachine Basic 和 Twido 中,有三个不同的存储器对象区域:
区域 |
包含的存储器对象 |
---|---|
存储器位区域 |
存储器位 ( |
存储器字区域 |
|
常量区域 |
|
在 EcoStruxure Machine Expert 中,只有用于存储器对象的存储器字区域:
区域 |
包含的存储器对象 |
---|---|
存储器字区域 |
|
该图提供了 SoMachine Basic/Twido 和 EcoStruxure Machine Expert 中 %MD
和 %MF
地址的不同布局的概览。
1 SoMachine Basic / Twido 中的内存地址
2 EcoStruxure Machine Expert 中的内存地址
存储器对象按以下方式进行转换:
源存储器对象 |
目标存储器对象 |
其他信息 |
---|---|---|
|
映射到相同 示例
|
对于每个 |
具有偶地址的 |
进行映射以使它们位于与以前相同的 示例
|
对于每个
对于每个使用的 |
具有奇地址的 |
无法映射,因为 DINT 变量不能位于奇字地址上。 |
将创建一个变量,来帮助确保可以生成转换后的应用程序。但是,您需要检查这种变量创建对程序总体功能的影响。 |
|
作为打包的位字段映射到 |
对于每个 |
|
映射到 |
对于每个使用的 |
%KW
、%KD
和 %KF
对象之间的关系与 %MW
、%MD
和 %MF
对象相同。例如,%KF4
/ %KD4
映射到与 %KW4
相同的位置上。无法映射奇 %KF
/ %KD
地址。
远程访问
可通过远程设备以及 Modbus 服务来访问存储器对象(%MW
、%MD
、%MF
和 %M
):
如果远程设备访问源应用程序中的 %MW
、%MD
或 %MF
对象,则在 EcoStruxure Machine Expert 应用程序中仍可进行这种访问。
如果远程设备访问源应用程序中的 %M
对象,则在 EcoStruxure Machine Expert 应用程序中不再能进行这种访问。
处理上升沿和下降沿
上升/下降沿触点的转换方式如下:
创建具有后缀 _Rise/_Fall 的附加全局变量(比如,为 %M1 的上升沿触点创建 M1_Rise)。
此变量通过 SystemFunctions 程序中的 R_TRIG/F_TRIG 实例来编程。
在控制器循环开始时执行沿检测。
FALLING/RISING 指令被直接转换成 R_TRIG/F_TRIG 实例。
在原始应用程序执行序列的相同位置处,执行沿检测。
对于 SoMachine Basic/Twido 中的下列功能块,TwidoEmulationSupport 库将为功能块提供兼容功能:
SoMachine Basic/Twido 功能块 |
TwidoEmulationSupport 库功能块 |
---|---|
计时器 |
|
计数器 |
|
寄存器 |
|
磁鼓 |
|
移位寄存器 |
|
步进计数器 |
|
调度 |
|
PID |
|
交换 / 消息 |
|
高速计数器 |
它们按照本章节中快速计数器、高速计数器(Twido:超快速计数器)和脉冲发生器的转换中所述的方式进行转换。 |
快速计数器 |
|
PLS 脉冲发生器 |
|
PWM 脉冲发生器 |
|
PTO 功能块 |
|
频率发生器 |
|
通讯功能块 |
|
SMS 功能块 |
它们没有转换。 |
|
|
驱动器功能块 |
|
|
有关功能块的转换,请注意下面的内容:
TwidoEmulationSupport 库没有提供用于与硬件相关的功能的任何功能块,如高速计数器、快速计数器和脉冲发生器。必须通过由与平台相关的 HSC 和 PTO_PWM 库提供的功能块对这些功能进行控制。这些功能块与源功能块不兼容。简言之,如果源程序包含基于控制器硬件资源的函数,则无法进行完全转换。有关详细信息,请参阅快速计数器、高速计数器(超快速计数器)和脉冲发生器的转换。
在 SoMachine Basic/Twido 中,消息传送功能由 EXCHx
指令和 %MSGx
功能块提供。在 EcoStruxure Machine Expert 应用程序中,此功能是通过单个功能块 FB_EXCH
执行的。
在 SoMachine Basic/Twido 中,可使用专用的配置对话框来配置特定函数块。这种配置数据将由专用参数提供给 TwidoEmulationSupport 库的功能块。
如果梯级包含多个功能块,则转换器可将梯级拆分为多个逻辑网络。
下表显示了转换支持的网络对象类型:
网络对象 |
对象功能 |
支持 |
---|---|---|
%QWE |
输入区 (EtherNet/IP) |
是 |
%IWE |
输出区 (EtherNet/IP) |
是 |
%QWM |
输入寄存器 (Modbus TCP) |
是 |
%IWM |
输出寄存器 (Modbus TCP) |
是 |
%IN |
数字量输入 (IO scanner) |
仅 Serial IO scanner |
%QN |
数字量输出 (IO scanner) |
仅 Serial IO scanner |
%IWN |
输入寄存器 (IO scanner) |
仅 Serial IO scanner |
%QWN |
输出寄存器 (IO scanner) |
仅 Serial IO scanner |
%IWNS |
(IO scanner 诊断) |
仅 Serial IO scanner |
将转换下列系统位和字:
系统位/字 |
其他信息 |
---|---|
|
在冷启动后的第一个循环期间设置为 1。
注: 无法通过写入此系统位来触发冷启动。
|
|
在热启动后的第一个循环期间设置为 1。
注: 无法通过写入此系统位来触发热启动。
|
|
时基为 10 ms 的脉冲。 |
|
时基为 100 ms 的脉冲。 |
|
时基为 1 s 的脉冲。 |
|
时基为 1 min 的脉冲。 |
|
在控制器启动后的第一个循环期间设置为 1。 |
|
如果发生算术溢出,则设置为 1。
注: 此标志由 TwidoEmulationSupport 库提供,并且仅由此库提供的函数设置。
|
|
只允许写入操作。对于这些变量,无法进行读取操作。 |
|
停止串行线路 1 上的 Modbus Serial IOScanner。 |
|
停止串行线路 2 上的 Modbus Serial IOScanner。 |
|
|
|
调度块的启用标志。 |
此转换不支持其他系统变量。如果源应用程序使用了不支持的系统变量,在视图的类别 中,会生成相应消息。
SoMachine Basic / Twido 中的变量和功能块均属保留变量。这意味着,即使在发生意外停机之后以及控制器电源正常开启关闭之后,它们也会保持其值和状态。
转换期间不会保存这种保留行为。在 EcoStruxure Machine Expert 中,转换后的变量和功能块都是定期的,这意味着它们会在意外停机或控制器电源开启关闭时被初始化。如果您希望在 EcoStruxure Machine Expert 应用程序中保留变量,您必须手动声明此属性关键字。
动态数据表的管理在源应用程序和目标应用程序中是不同的:
通过 SoMachine Basic/Twido,可以定义按名称识别的多个动态列表。每个动态列表都包含要动态化的对象的多个条目。对于每一个变量,您都可以选择 选项。
EcoStruxure Machine Expert 中有 4 个预定义的监视列表( ... )。每个监视列表都可包含多个要动态化的变量。一个监视列表可包含来自不同控制器的变量。
对于在 SoMachine Basic / Twido 中其 选项已被选中的那些变量,EcoStruxure Machine Expert 会创建一个跟踪对象。您可以在跟踪编辑器中查看这些变量。
在转换过程中,源动态数据表的条目将添加在监视列表
的末尾。SoMachine Basic/Twido 项目中定义的符号会自动传输到 EcoStruxure Machine Expert 项目中。
符号命名具有以下限制:
如果... |
则... |
---|---|
符号名称不符合 EcoStruxure Machine Expert 的命名规则, |
该符号的名称将被修改。 |
符号名称等于 EcoStruxure Machine Expert 的关键字。 |
该符号的名称将被修改。 |
不会为语言对象创建变量, |
该符号的名称将被丢弃。 |
不在应用程序中的任何地方使用符号, |
该符号的名称可能被丢弃。 |
有关所需符号修改的完整列表,请参见
视图。EcoStruxure Machine Expert 提供的功能块与 SoMachine Basic/Twido 提供的功能块不同。不过,将尽可能转换快速计数器、高速计数器和脉冲发生器的配置。以下各节给出了对适用限制的简要介绍。
一般限制
适用的一般性限制如下所示:
限制 |
解决方法 |
---|---|
由转换后的高速计数器和脉冲发生器使用的输入和输出可能与源应用程序使用的输入和输出不同。 |
请在转换后控制器的接线中将此情况考虑在内。 在视图中会报告输入输出的重新分配。 |
SoMachine Basic 控制器可以支持数量与所选目标控制器不同的计数器和脉冲发生器。转换功能仅会转换目标控制器所支持的计数器和脉冲发生器。 |
必须对应用程序进行手动调整。 |
有关转换 %FC
、%HSC
/ %VFC
、%PLS
和 %PWM
的约束
对于 SoMachine Basic / Twido 应用程序中使用的每个 %FC
、%HSC
/ %VFC
、%PLS
和 %PWM
功能块,EcoStruxure Machine Expert 中都会创建一个单独的程序。您可根据应用程序的需要来改进这种基本实现形式。
具有以下限制:
限制 |
解决方法 |
---|---|
功能块参数的访问方式在 SoMachine Basic 和 EcoStruxure Machine Expert 中是不同的。
在 SoMachine Basic 中,可直接通过应用程序(例如,通过
在 EcoStruxure Machine Expert 中,必须使用与控制器特定相关的功能块(例如, |
如果源应用程序访问该功能块的参数,则您必须相应扩展转换的应用程序。 |
当预设值已被设置时,EcoStruxure Machine Expert 中的计数器行为与 SoMachine Basic / Twido 会有所差异。 在 Twido 中:
在 EcoStruxure Machine Expert 中:
|
必须对应用程序进行手动调整。 |
SoMachine Basic 功能块的下列参数不能转换为 EcoStruxure Machine Expert:
功能块
功能块
功能块
|
必须对应用程序进行手动调整。 |
有关转换 PTO 功能块 %PTO
和 %MC_xxxx
的约束
对于 M241:
由 EcoStruxure Machine Expert 为 M241 控制器而提供的 PTO 功能块与由 SoMachine Basic 提供的 PTO 功能块相兼容。PTO 功能块可以不受限制地进行转换。但 MC_MotionTask_PTO
功能块是唯一的例外。MC_MotionTask_PTO
无法进行转换。
对于 HMISCU:
由 EcoStruxure Machine Expert 为 HMISCU 控制器而提供的 PTO 功能块与由 SoMachine Basic 提供的 PTO 功能块不兼容。PTO 功能块无法进行转换。
有关转换频率发生器功能块 %FREQGEN
的约束
对于 M241 以及 HMISCU 控制器,频率发生器功能块 %FREQGEN
都可以不受限制地进行转换。
转换的目标语言不支持条件元素(EN / ENO 除外,这两个元素已经用于其他用途)。为此,IF 结构被拆分为包含多个逻辑网络的功能相当的序列,这些逻辑网络使用标签和跳转元素。
您可以采用文本或图形方式编写 Grafcet 程序。
Grafcet 类型 |
描述 |
受以下各项支持 |
---|---|---|
文本 |
您可以使用各种 IL 和 LD 编程元素来定义、激活和停用 Grafcet 状态。 |
|
图形 |
允许您采用图形方式来绘制步骤、转移和分支的布局。 |
仅适用于 SoMachine Basic V1.4 及后继版本。 |
文本 Grafcet 的转换
EcoStruxure Machine Expert 的编程语言不支持使用 Grafcet 进行编程。
因此,转换的 Grafcet 应用程序包含用于实现 Grafcet 管理的附加语言元素。
附加元素 |
描述 |
---|---|
文件夹 |
此文件夹包含用于管理 Grafcet 状态机的以下语言元素。 |
数据结构 |
此数据结构中的每个允许的 Grafcet 状态都具有一个位元素。 如果是初始状态,则将该元素初始化为“真”,否则为“假”。 |
全局变量列表 |
此全局变量列表包含以下变量:
|
程序 |
此程序用于实现 Grafcet 状态机。它包含用于激活和停用 Grafcet 步的逻辑。 该程序包含以下动作:
|
应用程序中的 Grafcet 指令按以下方式进行转换:
每个 Grafcet 步的开始都由带有该步名称的标签来标记。
Grafcet 步内的第一条语句检查该步是否处于活动状态。如果不是,则程序跳转到下一个 Grafcet 步的标签。
对 %Xi
的访问转换为对 STATES.Xi
变量的访问。
Grafcet 激活指令 #i
将进行转换以设置状态 i
的激活位和当前状态的停用位。
Grafcet 停用指令 #Di
将进行转换以设置状态 i
的停用位和当前状态的停用位。
如果考虑本节中给出的信息,则您可以扩展转换的 Grafcet 程序。
图形 Grafcet 的转换
图形 Grafcet 与 EcoStruxure Machine Expert 提供的编程语言 SFC 类似。因此,图形 Grafcet POU 会尽可能地转换为 SFC 程序。
图形 Grafcet 与 SFC 之间存在以下差异:
图形 Grafcet |
SFC |
其他信息 |
---|---|---|
可以具有任意数量的初始步骤。 |
必须仅有一个初始步骤。 |
如果图形 Grafcet POU 具有多个初始步骤,则转换器会在 SFC 中穿件多个初始步骤。这会带来一种影响,即如果没有检出错误,则转换的应用程序无法生成。 调整转换的程序。 |
允许激活选择分支的多个步骤。 |
只能激活选择分支的一个步骤。 |
验证转换的程序是否正在按预期的那样工作。 |
一旦某一步骤已被执行,则立即对该步骤的输出转移进行评估。 |
在执行了活动的步之后,评估 SFC 程序的转移。 |
验证转换的程序是否正在按预期的那样工作。 |
步骤、转移和分支的布局相对自由。 |
步骤、转移和分支的布局限制相对更多。 |
图形布局会尽可能地转换成 SFC。 视图中会报告转换期间遇到的不兼容状况。步骤动作和转移段会被完全转换。 必要时完成创建的 SFC。 |
图形 Grafcet POU 可以通过设置系统位 %S21
来初始化。如果在 SoMachine Basic 项目中设置了此位,则转换器会激活隐式变量 SFCInit
,并用其来初始化 SFC 程序。
Twido 模块仅使用 TM2 扩展模块。尽管 M221 和 M241 逻辑控制器可以处理 TM2 以及 TM3 模块,但您最好还是使用 TM3 模块。为了将 Twido 项目中所用的 TM2 模块转换为用于 EcoStruxure Machine Expert 项目的 TM3 模块,选项 在默认情况下会被选中。
TM2 扩展模块会被转换为 TM3 扩展模块,如下表所示:
源 TM2 扩展模块 |
目标 TM3 扩展模块 |
其他信息 |
---|---|---|
TM2DDI8DT |
TM3DI8 |
– |
TM2DAI8DT |
TM3DI8A |
– |
TM2DDO8UT |
TM3DQ8U |
– |
TM2DDO8TT |
TM3DQ8T |
– |
TM2DRA8RT |
TM3DQ8R |
– |
TM2DDI16DT |
TM3DI16 |
– |
TM2DDI16DK |
TM3DI16K |
– |
TM2DRA16RT |
TM3DQ16R |
– |
TM2DDO16UK |
TM3DQ16UK |
– |
TM2DDO16TK |
TM3DQ16TK |
– |
TM2DDI32DK |
TM3DI32K |
– |
TM2DDO32UK |
TM3DQ32UK |
– |
TM2DDO32TK |
TM3DQ32TK |
– |
TM2DMM8DRT |
TM3DM8R |
– |
TM2DMM24DRF |
TM3DM24R |
– |
TM2AMI2HT |
TM3AI2H |
– |
TM2AMI4LT |
TM3TI4 |
转换后温度模块的行为有可能与原模块的行为不同。请验证转换后的模块。 |
TM2AMI8HT |
TM3AI8 |
– |
TM2ARI8HT |
– |
此 TM2 模块不会进行转换,因为没有对应的 TM3 扩展模块存在。您可以用两个 TM3TI4 模块代替此模块。 |
TM2AMO1HT |
TM3AQ2 |
目标 TM3 扩展模块比源 TM2 模块具有更多的 I/O 通道。 |
TM2AVO2HT |
– |
|
TM2AMM3HT |
TM3TM3 |
– |
TM2ALM3LT |
转换后温度模块的行为有可能与原模块的行为不同。请验证转换后的模块。 |
|
TM2AMI2LT |
TM3TI4 |
目标 TM3 扩展模块比源 TM2 模块具有更多的 I/O 通道。 转换后温度模块的行为有可能与原模块的行为不同。请验证转换后的模块。 |
TM2AMM6HT |
TM3AM6 |
– |
TM2ARI8LRJ |
– |
此 TM2 模块不会进行转换,因为没有对应的 TM3 扩展模块存在。您可以用两个 TM3TI4 模块代替此模块。 |
TM2ARI8LT |
– |
此 TM2 模块不会进行转换,因为没有对应的 TM3 扩展模块存在。您可以用两个 TM3TI4 模块代替此模块。 |
由于控制器平台之间存在差异,特别是连接的控制器设备(取决于所转换程序的正确功能),您必须验证转换过程的结果。无论转换过程中是否检测到错误或警告,您必须彻底测试和验证机器或过程范围内的整个系统。
警告 | |
---|---|
配置
IOScanner 配置被完全转换:
设备转换为
设备。不保留源设备类型。设备配置被完全转换。此操作包括初始化请求、通道设置和重置变量。
功能块
控制 Modbus IOScanner (MC_xxx_ATV) 上的 Altivar 驱动器的驱动器功能块不转换。
状态处理
由于 SoMachine Basic 和 EcoStruxure Machine Expert 的 IOScanner 状态处理不同,这些功能仅可部分转换。如果您的应用程序使用 IOScanner 状态信息,验证此逻辑是否仍然工作。
IOScanner 状态 |
其他信息 |
---|---|
设备状态 ( |
SoMachine Basic 和 EcoStruxure Machine Expert 都提供从站设备的状态信息,但状态值不同。状态逻辑被部分转换。 |
通道状态 ( |
EcoStruxure Machine Expert 不提供单个通道的状态信息。通道状态信息转换已为设备状态。 |
系统字和位: |
|
|
它们没有转换。 |
|
它们已转换。 |
|
它们没有转换。 |
SoMachine Basic 的用于直接访问数字量本地 I/O 通道的指令 READ_IMM_IN
和 WRITE_IMM_OUT
不会进行转换。
对于 M241 控制器,您可以使用由 PLCSystem 库提供的功能 GetImmediateFastInput
和 PhysicalWriteFastOutputs
,但应考虑以下差异:
|
|
---|---|
访问所有本地输入和输出。 |
仅访问快速输入和输出。 |
|
|
|
|
|
|
不转换 Twido 以下通讯功能:
ASi
CANopen
远程连接
如果在 Twido 应用程序中使用这些通讯功能,则必须手动调整 EcoStruxure Machine Expert 应用程序。
转换过程中,为了能够成功生成 EcoStruxure Machine Expert 应用程序,将为每个相关 I/O 对象创建一个变量。这些变量将收集在单独的全局变量列表中。这有助于识别要替换的变量。
如果在转换过程中检测到错误或警告,则会显示一个消息框,指示出检测到的错误和警告的数目。有关更多信息,请查看视图的类别 。仔细检查每个条目以确认是否必须调整应用程序。
警告 | |
---|---|
消息指示相关建议,即,转换过程进行了一些调整,这些调整很可能不会对应用程序的功能产生影响。
一个
消息指示出应用程序的某些部分可能未完全转换。在此情况下,为了在目标应用程序中保留相同的功能,必须手动调整应用程序。如果应用程序使用无法完全转换的功能,则转换器会为不支持的语言对象创建变量。这样就可以成功编译应用程序。不过,请在转换后验证这种不支持的功能。
要保存显示在
视图中的信息,可以将其复制到剪贴板(按 CTRL + C)并将其粘贴至数据文件(按 CTRL + V)。