网淘吧Visual Components、Flexsim 仿真技术博客 | Python、C#、Delphi xe 机器人编程教程 - 网淘吧

Tutorial Task 3.2 - Add Area Restriction PLC Logic

2026-05-21 新闻来源:网淘吧 围观:3
电脑广告
手机广告

任务概述

在本任务中,您将学习如何使用“获取变量”活动来获取光电传感器变量的状态。您将设计一个仿真系统,其中光电传感器会相互通信,以限制物料流向特定区域。光电传感器将使用“获取变量”活动来判断限制区域是否清空并可接收物料。如果未清空,电机将停止运行,直到该区域再次清空。

完成后,仿真模型将类似于下图所示:

步骤 1编辑 3D 模型

在此步骤中,您将编辑 3D 模型,添加第二条与第一条汇合的输送线。您还将添加一个独立的电机来控制该输送线,以及其独立的源头、处理器和终点。最后,您需要将两条输送线设置为不同颜色,以便在视觉上轻松区分。完成后,您的模型应类似于下图:

构建此模型的步骤如下:

  1. 确保您的 3D 模型窗口已打开并处于活动状态。从库中,将以下 3D 对象拖入模型:
    • 一个源头
    • 一个直线输送机(位于传送带)
    • A处理器
    • A收集器
    • A电机(位于传送带下方
  2. 移动传送带2(新增的传送带)的尾部,使其旋转90度,从而与另一条传送带垂直。
  3. 移动传送带2使其与传送带1相交。
  4. 点击处理器2以选中它。在属性中,将其Z轴旋转 更改为-90.00.
  5. 添加一个光电眼(位于传送带下)到传送带1上,将其放置在传送带2交汇处稍后的位置。
  6. 传送带2添加两个额外的光电眼对象,一个放置在传送带1交汇处稍前的位置,另一个放置在稍后的位置。
  7. 为清晰起见,请将光电眼重命名如下:
  8. 对象 新名称
    传送带1上位于交汇处前的光电眼 光电眼1A
    传送带1上位于交汇处后的光电眼 光电眼1B
    传送带2交汇点前的光电传感器 光电传感器2A
    传送带2交汇点后的光电传感器 光电传感器2B
  9. 在以下对象之间创建端口连接(A型连接):
    • 电机2传送带2
    • 源2传送带2
    • 传送带2处理器2
    • 处理器2汇点2
  10. 点击源2在右侧显示其属性。在属性面板中,位于部分,检查抵达时间框。
  11. 到达间隔时间框中,删除当前文本 并输入10
  12. 在工具箱的输送系统组下, 右键点击输送带类型1以打开菜单。选择复制来创建此输送带类型的副本。
  13. 点击复制的输送带类型以在右侧打开其属性。 在直线输送带部分,点击属性按钮以弹出输送带属性类型窗口。
  14. 在顶部的名称框中,将此输送机类型重命名为ConveyorType2
  15. 侧裙板组中的可视化选项卡上,将颜色更改为红色。
  16. 点击确定按钮以保存更改并关闭窗口。
  17. 在工具箱中,双击ConveyorType1以打开其属性窗口。
  18. 侧裙板组中的可视化选项卡上,将颜色更改为浅蓝色。
  19. 点击确定用于保存更改并关闭窗口的按钮。
  20. 在3D模型中,点击Conveyor2以选中它。在属性中,点击输送机类型菜单并选择ConveyorType2

确认您的仿真模型与本步骤开头显示的图像相似。

步骤2向流程流添加活动和变量

在此步骤中,您将编辑控制第一条输送机仿真逻辑的流程流。您将添加并重命名多个不同的形状、活动和仿真变量。完成后,您的流程流应类似于下图:

目前,您只需将这些活动添加到流程流中并进行连接。后续步骤中,您将通过编辑属性来添加功能。

要添加这些活动和变量:

  1. 在流程流打开且处于活动状态的情况下,将传感器(输入)形状重命名为传送带1:检查区域是否空闲
  2. 在此形状的正下方,添加另一个流程形状。
  3. 将新形状重命名为传送带1:指示区域何时空闲
  4. 传送带1:检查区域是否空闲形状中,点击堆叠的活动块,并点击取消链接按钮,以切断与设置变量:电机为0延迟:5秒活动的连接,使它们不再与堆叠块相连。
  5. 删除延迟:5秒活动。
  6. 创建一个新的堆叠块,以源:光电传感器处的物品活动。添加以下活动,将它们追加到末尾:
    • A获取变量(位于共享资产下)
    • A决策(位于基础下)
  7. 您将创建另一个堆叠块,这次以设置变量:电机为0活动开始。在其后添加一个等待事件(位于基础下)。
  8. 将堆叠块(以设置变量:电机为1开始)添加到此堆叠块的末尾。
  9. 创建另一个包含以下活动的堆叠块:
    • 一个事件触发源(在令牌创建下)
    • 一个设置变量(在共享资产下)
    • 一个汇点(在基础下)
  10. 在活动右侧,添加一个汇点(在基础下)。
  11. 将活动和共享资产重命名如下:
  12. 活动 新名称
    源:光电传感器处的物品 源:光电传感器 1A 处的物品
    获取变量 获取变量:光电传感器 2A 状态
    决策 判断:PhotoEye 2A是否清空?
    设置变量:Motor为0 设置变量:Motor1为0
    等待事件 等待事件:PhotoEye2A清空
    设置变量:Motor为1 设置变量:Motor1为1
    变量:Photo Eye 变量:PhotoEye1A
    汇点 汇点:物品继续
  13. 创建两个从该判断:PhotoEye 2A 是否清空?活动出发的连接线。第一条连接线应连接至设置 变量:Motor1为0活动。第二条连接线应连接至汇点:物品继续活动。
  14. 点击连接线1以选中它。在属性面板的名称框中,输入
  15. 点击连接器2以选中它。在属性面板的名称框中,输入
  16. 传送带1:指示区域已清空形状中, 创建一个包含以下活动的堆叠活动块:
    • 一个事件触发源(位于令牌创建下)
    • 一个设置变量(位于共享资产下)
    • 一个汇点(位于基础下)
  17. 在这个新的堆叠活动块的右侧,添加一个变量(在共享资产下)。
  18. 请将这些活动重命名如下:
  19. 活动 新名称
    源:PhotoEye1B 已清空
    设置变量 设置变量:PhotoEye1A 为清空
    汇点 汇点:Conveyor1 区域已清空
    变量 变量:PhotoEye 1B
  20. 控制(输出)形状中,点击变量:电机以选中它。将其重命名为变量:电机1
  21. 按 Ctrl+C 复制变量:电机1。点击形状中的空白区域,并按 Ctrl+V 粘贴副本。请确认新变量名称为变量:电机2.

考虑在此刻保存您的仿真模型。

步骤3复制并调整输送带2的逻辑

在此步骤中,您将复制控制第一条输送带仿真逻辑的流程段,并将其调整用于第二条输送带。完成后,您复制的流程段应看起来类似于以下图像:

目前,您只需将这些活动添加到流程图中并连接起来。您将在后续步骤中编辑属性以添加功能。

要复制并重命名这些活动和变量:

  1. 点击输送带1:检查区域是否空闲形状以选中它。按Ctrl+C进行复制。点击流程图的空白区域,然后按Ctrl+V创建副本。
  2. 将新复制的形状重命名为输送带2:检查区域是否空闲
  3. 在属性中,将新复制形状的颜色更改为红色(以匹配输送带2的颜色)。
  4. 传送带2:检查区域是否通畅形状中,为清晰起见,请重命名以下活动和共享资产:
  5. 活动 新名称
    变量:光电传感器1A1 变量:光电传感器2A
    来源:光电传感器1A处的物品 来源:光电传感器2A处的物品
    获取变量:光电传感器2A状态 获取变量:光电传感器1A状态
    判断:光电传感器2A是否通畅? 判断:光电传感器1A是否通畅?
    设置变量:Motor1为0 设置变量:Motor2为0
    等待事件:光电传感器2A通畅 等待事件:光电传感器1A通畅
    设置变量:Motor1为1 设置变量:Motor2为1
  6. 点击传送带1:指示区域何时通畅形状 以选中它。按Ctrl+C进行复制。点击流程图的空白区域,然后按Ctrl+V创建一个副本。
  7. 重命名新复制的形状输送机2:指示区域何时清空
  8. 在属性中,更改颜色将新复制的形状颜色改为红色(以匹配输送机2的颜色)。
  9. 现在,只需删除变量:光电传感器1B1变量。您稍后将创建此变量。
  10. 输送机2:指示区域何时清空形状中, 重命名以下活动和共享资产以提高清晰度:
  11. 活动 新名称
    源:光电传感器1B已清空 源:光电传感器2B已清空
    设置变量:光电传感器1A为清空 设置变量:光电传感器2A为清空
    汇点:输送机1区域已清空 汇节点:传送带2区域已清空

建议此时保存仿真模型

步骤4更新变量链接与连接

在此步骤中,您将更新所有仿真变量共享资产,使其连接到OPC DA连接变量。同时需确保所有变量正确链接至3D模型中的对应对象,且参数设置无误。具体操作如下:

  1. 控制(输出)图形中,单击变量:Motor2选中该变量。确认选中时,会显示一条蓝色连线将其与OPC DA连接变量相连。
  2. 在属性面板的关联对象框旁,单击采样器按钮进入采样模式。
  3. 在3D模型中,单击Motor2(连接到红色传送带的电机)以进行采样。
  4. 传送带1:检查区域是否畅通形状中,点击变量:光电传感器1A以选中它。确保选中时,显示一条蓝色线条将其连接到OPC DA 连接变量。
  5. 在属性中,检查关联对象框是否显示为PhotoEye1A
  6. 写入事件组中,位于在未覆盖时事件旁边,点击删除按钮以删除此事件。
  7. 传送带2:检查区域是否畅通形状中,点击变量:光电传感器2A以选中它。确保当它被选中时,会显示一条蓝色连线将其连接到OPC DA 连接变量。
  8. 在属性面板中,位于关联对象框旁边,点击采样器按钮进入采样模式。
  9. 在3D模型中,点击光电传感器2A(红色传送带上的第一个光电传感器)以对其进行采样。
  10. 写入事件组中,位于On Uncover事件旁边,点击删除按钮以删除此事件。
  11. 传送带1:指示区域已清空形状中,点击变量:PhotoEye 1B以选中它。在 属性中,点击变量或值框旁边的箭头以打开菜单。指向内部模拟变量,然后选择OPC DA传感器标签
  12. 连接框旁边,点击采样器按钮以进入采样模式。
  13. 服务器连接形状中,点击OPC DA连接变量以对其进行采样。
  14. 关联对象框旁边,点击采样器按钮以进入采样模式。
  15. 在3D模型中,点击PhotoEye1B(蓝色传送带上的第二个光电传感器)进行采样。
  16. 写入事件组中,点击添加按钮以打开菜单。选择On Uncover
  17. 写入值框中,删除当前文本并输入0
  18. 选中PhotoEye 1B后,按Ctrl+C复制此变量。点击传送带2:指示区域何时清空形状内的空白处,然后按Ctrl+V将变量粘贴到此形状中。
  19. 将复制的变量重命名为变量:PhotoEye 2B
  20. 点击变量:PhotoEye 2B以选中它。在 属性面板中,位于关联对象框旁边,点击采样器按钮进入采样模式。
  21. 在3D模型中,点击PhotoEye2B(红色传送带上的第二个光电传感器)进行采样。

建议此时保存您的仿真模型。

步骤 5创建区域限制逻辑

在这一步中,您将编辑属性,为传送带1添加区域限制逻辑。以下是“检查区域是否空闲”形状中每个活动功能概述:

活动 说明
来源:在光电传感器1A处的物品 这是一个事件监听活动,将监听与第一条传送带上PhotoEye1A关联的变量中的事件。您在此步骤中不会更改此逻辑,所以只需记住您将监听关于变更事件, 意味着它会监听PhotoEye1A被物料遮挡的任何时刻。 当光电传感器被遮挡时,它会向服务器写入值1。该源头 会监听光电传感器变量的任何变化。当值1被写入 服务器时,源头将向下游活动释放一个令牌。您 无需对此活动进行任何更改,因为您已经设置好了它的 逻辑。
获取变量:光电传感器 2A 状态 获取变量活动可以从连接到服务器的其他变量读取信息。 在本例中,您将获取PhotoEye2A变量的值,并将 该值存储在一个名为PhotoEyeState的令牌标签中。如果值为1, 则意味着PhotoEye2A被遮挡。如果值为0,则意味着PhotoEye2A 是畅通的。
决策:光电传感器2A是否畅通? 此活动将使用PhotoEyeState标签来决定应将当前令牌发送到哪个 连接器。如果PhotoEyeState标签的值为1,则意味着该值为并且 PhotoEye2A 被遮挡。换言之,受限区域未清空。决策器 会将令牌发送至一系列停止电机的活动,从而使 流动项目等待直至区域清空。若标签值为0, 流动项目可继续前进,令牌将被发送至连接至 连接器2的汇点活动。
设置变量:电机为0 此活动将电机变量设为0,这将停止3D模型中的传送带 电机。您无需对此活动进行任何更改,因为 您已设置其逻辑。
等待事件:PhotoEye2A 清空 此活动将持有令牌,直至PhotoEye2A变为0,即表示其 已清空。一旦PhotoEye2A变为0,它将释放令牌至下一个 下游活动。
设置变量:电机为1 此活动随后将电机变量设回1,这将恢复 传送带的运行。您无需对此活动进行任何更改, 因为您已设置其逻辑。

以下是每个活动在指示区域何时清空形状中的功能概述:

活动 说明
源:PhotoEye 1B 已清空 该活动会监听PhotoEye 1B的任何状态变化,无论是从畅通变为遮挡,还是从遮挡变为畅通。当变化发生时,它将释放一个令牌。
设置变量:PhotoEye1A为畅通 该活动在接收到令牌时,会将PhotoEye 1A设置为畅通状态。
汇点:传送带1区域已畅通 该活动将从流程流中移除令牌,并且流程项会继续沿传送带移动。您将使用此活动的默认设置。

您还需要将此逻辑复制到第二条传送带的活动上。

要进行这些更改:

  1. 传送带1:检查区域是否畅通形状中,点击获取变量:PhotoEye 2A状态活动以选中它。在属性中,位于变量引用框旁边,点击采样器按钮进入采样模式。
  2. 传送带2:检查区域是否畅通形状,点击变量:PhotoEye 2A变量以进行采样。
  3. 分配至选项下方的框中,删除当前文本并输入tokenPhotoEyeState
  4. 获取变量:PhotoEye 1A 状态活动(在传送带2:检查区域是否清空形状中)重复之前的步骤,将其变量引用更改为变量:PhotoEye1A。确保您也将分配至标签名称更改为tokenPhotoEyeState
  5. 点击判定:PhotoEye2A 是否已清空?活动以选中它。在属性面板中,点击发送令牌至框旁边的箭头以打开菜单。选择条件判定以打开其选项列表。
  6. 条件框中,删除当前文本并输入令牌PhotoEyeState
  7. 判定:PhotoEye1A 是否已清空?活动重复上述步骤(该活动位于输送线2:检查区域是否清空形状内)。
  8. 点击等待事件:PhotoEye2A 清空活动以选中它。在属性面板中,位于对象点击取样器按钮进入取样模式。
  9. 传送带2:检查区域是否空闲形状中,点击变量:光电眼2A变量以打开菜单。选择变量:光电眼2A:变更时
  10. 在属性中,于标签分配/匹配值表格中,点击位于新值行下方,在标签名称或值列下的单元格。输入0
  11. 点击位于新值行下方,在操作点击匹配值
  12. 等待事件:光电眼1A 清空活动(位于传送带2:检查区域是否 清空形状中)重复上述步骤,但将其对象更改为变量:光电眼 1A
  13. 传送带1:指示区域清空时形状中, 点击来源:光电眼 1B 已清空活动以选中 它。点击该活动旁边的感叹号按钮以进入 采样模式。
  14. 点击变量:光电眼 1B以打开菜单。选择变量:光电传感器 1B:状态变化时.
  15. 对以下内容重复上述步骤:源:光电传感器 2B 状态为 空闲活动(位于输送机 2:检查区域是否空闲图形中),但采样变量:光电传感器 2B替代。
  16. 输送机 1:指示区域空闲时图形中, 点击设置变量:将光电传感器 1A 设为空闲活动以 选中它。点击该活动旁边的感叹号按钮进入采样模式。
  17. 点击变量:光电传感器 1A(位于输送机 1:检查区域是否空闲图形中)以进行采样。
  18. 对以下内容重复上述步骤:设置变量:PhotoEye 2A 为 清除状态(在传送带2:检查区域是否已清空的形状中),但示例变量:PhotoEye2A代替。

重置并运行模型:

注意,当流动实体到达传送带2上的第一个光电传感器(红色的那个)时,它会触发停止电机的逻辑,然后在传送带1上的第二个光电传感器(蓝色的那个)清空时,重新启动电机。你可以尝试调整不同的源到达时间,看看这如何影响队列等待时间。

结论

至此,你已经学会了如何在Flexsim中模拟基本的PLC逻辑。如果你正在构建一个实际的制造系统,你可以通过这种方式为多个不同的PLC编程任意数量的变量,然后将其交给PLC程序员,让他们编写最终将在系统中使用的实际PLC逻辑。

一旦PLC程序编写完成,您便可以利用FlexSim在制造系统实际部署前,验证其编程是否正确。为验证该逻辑,您需要通过OPC DA连接属性,将FlexSim连接至真实的OPC DA服务器。同时,需将所有仿真变量对应分配至服务器上的相应标签ID。随后,在FlexSim中将OPC DA连接共享资产设为"激活"状态,使其能够对实际服务器进行数据读写操作。

此时可运行仿真模型,测试PLC在仿真环境中的运行是否符合实际系统要求。理论上,您已在FlexSim中构建了未来业务系统的仿真模型。因此,PLC将直接控制仿真模型中的各个元素。通过观察实际PLC的编程逻辑,并与PLC直接连接3D模型前的仿真运行效果进行比对,即可完成验证。关于PLC逻辑验证的详细说明请参阅相关技术文档。

______
icon-svg-close-thick

Cookie preferences

Your privacy is important to us and so is an optimal experience. To help us customize information and build applications, we collect data about your use of this site.

May we collect and use your data?

Learn more about the Third Party Services we use and our Privacy Statement.

Strictly necessary – required for our site to work and to provide services to you

These cookies allow us to record your preferences or login information, respond to your requests or fulfill items in your shopping cart.

Improve your experience – allows us to show you what is relevant to you

These cookies enable us to provide enhanced functionality and personalization. They may be set by us or by third party providers whose services we use to deliver information and experiences tailored to you. If you do not allow these cookies, some or all of these services may not be available for you.

Customize your advertising – permits us to offer targeted advertising to you

These cookies collect data about you based on your activities and interests in order to show you relevant ads and to track effectiveness. By collecting this data, the ads you see will be more tailored to your interests. If you do not allow these cookies, you will experience less targeted advertising.

icon-svg-close-thick

THIRD PARTY SERVICES

Learn more about the Third-Party Services we use in each category, and how we use the data we collect from you online.

icon-svg-hide-thick

icon-svg-show-thick

Strictly necessary – required for our site to work and to provide services to you

Qualtrics
W
Akamai mPulse
W
Digital River
W
Dynatrace
W
Khoros
W
Launch Darkly
W
New Relic
W
Salesforce Live Agent
W
Wistia
W
Tealium
W
Upsellit
W
CJ Affiliates
W
Commission Factory
W
Google Analytics (Strictly Necessary)
W
Typepad Stats
W
Geo Targetly
W
SpeedCurve
W
Qualified
#

icon-svg-hide-thick

icon-svg-show-thick

Improve your experience – allows us to show you what is relevant to you

Google Optimize
W
ClickTale
W
OneSignal
W
Optimizely
W
Amplitude
W
Snowplow
W
UserVoice
W
Clearbit
#
YouTube
#

icon-svg-hide-thick

icon-svg-show-thick

Customize your advertising – permits us to offer targeted advertising to you

Adobe Analytics
W
Google Analytics (Web Analytics)
W
AdWords
W
Marketo
W
Doubleclick
W
HubSpot
W
Twitter
W
Facebook
W
LinkedIn
W
Yahoo! Japan
W
Naver
W
Quantcast
W
Call Tracking
W
Wunderkind
W
ADC Media
W
AgrantSEM
W
Bidtellect
W
Bing
W
G2Crowd
W
NMPI Display
W
VK
W
Adobe Target
W
Google Analytics (Advertising)
W
Trendkite
W
Hotjar
W
6 Sense
W
Terminus
W
StackAdapt
W
The Trade Desk
W
RollWorks
W

Are you sure you want a less customized experience?

We can access your data only if you select "yes" for the categories on the previous screen. This lets us tailor our marketing so that it's more relevant for you. You can change your settings at any time by visiting our privacy statement

Your experience. Your choice.

We care about your privacy. The data we collect helps us understand how you use our products, what information you might be interested in, and what we can improve to make your engagement with Autodesk more rewarding.

May we collect and use your data to tailor your experience?

Explore the benefits of a customized experience by managing your privacy settings for this site or visit our Privacy Statement to learn more about your options.
免责申明
部分文章来自各大搜索引擎,如有侵权,请与我联系删除。
打赏

文章底部电脑广告
手机广告位-内容正文底部
上一篇:Tutorial Task 3.1 - Build Basic PLC Ladder Logic 下一篇:没有了

相关文章

上网淘巴领天猫淘宝优惠券,一年省好几千。

广告  ×

您是本站第1124043名访客 今日有0篇新文章/评论