作为 Team Engineering 的一部分,用户可以选择执行项目共享调试。在此期间,多个编辑人员可以通过最多5套工程组态系统 (ES) 同时访问一个 CPU。
其优势在于,在调试期间可同时对主项目的一部分进行单独编辑和离线编辑。可能的话,在装载期间其他编辑人员所做的更改将显示在“软件同步”(Software synchronization) 对话框中并自动同步。
根据所用 CPU 的固件版本,某些在线功能也可以同时从共享 CPU 上的多个工程组态系统执行,如:
- 监视 CPU 上的块
- 监视并强制 CPU 上的块
- 跟踪功能
以下在线功能无法同时执行:
- 加载:只有一个工程组态系统可以装载到 CPU 中。
一、共享调试的规则
如果作为团队项目的一部分对项目进行共享调试,则该项目的所有编辑人员都必须遵循既定的规则进行操作,以确保合作成功。
主项目的规则
必须遵循以下规则:
- 创建适合共享编辑的主项目。
- 将用户程序分成多个相互独立的部分。
- 使用“组”将程序部分之间相互分开。
- 针对调用部分程序函数的每个程序部分,使用一个主 OB 和一个中央 FC。
- 尽量为每个部分创建一个单独的 PLC 变量表。
- 在主项目中,指定无法在项目副本中更改的项目语言。
- 如果要在程序部分之间交换数据,请使用 FC 和 FB 接口参数(IN、OUT、INOUT)或全局数据块。
- 使用全局数据块保存各个程序部分的数据,不使用位存储器。
- 对于具有相同地址的块,不要为其指定不同的名称。
- 对于具有不同地址的块,不要为其指定相同的名称。
主项目中程序结构的示例
该示例是一个支持团队的结构化主项目,适合在共享调试期间并行编辑。
各工程组态系统可编辑的程序段,如下所示:
- 程序第 1 部分:“Conveyer”
- 程序第 2 部分:“Drill”
- 程序第 3 部分:“FurtherProgramPart”
每个程序部分包含一个“主FB”,它调用此程序部分的特定低级函数。
示例:在程序段“Conveyer”中,“ConveyerMainFB”将调数“ConveyerStartupFC”。
在团队项目中,项目结构的这种细分允许并行编辑各个程序部分,并允许在共享调试阶段自动同步所做的更改。
共享 CPU 的规则
请遵守以下共享工作规则:
- 编辑人员仅在分配的组中编辑项目副本中分配到的块。
- 在项目副本中只能更改 OB、FB、DB、FC 和 UDT。即,项目副本中的以下程序元素无法编辑:
- 硬件配置
- PLC 变量表
- 工艺对象
- 文本列表和项目语言
- F 块
- 应在编程中使用全局数据块,而非位存储器。
- 应在编程中使用 IEC 定时器和计数器,而非 SIMATIC 定时器和计数器。
- 在主项目中指定的项目语言无法在项目副本中更改。
编辑共享中央对象的规则
请遵守以下共享中央对象规则:
- 对共享中央对象的更改始终需要通过主项目进行。
- 这些对象包括:
- 硬件配置
- PLC 变量表
- 工艺对象
- 文本列表和项目语言
- F 块
- 项目副本中的各种工作版本需要首先再次集成到主项目中,然后才能在主项目中修改共享中央对象。
- 随后可以在主项目中进行修改,并可以将主项目下载到共享 CPU。
- 修改完成后,可以创建新项目副本并分配到工程组态系统以进一步处理。
组织块的使用规则
编辑 OB 时,请遵守以下规则:
- OB 只能在模板副本中创建。如果新的 OB 在项目副本中创建,则无法进行同步。
- OB 包含在主项目中且已下载到 CPU 中时,在相应的项目副本中可对这些 OB 进行修改。在下载过程中,这些组织块将自动进行同步。
下载到 CPU 的规则
请遵守以下下载规则:
- 编辑人员仅可相继下载项目副本到 CPU;任何时候仅有一个工程组态系统可以下载。
- 下载块时(硬件只能下载到主项目中),可保持参与工程组态系统的在线连接。
- 下载时在同步对话框中执行自动同步。这样可以确保其他编辑人员的更改不会被意外覆盖。
- 更正同步对话框中显示的名称冲突,下载到 CPU 之前,在离线块中对其进行重命名。如果将块下载到 CPU 时该 CPU 上已存在相同名称的块,则会发生名称冲突。
- 必须手动更正“相互矛盾的更改”。两名编辑人员同时在两套工程组态系统上使用相同的块时将出现相互矛盾的更改。第一名编辑人员仍可以将其更改下载到 CPU,而不会出现任何问题。但如果第二名编辑人员想下载同一个已被更改过的块,则同步对话框将显示有冲突且无法自动解决。之前对该块进行的更改会在下载期间因覆盖而被撤销。在这种情况下,编辑人员需要决定应用和放弃哪个更改。或者也可以通过在比较编辑器中对块进行详细对比,手动合并这些更改。
- 通过规划好项目结构,并在编辑人员之间达成相应的一致意见,就可以避免这种相互矛盾的更改。
- 对中央对象的更改显示在同步对话框中,但是无法自动同步。对中央对象和硬件配置的更改始终需要通过主项目进行。
- 在每次下载后保存项目或项目副本。
说明在项目副本中创建对象并将其随后删除
请注意,在项目副本中创建新对象并将其随后立即删除时,在下载之前也需要进行软件同步。
创建对象会导致内部数据管理发生更改,而随后删除该对象并无法撤消这种更改。因此如果新创建的对象随后被立即删除,那么在下一次装载前就必须进行同步,在项目副本的现有对象中将看不到任何更改。
在线功能的规则
使用在线功能时必须遵循以下规则:
加载:
- 无论何时,只能一个工程组态系统将数据下载到 CPU 中。
- 在下载过程中,其它工程组态系统可使用其它在线功能,如监视与控制。
监视和控制:
- 在 CPU 块上最多可以同时监视和控制五个工程组态系统。
- 一个特定的代码块只能同时被一个工程组态系统监视和控制。
- 但其它工程组态系统可以同时监视和控制其它代码块。
注意 使用多个监控表中的不同修改值并行修改相同操作数时存在风险
处理多个监控表时,请避免使用不同修改值永久多次修改相同操作数。
如果同时使用不同监控表中的不同修改值来永久修改相同操作数,所有监控表将显示最新修改值,因为在这种情况下将使用分配的最新修改值。
强制
- 一次只能在一个工程组态系统中的 CPU 上进行强制。
- 启动强制功能的工程组态系统独占地接管强制作业。尽管其它工程组态系统能够收到强制作业正在运行的信息,但它们却无法访问此作业进行更改。使用“更新强制操作数”(Update forced operands) 命令,将更新已打开的强制表中当前在 CPU 上强制的所有操作数和值。使用相关值更新已打开的强制表中的所有强制操作数。一个红色“F”显示在第一列中,表示强制的操作数。
- 在强制作业所属的工程组态系统结束了在线连接后,此强制作业可由另一个与 CPU 建立了在线连接,并执行“更新强制操作数”(Update forced operands) 命令。这会启用“全部强制”(Force all) 和“停止强制”(Stop forcing) 按钮,您可以选择这些功能。
跟踪功能:
- 最多四个工程组态系统可同时执行跟踪功能。
- 启动跟踪功能的工程组态系统独占地接管跟踪作业。尽管其它工程组态系统可以在跟踪编辑器中看到此作业,但却无法访问此作业。
- 在跟踪作业所属的工程组态系统关闭了跟踪编辑器后,此跟踪作业可由另一个重新打开跟踪编辑器的工程组态系统接管。
二、共享调试的步骤
创建主项目的步骤
可以通过以下步骤创建主项目:
- 创建包含整个项目结构的主项目。
- 针对主项目全面配置硬件。
- 定义一种语言作为项目语言,该语言还必须被所有参与的工程组态系统独占使用。
- 创建主项目中需要的所有变量和块。
- 为将要由各个工程组态系统编辑的块创建自己的文件夹和组。
- 创建完全设定且可执行的用户程序。
- 将主项目下载到共享 CPU 中。
- 在每次下载后保存主项目。
共享调试的步骤
共享调试按照以下步骤进行:
- 将主项目下载到共享 CPU 中。
- 在相关工程组态系统上创建主项目的副本,并将其分配给参与项目的编辑人员。
- 通知将要编辑项目副本指定部分且可能下载到 CPU 的所有编辑人员。
- 在各个工程组态系统中编辑项目副本。
- 编辑后,各个工程组态系统会将所做的更改相继下载到 CPU 中。
- 所有改动都会在装载期间通过在线-离线比较自动检测到。显示的同步对话框可提供已修改数据的同步建议。首先需要将其他编辑人员编辑的块下载到您的工程组态系统中,然后才能将您的更改下载到 CPU 中。更新已下载到项目副本 CPU 中的其他编辑人员的修正时可能需要这么做。提供以下同步选项:
- 下载块:CPU 上已编辑过的块,必须在您的项目副本中更新。
- 下载块:CPU 上的新块,必须下载到您的项目副本中。
- 具有相互矛盾的更改的块:在这种情况下无法进行系统支持的同步;必须手动解决冲突。
7.手动解决可能因相互矛盾的更改或对中央对象的更改而出现的任何冲突。
8.在解决了所有冲突之后,将项目副本下载到 CPU。
9.在每次下载后保存项目副本。
10.重复编辑项目副本并根据需要多次下载到 CPU,直到完成共享调试。
11.再次将完全编辑过的项目副本集成到主项目中,同时也备份仅离线存在的项目数据。
手动同步相互矛盾的更改的步骤
可以通过以下步骤手动同步相互矛盾的更改:
- 启动比较编辑器,手动解决下载到 CPU 时显示在同步对话框中的冲突。在项目树中选择共享 CPU,然后在快捷菜单中选择“比较 > 离线/在线”(Compare > Offline/Online) 命令。可以根据对象的状态确定所需执行的操作。但是,请注意同步期间只能执行单方向的操作。
- 首先对其它编辑人员在 CPU 上更改的所有块以及用户希望应用的所有块选择“从设备上传”(Upload from device) 操作。
- 如有必要,对块进行详细的对比以了解 CUP 上装载的离线块与在线块的区别。
- 手动更正块的相互矛盾的更改。
- 然后使用“继续而无需同步”(Continue without synchronization) 命令将受影响的块下载到 CPU。
- 在每次下载后保存项目或项目副本。
将项目副本集成到主项目中的步骤
通过以下步骤将项目副本集成到主项目中:
- 打开主项目和将作为参考对象集成的项目副本。
- 将编辑过的程序部分从对应的项目副本复制到主项目,并确认覆盖了现有对象。还可以使用比较编辑器将程序部分应用到主项目。
- 保存主项目,并使用“继续而无需同步”(Continue without synchronization) 命令将其下载到共享 CPU。
- 在每次下载后保存主项目。
修改主项目中中央对象的步骤
通过以下步骤,修改对所有程序部分都有影响的中央对象:
- 停止对项目副本的进一步处理。
- 如上文所述,将现有的所有项目副本都相继集成到主项目中。
- 使用“继续而无需同步”(Continue without synchronization) 命令将主项目下载到共享 CPU。
- 在共享对象上进行所需的修改,如硬件配置或 PLC 变量表。同理,修改工艺对象、F 块、OB 等其它中央对象。
- 修改完成后,再次将主项目下载到 CPU 中。
- 在每次下载后保存主项目。
- 将更新过的项目副本分配到对应的工程组态系统中,以进一步处理。